diff options
author | David O'Brien <obrien@FreeBSD.org> | 2004-03-02 16:50:05 +0000 |
---|---|---|
committer | David O'Brien <obrien@gcc.gnu.org> | 2004-03-02 16:50:05 +0000 |
commit | 2de2f846a2684f9452a1aeacf9fcab57b13a2c40 (patch) | |
tree | cff0e7e23ec58d6730a3436048e9c241b295b454 | |
parent | 21a32e081980b7465099f50eb0266183d9941377 (diff) | |
download | gcc-2de2f846a2684f9452a1aeacf9fcab57b13a2c40.zip gcc-2de2f846a2684f9452a1aeacf9fcab57b13a2c40.tar.gz gcc-2de2f846a2684f9452a1aeacf9fcab57b13a2c40.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/config/alpha/freebsd.h | 11 | ||||
-rw-r--r-- | gcc/config/arm/freebsd.h | 17 | ||||
-rw-r--r-- | gcc/config/freebsd-spec.h | 6 | ||||
-rw-r--r-- | gcc/config/i386/freebsd.h | 6 | ||||
-rw-r--r-- | gcc/config/i386/freebsd64.h | 5 | ||||
-rw-r--r-- | gcc/config/ia64/freebsd.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.h | 21 | ||||
-rw-r--r-- | gcc/config/sparc/freebsd.h | 6 |
9 files changed, 73 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 874089d..0a6a908 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +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> * gcc/doc/install.texi (*-*-freebsd*): Update target information. diff --git a/gcc/config/alpha/freebsd.h b/gcc/config/alpha/freebsd.h index 59b2dea..6bbd617 100644 --- a/gcc/config/alpha/freebsd.h +++ b/gcc/config/alpha/freebsd.h @@ -20,12 +20,15 @@ the Free Software Foundation, 59 Temple Place - Suite 330, 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 FreeBSD/alpha. Besides the dealing with the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must 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() \ do \ { \ @@ -45,12 +48,12 @@ Boston, MA 02111-1307, USA. */ %{Wl,*:%*} \ %{assert*} %{R*} %{rpath*} %{defsym*} \ %{shared:-Bshareable %{h*} %{soname*}} \ - %{symbolic:-Bsymbolic} \ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ - %{static:-Bstatic}}" + %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ + %{static:-Bstatic}} \ + %{symbolic:-Bsymbolic}" /************************[ Target stuff ]***********************************/ diff --git a/gcc/config/arm/freebsd.h b/gcc/config/arm/freebsd.h index fd79f1f..3aea2f8 100644 --- a/gcc/config/arm/freebsd.h +++ b/gcc/config/arm/freebsd.h @@ -20,9 +20,26 @@ Boston, MA 02111-1307, USA. */ +#define SUBTARGET_EXTRA_SPECS \ + { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER } + #undef SUBTARGET_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 ]***********************************/ diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h index 6195c08..7370547 100644 --- a/gcc/config/freebsd-spec.h +++ b/gcc/config/freebsd-spec.h @@ -147,3 +147,9 @@ is built with the --enable-threads configure-time option.} \ }" #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 diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h index 7396a47..9e538e9 100644 --- a/gcc/config/i386/freebsd.h +++ b/gcc/config/i386/freebsd.h @@ -57,6 +57,10 @@ Boston, MA 02111-1307, USA. */ #undef WCHAR_TYPE_SIZE #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 the magical crtbegin.o file (see crtstuff.c) which provides part @@ -105,7 +109,7 @@ Boston, MA 02111-1307, USA. */ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ + %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ %{static:-Bstatic}} \ %{symbolic:-Bsymbolic}" diff --git a/gcc/config/i386/freebsd64.h b/gcc/config/i386/freebsd64.h index 62d21cc..19e9bc2 100644 --- a/gcc/config/i386/freebsd64.h +++ b/gcc/config/i386/freebsd64.h @@ -23,6 +23,9 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_VERSION #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. This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for the x86-64 target. */ @@ -37,6 +40,6 @@ Boston, MA 02111-1307, USA. */ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ + %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ %{static:-Bstatic}} \ %{symbolic:-Bsymbolic}" diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h index d337d57..c375ae9 100644 --- a/gcc/config/ia64/freebsd.h +++ b/gcc/config/ia64/freebsd.h @@ -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 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define SUBTARGET_EXTRA_SPECS \ + { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER } #define LINK_SPEC " \ - %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \ + %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \ %{Wl,*:%*} \ %{assert*} %{R*} %{rpath*} %{defsym*} \ %{shared:-Bshareable %{h*} %{soname*}} \ @@ -28,7 +30,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ + %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ %{static:-Bstatic}}" diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 3658047..1e0ac37 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -1092,16 +1092,16 @@ extern int fixuplabelno; #define LINK_OS_FREEBSD_SPEC "\ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ - %{Wl,*:%*} \ - %{v:-V} \ - %{assert*} %{R*} %{rpath*} %{defsym*} \ - %{shared:-Bshareable %{h*} %{soname*}} \ - %{!shared: \ - %{!static: \ - %{rdynamic: -export-dynamic} \ - %{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} \ - %{static:-Bstatic}} \ - %{symbolic:-Bsymbolic}" + %{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}" /* GNU/Linux support. */ #define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \ @@ -1314,6 +1314,7 @@ ncrtn.o%s" { "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \ { "cpp_os_windiss", CPP_OS_WINDISS_SPEC }, \ { "cpp_os_default", CPP_OS_DEFAULT_SPEC }, \ + { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }, \ SUBSUBTARGET_EXTRA_SPECS #define SUBSUBTARGET_EXTRA_SPECS diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h index 233876d..691b10e 100644 --- a/gcc/config/sparc/freebsd.h +++ b/gcc/config/sparc/freebsd.h @@ -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 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. 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. */ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ + %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ %{static:-Bstatic}}" |