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/config | |
parent | cebf05ad1cf33d37fa3367cf994c501f6af218d4 (diff) | |
download | ppe42-binutils-5767cfb748416544cb8ae12a68b256a55f3f8856.tar.gz ppe42-binutils-5767cfb748416544cb8ae12a68b256a55f3f8856.zip |
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/config')
-rw-r--r-- | gas/config/tc-i386.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index 85fc5842a3..c3e84fbb34 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -1,5 +1,5 @@ /* tc-i386.h -- Header file for tc-i386.c - Copyright (C) 1989, 1992 Free Software Foundation. + Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation. This file is part of GAS, the GNU Assembler. @@ -53,10 +53,10 @@ checked here. I am not sure if some of the others are ever used with pcrel, but it is easier to be safe than sorry. */ -#define TC_RELOC_RTSYM_LOC_FIXUP(X) \ - ((X) != BFD_RELOC_386_PLT32 && \ - (X) != BFD_RELOC_386_GOT32 && \ - (X) != BFD_RELOC_386_GOTPC) +#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \ + ((FIX)->fx_r_type != BFD_RELOC_386_PLT32 \ + && (FIX)->fx_r_type != BFD_RELOC_386_GOT32 \ + && (FIX)->fx_r_type != BFD_RELOC_386_GOTPC) #define TARGET_ARCH bfd_arch_i386 #define TARGET_BYTES_BIG_ENDIAN 0 |