From 1bdbfed76bf9f3bb265cfdc21f624fb342944890 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Fri, 25 Apr 2008 14:30:41 +0000 Subject: [PATCH] Additional redefinitions for GNU/Linux. --- src/m/sparc.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/m/sparc.h b/src/m/sparc.h index f4847676c3b..333d78863ad 100644 --- a/src/m/sparc.h +++ b/src/m/sparc.h @@ -93,6 +93,18 @@ NOTE-END */ #ifdef __arch64__ /* GCC, 64-bit ABI. */ #define BITS_PER_LONG 64 +#ifdef __linux__ +#undef START_FILES +#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o + +/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. + The reason is that some functions in libgcc.a call functions from libc.a, + and some libc.a functions need functions from libgcc.a. Since most + versions of ld are one-pass linkers, we need to mention -lgcc twice, + or else we risk getting unresolved externals. */ +#undef LIB_STANDARD +#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o +#endif #ifndef _LP64 #define _LP64 /* Done on Alpha -- not sure if it should be here. -- fx */ -- 2.39.2