This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: 64bit bfd_vma vs 32bit address space in linker
Alexandre Oliva wrote:
> On Apr 8, 2003, Alan Modra <amodra at bigpond dot net dot 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