RE: Final(?) patch to update libtool in GCC and src trees

Dave Korn
2007-04-11T01:13:10Z

On 10 April 2007 21:07, Steve Ellcey wrote:

>> I appreciate the problem, but Cygwin can be a bit 'special' when it
>> comes to libtool; if it hasn't been done yet, can you possibly bear to
>> hold off a bit while I give it some hasty testing? (By 'a bit', I mean no
>> more than say 'overnight'). Sorry to be a pain :-/
>>
>>
>> cheers,
>> DaveK
>
> I can wait, especially since no one has given me the go ahead yet. :-)
> I know of no cygwin testing that has been done.

Mixed results so far. Patching a binutils checkout and building it got me
this:

=== ld tests ===
@@ -297,14 +297,8 @@ Running /usr/build/src-binutils/ld/tests
Running /usr/build/src-binutils/ld/testsuite/ld-arm/arm-elf.exp ...
Running /usr/build/src-binutils/ld/testsuite/ld-auto-import/auto-import.exp
...
Running /usr/build/src-binutils/ld/testsuite/ld-bootstrap/bootstrap.exp ...
-FAIL: bootstrap
-FAIL: bootstrap with strip
FAIL: bootstrap with --static
-FAIL: bootstrap with --traditional-format
-FAIL: bootstrap with --no-keep-memory
-FAIL: bootstrap with --relax
Running /usr/build/src-binutils/ld/testsuite/ld-cdtest/cdtest.exp ...
-FAIL: cdtest
FAIL: cdtest with -Ur
Running /usr/build/src-binutils/ld/testsuite/ld-checks/checks.exp ...
Running /usr/build/src-binutils/ld/testsuite/ld-cris/cris.exp ...
@@ -396,40 +390,40 @@ Running /usr/build/src-binutils/ld/tests

=== ld Summary ===

-# of expected passes 53
-# of unexpected failures 9
+# of expected passes 59
+# of unexpected failures 3
# of unexpected successes 1
# of expected failures 3
# of unsupported tests 1
-/usr/build/obj-binutils/ld/ld-new 2.17.50.20070410
+/usr/build/obj-binutils-patched/ld/ld-new 2.17.50.20070410

..which is entirely good :-D Then I tried a winsup checkout; it failed to
configure in newlib:

checking for i686-pc-cygwin-ranlib... ranlib
checking for i686-pc-cygwin-readelf... no
checking for readelf... readelf
checking for a BSD-compatible install... /usr/bin/install -c
checking whether to enable maintainer-specific portions of Makefiles... no
checking for .preinit_array/.init_array/.fini_array support... readelf: Error:
Input file 'conftest' is not readable.
no
checking for array aliasing support... yes
configure: updating cache ./config.cache
configure: error: conditional "am__fastdepCXX" was never defined.
Usually this means the macro was only invoked conditionally.
Makefile:8649: *** [configure-target-newlib] Error 1

#0 configure-target-newlib at /usr/build/obj-winsup.new/Makefile:8649
#1 all-target-newlib at /usr/build/obj-winsup.new/Makefile:8690
#2 maybe-all-target-newlib at /usr/build/obj-winsup.new/Makefile:8687
#3 all-target (.PHONY target)
make[1]: Leaving directory `/usr/build/obj-winsup.new'

This is what config.log showed:

configure:3737: checking for a BSD-compatible install
configure:3793: result: /usr/bin/install -c
configure:3808: checking whether to enable maintainer-specific portions of
Makefiles
configure:3817: result: no
configure:21892: checking for .preinit_array/.init_array/.fini_array support
configure:21905: gcc -L/usr/build/obj-winsup.new/i686-pc-cygwin/winsup
-L/usr/build/obj-winsup.new/i686-pc-cygwin/winsup/cygwin
-L/usr/build/obj-winsup.new/i686-pc-cygwin/winsup/w32api/lib -isystem
/usr/build/src-winsup/winsup/include -isystem
/usr/build/src-winsup/winsup/cygwin/include -isystem
/usr/build/src-winsup/winsup/w32api/include
-B/usr/build/obj-winsup.new/i686-pc-cygwin/newlib/ -isystem
/usr/build/obj-winsup.new/i686-pc-cygwin/newlib/targ-include -isystem
/usr/build/src-winsup/newlib/libc/include
-I/usr/build/src-winsup/winsup/cygwin/include -o conftest conftest.c
-static -nostartfiles -nostdlib 1>&5
configure:21908: $? = 0
configure:21921: result: no
configure:21931: checking for array aliasing support
configure:21942: gcc -L/usr/build/obj-winsup.new/i686-pc-cygwin/winsup
-L/usr/build/obj-winsup.new/i686-pc-cygwin/winsup/cygwin
-L/usr/build/obj-winsup.new/i686-pc-cygwin/winsup/w32api/lib -isystem
/usr/build/src-winsup/winsup/include -isystem
/usr/build/src-winsup/winsup/cygwin/include -isystem
/usr/build/src-winsup/winsup/w32api/include
-B/usr/build/obj-winsup.new/i686-pc-cygwin/newlib/ -isystem
/usr/build/obj-winsup.new/i686-pc-cygwin/newlib/targ-include -isystem
/usr/build/src-winsup/newlib/libc/include
-I/usr/build/src-winsup/winsup/cygwin/include -c conftest.c
1>&5
conftest.c:1: warning: excess elements in scalar initializer
conftest.c:1: warning: (near initialization for `x3')
conftest.c:1: warning: excess elements in scalar initializer
conftest.c:1: warning: (near initialization for `x3')
configure:21945: $? = 0
configure:21954: result: yes
configure:22030: updating cache ./config.cache
configure:22141: error: conditional "am__fastdepCXX" was never defined.
Usually this means the macro was only invoked conditionally.

Note the huge jump:

configure:3817: result: no
configure:21892: checking for .preinit_array/.init_array/.fini_array support

interestingly enough, the only line after 3817 that has a conditional and that
precedes any more printout is at #3939, where it says ...

if test "${use_libtool}" = "yes"; then

and the clause that would set am_fastdepCXX is at 7496 to 7505, which is
probably still inside that conditional.

if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
am__fastdepCXX_TRUE=
am__fastdepCXX_FALSE='#'
else
am__fastdepCXX_TRUE='#'
am__fastdepCXX_FALSE=
fi

This happened by following your procedure in
http://sourceware.org/ml/gdb/2007-03/msg00284.html. I did the following
steps:

- take existing checkout of 'winsup' module,
- clean it out with
cvs up -CAdP config contrib etc include libiberty newlib winsup
cvs up -lCA .
- kill the four libtool config files
rm ltc*
- untar the libtool tarball
tar xzvf libtool.tar.gz
- regenerated newlib as in your email
cd newlib ; aclocal; automake --cygnus; autoconf

Then configured in an out-of-tree object dir with no options other than
--prefix and -v.

Any idea what to try next? It looks a bit like the problem with
AM_CONDITIONAL discussed at

http://sourceware.org/ml/automake/2005-01/msg00037.html

cheers,
DaveK
--
Can't think of a witty .sigline today....