XCOFF 64 function address wrong?
Nick Clifton
nickc@redhat.com
Wed Mar 9 12:53:00 GMT 2005
Hi David,
> I have a 64-bit AIX 5.2 XLC 7 compiled hello world binary. I've built
> up gdb and binutils with --enable-64-bit-bfd - from latest CVS.
>
> In GDB, it miscalculates the main(), as 0x428 (instead of 0x10000428).
This looks like a truncation to 32-bits rather than a more general
miscalculation...
> So, in using a fresh binutils's "objdump -t":
> [ 89](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 2) 0x00000428 .main
> Note the 0x0000428 .main,
> I'm willing to put some time in to getting this sorted out, but at
> present don't know what I'm looking for -- so any help greatly
> appreciated.
Have a look at the function coff_print_symbol() in bfd/coffgen.c. This
is the function that is printing out the incorrect value for .main. My
guess is that for some reason XCOFF64 is not defined for your
configuration and so it is printing a 32-bit value instead of a 64-bit
value.
Cheers
Nick
More information about the Binutils
mailing list