Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: gdb-patches@sourceware.org
Subject: [0/10] Clean up built-in types
Date: Fri, 08 Jun 2007 23:14:00 -0000	[thread overview]
Message-ID: <200706082313.l58NDw6M016230@d12av02.megacenter.de.ibm.com> (raw)

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


             reply	other threads:[~2007-06-08 23:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-08 23:14 Ulrich Weigand [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200706082313.l58NDw6M016230@d12av02.megacenter.de.ibm.com \
    --to=uweigand@de.ibm.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox