This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: binutils development (was Re: Problems building binutils-000220 snapshot)
On Wed, Feb 23, 2000 at 04:25:52PM +1030, Alan Modra wrote:
>
> Because the address space is only 64K (ignoring segments). It's true that
> the offset is signed, and a jump from 0 to 0xe003 has a rel16 offset of
> -0x2000. The bfd reloc code will complain in this case though as it sees
> an offset of +0xe000, which is outside the signed 16 bit range.
>
I found it. Here are the relevant changes:
1999-04-06 Chris Torek <torek@bsdi.com>
* reloc.c (bfd_check_overflow): Add addrsize parameter. Change
all callers. Rewrite completely.
(_bfd_relocate_contents): Rewrite overflow checking.
* bfd-in2.h: Rebuild.
This change broke ia32 32bit relocation due to address wrap around.
And
1999-06-11 Ian Lance Taylor <ian@zembu.com>
* reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
wrap if the relocation covers the high bit of an address.
This change fixed it. Can we do similar thing for 16bit relocation?
I will give it a shot if no one does.
H.J.