This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Limited success with 3.0 branch on AIX
- To: Kevin Buettner <kevinb at cygnus dot com>
- Subject: Re: Limited success with 3.0 branch on AIX
- From: Elena Zannoni <ezannoni at cygnus dot com>
- Date: Tue, 15 May 2001 18:27:06 -0400
- Cc: "Zack Weinberg" <zackw at Stanford dot EDU>, David Edelsohn <dje at watson dot ibm dot com>, Matthew Conway <matt_conway at i2 dot com>, gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, gdb at sources dot redhat dot com
- References: <matt_conway@i2.com><200104302116.RAA23290@makai.watson.ibm.com><20010502232459.N8246@stanford.edu><1010503084223.ZM4992@ocotillo.lan>
Jim is away from his mail at the moment, but I just talked with him on
the phone about this.
We were thinking about C_INFO as a possibility. Whether we use C_GSYM
or C_INFO, xcoffread.c will have to get the name of the symbol, but
C_INFO is much less likely to occur, thus the overhead would be less.
The definition of C_INFO is in /usr/include/storclass.h on an AIX
machine. I saw it mentioned in a patch by Tom Rix on the binutils
mailing list, as well:
http://sources.redhat.com/ml/binutils/2001-01/msg00448.html
For the C_INFO, if we chose to go with that, we would have to write
similar code to what dbxread.c, process_one_symbol() does for N_OPT,
and that would go in xcoffread.c, read_xcoff_symtab() instead:
/* We use N_OPT to carry the gcc2_compiled flag. Sun uses it
for a bunch of other flags, too. Someday we may parse their
flags; for now we ignore theirs and hope they'll ignore ours. */
case N_OPT: /* Solaris 2: Compiler options */
if (name)
{
if (STREQ (name, GCC2_COMPILED_FLAG_SYMBOL))
{
processing_gcc_compilation = 2;
#if 0 /* Works, but is experimental. -fnf */
/* For now, stay with AUTO_DEMANGLING for g++ output, as we don't
know whether it will use the old style or v3 mangling. */
if (AUTO_DEMANGLING)
{
set_demangling_style (GNU_DEMANGLING_STYLE_STRING);
}
#endif
}
else
n_opt_found = 1;
}
break;
Elena
Kevin Buettner writes:
> On May 2, 11:24pm, Zack Weinberg wrote:
>
> > > I do not see anything in the AIX equivalent to N_OPT -- no comment
> > > storage class. Would using N_GSYM (AIX's C_GSYM) be appropriate? It
> > > seems to be a stab for which only the name is significant, not the value,
> > > which matches the use of gcc2_compiled.
> >
> > The question is whether gdb on AIX will notice the marker in a C_GSYM
> > .stabx directive; also whether the native debugger will choke on it.
> > I've cc:ed the gdb folks for comment. Leaving your patch quoted so
> > they can look at it.
>
> David asked about this on the GDB list recently. I see nothing wrong
> with David's approach, though GDB will require a minor modification to
> recognize "gcc2_compiled." as an N_GSYM.
>
> See:
>
> http://sources.redhat.com/ml/gdb/2001-05/msg00015.html
> http://sources.redhat.com/ml/gdb/2001-05/msg00019.html
> http://sources.redhat.com/ml/gdb/2001-05/msg00020.html
> http://sources.redhat.com/ml/gdb/2001-05/msg00027.html
> http://sources.redhat.com/ml/gdb/2001-05/msg00028.html
> http://sources.redhat.com/ml/gdb/2001-05/msg00030.html
> http://sources.redhat.com/ml/gdb/2001-05/msg00033.html
>
> I will note, however, that neither of GDB's symtabs maintainers
> have weighed in on this issue yet.
>
> Kevin
>