This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[gas] Handle m68k-uclinux like m68k-elf in EXTERN_FORCE_RELOC


2004-01-16 Bernardo Innocenti <bernie@develer.com>

	* config/tc-m68k.h (EXTERN_FORCE_RELOC): Handle m68k-uclinux specially,
	like m68k-elf.
	* config/tc-m68k.c (RELAXABLE_SYMBOL): Use EXTERN_FORCE_RELOC instead
	of hard-coded test for TARGET_OS=elf.

diff -Nru binutils-2.14.90.0.7.orig/gas/config/tc-m68k.c binutils-2.14.90.0.7/gas/config/tc-m68k.c
--- binutils-2.14.90.0.7.orig/gas/config/tc-m68k.c	2003-10-29 18:37:48.000000000 +0100
+++ binutils-2.14.90.0.7/gas/config/tc-m68k.c	2003-12-22 08:26:02.361994153 +0100
@@ -732,7 +732,7 @@
   libraries, and we can relax any external sym.  */

#define relaxable_symbol(symbol) \
-  (!((S_IS_EXTERNAL (symbol) && strcmp (TARGET_OS, "elf") != 0)		\
+  (!((S_IS_EXTERNAL (symbol) && EXTERN_FORCE_RELOC) \
     || S_IS_WEAK (symbol)))

/* Compute the relocation code for a fixup of SIZE bytes, using pc
diff -Nru binutils-2.14.90.0.7.orig/gas/config/tc-m68k.h binutils-2.14.90.0.7/gas/config/tc-m68k.h
--- binutils-2.14.90.0.7.orig/gas/config/tc-m68k.h	2003-08-21 17:28:48.000000000 +0200
+++ binutils-2.14.90.0.7/gas/config/tc-m68k.h	2003-12-22 08:22:53.982617970 +0100
@@ -169,8 +169,11 @@
#define tc_fix_adjustable(X) tc_m68k_fix_adjustable(X)
extern int tc_m68k_fix_adjustable PARAMS ((struct fix *));

-/* Target *-*-elf implies an embedded target.  No shared libs.  */
-#define EXTERN_FORCE_RELOC (strcmp (TARGET_OS, "elf") != 0)
+/* Target *-*-elf implies an embedded target.  No shared libs.
+   *-*-uclinux also requires special casing to prevent GAS from
+   generating unsupported R_68K_PC16 relocs.  */
+#define EXTERN_FORCE_RELOC \
+  ((strcmp (TARGET_OS, "elf") != 0) && (strcmp (TARGET_OS, "uclinux") != 0))

/* Values passed to md_apply_fix3 don't include symbol values.  */
#define MD_APPLY_SYM_VALUE(FIX) 0

--
 // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]