mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-01 18:32:32 +08:00
* config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
relocation bits for absolute calls.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
Sun Mar 5 19:38:09 1995 Jeff Law (law@snake.cs.utah.edu)
|
||||||
|
|
||||||
|
* config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
|
||||||
|
relocation bits for absolute calls.
|
||||||
|
|
||||||
Fri Mar 3 17:41:50 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
Fri Mar 3 17:41:50 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||||||
|
|
||||||
* config/tc-h8300.* (md_operand): Change empty function to empty
|
* config/tc-h8300.* (md_operand): Change empty function to empty
|
||||||
|
@ -2179,6 +2179,8 @@ pa_ip (str)
|
|||||||
{
|
{
|
||||||
the_insn.reloc = R_HPPA_ABS_CALL;
|
the_insn.reloc = R_HPPA_ABS_CALL;
|
||||||
the_insn.format = 17;
|
the_insn.format = 17;
|
||||||
|
the_insn.arg_reloc = last_call_desc.arg_reloc;
|
||||||
|
bzero (&last_call_desc, sizeof (struct call_desc));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2813,16 +2815,6 @@ md_undefined_symbol (name)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Parse an operand that is machine-specific.
|
|
||||||
We just return without modifying the expression as we have nothing
|
|
||||||
to do on the PA. */
|
|
||||||
|
|
||||||
void
|
|
||||||
md_operand (expressionP)
|
|
||||||
expressionS *expressionP;
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Apply a fixup to an instruction. */
|
/* Apply a fixup to an instruction. */
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -2868,6 +2860,15 @@ md_apply_fix (fixP, valp)
|
|||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
new_val = ((fmt == 12 || fmt == 17) ? 8 : 0);
|
new_val = ((fmt == 12 || fmt == 17) ? 8 : 0);
|
||||||
|
#ifdef OBJ_SOM
|
||||||
|
/* This is truely disgusting. The machine independent code blindly
|
||||||
|
adds in the value of the symbol being relocated against. Damn! */
|
||||||
|
else if (fmt == 32
|
||||||
|
&& fixP->fx_addsy != NULL
|
||||||
|
&& S_GET_SEGMENT (fixP->fx_addsy) != bfd_com_section_ptr)
|
||||||
|
new_val = hppa_field_adjust (*valp - S_GET_VALUE (fixP->fx_addsy),
|
||||||
|
0, hppa_fixP->fx_r_field);
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
new_val = hppa_field_adjust (*valp, 0, hppa_fixP->fx_r_field);
|
new_val = hppa_field_adjust (*valp, 0, hppa_fixP->fx_r_field);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user