* config/tc-i386.h (EXTERN_FORCE_RELOC): Define.
authorAlan Modra <amodra@gmail.com>
Tue, 15 Oct 2002 02:20:53 +0000 (02:20 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 15 Oct 2002 02:20:53 +0000 (02:20 +0000)
(MD_APPLY_SYM_VALUE): Define for PE too.

gas/ChangeLog
gas/config/tc-i386.h

index c98b409e66dfbe2a8b3563990a5ccf584fb041dc..9ae200cffc4d1acada2a085802b46ec704b3902a 100644 (file)
@@ -1,3 +1,8 @@
+2002-10-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/tc-i386.h (EXTERN_FORCE_RELOC): Define.
+       (MD_APPLY_SYM_VALUE): Define for PE too.
+
 2002-10-14  Alan Modra  <amodra@bigpond.net.au>
 
        * Makefile.am: Run "make dep-am".
index 7aba695fb9d306a0ae7b9e4dd940f113ac07fdc8..e4217868501d024b350d04c3ad29a99c1664125a 100644 (file)
@@ -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)