From 5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Wed, 20 Jul 2016 12:11:52 +0100 Subject: [PATCH] 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. --- 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 4eeafb983ec..b3872ce34b7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2016-07-20 Maciej W. Rozycki + + * config/tc-mips.c (mips_force_relocation): Remove + R_MIPS_PC26_S2 and R_MIPS_PC21_S2. + 2016-07-19 Maciej W. Rozycki * 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 595e4fe1827..daa23d892f9 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 -- 2.30.2