diff options
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r-- | gas/config/tc-mips.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 2e4a890..5c3da07 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -10094,7 +10094,7 @@ mips_frob_file_before_adjust () } /* Sort any unmatched HI16_S relocs so that they immediately precede - the corresponding LO reloc. This is called before md_apply_fix and + the corresponding LO reloc. This is called before md_apply_fix3 and tc_gen_reloc. Unmatched HI16_S relocs can only be generated by explicit use of the %hi modifier. */ @@ -10220,10 +10220,11 @@ mips_force_relocation (fixp) /* Apply a fixup to the object file. */ -int -md_apply_fix (fixP, valueP) +void +md_apply_fix3 (fixP, valP, seg) fixS *fixP; - valueT *valueP; + valueT * valP; + segT seg ATTRIBUTE_UNUSED; { unsigned char *buf; long insn; @@ -10249,7 +10250,7 @@ md_apply_fix (fixP, valueP) || fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY); - value = *valueP; + value = * valP; /* If we aren't adjusting this fixup to be against the section symbol, we need to adjust the value. */ @@ -10270,6 +10271,7 @@ md_apply_fix (fixP, valueP) { valueT symval = S_GET_VALUE (fixP->fx_addsy); + value -= symval; if (value != 0 && ! fixP->fx_pcrel @@ -10337,7 +10339,7 @@ md_apply_fix (fixP, valueP) } #endif - fixP->fx_addnumber = value; /* Remember value for tc_gen_reloc */ + fixP->fx_addnumber = value; /* Remember value for tc_gen_reloc. */ if (fixP->fx_addsy == NULL && ! fixP->fx_pcrel) fixP->fx_done = 1; @@ -10577,8 +10579,6 @@ md_apply_fix (fixP, valueP) default: internalError (); } - - return 1; } #if 0 |