[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