* 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
+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
# 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
__frame_state_for
__register_frame_info_table
}
+%endif
/* 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} \
+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