[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFC: Support for FreeBSD/amd64
From: |
Giorgos Keramidas |
Subject: |
Re: RFC: Support for FreeBSD/amd64 |
Date: |
Sat, 29 Oct 2005 17:47:25 +0300 |
On 2005-10-29 01:12, "Richard M. Stallman" <address@hidden> wrote:
> Something like this perhaps?
>
> http://people.freebsd.org/~keramida/emacs/22/freebsd-amd64+libgcc.patch
>
> I don't know what is in that page, so I am not sure what text you're
> suggesting. Would you please show your suggestion here
> rather than just giving a URL?
Sure. I thought it would be ok to put it online instead of mailing the
diff to all list members. The diff was:
%%%
Index: configure.in
===================================================================
RCS file: /cvsroot/emacs/emacs/configure.in,v
retrieving revision 1.399
diff -u -r1.399 configure.in
--- configure.in 25 Oct 2005 01:09:39 -0000 1.399
+++ configure.in 28 Oct 2005 21:54:46 -0000
@@ -238,6 +238,7 @@
case "${canonical}" in
alpha*-*-freebsd*) machine=alpha ;;
i[3456]86-*-freebsd*) machine=intel386 ;;
+ amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;;
esac
;;
Index: src/m/amdx86-64.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/m/amdx86-64.h,v
retrieving revision 1.8
diff -u -r1.8 amdx86-64.h
--- src/m/amdx86-64.h 7 Aug 2005 09:52:27 -0000 1.8
+++ src/m/amdx86-64.h 28 Oct 2005 21:54:46 -0000
@@ -100,11 +100,38 @@
/* 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. */
+
+#undef START_FILES
+#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/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 LIB_STANDARD
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o
+
+#else /* !__FreeBSD__ */
+
#undef START_FILES
#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/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 LIB_STANDARD
#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
+
+#endif /* __FreeBSD__ */
/* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e
(do not change this comment) */
%%%
- RFC: Support for FreeBSD/amd64, Giorgos Keramidas, 2005/10/26
- Re: RFC: Support for FreeBSD/amd64, Richard M. Stallman, 2005/10/26
- Re: RFC: Support for FreeBSD/amd64, Frank Schmitt, 2005/10/27
- Re: RFC: Support for FreeBSD/amd64, Giorgos Keramidas, 2005/10/27
- Re: RFC: Support for FreeBSD/amd64, Eli Zaretskii, 2005/10/27
- Re: RFC: Support for FreeBSD/amd64, Giorgos Keramidas, 2005/10/27
- Re: RFC: Support for FreeBSD/amd64, Frank Schmitt, 2005/10/28
- Re: RFC: Support for FreeBSD/amd64, Richard M. Stallman, 2005/10/28
- Re: RFC: Support for FreeBSD/amd64, Giorgos Keramidas, 2005/10/28
- Re: RFC: Support for FreeBSD/amd64, Richard M. Stallman, 2005/10/29
- Re: RFC: Support for FreeBSD/amd64,
Giorgos Keramidas <=
- Re: RFC: Support for FreeBSD/amd64, Richard M. Stallman, 2005/10/29
- Re: RFC: Support for FreeBSD/amd64, Eli Zaretskii, 2005/10/29
- Re: RFC: Support for FreeBSD/amd64, Giorgos Keramidas, 2005/10/29
- Re: RFC: Support for FreeBSD/amd64, Richard M. Stallman, 2005/10/29
Re: RFC: Support for FreeBSD/amd64, Dryice Liu, 2005/10/27