This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[0/10] Clean up built-in types


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.


  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]