diff options
author | Alan Modra <amodra@gmail.com> | 2019-05-06 08:43:32 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-05-06 11:41:28 +0930 |
commit | 334d91b9407c5f9f37f224b0f43551c01964eff1 (patch) | |
tree | cbd9f9290f354419eaef60efd05261073ce323b3 /bfd/reloc.c | |
parent | 62e6b7b3b3c6f2fffe9f5863ddebf430533b79f0 (diff) | |
download | gdb-334d91b9407c5f9f37f224b0f43551c01964eff1.zip gdb-334d91b9407c5f9f37f224b0f43551c01964eff1.tar.gz gdb-334d91b9407c5f9f37f224b0f43551c01964eff1.tar.bz2 |
PowerPC reloc symbols that shouldn't be adjusted
GOT and PLT relocs shouldn't have their symbols replaced with a
section symbol plus added. Nor should the HIGHA TLS relocations,
which failed to be caught by the range test in ppc_fix_adjustable.
bfd/
* reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
(BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
gas/
* config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT
relocs, and VLE sdarel relocs.
* testsuite/gas/ppc/power4.d: Adjust.
Diffstat (limited to 'bfd/reloc.c')
-rw-r--r-- | bfd/reloc.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/bfd/reloc.c b/bfd/reloc.c index 9615279..f146581 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -2946,6 +2946,10 @@ ENUMX ENUMX BFD_RELOC_PPC64_TPREL16_LO_DS ENUMX + BFD_RELOC_PPC64_TPREL16_HIGH +ENUMX + BFD_RELOC_PPC64_TPREL16_HIGHA +ENUMX BFD_RELOC_PPC64_TPREL16_HIGHER ENUMX BFD_RELOC_PPC64_TPREL16_HIGHERA @@ -2958,6 +2962,10 @@ ENUMX ENUMX BFD_RELOC_PPC64_DTPREL16_LO_DS ENUMX + BFD_RELOC_PPC64_DTPREL16_HIGH +ENUMX + BFD_RELOC_PPC64_DTPREL16_HIGHA +ENUMX BFD_RELOC_PPC64_DTPREL16_HIGHER ENUMX BFD_RELOC_PPC64_DTPREL16_HIGHERA @@ -2965,14 +2973,6 @@ ENUMX BFD_RELOC_PPC64_DTPREL16_HIGHEST ENUMX BFD_RELOC_PPC64_DTPREL16_HIGHESTA -ENUMX - BFD_RELOC_PPC64_TPREL16_HIGH -ENUMX - BFD_RELOC_PPC64_TPREL16_HIGHA -ENUMX - BFD_RELOC_PPC64_DTPREL16_HIGH -ENUMX - BFD_RELOC_PPC64_DTPREL16_HIGHA ENUMDOC PowerPC and PowerPC64 thread-local storage relocations. |