mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +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)
|
||||
|
||||
* 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.
|
||||
* configure.in (m88k-*-coff*): New target. Use coffbfd and
|
||||
m88kcoff.
|
||||
|
@ -2529,7 +2529,11 @@ DEFUN (fixup_segment, (segP, this_segment_type),
|
||||
|
||||
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);
|
||||
#endif
|
||||
if (add_symbolP == 0)
|
||||
{
|
||||
fixP->fx_addsy = &abs_symbol;
|
||||
|
@ -1442,7 +1442,16 @@ long
|
||||
md_pcrel_from (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 */
|
||||
|
Loading…
Reference in New Issue
Block a user