diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-07-07 17:03:21 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-07-07 17:03:21 +0000 |
commit | 5767cfb748416544cb8ae12a68b256a55f3f8856 (patch) | |
tree | 30fb67d31f796eec041b519f526320450d0b33ed /gas/write.c | |
parent | cebf05ad1cf33d37fa3367cf994c501f6af218d4 (diff) | |
download | gdb-5767cfb748416544cb8ae12a68b256a55f3f8856.zip gdb-5767cfb748416544cb8ae12a68b256a55f3f8856.tar.gz gdb-5767cfb748416544cb8ae12a68b256a55f3f8856.tar.bz2 |
Add SPARC ELF PIC support.
* write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
not fixP->fx_r_type.
* config/tc-sparc.c (sparc_pic_code): New global variable.
(md_apply_fix): If generating PIC, adjust fx_addnumber for any non
PC relative reloc.
(tc_gen_reloc): If generating PIC, adjust various reloc types.
Remove fx_pcrel assert, since it is no longer true.
(md_parse_option): Handle -K PIC.
* config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
(TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
(tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
* config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
reloc type.
PR 7131.
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gas/write.c b/gas/write.c index f74a93e..702aaa2 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1,5 +1,6 @@ /* write.c - emit .o file - Copyright (C) 1986, 87, 90, 91, 92, 93, 1994 Free Software Foundation, Inc. + Copyright (C) 1986, 87, 90, 91, 92, 93, 94, 1995 + Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -2243,7 +2244,7 @@ fixup_segment (fixP, this_segment_type) if (add_symbolP) { if (add_symbol_segment == this_segment_type && pcrel && !plt - && TC_RELOC_RTSYM_LOC_FIXUP (fixP->fx_r_type)) + && TC_RELOC_RTSYM_LOC_FIXUP (fixP)) { /* * This fixup was made when the symbol's segment was |