This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] MIPS/GAS: Remove erroneous ELF relocation references


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0

commit 5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jul 20 12:11:52 2016 +0100

    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.

Diff:
---
 gas/ChangeLog        |  5 +++++
 gas/config/tc-mips.c | 12 +++++-------
 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]