Mercurial > emacs
diff src/m/amdx86-64.h @ 108109:473b75d8b120
Minor simplications for src/m/amdx86-64.h.
* m/amdx86-64.h (START_FILES, LIB_STANDARD) [__OpenBSD__]:
For clarity, revert to using fixed /usr/lib rather than $CRT_DIR.
(START_FILES, LIB_STANDARD) [__FreeBSD__]: Merge into the generic case,
since CRT_DIR defaults to /usr/lib. Suggested by Dan Nicolaescu.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 24 Apr 2010 12:50:03 -0700 |
parents | 9d6e94fa5028 |
children | 641672d44942 |
line wrap: on
line diff
--- a/src/m/amdx86-64.h Sat Apr 24 11:10:17 2010 -0700 +++ b/src/m/amdx86-64.h Sat Apr 24 12:50:03 2010 -0700 @@ -72,30 +72,12 @@ /* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ #undef DATA_SEG_BITS -#ifdef __FreeBSD__ - -/* The libraries for binaries native to the build host's architecture are - installed under /usr/lib in FreeBSD, and the ones that need special paths - are 32-bit compatibility libraries (installed under /usr/lib32). To build - a native binary of Emacs on FreeBSD/amd64 we can just point to /usr/lib. */ +#ifdef __OpenBSD__ #undef START_FILES -#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/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. */ +#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o #undef LIB_STANDARD -#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o - -#elif defined(__OpenBSD__) - -#undef START_FILES -#define START_FILES pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o -#undef LIB_STANDARD -#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtend.o +#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o #elif defined(__NetBSD__) @@ -110,19 +92,25 @@ /* LIB_STANDARD and START_FILES set correctly in s/darwin.h */ -#else /* !__OpenBSD__ && !__FreeBSD__ && !__NetBSD__ && !SOLARIS2 - && !__APPLE__ */ +#else /* !__OpenBSD__ && !__NetBSD__ && !SOLARIS2 && !__APPLE__ */ +/* CRT_DIR defaults to /usr/lib. On GNU/Linux, it may be /usr/lib64. + On FreeBSD, the libraries for binaries native to the build host's + architecture are installed under /usr/lib, and the ones that need + special paths are 32-bit compatibility libraries (installed under + /usr/lib32). So to build a native binary of Emacs on FreeBSD/amd64 + we can just point to /usr/lib. + */ +#undef START_FILES +#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/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 START_FILES #undef LIB_STANDARD -#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o #define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o -#endif /* __FreeBSD__ */ +#endif /* __OpenBSD__ */ #endif /* !i386 */ /* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e