changeset 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 640de94ce18b
children 21b1df34bc55
files src/ChangeLog src/m/amdx86-64.h
diffstat 2 files changed, 21 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- 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  <rgm@gnu.org>
+
+	* 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  <eliz@gnu.org>
 
 	* xdisp.c (display_line): Use `reseat' instead of `reseat_1', and
--- 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