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