aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2016-07-20 12:11:52 +0100
committerMaciej W. Rozycki <macro@imgtec.com>2016-07-20 12:53:18 +0100
commit5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0 (patch)
tree45453d066211bfd1ce3b120421adef89c4174324 /gas
parentf2629855d950f42c6d6ed7132cf94dd70e308985 (diff)
downloadbinutils-5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0.zip
binutils-5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0.tar.gz
binutils-5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0.tar.bz2
MIPS/GAS: Remove erroneous ELF relocation references
Remove R_MIPS_PC26_S2 and R_MIPS_PC21_S2 relocation references that went into `mips_force_relocation' with commit 9d862524f6ae ("MIPS: Verify the ISA mode and alignment of branch and jump targets") by mistake. Their BFD_RELOC_MIPS_26_PCREL_S2 and BFD_RELOC_MIPS_21_PCREL_S2 equivalents are already handled there. gas/ * config/tc-mips.c (mips_force_relocation): Remove R_MIPS_PC26_S2 and R_MIPS_PC21_S2.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c12
2 files changed, 10 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4eeafb9..b3872ce 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2016-07-20 Maciej W. Rozycki <macro@imgtec.com>
+
+ * config/tc-mips.c (mips_force_relocation): Remove
+ R_MIPS_PC26_S2 and R_MIPS_PC21_S2.
+
2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
* config/tc-mips.c (mips_force_relocation, mips_fix_adjustable):
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 595e4fe..daa23d8 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -14800,13 +14800,11 @@ mips_force_relocation (fixS *fixp)
|| fixp->fx_r_type == BFD_RELOC_MICROMIPS_16_PCREL_S1)
return 1;
- /* We want to keep R_MIPS_PC26_S2, R_MIPS_PC21_S2, BFD_RELOC_16_PCREL_S2
- BFD_RELOC_MIPS_21_PCREL_S2 and BFD_RELOC_MIPS_26_PCREL_S2 relocations
- against MIPS16 and microMIPS symbols so that we do cross-mode branch
- diagnostics and BAL to JALX conversion by the linker. */
- if ((fixp->fx_r_type == R_MIPS_PC26_S2
- || fixp->fx_r_type == R_MIPS_PC21_S2
- || fixp->fx_r_type == BFD_RELOC_16_PCREL_S2
+ /* We want to keep BFD_RELOC_16_PCREL_S2 BFD_RELOC_MIPS_21_PCREL_S2
+ and BFD_RELOC_MIPS_26_PCREL_S2 relocations against MIPS16 and
+ microMIPS symbols so that we can do cross-mode branch diagnostics
+ and BAL to JALX conversion by the linker. */
+ if ((fixp->fx_r_type == BFD_RELOC_16_PCREL_S2
|| fixp->fx_r_type == BFD_RELOC_MIPS_21_PCREL_S2
|| fixp->fx_r_type == BFD_RELOC_MIPS_26_PCREL_S2)
&& fixp->fx_addsy