summaryrefslogtreecommitdiffstats
path: root/gas/config
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-07-07 17:03:21 +0000
committerIan Lance Taylor <ian@airs.com>1995-07-07 17:03:21 +0000
commit5767cfb748416544cb8ae12a68b256a55f3f8856 (patch)
tree30fb67d31f796eec041b519f526320450d0b33ed /gas/config
parentcebf05ad1cf33d37fa3367cf994c501f6af218d4 (diff)
downloadppe42-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.h10
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
OpenPOWER on IntegriCloud