This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]