diff options
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r-- | gas/config/tc-mips.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index aa25990..74e206a 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 |