Minor simplications for src/m/amdx86-64.h.
authorGlenn Morris <rgm@gnu.org>
Sat, 24 Apr 2010 19:50:03 +0000 (12:50 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 24 Apr 2010 19:50:03 +0000 (12:50 -0700)
* 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.

src/ChangeLog
src/m/amdx86-64.h

index 5ee4f8c..2119d64 100644 (file)
@@ -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
index 0401b8b..0fe99af 100644 (file)
@@ -72,30 +72,12 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* 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 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* 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