mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-09 23:32:21 +08:00
Do not producesection relative offsets for relocs that will not be based on the
section symbol.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2003-05-22 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* config/tc-xstormy16.c (md_pcrel_from_section): Do not produce
|
||||||
|
section relative offsets for relocs that will not be based on the
|
||||||
|
section symbol.
|
||||||
|
(xstormy16_md_apply_fix3): Remove previous patch to this
|
||||||
|
function.
|
||||||
|
|
||||||
2003-05-07 Eric Christopher <echristo@redhat.com>
|
2003-05-07 Eric Christopher <echristo@redhat.com>
|
||||||
|
|
||||||
* config/tc-mips.c (mips_abicalls): New variable.
|
* config/tc-mips.c (mips_abicalls): New variable.
|
||||||
|
@ -330,12 +330,13 @@ md_pcrel_from_section (fixP, sec)
|
|||||||
{
|
{
|
||||||
if (fixP->fx_addsy != (symbolS *) NULL
|
if (fixP->fx_addsy != (symbolS *) NULL
|
||||||
&& (! S_IS_DEFINED (fixP->fx_addsy)
|
&& (! S_IS_DEFINED (fixP->fx_addsy)
|
||||||
|| S_GET_SEGMENT (fixP->fx_addsy) != sec))
|
|| S_GET_SEGMENT (fixP->fx_addsy) != sec)
|
||||||
{
|
|| xstormy16_force_relocation (fixP))
|
||||||
/* The symbol is undefined (or is defined but not in this section).
|
/* The symbol is undefined,
|
||||||
Let the linker figure it out. */
|
or it is defined but not in this section,
|
||||||
return 0;
|
or the relocation will be relative to this symbol not the section symbol.
|
||||||
}
|
Let the linker figure it out. */
|
||||||
|
return 0;
|
||||||
|
|
||||||
return fixP->fx_frag->fr_address + fixP->fx_where;
|
return fixP->fx_frag->fr_address + fixP->fx_where;
|
||||||
}
|
}
|
||||||
@ -581,12 +582,8 @@ xstormy16_md_apply_fix3 (fixP, valueP, seg)
|
|||||||
|
|
||||||
/* Tuck `value' away for use by tc_gen_reloc.
|
/* Tuck `value' away for use by tc_gen_reloc.
|
||||||
See the comment describing fx_addnumber in write.h.
|
See the comment describing fx_addnumber in write.h.
|
||||||
This field is misnamed (or misused :-).
|
This field is misnamed (or misused :-). */
|
||||||
We do not do this for pc-relative relocs against a
|
fixP->fx_addnumber += value;
|
||||||
defined symbol, since it will be done for us. */
|
|
||||||
if ((! fixP->fx_pcrel)
|
|
||||||
|| (fixP->fx_addsy && ! S_IS_DEFINED (fixP->fx_addsy)))
|
|
||||||
fixP->fx_addnumber += value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user