This is the mail archive of the
mailing list for the binutils project.
Re: [Patch]: xcoff: fix 16 bit relative branches
- From: Tristan Gingold <gingold at adacore dot com>
- To: Richard Sandiford <rsandifo at linux dot vnet dot ibm dot com>
- Cc: "binutils\ at sourceware dot org Development" <binutils at sourceware dot org>
- Date: Fri, 19 Jul 2013 12:03:37 +0200
- Subject: Re: [Patch]: xcoff: fix 16 bit relative branches
- References: <7A33CD48-7AFB-4820-91FA-5B94E328F938 at adacore dot com> <874nbzvhp3 dot fsf at sandifor-thinkpad dot stglab dot manchester dot uk dot ibm dot com> <5501CDEA-492B-484F-BDE6-06D58193D424 at adacore dot com> <87ppuhjtpe dot fsf at sandifor-thinkpad dot stglab dot manchester dot uk dot ibm dot com>
On Jul 17, 2013, at 1:45 PM, Richard Sandiford wrote:
> Tristan Gingold <email@example.com> writes:
>>> Is it really the case that R_RBR is treated as a 4-byte relocation
>>> even when r_rsize specifies a bitsize of 16? There don't seem to be
>>> any other entries where that's true, and it feels odd for R_RBR to
>>> have different (byte) sizes from R_BA and R_RBA while having the
>>> same bitsize.
>> I think that currently many entries of xcoff_howto_table have
>> junk values. Some comments are even misleading (eg: R_RBA is
>> not a relative branch). I plan to fix that later, but currently
>> I just want to have gas + ld in a working shape.
> It looks like the current size of 1 is right in this case though.
> I just tried:
> .extern c
> bne c
Just for the record, with binutils 2.22+, I get:
aix3.s: Assembler messages:
aix3.s:2: Error: reloc 392 not supported by object file format
But I agree to make it right!