aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2002-10-15 02:20:53 +0000
committerAlan Modra <amodra@gmail.com>2002-10-15 02:20:53 +0000
commit3ca4bdc3521cd3d5f72ecc41056e6ae3c6cc39e7 (patch)
tree98bb6e7dbdd79f88cc460ff151daba347e433bf9 /gas/config/tc-i386.h
parent4a351cef157a7db0c97a04ba7aab3fad581a7c04 (diff)
downloadgdb-3ca4bdc3521cd3d5f72ecc41056e6ae3c6cc39e7.zip
gdb-3ca4bdc3521cd3d5f72ecc41056e6ae3c6cc39e7.tar.gz
gdb-3ca4bdc3521cd3d5f72ecc41056e6ae3c6cc39e7.tar.bz2
* config/tc-i386.h (EXTERN_FORCE_RELOC): Define.
(MD_APPLY_SYM_VALUE): Define for PE too.
Diffstat (limited to 'gas/config/tc-i386.h')
-rw-r--r--gas/config/tc-i386.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index 7aba695..e421786 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -467,9 +467,17 @@ void i386_validate_fix PARAMS ((struct fix *));
#define tc_fix_adjustable(X) tc_i386_fix_adjustable(X)
extern int tc_i386_fix_adjustable PARAMS ((struct fix *));
-#ifndef TE_PE
/* Values passed to md_apply_fix3 don't include the symbol value. */
#define MD_APPLY_SYM_VALUE(FIX) 0
+
+/* ELF wants external syms kept, as does PE COFF. */
+#ifdef TE_PE
+#define EXTERN_FORCE_RELOC \
+ (OUTPUT_FLAVOR == bfd_target_elf_flavour \
+ || OUTPUT_FLAVOR == bfd_target_coff_flavour)
+#else
+#define EXTERN_FORCE_RELOC \
+ (OUTPUT_FLAVOR == bfd_target_elf_flavour)
#endif
#define TC_FORCE_RELOCATION(FIX) i386_force_relocation (FIX)