Commit 2de2f846 by David O'Brien Committed by David O'Brien

freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.

2004-03-02  David O'Brien  <obrien@FreeBSD.org>
	* config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
	%(fbsd_dynamic_linker),
	(LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
	config/i386/freebsd.h
	* config/arm/freebsd.h: Ditto.
	* config/i386/freebsd.h: Ditto.
	* config/i386/freebsd64.h: Ditto.
	* config/ia64/freebsd.h: Ditto.
	* config/rs6000/sysv4.h: Ditto.
	* config/sparc/freebsd.h: Ditto.

From-SVN: r78766
parent 21a32e08
2004-03-02 David O'Brien <obrien@FreeBSD.org>
* config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
%(fbsd_dynamic_linker),
(LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
config/i386/freebsd.h
* config/arm/freebsd.h: Ditto.
* config/i386/freebsd.h: Ditto.
* config/i386/freebsd64.h: Ditto.
* config/ia64/freebsd.h: Ditto.
* config/rs6000/sysv4.h: Ditto.
* config/sparc/freebsd.h: Ditto.
2004-03-02 Loren James Rittle <ljrittle@acm.org> 2004-03-02 Loren James Rittle <ljrittle@acm.org>
* gcc/doc/install.texi (*-*-freebsd*): Update target information. * gcc/doc/install.texi (*-*-freebsd*): Update target information.
......
...@@ -20,12 +20,15 @@ the Free Software Foundation, 59 Temple Place - Suite 330, ...@@ -20,12 +20,15 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#define SUBTARGET_EXTRA_SPECS \
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
/* Provide a FBSD_TARGET_CPU_CPP_BUILTINS and CPP_SPEC appropriate for /* Provide a FBSD_TARGET_CPU_CPP_BUILTINS and CPP_SPEC appropriate for
FreeBSD/alpha. Besides the dealing with FreeBSD/alpha. Besides the dealing with
the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must
deal with the Alpha's FP issues. */ deal with the Alpha's FP issues. */
#undef FBSD_TARGET_CPU_CPP_BUILTINS #undef FBSD_TARGET_CPU_CPP_BUILTINS
#define FBSD_TARGET_CPU_CPP_BUILTINS() \ #define FBSD_TARGET_CPU_CPP_BUILTINS() \
do \ do \
{ \ { \
...@@ -45,12 +48,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -45,12 +48,12 @@ Boston, MA 02111-1307, USA. */
%{Wl,*:%*} \ %{Wl,*:%*} \
%{assert*} %{R*} %{rpath*} %{defsym*} \ %{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \ %{shared:-Bshareable %{h*} %{soname*}} \
%{symbolic:-Bsymbolic} \
%{!shared: \ %{!shared: \
%{!static: \ %{!static: \
%{rdynamic:-export-dynamic} \ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
%{static:-Bstatic}}" %{static:-Bstatic}} \
%{symbolic:-Bsymbolic}"
/************************[ Target stuff ]***********************************/ /************************[ Target stuff ]***********************************/
......
...@@ -20,9 +20,26 @@ ...@@ -20,9 +20,26 @@
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#define SUBTARGET_EXTRA_SPECS \
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
#undef SUBTARGET_CPP_SPEC #undef SUBTARGET_CPP_SPEC
#define SUBTARGET_CPP_SPEC FBSD_CPP_SPEC #define SUBTARGET_CPP_SPEC FBSD_CPP_SPEC
#undef LINK_SPEC
#define LINK_SPEC " \
%{p:%nconsider using `-pg' instead of `-p' with gprof(1) } \
%{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
%{static:-Bstatic}} \
%{symbolic:-Bsymbolic}"
/************************[ Target stuff ]***********************************/ /************************[ Target stuff ]***********************************/
......
...@@ -147,3 +147,9 @@ is built with the --enable-threads configure-time option.} \ ...@@ -147,3 +147,9 @@ is built with the --enable-threads configure-time option.} \
}" }"
#endif #endif
#endif #endif
#if FBSD_MAJOR < 6
#define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"
#else
#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
#endif
...@@ -57,6 +57,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -57,6 +57,10 @@ Boston, MA 02111-1307, USA. */
#undef WCHAR_TYPE_SIZE #undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD) #define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */
#define SUBTARGET_EXTRA_SPECS \
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
/* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add /* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
the magical crtbegin.o file (see crtstuff.c) which provides part the magical crtbegin.o file (see crtstuff.c) which provides part
...@@ -105,7 +109,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -105,7 +109,7 @@ Boston, MA 02111-1307, USA. */
%{!shared: \ %{!shared: \
%{!static: \ %{!static: \
%{rdynamic:-export-dynamic} \ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
%{static:-Bstatic}} \ %{static:-Bstatic}} \
%{symbolic:-Bsymbolic}" %{symbolic:-Bsymbolic}"
......
...@@ -23,6 +23,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,6 +23,9 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_VERSION #undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (FreeBSD/x86-64 ELF)"); #define TARGET_VERSION fprintf (stderr, " (FreeBSD/x86-64 ELF)");
#define SUBTARGET_EXTRA_SPECS \
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
/* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target. /* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target.
This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for
the x86-64 target. */ the x86-64 target. */
...@@ -37,6 +40,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -37,6 +40,6 @@ Boston, MA 02111-1307, USA. */
%{!shared: \ %{!shared: \
%{!static: \ %{!static: \
%{rdynamic:-export-dynamic} \ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
%{static:-Bstatic}} \ %{static:-Bstatic}} \
%{symbolic:-Bsymbolic}" %{symbolic:-Bsymbolic}"
...@@ -18,9 +18,11 @@ You should have received a copy of the GNU General Public License ...@@ -18,9 +18,11 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define SUBTARGET_EXTRA_SPECS \
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
#define LINK_SPEC " \ #define LINK_SPEC " \
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \ %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
%{Wl,*:%*} \ %{Wl,*:%*} \
%{assert*} %{R*} %{rpath*} %{defsym*} \ %{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \ %{shared:-Bshareable %{h*} %{soname*}} \
...@@ -28,7 +30,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -28,7 +30,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
%{!shared: \ %{!shared: \
%{!static: \ %{!static: \
%{rdynamic:-export-dynamic} \ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
%{static:-Bstatic}}" %{static:-Bstatic}}"
......
...@@ -1092,16 +1092,16 @@ extern int fixuplabelno; ...@@ -1092,16 +1092,16 @@ extern int fixuplabelno;
#define LINK_OS_FREEBSD_SPEC "\ #define LINK_OS_FREEBSD_SPEC "\
%{p:%e`-p' not supported; use `-pg' and gprof(1)} \ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \
%{Wl,*:%*} \ %{Wl,*:%*} \
%{v:-V} \ %{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \ %{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \ %{shared:-Bshareable %{h*} %{soname*}} \
%{!shared: \ %{!shared: \
%{!static: \ %{!static: \
%{rdynamic: -export-dynamic} \ %{rdynamic: -export-dynamic} \
%{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
%{static:-Bstatic}} \ %{static:-Bstatic}} \
%{symbolic:-Bsymbolic}" %{symbolic:-Bsymbolic}"
/* GNU/Linux support. */ /* GNU/Linux support. */
#define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \ #define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \
...@@ -1314,6 +1314,7 @@ ncrtn.o%s" ...@@ -1314,6 +1314,7 @@ ncrtn.o%s"
{ "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \ { "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \
{ "cpp_os_windiss", CPP_OS_WINDISS_SPEC }, \ { "cpp_os_windiss", CPP_OS_WINDISS_SPEC }, \
{ "cpp_os_default", CPP_OS_DEFAULT_SPEC }, \ { "cpp_os_default", CPP_OS_DEFAULT_SPEC }, \
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }, \
SUBSUBTARGET_EXTRA_SPECS SUBSUBTARGET_EXTRA_SPECS
#define SUBSUBTARGET_EXTRA_SPECS #define SUBSUBTARGET_EXTRA_SPECS
......
...@@ -18,6 +18,10 @@ You should have received a copy of the GNU General Public License ...@@ -18,6 +18,10 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define SUBTARGET_EXTRA_SPECS \
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
/* FreeBSD needs the platform name (sparc64) defined. /* FreeBSD needs the platform name (sparc64) defined.
Emacs needs to know if the arch is 64 or 32-bits. */ Emacs needs to know if the arch is 64 or 32-bits. */
...@@ -35,7 +39,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -35,7 +39,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
%{!shared: \ %{!shared: \
%{!static: \ %{!static: \
%{rdynamic:-export-dynamic} \ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
%{static:-Bstatic}}" %{static:-Bstatic}}"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment