From dd7dc250237e0383a394545bcc87c647aeed9f26 Mon Sep 17 00:00:00 2001 From: Geoffrey Keating <geoffk@apple.com> Date: Fri, 30 Sep 2005 17:55:27 +0000 Subject: [PATCH] t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib to work out which multilibs are actually being built. * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib to work out which multilibs are actually being built. From-SVN: r104824 --- gcc/ChangeLog | 5 +++++ gcc/config/t-slibgcc-darwin | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aaa7c8cbac04..58ed17dffb20 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-09-30 Geoffrey Keating <geoffk@apple.com> + + * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib + to work out which multilibs are actually being built. + 2005-09-30 Kazu Hirata <kazu@codesourcery.com> * tree-vect-transform.c, config/ms1/ms1.md, diff --git a/gcc/config/t-slibgcc-darwin b/gcc/config/t-slibgcc-darwin index 6650bb54b898..3a2fc185c41c 100644 --- a/gcc/config/t-slibgcc-darwin +++ b/gcc/config/t-slibgcc-darwin @@ -43,10 +43,11 @@ ASM_HIDDEN_OP = .private_extern # contain no code, just a list of exported symbols. # The actual use of the libraries is controlled by REAL_LIBGCC_SPEC. # -# This assumes only one level of multilibs. It also assumes each multilib -# corresponds to a different architecture. +# This assumes each multilib corresponds to a different architecture. libgcc_s.%.dylib : $(SHLIB_VERPFX).%.ver libgcc.a - for mlib in '' $(MULTILIB_DIRNAMES:%=_%) ; do \ + MLIBS=`$(GCC_FOR_TARGET) --print-multi-lib \ + | sed -e 's/;.*$$//' -e '/^\.$$/d' -e 's/^/_/'` ; \ + for mlib in '' $$MLIBS ; do \ $(STRIP_FOR_TARGET) -o $(@)_T$${mlib} \ -s $(SHLIB_VERPFX).$(*).ver -c -u \ libgcc_s$${mlib}.$(SHLIB_SOVERSION)$(SHLIB_EXT) || exit 1 ; \ @@ -54,7 +55,9 @@ libgcc_s.%.dylib : $(SHLIB_VERPFX).%.ver libgcc.a $(LIPO_FOR_TARGET) -output $@ -create $(@)_T* # When builting multilibbed target libraries, all the required # libraries are expected to exist in the multilib directory. - for mlib in $(MULTILIB_DIRNAMES) ; do \ + MLIBS=`$(GCC_FOR_TARGET) --print-multi-lib \ + | sed -e 's/;.*$$//' -e '/^\.$$/d'` ; \ + for mlib in $$MLIBS ; do \ ln -s ../$@ $${mlib}/$@ || exit 1 ; \ done rm $(@)_T* -- GitLab