aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-04-22 18:41:07 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-04-22 18:41:07 +0000
commit232b0b45ca239da217d1e5d22fcc4f9e7a74f6fb (patch)
tree507ac4ed930fe5a5a34043c33f3e95b86816904f /gcc
parent1b61552b8a9bd5cd156b70ec396809bdfbddeba6 (diff)
downloadgcc-232b0b45ca239da217d1e5d22fcc4f9e7a74f6fb.zip
gcc-232b0b45ca239da217d1e5d22fcc4f9e7a74f6fb.tar.gz
gcc-232b0b45ca239da217d1e5d22fcc4f9e7a74f6fb.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/s390/linux.h37
2 files changed, 44 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2b17d93..a6696c1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index a0336bf..a0f3530 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. */