64bit bfd_vma vs 32bit address space in linker
Thiemo Seufer
ica2_ts@csv.ica.uni-stuttgart.de
Tue Apr 8 06:53:00 GMT 2003
Alexandre Oliva wrote:
> On Apr 8, 2003, Alan Modra <amodra@bigpond.net.au> wrote:
>
> > Without looking in detail at the code, I believe that bits_per_address
> > is exactly the right thing to use to implement the (currently missing
> > when BFD64) linker address wrap.
>
> I'm afraid it isn't. Consider 32-bit code (say o32) running on a
> 64-bit architecture (MIPS III). You do want to truncate addresses to
> 32 bits, since the ABI mandates 32-bit addresses, but bits_per_address
> will return 64.
Looks like MIPS gets it wrong in cpu-mips.c. Other architectures (ia64)
use different bfd_mach_* vectors for this purpose.
Thiemo
More information about the Binutils
mailing list