From: Kaveh R. Ghazi Date: Wed, 5 Mar 2008 17:25:28 +0000 (+0000) Subject: Backport: X-Git-Tag: prereleases/gcc-4.2.4-rc1~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b25d7b129c4f7d7b50960e80974b915f6cf75653;p=thirdparty%2Fgcc.git Backport: 2007-09-27 Matthias Klose * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists. * config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise. From-SVN: r132904 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0d8092b9abc3..0c3c1a94ba61 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2008-03-05 Kaveh R. Ghazi + + Backport: + 2007-09-27 Matthias Klose + + * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the + multilib osdirname if it exists. + * config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise. + 2008-02-25 Jan Beulich * config/i386/netware-libgcc.exp: Add _Unwind_GetIPInfo. diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 index 5b125a64a4a0..8cb029f50630 100644 --- a/gcc/config/i386/t-linux64 +++ b/gcc/config/i386/t-linux64 @@ -4,9 +4,16 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \ $(srcdir)/config/i386/libgcc-x86_64-glibc.ver +# On Debian, Ubuntu and other derivative distributions, the 32bit libraries +# are found in /lib32 and /usr/lib32, /lib64 and /usr/lib64 are symlinks to +# /lib and /usr/lib, while other distributions install libraries into /lib64 +# and /usr/lib64. The LSB does not enforce the use of /lib64 and /usr/lib64, +# it doesn't tell anything about the 32bit libraries on those systems. Set +# MULTILIB_OSDIRNAMES according to what is found on the target. + MULTILIB_OPTIONS = m64/m32 MULTILIB_DIRNAMES = 64 32 -MULTILIB_OSDIRNAMES = ../lib64 ../lib +MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 index a2c04f928e6c..2a2e7b0cdc09 100644 --- a/gcc/config/rs6000/t-linux64 +++ b/gcc/config/rs6000/t-linux64 @@ -7,12 +7,19 @@ LIB2FUNCS_EXTRA := $(sort $(LIB2FUNCS_EXTRA)) TARGET_LIBGCC2_CFLAGS += -mno-minimal-toc +# On Debian, Ubuntu and other derivative distributions, the 32bit libraries +# are found in /lib32 and /usr/lib32, /lib64 and /usr/lib64 are symlinks to +# /lib and /usr/lib, while other distributions install libraries into /lib64 +# and /usr/lib64. The LSB does not enforce the use of /lib64 and /usr/lib64, +# it doesn't tell anything about the 32bit libraries on those systems. Set +# MULTILIB_OSDIRNAMES according to what is found on the target. + MULTILIB_OPTIONS = m64/m32 msoft-float MULTILIB_DIRNAMES = 64 32 nof MULTILIB_EXTRA_OPTS = fPIC mstrict-align MULTILIB_EXCEPTIONS = m64/msoft-float MULTILIB_EXCLUSIONS = m64/!m32/msoft-float -MULTILIB_OSDIRNAMES = ../lib64 ../lib nof +MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) softfp_wrap_start := '\#ifndef __powerpc64__'