Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [0/10] Clean up built-in types
@ 2007-06-08 23:14 Ulrich Weigand
  2007-06-11 17:53 ` Jim Blandy
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Ulrich Weigand @ 2007-06-08 23:14 UTC (permalink / raw)
  To: gdb-patches

Hello,

most of the remaining gdbarch-swapped data items are built-in data types.

The following patch set reworks the handling of these types and gets rid
of the need to swap variables.

The basic idea is to replace all global variables like builtin_type_void
with a "compatibility macro" referencing the current architecture's
builtin_type structure:

#define builtin_type_void \
       (builtin_type (current_gdbarch)->builtin_void)

To make this possible, we need to ensure that:

- the builtin types are never used in a context where the macro version
  would break (e.g. taking the address of a builtin type)

- all builtin types are in fact represented in the builtin_type
  per-gdbarch data structure as well

In the future, those compatibility macros can be replaced by directly
using builtin_type on the appropriate gdbarch at the call site.



The following patch set achieves this:

[1/10] Complete the la_language_arch_info conversion
[2/10] Remove &builtin_type_ from tdep code (amd64/s390/sparc64)
[3/10] Move vector types into tdep (i386/amd64/powerpc/spu)

[4/10] Add missing bfd_vma type to builtin_type
[5/10] Add "explicit size" types to builtin_type
[6/10] Remove main builtin_type_ global variables.

[7/10] Remove unused builtin_type_frame_reg
[8/10] Convert msym_..._type to per-gdbarch data
[9/10] Convert Fortran types to per-gdbarch data
[10/10] Convert Modula-2 types to per-gdbarch data


I've tested the complete patch set on i386-linux, powerpc64-linux,
s390-ibm-linux, s390x-ibm-linux, and spu-elf.

Unfortunately I don't have access to amd64 or sparc64, so testers
for those platforms would be welcome!

I'd appreciate any comments on this patch set.

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-06-16 17:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-08 23:14 [0/10] Clean up built-in types Ulrich Weigand
2007-06-11 17:53 ` Jim Blandy
2007-06-11 22:14   ` Ulrich Weigand
2007-06-11 18:05 ` Jim Blandy
2007-06-16 17:28 ` Ulrich Weigand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox