diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-06-11 19:03:06 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-06-11 19:03:06 +0000 |
commit | 76171f81c775f93a83498d00d8c10c8b0fef9983 (patch) | |
tree | b7cd2f8db1a35047f55064a14dc6e251b1047b21 /gas/config | |
parent | 5865bb778de378f3bfd1a99fc7601bcc32ae198b (diff) | |
download | gdb-76171f81c775f93a83498d00d8c10c8b0fef9983.zip gdb-76171f81c775f93a83498d00d8c10c8b0fef9983.tar.gz gdb-76171f81c775f93a83498d00d8c10c8b0fef9983.tar.bz2 |
1999-06-11 Martin Dorey <mdorey@madge.com>
* write.c (fixup_segment): Don't add symbol value for i960 ELF.
* config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if
OBJ_ELF.
(md_apply_fix): Simplify BFD_ASSEMBLER handling.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-i960.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/gas/config/tc-i960.c b/gas/config/tc-i960.c index 60ae033..d8c15c0 100644 --- a/gas/config/tc-i960.c +++ b/gas/config/tc-i960.c @@ -2638,7 +2638,9 @@ s_leafproc (n_ops, args) } TC_S_FORCE_TO_BALNAME (balP); +#ifndef OBJ_ELF tc_set_bal_of_call (callP, balP); +#endif } /* if only one arg, or the args are the same */ } @@ -2863,34 +2865,13 @@ md_apply_fix (fixP, val) if (!fixP->fx_bit_fixP) { +#ifndef BFD_ASSEMBLER /* For callx, we always want to write out zero, and emit a symbolic relocation. */ if (fixP->fx_bsr) val = 0; -#ifdef OBJ_ELF - /* For ELF, we always emit relocations for external or weak - symbols. */ - if (fixP->fx_addsy != NULL - && (S_IS_EXTERNAL (fixP->fx_addsy) - || S_IS_WEAK (fixP->fx_addsy))) - val = 0; -#endif - fixP->fx_addnumber = val; - -#ifdef BFD_ASSEMBLER - /* HACK: With REL relocations this causes the offset in the code - to be doubled. - - Guess: val is the old offset in the code, addnumber gets - passed back to md_gen_reloc() where it gets assigned to - addend, which the backend then writes back to the code (as - we're using REL, not RELA relocations). COFF must be working - without this hack, but I don't see how or why. - - apeppere and martindo 22-10-1998. */ - fixP->fx_addnumber = 0; #endif md_number_to_imm (place, val, fixP->fx_size, fixP); |