* config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
relocation bits for absolute calls.
This commit is contained in:
parent
2379f65cab
commit
2c23d22bee
|
@ -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>
|
||||
|
||||
* 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.format = 17;
|
||||
the_insn.arg_reloc = last_call_desc.arg_reloc;
|
||||
bzero (&last_call_desc, sizeof (struct call_desc));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -2813,16 +2815,6 @@ md_undefined_symbol (name)
|
|||
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. */
|
||||
|
||||
int
|
||||
|
@ -2868,6 +2860,15 @@ md_apply_fix (fixP, valp)
|
|||
#endif
|
||||
)
|
||||
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
|
||||
new_val = hppa_field_adjust (*valp, 0, hppa_fixP->fx_r_field);
|
||||
|
||||
|
|
Loading…
Reference in New Issue