From 236bd878b53a34c7d0ee76d60450ad53f2ea14a5 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 3 Aug 2001 18:33:34 +0000 Subject: [PATCH] * config/tc-mips.c (md_apply_fix): Don't subtract the symbol value from GPREL addends. --- gas/ChangeLog | 5 +++++ gas/config/tc-mips.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index ede25334b4d..0dca9480986 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-08-03 Richard Sandiford + + * config/tc-mips.c (md_apply_fix): Don't subtract the symbol value + from GPREL addends. + 2001-08-02 Richard Sandiford * doc/c-mips.tex (-mgp32, -mfp32): Added -mfp32, unified with -mgp32. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index aa259907599..74e206a3ee2 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -9527,7 +9527,9 @@ md_apply_fix (fixP, valueP) { valueT symval = S_GET_VALUE (fixP->fx_addsy); value -= symval; - if (value != 0 && ! fixP->fx_pcrel) + if (value != 0 + && ! fixP->fx_pcrel + && fixP->fx_r_type != BFD_RELOC_MIPS_GPREL) { /* In this case, the bfd_install_relocation routine will incorrectly add the symbol value back in. We just want -- 2.30.2