Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: drow@false.org (Daniel Jacobowitz)
Cc: gdb-patches@sourceware.org
Subject: Re: [rfc][3/3] Eliminate LOC_BASEREG and LOC_BASEREG_ARG
Date: Mon, 19 May 2008 21:20:00 -0000	[thread overview]
Message-ID: <200805191719.m4JHJvgw006220@d12av02.megacenter.de.ibm.com> (raw)
In-Reply-To: <20080519165731.GC16848@caradoc.them.org> from "Daniel Jacobowitz" at May 19, 2008 12:57:31 PM

Daniel Jacobowitz wrote:
> On Mon, May 19, 2008 at 06:53:28PM +0200, Ulrich Weigand wrote:
> > Removing this also allows us to get rid of the basereg member of the
> > aux_value union in struct symbol.  (At which point there is only one
> > member of the union remaining.  Should we remove the union?)
> 
> IMO, yes.  The remaining union member is probably good for any new
> types also.

OK.  When I commit the other patches, I'll add this one on top ...

Bye,
Ulrich

ChangeLog:

	* symtab.h (struct symbol): Make "aux_value" member a void pointer
	instead of a union.
	(SYMBOL_LOCATION_BATON): Update.

diff -urNp gdb-orig/gdb/symtab.h gdb-head/gdb/symtab.h
--- gdb-orig/gdb/symtab.h	2008-05-19 19:14:12.966210396 +0200
+++ gdb-head/gdb/symtab.h	2008-05-19 19:13:40.332972514 +0200
@@ -587,25 +587,20 @@ struct symbol
 
   const struct symbol_ops *ops;
 
-  /* Some symbols require additional information to be recorded on a
-     per-symbol basis.  Stash those values here.  */
+  /* An arbitrary data pointer, allowing symbol readers to record
+     additional information on a per-symbol basis.  Note that this data
+     must be allocated using the same obstack as the symbol itself.  */
+  /* So far it is only used by LOC_COMPUTED and LOC_COMPUTED_ARG to
+     find the location information.  For a LOC_BLOCK symbol
+     for a function in a compilation unit compiled with DWARF 2
+     information, this is information used internally by the DWARF 2
+     code --- specifically, the location expression for the frame
+     base for this function.  */
+  /* FIXME drow/2003-02-21: For the LOC_BLOCK case, it might be better
+     to add a magic symbol to the block containing this information,
+     or to have a generic debug info annotation slot for symbols.  */
 
-  union
-  {
-    /* An arbitrary data pointer.  Note that this data must be
-       allocated using the same obstack as the symbol itself.  */
-    /* So far it is only used by LOC_COMPUTED and LOC_COMPUTED_ARG to
-       find the location information.  For a LOC_BLOCK symbol
-       for a function in a compilation unit compiled with DWARF 2
-       information, this is information used internally by the DWARF 2
-       code --- specifically, the location expression for the frame
-       base for this function.  */
-    /* FIXME drow/2003-02-21: For the LOC_BLOCK case, it might be better
-       to add a magic symbol to the block containing this information,
-       or to have a generic debug info annotation slot for symbols.  */
-    void *ptr;
-  }
-  aux_value;
+  void *aux_value;
 
   struct symbol *hash_next;
 };
@@ -617,7 +612,7 @@ struct symbol
 #define SYMBOL_LINE(symbol)		(symbol)->line
 #define SYMBOL_SYMTAB(symbol)		(symbol)->symtab
 #define SYMBOL_OPS(symbol)              (symbol)->ops
-#define SYMBOL_LOCATION_BATON(symbol)   (symbol)->aux_value.ptr
+#define SYMBOL_LOCATION_BATON(symbol)   (symbol)->aux_value
 \f
 /* A partial_symbol records the name, domain, and address class of
    symbols whose types we have not parsed yet.  For functions, it also


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


  reply	other threads:[~2008-05-19 17:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-19 18:49 Ulrich Weigand
2008-05-19 20:40 ` Daniel Jacobowitz
2008-05-19 21:20   ` Ulrich Weigand [this message]
2008-05-23  4:30     ` 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=200805191719.m4JHJvgw006220@d12av02.megacenter.de.ibm.com \
    --to=uweigand@de.ibm.com \
    --cc=drow@false.org \
    --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