mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +08:00
* config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
by md_pcrel_from if we are relocating against a symbol (we still need md_pcrel_from for a PC relative relocation within the same file). * config/tc-m88k.c (md_pcrel_from): Corrected return value.
This commit is contained in:
parent
6585e9e347
commit
2368ec638a
@ -1,5 +1,11 @@
|
|||||||
Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||||
|
|
||||||
|
* config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
|
||||||
|
by md_pcrel_from if we are relocating against a symbol (we still
|
||||||
|
need md_pcrel_from for a PC relative relocation within the same
|
||||||
|
file).
|
||||||
|
* config/tc-m88k.c (md_pcrel_from): Corrected return value.
|
||||||
|
|
||||||
* Preliminary support for m88k-coff.
|
* Preliminary support for m88k-coff.
|
||||||
* configure.in (m88k-*-coff*): New target. Use coffbfd and
|
* configure.in (m88k-*-coff*): New target. Use coffbfd and
|
||||||
m88kcoff.
|
m88kcoff.
|
||||||
|
@ -2529,7 +2529,11 @@ DEFUN (fixup_segment, (segP, this_segment_type),
|
|||||||
|
|
||||||
if (pcrel)
|
if (pcrel)
|
||||||
{
|
{
|
||||||
|
#ifndef TC_M88K
|
||||||
|
/* This adjustment is not correct on the m88k, for which the
|
||||||
|
linker does all the computation. */
|
||||||
add_number -= md_pcrel_from (fixP);
|
add_number -= md_pcrel_from (fixP);
|
||||||
|
#endif
|
||||||
if (add_symbolP == 0)
|
if (add_symbolP == 0)
|
||||||
{
|
{
|
||||||
fixP->fx_addsy = &abs_symbol;
|
fixP->fx_addsy = &abs_symbol;
|
||||||
|
@ -1442,7 +1442,16 @@ long
|
|||||||
md_pcrel_from (fixp)
|
md_pcrel_from (fixp)
|
||||||
fixS *fixp;
|
fixS *fixp;
|
||||||
{
|
{
|
||||||
return fixp->fx_frag->fr_address + fixp->fx_where + 4;
|
switch (fixp->fx_r_type)
|
||||||
|
{
|
||||||
|
case RELOC_PC16:
|
||||||
|
return fixp->fx_frag->fr_address + fixp->fx_where - 2;
|
||||||
|
case RELOC_PC26:
|
||||||
|
return fixp->fx_frag->fr_address + fixp->fx_where;
|
||||||
|
default:
|
||||||
|
abort ();
|
||||||
|
}
|
||||||
|
/*NOTREACHED*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* M88KCOFF */
|
#endif /* M88KCOFF */
|
||||||
|
Loading…
Reference in New Issue
Block a user