Commit: objdump --show-all-symbols: show extra symbols matching referenced addresses
Nick Clifton
nickc@redhat.com
Wed Apr 3 09:55:09 GMT 2024
Hi Andreas,
>>>> + /* If we found an absolute symbol in the reloc (ie: "*ABS*+0x....")
>>> Is the addend always formatted as an unsigned number?
>>
>> Err, yes ?
>>
>> To be honest I am not 100% sure. Possibly on architectures with a signed
>> address space there could be a negative value in the relocation symbol.
>
> Nothing stops the object from using addresses from the upper end of the
> address space.
>
> $ tail -1 /proc/self/maps
> ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]
Right, but if the address space itself is unsigned then any relocations
against locations in the upper end of the space will themselves be
unsigned. Full of f's and looking like a negative number, but actually
a large, positive, unsigned number.
But hey, I have only just written this code, so I am quite willing to
believe that there are bugs in it. Do you know of an example of a
relocation against an upper end address that I could use to investigate
further ?
Cheers
Nick
More information about the Binutils
mailing list