diff options
author | Glenn Morris <rgm@gnu.org> | 2010-04-24 12:50:03 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2010-04-24 12:50:03 -0700 |
commit | dfbbda83af47a8d3e39682639cc60f128d15f5d5 (patch) | |
tree | a8d76ccfd107a0dc0daf9bf40fb2832f4f35da25 /src/m/amdx86-64.h | |
parent | 1ddac986d7372a78f3dd98ecfd5386be9eaa84e6 (diff) | |
download | emacs-dfbbda83af47a8d3e39682639cc60f128d15f5d5.tar.gz |
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.
Diffstat (limited to 'src/m/amdx86-64.h')
-rw-r--r-- | src/m/amdx86-64.h | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h index 0401b8bf90f..0fe99af4f55 100644 --- a/src/m/amdx86-64.h +++ b/src/m/amdx86-64.h @@ -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 |