Undo md_apply_fix3 changes
This commit is contained in:
parent
a2b970c925
commit
0e31d0ce8a
2 changed files with 38 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
Wed Sep 27 11:33:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* config/tc-ppc.c (md_apply_fix3): Remove Sep 26 changes to this
|
||||
function, keeping other Sep. 26 changes.
|
||||
|
||||
Wed Sep 27 10:29:13 1995 Kim Knuttila <krk@nellie>
|
||||
|
||||
* configure (emulations): Added support for ppcle-*-[pe|winnt]
|
||||
|
|
|
@ -3681,8 +3681,6 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||
segT seg;
|
||||
{
|
||||
valueT value;
|
||||
char *where;
|
||||
unsigned long insn;
|
||||
|
||||
/* FIXME FIXME FIXME: The value we are passed in *valuep includes
|
||||
the symbol values. Since we are using BFD_ASSEMBLER, if we are
|
||||
|
@ -3722,6 +3720,8 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||
{
|
||||
int opindex;
|
||||
const struct powerpc_operand *operand;
|
||||
char *where;
|
||||
unsigned long insn;
|
||||
|
||||
opindex = (int) fixp->fx_r_type - (int) BFD_RELOC_UNUSED;
|
||||
|
||||
|
@ -3819,13 +3819,42 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||
#endif
|
||||
switch (fixp->fx_r_type)
|
||||
{
|
||||
case BFD_RELOC_32: /* fixup errant PC relative relocations */
|
||||
case BFD_RELOC_32:
|
||||
case BFD_RELOC_CTOR:
|
||||
if (fixp->fx_pcrel)
|
||||
{
|
||||
fixp->fx_r_type = BFD_RELOC_32_PCREL;
|
||||
value += fixp->fx_frag->fr_address + fixp->fx_where;
|
||||
}
|
||||
} /* fall through */
|
||||
|
||||
case BFD_RELOC_32_PCREL:
|
||||
md_number_to_chars (fixp->fx_frag->fr_literal + fixp->fx_where,
|
||||
value, 4);
|
||||
break;
|
||||
|
||||
case BFD_RELOC_LO16:
|
||||
case BFD_RELOC_HI16:
|
||||
case BFD_RELOC_HI16_S:
|
||||
case BFD_RELOC_PPC_TOC16:
|
||||
case BFD_RELOC_16:
|
||||
case BFD_RELOC_GPREL16:
|
||||
if (fixp->fx_pcrel)
|
||||
abort ();
|
||||
|
||||
md_number_to_chars (fixp->fx_frag->fr_literal + fixp->fx_where,
|
||||
value, 2);
|
||||
break;
|
||||
|
||||
case BFD_RELOC_8:
|
||||
if (fixp->fx_pcrel)
|
||||
abort ();
|
||||
|
||||
md_number_to_chars (fixp->fx_frag->fr_literal + fixp->fx_where,
|
||||
value, 1);
|
||||
break;
|
||||
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue