[Patch]: xcoff: fix 16 bit relative branches
Richard Sandiford
rsandifo@linux.vnet.ibm.com
Fri Jul 19 10:46:00 GMT 2013
Tristan Gingold <gingold@adacore.com> writes:
> On Jul 17, 2013, at 1:45 PM, Richard Sandiford wrote:
>>
>> So AIX as does put the reloc against the 16-bit field rather than the full
>> instruction, which is what I'd naively have expected from a 16-bit rsize.
>
> Hello,
>
> I now have a patch for this. aix3-aix.o is the binary produced by AIX as,
> while aix3.o is produced by gas:
>
> $ ../binutils/objdump -P relocs -dr aix3*.o
>
> aix3-aix.o: file format aixcoff-rs6000
> ../binutils/objdump: cannot read strings table length
> Relocations for .text (1)
> vaddr sgn mod sz type symndx symbol
> 00000002 S 16 RBR 2 c
>
>
>
> Disassembly of section .text:
>
> 00000000 <.text>:
> 0: 40 82 00 00 bne 0x0
> 2: R_RBR_16 c
>
> aix3.o: file format aixcoff-rs6000
> Relocations for .text (1)
> vaddr sgn mod sz type symndx symbol
> 00000002 S 16 RBR 2 c
>
>
>
> Disassembly of section .text:
>
> 00000000 <.text>:
> 0: 40 82 00 00 bne 0x0
> 2: R_RBR_16 c
Thanks, looks good!
Richard
More information about the Binutils
mailing list