This is the mail archive of the
mailing list for the GDB project.
Re: read correct xcoff auxiliary entry & skip reading @fix entries.
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Ulrich Weigand <Ulrich dot Weigand at de dot ibm dot com>, Sangamesh Mallayya <sangamesh dot swamy at in dot ibm dot com>
- Cc: GDB Patches <gdb-patches at sourceware dot org>
- Date: Wed, 12 Oct 2016 22:26:53 -0400
- Subject: Re: read correct xcoff auxiliary entry & skip reading @fix entries.
- Authentication-results: sourceware.org; auth=none
>>>>> Ulrich Weigand wrote:
> As a more substantiative comment, I'm wondering whether it really
> correct to just complely reject all @FIX symbols from consideration.
> I'm not really very familiar with the XCOFF format, but I do notice
> that there are several places in the rest of the code that appear to
> want to do something with @FIX symbols:
AIX did not have the equivalent of PPC64 Linux cmodel=medium/large
until recently. Prior to allowing the compiler to generate extra
instructions that the linker could elide, the AIX linker provided the
"bigtoc" linker option.
When "bigtoc" is enabled in the linker, the linker replaces the
instruction to load an address from the TOC with a jump to fixup code
that loads the address from another TOC table. The names of the fixup
functions are @FIXn.
The AIX debugger, dbx, silently steps over those functions, but it's
not clear that GDB should be completely unaware of the symbols. There
were some issues in the past with form that the AIX linker inserted
the symbols into the symbol table and GDB tried to work around that
based on the @FIXn symbol name.
Sometimes one wants the linker-generated symbols to be hidden when
debugging a program and sometimes one needs to be able to follow the
exact behavior of the program or shared object.