* config/s390/libgcc-libc.ver: Add multilib support.
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Nov 2002 12:03:49 +0000 (12:03 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Nov 2002 12:03:49 +0000 (12:03 +0000)
* config/s390/linux.h (MULTILIB_DEFAULT): Define.
* config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
EXTRA_MULTILIB_PARTS): Define.

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

gcc/ChangeLog
gcc/config/s390/libgcc-glibc.ver
gcc/config/s390/linux.h
gcc/config/s390/t-linux64

index df99433..94e8dde 100644 (file)
@@ -1,3 +1,11 @@
+2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/libgcc-libc.ver: Add multilib support.
+       * config/s390/linux.h (MULTILIB_DEFAULT): Define.
+       * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
+       MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC, 
+       EXTRA_MULTILIB_PARTS): Define.
+
 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
 
        * arm.c (arm_get_frame_size): A leaf function does not need its
index 9a42151..1d9e229 100644 (file)
@@ -8,6 +8,25 @@
 # because GLIBC_2.0 does not exist on this architecture, as the first 
 # ever glibc release on the platform was GLIBC_2.2.
 
+%ifndef __s390x__
+%inherit GCC_3.0 GLIBC_2.0
+GLIBC_2.0 {
+  __divdi3
+  __moddi3
+  __udivdi3
+  __umoddi3
+
+  __register_frame
+  __register_frame_table
+  __deregister_frame
+  __register_frame_info
+  __deregister_frame_info
+  __frame_state_for
+  __register_frame_info_table
+}
+%endif
+
+%ifdef __s390x__
 %inherit GCC_3.0 GLIBC_2.2
 GLIBC_2.2 {
   __register_frame
@@ -18,4 +37,5 @@ GLIBC_2.2 {
   __frame_state_for
   __register_frame_info_table
 }
+%endif
 
index d3e8807..cbb7710 100644 (file)
@@ -81,6 +81,12 @@ Boston, MA 02111-1307, USA.  */
 
 /* Target specific linker settings.  */
 
+#ifdef DEFAULT_TARGET_64BIT
+#define MULTILIB_DEFAULTS { "m64" }
+#else
+#define MULTILIB_DEFAULTS { "m31" }
+#endif
+
 #define LINK_ARCH31_SPEC \
   "-m elf_s390 \
    %{shared:-shared} \
index d5a9278..db839c6 100644 (file)
@@ -1,3 +1,12 @@
+MULTILIB_OPTIONS = m64/m31
+MULTILIB_DIRNAMES = 64 32
+MULTILIB_OSDIRNAMES = ../lib64 ../lib
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
+
+EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+
 # Override t-slibgcc-elf-ver to export some libgcc symbols with
 # the symbol versions that glibc used.
 SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/s390/libgcc-glibc.ver