This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] MIPS gas: Simplify MIPS16 jump relocation handling
- From: Thiemo Seufer <ths at networkno dot de>
- To: binutils at sourceware dot org
- Date: Mon, 31 Jul 2006 18:25:44 +0100
- Subject: [PATCH] MIPS gas: Simplify MIPS16 jump relocation handling
Hello All,
I applied the appended patch, it simplifies handling of
BFD_RELOC_MIPS16_JMP relocations.
Thanks to Richard Sandiford for the suggestion.
Thiemo
2006-07-31 Thiemo Seufer <ths@mips.com>
* config/tc-mips.c (md_apply_fix, tc_gen_reloc): Remove special
handling for BFD_RELOC_MIPS16_JMP.
Index: gas/config/tc-mips.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-mips.c,v
retrieving revision 1.351
diff -u -p -r1.351 tc-mips.c
--- gas/config/tc-mips.c 20 Jul 2006 16:51:38 -0000 1.351
+++ gas/config/tc-mips.c 31 Jul 2006 14:10:49 -0000
@@ -11787,14 +11787,8 @@ md_apply_fix (fixS *fixP, valueT *valP,
case BFD_RELOC_MIPS16_GPREL:
case BFD_RELOC_MIPS16_HI16:
case BFD_RELOC_MIPS16_HI16_S:
- /* Nothing needed to do. The value comes from the reloc entry */
- break;
-
case BFD_RELOC_MIPS16_JMP:
- /* We currently always generate a reloc against a symbol, which
- means that we don't want an addend even if the symbol is
- defined. */
- *valP = 0;
+ /* Nothing needed to do. The value comes from the reloc entry */
break;
case BFD_RELOC_64:
@@ -13568,10 +13559,6 @@ tc_gen_reloc (asection *section ATTRIBUT
else
reloc->addend = fixp->fx_addnumber;
- /* Handle relocs adjusted against a section symbol. */
- if (fixp->fx_r_type == BFD_RELOC_MIPS16_JMP)
- reloc->addend += fixp->fx_offset;
-
/* Since the old MIPS ELF ABI uses Rel instead of Rela, encode the vtable
entry to be used in the relocation's section offset. */
if (! HAVE_NEWABI && fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)