libgcc-libc.ver: Add multilib support.
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 21 Nov 2002 12:03:49 +0000 (12:03 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Thu, 21 Nov 2002 12:03:49 +0000 (12:03 +0000)
* 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.

From-SVN: r59342

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

index df994334a806fd7f1b1302dcf81a818ccf2d8827..94e8ddeb16716251a6e1334c5f1dd181fc900d89 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 9a421519d8052605a7ec4f49d3104ed08434af6e..1d9e22904133d6ccac2bd80eb4e8e6a4f29d656b 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 d3e88072254e1f0676e67f22b3093ccf749f3c42..cbb771099dc3cc3abc5706df991ad25d01603c4a 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 d5a92781450366be9a67201231845c5849d3049d..db839c65ef11e30d0d8d180de8e8c1857477f550 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