64bit bfd_vma vs 32bit address space in linker

Alan Modra amodra@bigpond.net.au
Tue Apr 8 08:53:00 GMT 2003


On Tue, Apr 08, 2003 at 09:28:13AM +0200, Andreas Jaeger wrote:
> but where do we need to add the "currently
> missing linker address wrap"?

Everywhere.  The primary change is to mask places that adjust "dot" in
ldlang.c and ldexp.c, but this change will trickle down into all
expression evaluation code.  eg. an address difference on a 32 bit
target like

 0 - 0xffff0000

should evaluate to 0x10000 regardless of whether bfd_vma is 32-bit or
64-bit.  Perhaps you see why I merely acknowledge the bug and don't
jump in with a patch.  :-)

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



More information about the Binutils mailing list