On 07/28/2010 02:47 PM, Charles Wilson wrote:
On 7/28/2010 5:05 AM, Paolo Bonzini wrote:
On Wed, Jul 28, 2010 at 10:10, Charles Wilson
  But that doesn't appear to be the case for cross builds, in the
new tests.

But I don't think it was bisectable in cross builds in your original
development either.

Yes, I usually develop this way (tests are written and committed
first) and then move the tests last before the final post/push to
preserve bisectability.

Hmm. Should I pull the comments added to sysroot.at by
        handle-sysrooted-paths-when-reading-dependencies-to-.patch
merge them into the earlier
        add-a-basic-sysroot-test.patch
and then reorder so that add-a-basic-sysroot-test.patch is once again last?

Yes, that's fine.

It still fails (native) new:41,101 and old:tagdemo-conf+tagdemo-make.  I
guess some more eyes on the revised 8/8 would be helpful. Well, on all
of the patches, actually, I guess -- but new 8/8 is the likely locus of
the bug.

I'd tend to blame more the libtool.m4 part.  After all it's what
computes postdeps. What about splitting it further by separating the
ltmain.m4sh (first commit) and libtool.m4 (second commit) changes?

OK. New results after the (first commit) but before the (second commit):

Interesting. In this case, old:tagdemo-conf+tagdemo-make pass, new:101
passes, but new:41 fails.

So we have two bugs now instead of one. :) On the other hand it means we can consider one change at a time, which is good news.

In particular, the sysroot patches should change nothing for native. So just comparing "./testsuite -v -d 41" output and diffing the .la files may pinpoint the cause pretty quickly. The sysroot patches are in fact relatively mechanical.

Regarding the libtool.m4, maybe squashing the (untested) attached patch could help...

Paolo
>From 82abc3a7cd283f4b02636acd7570331375fc9514 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <bonz...@gnu.org>
Date: Wed, 28 Jul 2010 15:06:05 +0200
Subject: [PATCH] fix?

---
 libltdl/m4/libtool.m4 |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index f7f9aa8..c50be76 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -6402,11 +6402,10 @@ AC_LANG_POP
 # PREFIX and SUFFIX must not contain globbing or regex special
 # characters, hashes, percent signs, but SUFFIX may contain a leading
 # dot (in which case that matches only a dot).
-# #
+#
 # This function is identical to the (non-XSI) version of func_stripname,
 # except this one can be used by m4 code that may be executed by configure,
 # rather than the libtool script.
-# func_strip_suffix prefix name
 m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
 AC_REQUIRE([_LT_DECL_SED])
 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
@@ -6501,11 +6500,13 @@ if AC_TRY_EVAL(ac_compile); then
        fi
 
        # Expand the sysroot to ease extracting the directories later.
-       case $p in
-       -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result 
;;
-       -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result 
;;
-       -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result 
;;
-       esac
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; 
p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; 
p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; 
p=$func_stripname_result ;;
+         esac
+       fi
        case $p in
        =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result 
;;
        esac
@@ -6531,6 +6532,7 @@ if AC_TRY_EVAL(ac_compile); then
           _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
         fi
        fi
+       prev=
        ;;
 
     *.$objext)
-- 
1.7.1

Reply via email to