S/390: Fix 16 bit pc relative relocs.
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 4 Nov 2016 18:48:35 +0000 (19:48 +0100)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 4 Nov 2016 19:18:35 +0000 (20:18 +0100)
commitfeb4bea70a297eb6316d1b0685bbbb8095b7fb29
treedaedaaa9da0e911fd4238f90ce875559a4b8beb5
parentd46a21655318492db1e6113972fb02ab49eae75f
S/390: Fix 16 bit pc relative relocs.

Since the bpp instruction has been added the 16 bit wide pc relative
relocs might occur at offset 2 as well at offset 4 in an instruction.
With this patch the different adjustment is passed from
md_gather_operand to md_apply_fix via fx_pcrel_adjust field in the fix
data structure.

No regressions on s390x.

gas/ChangeLog:

2016-11-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/tc-s390.c (md_gather_operands): Set fx_pcrel_adjust.
(md_apply_fix): Use/Set fx_pcrel_adjust.
* testsuite/gas/s390/zarch-zEC12.d: Add bpp reloc test pattern.
* testsuite/gas/s390/zarch-zEC12.s: Add bpp reloc test.
gas/config/tc-s390.c
gas/testsuite/gas/s390/zarch-zEC12.d
gas/testsuite/gas/s390/zarch-zEC12.s