diff options
author | Ian Lance Taylor <ian@airs.com> | 1998-06-19 17:58:12 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1998-06-19 17:58:12 +0000 |
commit | 622b1860e1ec0f3dcf3f91e3806747b534e8473c (patch) | |
tree | cef225b2f114034eeb911ff0057504ba2ccb5606 /gas | |
parent | 7b61b0945fdd8320955a04e1f53b9d4d637d25bf (diff) | |
download | gdb-622b1860e1ec0f3dcf3f91e3806747b534e8473c.zip gdb-622b1860e1ec0f3dcf3f91e3806747b534e8473c.tar.gz gdb-622b1860e1ec0f3dcf3f91e3806747b534e8473c.tar.bz2 |
* write.c (adjust_reloc_syms): Never adjust relocs against weak
symbols.
* config/tc-mips.c (md_apply_fix): Adjust accordingly.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 21 |
2 files changed, 24 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index fbbeb57..9da20de 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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) start-sanitize-am33 diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index d26b4fd..cfe6292 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -140,7 +140,11 @@ mips_target_format () /* 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 - 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 { @@ -234,7 +238,17 @@ static int mips_4900 = -1; /* Whether the processor uses hardware interlocks to protect 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 \ /* start-sanitize-tx49 */ \ || mips_cpu == 4900 || mips_4900 \ @@ -9911,7 +9925,8 @@ md_apply_fix (fixP, valueP) #ifdef OBJ_ELF if (fixP->fx_addsy != NULL && 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); if (value != 0 && ! fixP->fx_pcrel) |