2002-09-29 H.J. Lu * config/tc-mips.c (md_apply_fix3): Subtract the symbol value twice if howto->pcrel_offset is true. --- gas/config/tc-mips.c.reloc Fri Sep 27 00:21:51 2002 +++ gas/config/tc-mips.c Sun Sep 29 14:18:18 2002 @@ -10754,7 +10754,8 @@ md_apply_fix3 (fixP, valP, seg) value -= symval; howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type); - if (value != 0 && howto->partial_inplace && ! fixP->fx_pcrel) + if (value != 0 && howto->partial_inplace + && (! fixP->fx_pcrel || howto->pcrel_offset)) { /* In this case, the bfd_install_relocation routine will incorrectly add the symbol value back in. We just want