--- gcc-3.2/gcc/config/s390/libgcc-glibc.ver Wed Feb 6 22:19:46 2002 +++ gcc-3.2-biarch/gcc/config/s390/libgcc-glibc.ver Fri Aug 30 17:59:16 2002 @@ -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 @@ __frame_state_for __register_frame_info_table } +%endif --- gcc-3.2/gcc/config/s390/linux.h +++ gcc-3.2/gcc/config/s390/linux.h @@ -94,6 +94,16 @@ /* Target specific linker settings. */ +#ifdef DEFAULT_TARGET_64BIT +#define STARTFILE_PREFIX_SPEC \ + "%{!m31:/lib64/ /usr/lib64/} \ + %{m31:/lib/ /usr/lib/}" +#endif + +#ifdef DEFAULT_TARGET_64BIT +#define MULTILIB_DEFAULTS { "m64" } +#endif + #define LINK_ARCH31_SPEC \ "-m elf_s390 \ %{shared:-shared} \ --- gcc-3.2/gcc/config/s390/t-linux64 Fri Aug 30 18:05:32 2002 +++ gcc-3.2-biarch/gcc/config/s390/t-linux64 Fri Aug 30 17:59:16 2002 @@ -1,3 +1,13 @@ # 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 + +MULTILIB_OPTIONS = m64/m31 +MULTILIB_DIRNAMES = 64 32 + +LIBGCC = stmp-multilib +INSTALL_LIBGCC = install-multilib + +EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o + +SHLIB_SLIBDIR_SUFFIXES = 64:64 32: