OSDN Git Service

2004-03-02 David O'Brien <obrien@FreeBSD.org>
authorobrien <obrien@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Mar 2004 16:50:05 +0000 (16:50 +0000)
committerobrien <obrien@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Mar 2004 16:50:05 +0000 (16:50 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78766 138bc75d-0d04-0410-961f-82ee72b054a4

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 874089d..0a6a908 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 59b2dea..6bbd617 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 fd79f1f..3aea2f8 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 6195c08..7370547 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 7396a47..9e538e9 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 62d21cc..19e9bc2 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 d337d57..c375ae9 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 3658047..1e0ac37 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 233876d..691b10e 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}}"