From 232b0b45ca239da217d1e5d22fcc4f9e7a74f6fb Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Mon, 22 Apr 2002 18:41:07 +0000 Subject: [PATCH] linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC, LIBPATH_ARCH64_SPEC): Define. * 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 | 9 +++++++++ gcc/config/s390/linux.h | 37 +++++++++++++++++++++++++++++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2b17d9349b0..a6696c12820 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2002-04-22 Ulrich Weigand + + * 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 * gthr-rtems.h: Correct prototypes to remove warnings. diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h index a0336bfecd8..a0f35307369 100644 --- a/gcc/config/s390/linux.h +++ b/gcc/config/s390/linux.h @@ -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. */