From: Chong Yidong Date: Fri, 25 Apr 2008 14:30:52 +0000 (+0000) Subject: Additional redefinitions for GNU/Linux. X-Git-Tag: emacs-pretest-23.0.90~6045 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a08ea1818b260c0ec7c0696c3fc9860e1d3f451d;p=emacs.git Additional redefinitions for GNU/Linux. --- diff --git a/src/m/sparc.h b/src/m/sparc.h index eabefdac4b2..6ab89cda332 100644 --- a/src/m/sparc.h +++ b/src/m/sparc.h @@ -81,6 +81,19 @@ 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 */