]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
authorDavid O'Brien <obrien@FreeBSD.org>
Tue, 2 Mar 2004 16:50:05 +0000 (16:50 +0000)
committerDavid O'Brien <obrien@gcc.gnu.org>
Tue, 2 Mar 2004 16:50:05 +0000 (16:50 +0000)
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

gcc/ChangeLog
gcc/config/alpha/freebsd.h
gcc/config/arm/freebsd.h
gcc/config/freebsd-spec.h
gcc/config/i386/freebsd.h
gcc/config/i386/freebsd64.h
gcc/config/ia64/freebsd.h
gcc/config/rs6000/sysv4.h
gcc/config/sparc/freebsd.h

index 874089d97e35e29e83405b96dd9cf7c5ba8ecfec..0a6a908ce64cf3c585834765fefe252fcc1b05ed 100644 (file)
@@ -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.
index 59b2dea9ce70e6cf8af15e25716163a66ad9b738..6bbd617d96d73ce7a63c68dd89978e5b3d2e9f62 100644 (file)
@@ -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  ]***********************************/
index fd79f1f3c688efd7d04796e4b94df28b50c79639..3aea2f8697903db4eefc0ae7db516b80863f14b0 100644 (file)
    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  ]***********************************/
 
index 6195c08aa5cac124f7a50180e74c5872cce1be1a..7370547727e1527223b4118d65c1b84b0e34847d 100644 (file)
@@ -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
index 7396a47ce42bec1af8639d7352be064549c9766e..9e538e916a27f29f3ee483f958929e0b79abf5a2 100644 (file)
@@ -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}"
 
index 62d21ccc1a1840902a9540697956dde1bb2e0915..19e9bc25adba305dd639d0d264f58e8c453207e2 100644 (file)
@@ -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}"
index d337d57d0d6a83f8e4fe492667a46df4b1a970b0..c375ae9d540f51178e6a6b9b070594fe96d4c66b 100644 (file)
@@ -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}}"
 
 
index 365804734a433a5ff6a20b23a9326aead65fefc5..1e0ac3707f6d3d1d2d152f6ed294dad559bdad2a 100644 (file)
@@ -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
index 233876d41ba275dc6de4a07c5e2882f8724876b2..691b10e0b9b38c064e326f7fbcd3714af85388dd 100644 (file)
@@ -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}}"