[Patch]: xcoff: fix 16 bit relative branches
Tristan Gingold
gingold@adacore.com
Fri Jul 19 10:29:00 GMT 2013
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
There is one regression in gas testsuite I am analyzing,
and I will submit this patch.
Thanks you for your comments and pugnacity !
Tristan.
More information about the Binutils
mailing list