* write.c (adjust_reloc_syms): Never adjust relocs against weak
symbols. * config/tc-mips.c (md_apply_fix): Adjust accordingly.
This commit is contained in:
parent
7b61b0945f
commit
622b1860e1
2 changed files with 24 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Fri Jun 19 13:57:06 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* write.c (adjust_reloc_syms): Never adjust relocs against weak
|
||||||
|
symbols.
|
||||||
|
* config/tc-mips.c (md_apply_fix): Adjust accordingly.
|
||||||
|
|
||||||
Fri Jun 19 09:50:17 1998 Jeffrey A Law (law@cygnus.com)
|
Fri Jun 19 09:50:17 1998 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
start-sanitize-am33
|
start-sanitize-am33
|
||||||
|
|
|
@ -140,7 +140,11 @@ mips_target_format ()
|
||||||
|
|
||||||
/* This is the set of options which may be modified by the .set
|
/* This is the set of options which may be modified by the .set
|
||||||
pseudo-op. We use a struct so that .set push and .set pop are more
|
pseudo-op. We use a struct so that .set push and .set pop are more
|
||||||
reliable. */
|
reliable.
|
||||||
|
|
||||||
|
FIXME: The CPU specific variables (mips_4010, et. al.) should
|
||||||
|
probably be in here as well, and there should probably be some way
|
||||||
|
to set them. */
|
||||||
|
|
||||||
struct mips_set_options
|
struct mips_set_options
|
||||||
{
|
{
|
||||||
|
@ -234,7 +238,17 @@ static int mips_4900 = -1;
|
||||||
|
|
||||||
/* Whether the processor uses hardware interlocks to protect
|
/* Whether the processor uses hardware interlocks to protect
|
||||||
reads from the HI and LO registers, and thus does not
|
reads from the HI and LO registers, and thus does not
|
||||||
require nops to be inserted. */
|
require nops to be inserted.
|
||||||
|
|
||||||
|
FIXME: We really should not be checking mips_cpu here. The -mcpu=
|
||||||
|
option is documented to not do anything special. In gcc, the
|
||||||
|
-mcpu= option only affects scheduling, and does not affect code
|
||||||
|
generation. Each test of -mcpu= here should actually be testing a
|
||||||
|
specific variable, such as mips_4010, and each such variable should
|
||||||
|
have a command line option to set it. The -mcpu= option may be
|
||||||
|
used to set the default value of these options, as is the case for
|
||||||
|
mips_4010. */
|
||||||
|
|
||||||
#define hilo_interlocks (mips_4010 || mips_3900 \
|
#define hilo_interlocks (mips_4010 || mips_3900 \
|
||||||
/* start-sanitize-tx49 */ \
|
/* start-sanitize-tx49 */ \
|
||||||
|| mips_cpu == 4900 || mips_4900 \
|
|| mips_cpu == 4900 || mips_4900 \
|
||||||
|
@ -9911,7 +9925,8 @@ md_apply_fix (fixP, valueP)
|
||||||
#ifdef OBJ_ELF
|
#ifdef OBJ_ELF
|
||||||
if (fixP->fx_addsy != NULL
|
if (fixP->fx_addsy != NULL
|
||||||
&& OUTPUT_FLAVOR == bfd_target_elf_flavour
|
&& OUTPUT_FLAVOR == bfd_target_elf_flavour
|
||||||
&& S_GET_OTHER (fixP->fx_addsy) == STO_MIPS16)
|
&& (S_GET_OTHER (fixP->fx_addsy) == STO_MIPS16
|
||||||
|
|| S_IS_WEAK (fixP->fx_addsy)))
|
||||||
{
|
{
|
||||||
value -= S_GET_VALUE (fixP->fx_addsy);
|
value -= S_GET_VALUE (fixP->fx_addsy);
|
||||||
if (value != 0 && ! fixP->fx_pcrel)
|
if (value != 0 && ! fixP->fx_pcrel)
|
||||||
|
|
Loading…
Add table
Reference in a new issue