# HG changeset patch # User Glenn Morris # Date 1272138603 25200 # Node ID 473b75d8b12023d9b5d13c045310ad4c40256b4c # Parent 640de94ce18b891cba573eb7c7b7221ec415b0f4 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. diff -r 640de94ce18b -r 473b75d8b120 src/ChangeLog --- a/src/ChangeLog Sat Apr 24 11:10:17 2010 -0700 +++ b/src/ChangeLog Sat Apr 24 12:50:03 2010 -0700 @@ -1,3 +1,10 @@ +2010-04-24 Glenn Morris + + * 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. + 2010-04-24 Eli Zaretskii * xdisp.c (display_line): Use `reseat' instead of `reseat_1', and diff -r 640de94ce18b -r 473b75d8b120 src/m/amdx86-64.h --- 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