Ralf Wildenhues wrote:
[...]
Yes.  We recently identified that an audit of libtool.m4 for wrong use
of $ECHO is necessary.

[details left out]

Another question: How did you find those bugs? I.e., were they exposed by the Libtool testsuite? If not, how can we trigger them?

The testsuite triggers the EXPORTn bug and some other bugs if $ECHO is set to 'printf %s\n' on Cygwin. When running the testsuite normally, "All 106 tests passed". (The new testsuite thingy fails 2 of 5 tests, but I'll report that in a separate mail). When running the testsuite like this:


make check VERBOSE=yes lt_ECHO='printf %s\n'

The result is
9 of 95 tests failed
(11 tests were not run)

I've uploaded the verbose log to http://www.roboros.com/tmp/libtool-echo-errs.txt

Some highlights:

PASS: mdemo-static.test
PASS: mdemo-make.test
SKIP: mdemo-exec.test
SKIP: mdemo-inst.test
SKIP: mdemo-unst.test

This is interesting. Linking actually fails in mdemo-make due to syntax error in the def file, but the test still passes because libtool returns success. As far as I can see this is because the code tests $? after func_show_eval "$link_command", but func_show_eval evals ':' last if an error occurs and only one argument is supplied. A change that appears to fix this is to replace
my_fail_exp="${2-:}"
by
my_fail_exp="${2-false}"
in func_show_eval.


PASS: demo-conf.test
PASS: demo-make.test
PASS: demo-exec.test
PASS: demo-inst.test
FAIL: demo-unst.test

Uninstall fails:
libtool: uninstall: dldll=`/bin/bash 2>&1 -c '. /Robert/libtool-HEAD/src/libtool
/tests/_inst/lib/libhello.la; printf %s\n ../bin/cyghello-2.dll'`
libtool: uninstall: dlpath=/Robert/libtool-HEAD/src/libtool/tests/_inst/lib/../
bin/cyghello-2.dlln
libtool: uninstall: rm -f /Robert/libtool-HEAD/src/libtool/tests/_inst/lib/../b
in/cyghello-2.dlln


(ECHO in postinstall_cmds and postuninstall_cmds)

PASS: mdemo-conf.test
FAIL: mdemo-make.test
SKIP: mdemo-exec.test
SKIP: mdemo-inst.test
SKIP: mdemo-unst.test
FAIL: mdemo-dryrun.test

Syntax error in def files (EXPORTn)


PASS: mdemo-shared.test FAIL: mdemo-make.test SKIP: mdemo-exec.test SKIP: mdemo-inst.test SKIP: mdemo-unst.test

Same as previous

Robert


_______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to