linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC, LIBPATH_ARCH64_SPEC): Define.
authorUlrich Weigand <uweigand@de.ibm.com>
Mon, 22 Apr 2002 18:41:07 +0000 (18:41 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Mon, 22 Apr 2002 18:41:07 +0000 (18:41 +0000)
* config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
LIBPATH_ARCH64_SPEC): Define.
(EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
(STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
(LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
(LINK_ARCH64_SPEC): Add libpath_arch64 to search path.

From-SVN: r52627

gcc/ChangeLog
gcc/config/s390/linux.h

index 2b17d9349b06f37823d3443a22a522b91b3a2e4b..a6696c1282018d625e425c4f5a4c3ba3035fbc49 100644 (file)
@@ -1,3 +1,12 @@
+2002-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
+       LIBPATH_ARCH64_SPEC): Define.
+       (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
+       (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
+       (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
+       (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
+
 2002-04-22     Joel Sherrill <joel@OARcorp.com>
 
        * gthr-rtems.h: Correct prototypes to remove warnings.
index a0336bfecd8596d71d93047577f82d7da415641b..a0f35307369bbf01002374eb7166fd23d472a9b7 100644 (file)
@@ -92,10 +92,40 @@ Boston, MA 02111-1307, USA.  */
 #endif
 
 
+/* Target specific library settings.  */
+
+#ifndef LIBPATH_ARCH31_SPEC
+#define LIBPATH_ARCH31_SPEC  "/usr/lib"
+#endif
+#ifndef LIBPATH_ARCH64_SPEC
+#define LIBPATH_ARCH64_SPEC  "/usr/lib64"
+#endif
+
+#ifdef DEFAULT_TARGET_64BIT
+#define LIBPATH_SPEC "%{m31:%(libpath_arch31)}%{!m31:%(libpath_arch64)}"
+#else
+#define LIBPATH_SPEC "%{m64:%(libpath_arch64)}%{!m64:%(libpath_arch31)}"
+#endif
+
+
 /* Target specific linker settings.  */
 
+#undef  STARTFILE_SPEC
+#define STARTFILE_SPEC \
+  "%{!shared: \
+     %{pg:%(libpath)/gcrt1.o%s} \
+     %{!pg:%{p:%(libpath)/gcrt1.o%s} \
+           %{!p:%{profile:%(libpath)/gcrt1.o%s} \
+                %{!profile:%(libpath)/crt1.o%s}}}} \
+   %(libpath)/crti.o%s %{static:crtbeginT.o%s}\
+   %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
+
+#undef  ENDFILE_SPEC
+#define ENDFILE_SPEC \
+  "%{!shared:crtend.o%s} %{shared:crtendS.o%s} %(libpath)/crtn.o%s"
+
 #define LINK_ARCH31_SPEC \
-  "-m elf_s390 \
+  "-m elf_s390 -L %(libpath_arch31) \
    %{shared:-shared} \
    %{!shared: \
       %{static:-static} \
@@ -104,7 +134,7 @@ Boston, MA 02111-1307, USA.  */
        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
 
 #define LINK_ARCH64_SPEC \
-  "-m elf64_s390 \
+  "-m elf64_s390 -L %(libpath_arch64) \
    %{shared:-shared} \
    %{!shared: \
       %{static:-static} \
@@ -130,6 +160,9 @@ Boston, MA 02111-1307, USA.  */
   { "cpp_arch64",      CPP_ARCH64_SPEC },      \
   { "link_arch31",     LINK_ARCH31_SPEC },     \
   { "link_arch64",     LINK_ARCH64_SPEC },     \
+  { "libpath_arch31",  LIBPATH_ARCH31_SPEC },  \
+  { "libpath_arch64",  LIBPATH_ARCH64_SPEC },  \
+  { "libpath",         LIBPATH_SPEC },         \
 
 
 /* Character to start a comment.  */