From c79d9c1bba76945a96e44d783531189194018755 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 22 Apr 2008 21:27:34 +0000 Subject: libtool-2.2.2: Add patch from upstream to fix -all-static flag issues git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4311 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- .../libtool/libtool-2.2.2/fix_static.patch | 129 +++++++++++++++++++++ meta/packages/libtool/libtool-cross_2.2.2.bb | 2 +- meta/packages/libtool/libtool-native_2.2.2.bb | 2 +- meta/packages/libtool/libtool_2.2.2.bb | 3 +- 4 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 meta/packages/libtool/libtool-2.2.2/fix_static.patch diff --git a/meta/packages/libtool/libtool-2.2.2/fix_static.patch b/meta/packages/libtool/libtool-2.2.2/fix_static.patch new file mode 100644 index 000000000..10803c7d8 --- /dev/null +++ b/meta/packages/libtool/libtool-2.2.2/fix_static.patch @@ -0,0 +1,129 @@ +From Ralf.Wildenhues@gmx.de Tue Apr 22 20:44:16 2008 +Return-Path: +X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on tim.rpsys.net +X-Spam-Level: +X-Spam-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00 autolearn=ham + version=3.2.4 +Received: from localhost (localhost [127.0.0.1]) by tim.rpsys.net + (8.13.6/8.13.8) with ESMTP id m3MJiGXW016935 for ; + Tue, 22 Apr 2008 20:44:16 +0100 +Received: from tim.rpsys.net ([127.0.0.1]) by localhost (tim.rpsys.net + [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 16773-04 for + ; Tue, 22 Apr 2008 20:44:07 +0100 (BST) +Received: from merkur.ins.uni-bonn.de (merkur.ins.uni-bonn.de + [131.220.223.13]) by tim.rpsys.net (8.13.6/8.13.8) with ESMTP id + m3MJi2sT016913 for ; Tue, 22 Apr 2008 20:44:02 +0100 +Received: from localhost.localdomain (xdsl-87-79-251-12.netcologne.de + [87.79.251.12]) by merkur.ins.uni-bonn.de (Postfix) with ESMTP id + 54F1C400002D4; Tue, 22 Apr 2008 21:43:56 +0200 (CEST) +Received: from ralf by localhost.localdomain with local (Exim 4.63) + (envelope-from ) id 1JoOP7-0007yr-Aw; Tue, 22 Apr + 2008 21:43:49 +0200 +Date: Tue, 22 Apr 2008 21:43:49 +0200 +From: Ralf Wildenhues +To: Richard Purdie , libtool-patches@gnu.org +Cc: libtool@gnu.org +Subject: Re: libtool 2.2.2, ccache and -all-static +Message-ID: <20080422194348.GE5035@ins.uni-bonn.de> +Mail-Followup-To: Richard Purdie , + libtool-patches@gnu.org, libtool@gnu.org +References: <1208860190.5479.8.camel@dax.rpnet.com> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +In-Reply-To: <1208860190.5479.8.camel@dax.rpnet.com> +Organization: Department of Numerical Simulation, University of Bonn +User-Agent: Mutt/1.5.17+20080114 (2008-01-14) +X-Virus-Scanned: amavisd-new at rpsys.net +X-Evolution-Source: imap://richard@tim.rpsys.net/ +Content-Transfer-Encoding: 8bit + +Hi Richard, + +* Richard Purdie wrote on Tue, Apr 22, 2008 at 12:29:50PM CEST: +> +> I've noticed another problem with two packages in poky, prelink and +> libvorbis. Both packages have areas where LDFLAGS="-all-static" is used. +> +> The problem comes about since Poky sets CC to "ccache gcc", then libtool +> puts the -static flag between ccache and gcc. + +Thanks for the bug report, and especially for providing an example to +reproduce it! + +> libtool: link: ccache -static gcc -O20 -ffast-math -D_REENTRANT -fsigned-char -DUSE_MEMORY_H -o decoder_example decoder_example.o ../lib/.libs/libvorbis.a -lm /usr/lib/libogg.a + +Confirmed. Fixed as below, committed, put you in THANKS. + +Cheers, +Ralf + +2008-04-22 Ralf Wildenhues + + Fix regression over 1.5.26 with ccache $CC -all-static. + * libltdl/config/ltmain.m4sh (func_mode_link): Add + $link_static_flag to compile_command and link_command only + later, instead of right after a possible compiler wrapper. + * tests/static.at (ccache -all-static): New test. + * THANKS: Update. + Report by Richard Purdie. + +diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh +index ff1e50d..ac334dc 100644 +--- a/libltdl/config/ltmain.m4sh ++++ b/libltdl/config/ltmain.m4sh +@@ -3160,9 +3160,6 @@ func_mode_link () + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static +- # See comment for -static flag below, for more details. +- func_append compile_command " $link_static_flag" +- func_append finalize_command " $link_static_flag" + fi + prefer_static_libs=yes + ;; +@@ -3450,7 +3447,11 @@ func_mode_link () + + case $arg in + -all-static) +- # The effects of -all-static are defined in a previous loop. ++ if test -n "$link_static_flag"; then ++ # See comment for -static flag below, for more details. ++ func_append compile_command " $link_static_flag" ++ func_append finalize_command " $link_static_flag" ++ fi + continue + ;; + +diff --git a/tests/static.at b/tests/static.at +index 74b1c63..1a51d0d 100644 +--- a/tests/static.at ++++ b/tests/static.at +@@ -352,3 +352,26 @@ for withdep in no yes; do + done + + AT_CLEANUP ++ ++ ++AT_SETUP([ccache -all-static]) ++ ++AT_DATA([ccache], ++[[#! /bin/sh ++# poor man's ccache clone ++case $1 in ++-*) echo "bogus argument: $1" >&2; exit 1 ;; ++esac ++exec "$@" ++]]) ++chmod +x ./ccache ++ ++AT_DATA([a.c], ++[[int main(void) { return 0; } ++]]) ++ ++AT_CHECK([$CC $CPPFLAGS $CFLAGS -c a.c], [], [ignore]) ++AT_CHECK([$LIBTOOL --mode=link --tag=CC ./ccache $CC $CFLAGS $LDFLAGS -all-static a.$OBJEXT -o a], ++ [], [ignore]) ++ ++AT_CLEANUP + diff --git a/meta/packages/libtool/libtool-cross_2.2.2.bb b/meta/packages/libtool/libtool-cross_2.2.2.bb index 9c0b30ce5..617500723 100644 --- a/meta/packages/libtool/libtool-cross_2.2.2.bb +++ b/meta/packages/libtool/libtool-cross_2.2.2.bb @@ -1,7 +1,7 @@ require libtool.inc require libtool_${PV}.bb -PR = "r15" +PR = "r16" PACKAGES = "" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" SRC_URI_append = " file://libdir-la.patch;patch=1 \ diff --git a/meta/packages/libtool/libtool-native_2.2.2.bb b/meta/packages/libtool/libtool-native_2.2.2.bb index 6b5f37931..74d4d1bfc 100644 --- a/meta/packages/libtool/libtool-native_2.2.2.bb +++ b/meta/packages/libtool/libtool-native_2.2.2.bb @@ -1,7 +1,7 @@ require libtool.inc require libtool_${PV}.bb -PR = "r11" +PR = "r12" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" SRC_URI_append = " file://libdir-la.patch;patch=1 \ file://prefix.patch;patch=1 \ diff --git a/meta/packages/libtool/libtool_2.2.2.bb b/meta/packages/libtool/libtool_2.2.2.bb index 05f39fa37..afc3daea4 100644 --- a/meta/packages/libtool/libtool_2.2.2.bb +++ b/meta/packages/libtool/libtool_2.2.2.bb @@ -1,8 +1,9 @@ require libtool.inc -PR = "r6" +PR = "r7" SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ + file://fix_static.patch;patch=1 \ file://uclibc.patch;patch=1 \ file://dolt.m4" S = "${WORKDIR}/libtool-${PV}" -- cgit v1.2.3