Wgcc status report

2006-09-26 Thread Duft Markus
Hey again!

Wgcc status report ;o) (this is rc4 with libtool patch from today):

PASS: cdemo-static.test
PASS: cdemo-make.test
PASS: cdemo-exec.test
PASS: demo-static.test
PASS: demo-make.test
PASS: demo-exec.test
PASS: demo-inst.test
PASS: demo-unst.test
PASS: depdemo-static.test
PASS: depdemo-make.test
PASS: depdemo-exec.test
PASS: depdemo-inst.test
PASS: depdemo-unst.test
PASS: mdemo-static.test
PASS: mdemo-make.test
PASS: mdemo-exec.test
PASS: mdemo-inst.test
PASS: mdemo-unst.test
PASS: cdemo-conf.test
PASS: cdemo-make.test
PASS: cdemo-exec.test
PASS: demo-conf.test
PASS: demo-make.test
PASS: demo-exec.test
PASS: demo-inst.test
PASS: demo-unst.test
PASS: deplibs.test
PASS: depdemo-conf.test
PASS: depdemo-make.test
PASS: depdemo-exec.test
PASS: depdemo-inst.test
PASS: depdemo-unst.test
PASS: mdemo-conf.test
PASS: mdemo-make.test
PASS: mdemo-exec.test
PASS: mdemo-inst.test
PASS: mdemo-unst.test
PASS: dryrun.test
PASS: demo-nofast.test
PASS: demo-make.test
PASS: demo-exec.test
PASS: demo-inst.test
PASS: demo-unst.test
PASS: demo-pic.test
PASS: demo-make.test
PASS: demo-exec.test
PASS: demo-nopic.test
PASS: demo-make.test
PASS: demo-exec.test
PASS: depdemo-nofast.test
PASS: depdemo-make.test
PASS: depdemo-exec.test
PASS: depdemo-inst.test
PASS: depdemo-unst.test
PASS: cdemo-shared.test
PASS: cdemo-make.test
PASS: cdemo-exec.test
PASS: demo-shared.test
PASS: demo-make.test
PASS: demo-exec.test
PASS: demo-inst.test
SKIP: hardcode.test
FAIL: build-relink.test
PASS: noinst-link.test
PASS: demo-unst.test
PASS: depdemo-shared.test
PASS: depdemo-make.test
PASS: depdemo-exec.test
PASS: depdemo-inst.test
FAIL: build-relink2.test
PASS: depdemo-unst.test
PASS: mdemo-shared.test
PASS: mdemo-make.test
PASS: mdemo-exec.test
PASS: mdemo-inst.test
PASS: mdemo-unst.test
PASS: assign.test
PASS: link.test
PASS: link-2.test
PASS: nomode.test
PASS: quote.test
PASS: sh.test
PASS: suffix.test
PASS: pdemo-conf.test
PASS: pdemo-make.test
PASS: pdemo-exec.test
PASS: pdemo-inst.test
PASS: mdemo-conf.test
PASS: mdemo-make.test
PASS: mdemo2-conf.test
PASS: mdemo2-make.test
FAIL: mdemo2-exec.test
PASS: duplicate_members.test
PASS: link-order.test
PASS: tagdemo-static.test
PASS: tagdemo-make.test
PASS: tagdemo-exec.test
PASS: tagdemo-conf.test
PASS: tagdemo-make.test
PASS: tagdemo-exec.test
PASS: tagdemo-shared.test
PASS: tagdemo-make.test
PASS: tagdemo-exec.test

3 of 102 tests failed
(1 tests were not run)
Please report to bug-libtool@gnu.org


This looks *very* cool ;o) For the tests failed: hardcode will never
work, thats clear (fails with gcc too). The other three, i really have
no idea there. Mdemo2 fails only half, as far as i've seen the static
version executes OK. I think the error is, that libltld allways tries to
dlopen the static library, not the shared one, but i can't figure it out
(i hate dlpreopening ;o)) (and i can't read my own changed code
anymore... *argl* ;o))

I also tested gcc, to see if my changes influenced it somehow. Only
hardcode.test failed, and thats ok (it does without my patch too) ;o).

I now changed the hardcode.test to skip on all interix platforms for
now.

Cheers, Markus


libtool-1.5.22-wgcc-2.x-26-09-2006.patch
Description: libtool-1.5.22-wgcc-2.x-26-09-2006.patch
___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Wgcc status report

2006-09-26 Thread Ralf Wildenhues
Hello Markus,

I would prefer if you did not send messages to the libtool list twice,
did not send messages including large patches to the libtool list
(that's what the libtool-patches list is for), and I would also
personally prefer if your announcement frequency were more that of an,
err, announcement.  Users interested in every next step can still read
your interix-wgcc-developer and/or the libtool-patches list.

* Duft Markus wrote on Tue, Sep 26, 2006 at 09:44:10AM CEST:

> FAIL: build-relink.test
> FAIL: build-relink2.test
> FAIL: mdemo2-exec.test

> This looks *very* cool ;o) For the tests failed: hardcode will never
> work, thats clear (fails with gcc too).

Wrong.  The hardcode test tests that the settings in libtool.m4 conform
to expected behavior.  The settings are false, thus the failure.

> I now changed the hardcode.test to skip on all interix platforms for
> now.

So you paper over the issue.

> The other three, i really have
> no idea there. Mdemo2 fails only half, as far as i've seen the static
> version executes OK. I think the error is, that libltld allways tries to
> dlopen the static library, not the shared one, but i can't figure it out
> (i hate dlpreopening ;o)) (and i can't read my own changed code
> anymore... *argl* ;o))
> 
> I also tested gcc, to see if my changes influenced it somehow. Only
> hardcode.test failed, and thats ok (it does without my patch too) ;o).

If you desire to get your changes into GNU Libtool, you should strive to
- keep system-specific changes out of ltmain.sh, and out of all the
  tests as much as is sanely possible.  Remember the tests should also
  demonstrate what users are expected to do, so work hard to keep the
  number of preprocessor conditionals down to a minimum; and to
- not break any other system with your patches; that is a show-stopper.

Using `uname' in ltmain.sh is wrong, that breaks for cross-compilation.
Some of the comments in the patch you posted are wrong (they are copy
and pasted from elsewhere, but do not match the pasted code).

I would like to encourage you to port your patch to CVS Libtool, as it
has a better testsuite.  In case that is too much work for you, you may
anyway want to try its testsuite with
  ./tests/testsuite LIBTOOL=/path/to/1.5.22/build/libtool -k libtool \
-k stresstest

Hope that helps.

Cheers,
Ralf


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


Re: Dlpreopen on windows

2006-09-26 Thread Ralf Wildenhues
Hello Markus,

* Duft Markus wrote on Mon, Sep 25, 2006 at 05:18:21PM CEST:
> 
> Libtool generates a symbol table on the fly which it then compiles and
> links in, correct?
> That symbols table contains both .text and .data symbols. There is no
> problem with .text symbols so far ;o)
> As i saw the nmS file uses a one letter prefix to identify the type
> of symbol. My mdemo.nmS for exmaple has three types:
> 
>  T.text i think, so all functions
>  B.bss (??) i think, initialized data
>  C.data (??) uninitialized data?

The types are derived from how `nm' on unices shows the ELF sections:
 "B" The symbol is in the uninitialized data section (known as BSS).
 "C" The  symbol  is common.  Common symbols are uninitialized data.  When 
linking,
 multiple common symbols may appear with the  same  name.   If  the  symbol 
 is
 defined anywhere, the common symbols are treated as undefined references.
 "D" The symbol is in the initialized data section.
 "T" The symbol is in the text (code) section.

We should probably change the mdemo test to not only test common symbols
(they are the least important), but to test initialized (to null and to
non-null) symbols.  Oh well, the stresstest in HEAD is useful for that.

> P.S.: the windows compiler does not define data symbols in object files
> if they are not referenced at least once in that object file. So the
> libtool mdemo/foo(1|2).c nothing variable is missing in the objects
> unless i initialize them with something (0 in my case...).

Hmm.  Is there a command line option to make it emit the common symbol?

Cheers,
Ralf


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


Hardcoding paths.

2006-09-26 Thread Duft Markus
Hi again!

With wgcc (again ;o)) i now tell libtool, that hardcoding is
"unsupported". Configure tells this too now, so everything seems to be
ok. But when i run hardcode.test:

= Searching for hardcoded library directories in each program
.libs was not hardcoded in `hc-direct', as libtool expected
.libs was not hardcoded in `hc-libflag', which fooled libtool
.libs was not hardcoded in `hc-libpath', as libtool expected
.libs was not hardcoded in `hc-minusL', as libtool expected
FAIL: hardcode.test

Err... When hardcoding is unsupported, why the ... Does libtool expect
hardcoded paths? Libtool looks like this:

hardcode_action=unsupported
hardcode_into_libs=yes
hardcode_libdir_flag_spec="\${wl}-rpath,\$libdir"
hardcode_libdir_flag_spec_ld=""
hardcode_libdir_separator=""
hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=no
hardcode_automatic=no

I know i will set hardcode_into_libs to no in the future, but i don't
think this is the reason, or could this be?

Cheers, markus


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


Re: Hardcoding paths.

2006-09-26 Thread Ralf Wildenhues
* Duft Markus wrote on Tue, Sep 26, 2006 at 12:08:52PM CEST:
> 
> = Searching for hardcoded library directories in each program
> .libs was not hardcoded in `hc-direct', as libtool expected
> .libs was not hardcoded in `hc-libflag', which fooled libtool
> .libs was not hardcoded in `hc-libpath', as libtool expected
> .libs was not hardcoded in `hc-minusL', as libtool expected
> FAIL: hardcode.test
> 
> Err... When hardcoding is unsupported, why the ... Does libtool expect
> hardcoded paths? Libtool looks like this:
> 
> hardcode_action=unsupported
> hardcode_into_libs=yes

As you rightly note, hardcode_into_libs should be set to no.

> hardcode_libdir_flag_spec="\${wl}-rpath,\$libdir"

Well, I assume wgcc just throws away `-Wl,-rpath', right?
So this setting is not honest: it's not really possible to hardcode
paths into outputs on w32.  But fixing this requires other fixes in
ltmain before that, see this thread for more details:
http://lists.gnu.org/archive/html/libtool-patches/2006-09/msg00010.html

> hardcode_libdir_flag_spec_ld=""
> hardcode_libdir_separator=""
> hardcode_direct=no
> hardcode_minus_L=no
> hardcode_shlibpath_var=no
> hardcode_automatic=no

Cheers,
Ralf


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