[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/7] Support for toolchains that are not $host-native.
From: |
Peter Rosin |
Subject: |
Re: [PATCH 0/7] Support for toolchains that are not $host-native. |
Date: |
Fri, 03 Sep 2010 09:15:14 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100802 Thunderbird/3.1.2 |
Den 2010-09-02 15:06 skrev Peter Rosin:
> Den 2010-09-01 22:30 skrev Peter Rosin:
>> Hi!
>>
>> I was going to hold off this until after I had run the testsuite one more
>> time with the latest fixes, but the recent message from Gary made me post
>> right away. By the Lay of Murphy, I'm sure I'll regret it...
>>
>> This series is a rebased and updated version of the patches posted in
>> http://lists.gnu.org/archive/html/libtool-patches/2010-08/msg00222.html
>>
>> I have reason to believe that these patches will make the testsuite
>> results cleaner for MinGW (gcc) on MSYS, MSVC on MSYS, MSVC on Cygwin
>> and have no impact on gcc on Cygwin.
>>
>> I will post details in a day of so when the testsuite has finished
>> running...
>
>
> I have made some notes after each testsuite excerpt.
I have now rerun the testsuite on MSVC on MSYS, but with a ar-lib fix
for backslashed files, and on MSVC on Cygwin, with a LN_S="cp -p"
override. I may also have rebased the patches on top of a few new
patches on the master branch, I actually don't remember. I have not
rerun the testsuite the gcc, since ar-lib isn't used in that case so
the bug fix there can't have an impact and the fact that I'm running
the testsuite with a tweaked LN_S in one case should not have an
impact in other cases.
Here are the results, with notes after each testsuite excerpt.
Testsuite results for MSVC on MSYS
==================================
configured as:
../libtool-msvc/configure CC="/c/cygwin/home/peda/automake/lib/compile cl"
CFLAGS="-MD -Zi -EHsc" CXX="/c/cygwin/home/peda/automake/lib/compile cl"
CXXFLAGS="-MD -Zi -EHsc" LD=link NM="dumpbin -symbols" STRIP=:
AR="/c/cygwin/home/peda/automake/lib/ar-lib lib" RANLIB=: F77=no FC=no GCJ=no
--enable-dependency-tracking
## ------------------------------- ##
## GNU Libtool 2.2.11a test suite. ##
## ------------------------------- ##
Shell option parser generator.
1: short option splitting ok
2: enhanced shell short option splitting ok
3: long option splitting ok
4: XSI long option splitting ok
5: option appending ok
6: enhanced shell option appending ok
Libtoolize operation.
7: libtoolize macro installation ok
8: libtoolize macro directory mismatch error ok
9: libtoolize macro serial update ok
10: libtoolize config files serial update ok
11: diagnose missing LT_CONFIG_LTDL_DIR ok
12: copy ltdl.m4 with shared macro directory ok
13: correctly parse LTDL_INIT from configure.ac ok
14: diagnose missing LTDL_INIT invocation ok
15: upgrading verbatim style aclocal.m4 ok
16: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR ok
17: nonrecursive ltdl with AC_CONFIG_MACRO_DIR ok
18: subproject ltdl with non-shared directories ok
19: LIBTOOLIZE_OPTIONS ok
20: cleanup old installation ok
Testing libtool functions.
21: standard command line options ok
22: mode short-hands ok
23: debug tracing ok
24: duplicate members in archive tests ok
25: duplicate convenience archive names FAILED
(duplicate_conv.at:79)
26: preserve duplicate convenience deps skipped
(duplicate_deps.at:66)
27: passing CC flags through libtool ok
28: passing CXX flags through libtool ok
29: passing F77 flags through libtool skipped (flags.at:24)
30: passing FC flags through libtool skipped (flags.at:24)
31: passing GCJ flags through libtool skipped (flags.at:24)
32: inherited_linker_flags ok
33: C convenience archives ok
34: C++ convenience archives ok
35: F77 convenience archives skipped
(convenience.at:111)
36: FC convenience archives skipped
(convenience.at:171)
37: Java convenience archives skipped
(convenience.at:231)
38: Link order test ok
39: Link order of deplibs ok
40: Failure tests ok
41: shlibpath_overrides_runpath skipped (shlibpath.at:54)
42: Runpath in libtool library files ok
43: static linking flags for programs FAILED (static.at:198)
44: ccache -all-static ok
45: Export test ok
46: sys_lib_search_path skipped (search-path.at:57)
47: indirect convenience ok
48: indirect uninstalled ok
49: static library contains static library ok
50: both of -o prog and -o prog$EXEEXT work ok
51: execute mode ok
52: bindir compile check ok
53: bindir basic lib test ok
54: bindir install tests ok
55: cwrapper for uninstalled executables ok
56: deplib in subdir ok
57: inferred tag ok
58: CXX inferred tag ok
59: F77 inferred tag skipped (infer-tag.at:56)
60: FC inferred tag skipped (infer-tag.at:70)
61: GCJ inferred tag skipped (infer-tag.at:84)
62: localized compiler messages ok
63: nocase library search ok
64: Install tests ok
65: versioning ok
DESTDIR tests
66: Simple DESTDIR install ok
67: DESTDIR with in-package deplibs ok
Support for older m4 interface.
68: AM_PROG_LIBTOOL ok
69: AC_WITH_LTDL ok
Libtool subdir-objects support.
70: C subdir-objects ok
71: C++ subdir-objects ok
Libltdl functionality.
72: lt_dlexit unloading libs FAILED (lt_dlexit.at:147)
73: lt_dlopenadvise library loading ok
74: lt_dlopen error messages skipped (lt_dlopen.at:31)
75: lt_dlopen archive skipped (lt_dlopen_a.at:94)
76: lt_dlopenext error messages ok
77: libdir of installed modules ok
78: ltdl API ok
79: dlloader API ok
80: loadlibrary error messages ok
81: syntax of .la files expected failure
(lalib-syntax.at:133)
82: resident modules ok
83: SList functionality ok
84: enforced lib prefix FAILED
(need_lib_prefix.at:170)
Standalone Libltdl.
85: compiling softlinked libltdl ok
86: compiling copied libltdl ok
87: installable libltdl ok
88: linking libltdl without autotools ok
Subproject Libltdl.
89: compiling softlinked libltdl ok
90: compiling copied libltdl ok
91: installable libltdl ok
92: linking libltdl without autotools ok
Nonrecursive Automake Libltdl.
93: compiling softlinked libltdl ok
94: compiling copied libltdl ok
95: installable libltdl ok
Recursive Automake Libltdl.
96: compiling softlinked libltdl ok
97: compiling copied libltdl ok
98: installable libltdl ok
C++ template tests.
99: simple template test ok
100: template test with subdirs ok
Constructors.
101: C++ static constructors ok
102: C++ exception handling skipped (exceptions.at:362)
libtool script generation.
103: config.status ok
104: config.lt ok
Libtool usage in GCC
105: AC_NO_EXECUTABLES ok
Detecting identical deplibs.
106: build tree relpaths expected failure
(deplibs-ident.at:68)
configure interface to libltdl.
107: installable libltdl ok
108: --with-ltdl-include/lib ok
109: --with-included-ltdl ok
110: convenience libltdl ok
Libtool stress test.
111: Link option thorough search test ok
112: Run tests with low max_cmd_len FAILED (cmdline_wrap.at:43)
113: override pic_flag at configure time skipped (pic_flag.at:39)
Mac OS X tests
114: darwin fat compile skipped (darwin.at:42)
115: darwin concurrent library extraction ok
116: darwin gdb debug information skipped (darwin.at:154)
117: deplibs without file command ok
sysroot tests
118: -L=.../lib -l skipped (sysroot.at:203)
119: -L SYSROOT/.../lib -l skipped (sysroot.at:204)
120: SYSROOT/.../*.la skipped (sysroot.at:205)
## ------------- ##
## Test results. ##
## ------------- ##
ERROR: 99 tests were run,
7 failed (2 expected failures).
21 tests were skipped.
## -------------------------- ##
## testsuite.log was created. ##
## -------------------------- ##
Please send `tests/testsuite.log' and all information you think might help:
To: <address@hidden>
Subject: [GNU Libtool 2.2.11a] testsuite: 25 43 72 84 112 failed
You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point. Its output may
be found below `tests/testsuite.dir'.
make: *** [check-local] Error 1
Notes:
25: MSVC doesn't support -r -o
43: Just wont work, MSVC can't select between static or shared libs, you
have to select for it.
72: Unsure what's going on. Old failure.
84: Unsure what's going on. Old failure.
102: There are some dllimport work needed, but that's not enough since the
C++ name mangling on MSVC creates symbols that are "hard" for the
preloader.
112: The results are exactly the same as w/o low max_cmd_len. Skips
and fails on the exact same lines.
Testsuite results for MSVC on Cygwin
====================================
configured as:
../libtool-msvc/configure CC="/home/peda/automake/lib/compile cl" CFLAGS="-MD
-Zi -EHsc" CXX="/home/peda/automake/lib/compile cl" CXXFLAGS="-MD -Zi -EHsc"
LD=link NM="dumpbin -symbols" STRIP=: AR="/home/peda/automake/lib/ar-lib lib"
RANLIB=: F77=no FC=no GCJ=no --enable-dependency-tracking
lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32 --build=i686-pc-cygwin
--host=i686-pc-mingw32
and the testsuite run as:
make check-local LN_S="cp -p"
## ------------------------------- ##
## GNU Libtool 2.2.11a test suite. ##
## ------------------------------- ##
Shell option parser generator.
1: short option splitting ok
2: enhanced shell short option splitting ok
3: long option splitting ok
4: XSI long option splitting ok
5: option appending ok
6: enhanced shell option appending ok
Libtoolize operation.
7: libtoolize macro installation ok
8: libtoolize macro directory mismatch error ok
9: libtoolize macro serial update ok
10: libtoolize config files serial update ok
11: diagnose missing LT_CONFIG_LTDL_DIR ok
12: copy ltdl.m4 with shared macro directory ok
13: correctly parse LTDL_INIT from configure.ac ok
14: diagnose missing LTDL_INIT invocation ok
15: upgrading verbatim style aclocal.m4 ok
16: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR ok
17: nonrecursive ltdl with AC_CONFIG_MACRO_DIR ok
18: subproject ltdl with non-shared directories ok
19: LIBTOOLIZE_OPTIONS ok
20: cleanup old installation ok
Testing libtool functions.
21: standard command line options ok
22: mode short-hands ok
23: debug tracing ok
24: duplicate members in archive tests ok
25: duplicate convenience archive names FAILED
(duplicate_conv.at:79)
26: preserve duplicate convenience deps skipped
(duplicate_deps.at:66)
27: passing CC flags through libtool ok
28: passing CXX flags through libtool ok
29: passing F77 flags through libtool skipped (flags.at:24)
30: passing FC flags through libtool skipped (flags.at:24)
31: passing GCJ flags through libtool skipped (flags.at:24)
32: inherited_linker_flags ok
33: C convenience archives ok
34: C++ convenience archives ok
35: F77 convenience archives skipped
(convenience.at:111)
36: FC convenience archives skipped
(convenience.at:171)
37: Java convenience archives skipped
(convenience.at:231)
38: Link order test ok
39: Link order of deplibs ok
40: Failure tests ok
41: shlibpath_overrides_runpath skipped (shlibpath.at:54)
42: Runpath in libtool library files ok
43: static linking flags for programs FAILED (static.at:198)
44: ccache -all-static ok
45: Export test ok
46: sys_lib_search_path skipped (search-path.at:57)
47: indirect convenience ok
48: indirect uninstalled ok
49: static library contains static library ok
50: both of -o prog and -o prog$EXEEXT work ok
51: execute mode ok
52: bindir compile check ok
53: bindir basic lib test ok
54: bindir install tests ok
55: cwrapper for uninstalled executables ok
56: deplib in subdir ok
57: inferred tag ok
58: CXX inferred tag ok
59: F77 inferred tag skipped (infer-tag.at:56)
60: FC inferred tag skipped (infer-tag.at:70)
61: GCJ inferred tag skipped (infer-tag.at:84)
62: localized compiler messages ok
63: nocase library search skipped (nocase.at:31)
64: Install tests ok
65: versioning ok
DESTDIR tests
66: Simple DESTDIR install ok
67: DESTDIR with in-package deplibs ok
Support for older m4 interface.
68: AM_PROG_LIBTOOL ok
69: AC_WITH_LTDL ok
Libtool subdir-objects support.
70: C subdir-objects ok
71: C++ subdir-objects ok
Libltdl functionality.
72: lt_dlexit unloading libs FAILED (lt_dlexit.at:147)
73: lt_dlopenadvise library loading skipped
(lt_dladvise.at:387)
74: lt_dlopen error messages skipped (lt_dlopen.at:31)
75: lt_dlopen archive skipped (lt_dlopen_a.at:94)
76: lt_dlopenext error messages skipped
(lt_dlopenext.at:235)
77: libdir of installed modules skipped
(ltdl-libdir.at:118)
78: ltdl API ok
79: dlloader API ok
80: loadlibrary error messages ok
81: syntax of .la files skipped
(lalib-syntax.at:133)
82: resident modules ok
83: SList functionality ok
84: enforced lib prefix skipped
(need_lib_prefix.at:170)
Standalone Libltdl.
85: compiling softlinked libltdl ok
86: compiling copied libltdl ok
87: installable libltdl ok
88: linking libltdl without autotools ok
Subproject Libltdl.
89: compiling softlinked libltdl ok
90: compiling copied libltdl ok
91: installable libltdl ok
92: linking libltdl without autotools ok
Nonrecursive Automake Libltdl.
93: compiling softlinked libltdl ok
94: compiling copied libltdl ok
95: installable libltdl ok
Recursive Automake Libltdl.
96: compiling softlinked libltdl ok
97: compiling copied libltdl ok
98: installable libltdl ok
C++ template tests.
99: simple template test ok
100: template test with subdirs ok
Constructors.
101: C++ static constructors ok
102: C++ exception handling skipped (exceptions.at:362)
libtool script generation.
103: config.status ok
104: config.lt ok
Libtool usage in GCC
105: AC_NO_EXECUTABLES ok
Detecting identical deplibs.
106: build tree relpaths expected failure
(deplibs-ident.at:68)
configure interface to libltdl.
107: installable libltdl ok
108: --with-ltdl-include/lib ok
109: --with-included-ltdl ok
110: convenience libltdl ok
Libtool stress test.
111: Link option thorough search test ok
112: Run tests with low max_cmd_len FAILED (cmdline_wrap.at:43)
113: override pic_flag at configure time skipped (pic_flag.at:39)
Mac OS X tests
114: darwin fat compile skipped (darwin.at:42)
115: darwin concurrent library extraction ok
116: darwin gdb debug information ok
117: deplibs without file command ok
sysroot tests
118: -L=.../lib -l skipped (sysroot.at:203)
119: -L SYSROOT/.../lib -l skipped (sysroot.at:204)
120: SYSROOT/.../*.la skipped (sysroot.at:205)
## ------------- ##
## Test results. ##
## ------------- ##
ERROR: 94 tests were run,
5 failed (1 expected failure).
26 tests were skipped.
## -------------------------- ##
## testsuite.log was created. ##
## -------------------------- ##
Please send `tests/testsuite.log' and all information you think might help:
To: <address@hidden>
Subject: [GNU Libtool 2.2.11a] testsuite: 25 43 72 112 failed
You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point. Its output may
be found below `tests/testsuite.dir'.
make: *** [check-local] Error 1
Notes:
25: MSVC doesn't support -r -o
43: Just wont work, MSVC can't select between static or shared libs, you
have to select for it.
63: I would have liked it if nocase library search was active in this case.
72: Unsure what's going on. Old failure.
84: Unsure what's going on. Old failure.
102: There are some dllimport work needed, but that's not enough since the
C++ name mangling on MSVC creates symbols that are "hard" for the
preloader.
112: The results are exactly the same as w/o low max_cmd_len. Skips
and fails on the exact same lines.
If you compare these two testsuite runs a few tests that fail on MSYS
skip on Cygwin. That's normal as the Cygwin case is a cross where things
sometimes skip instead of fail. There are also one test (116) that skip
on MSYS but are ok on Cygwin, I also think that's normal since MSYS is
not as POSIXy as Cygwin.
There are a few unexpected skips in the "Libltdl functionality" group
for MSVC on Cygwin (73 76 77) that I haven't looked into yet.
All in all, these patches bahave as I expect them to, it's still not
all the way, but good enough for now.
Cheers,
Peter
- [PATCH 7/7] Prefer $NM @file over calculating the cmd line length., (continued)
- [PATCH 7/7] Prefer $NM @file over calculating the cmd line length., Peter Rosin, 2010/09/01
- [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Peter Rosin, 2010/09/01
- [PATCH 5/7] Convert POSIX file names to toolchain format for MSVC, Peter Rosin, 2010/09/01
- Re: [PATCH 0/7] Support for toolchains that are not $host-native., Peter Rosin, 2010/09/02
- Make ar-lib support backslashed files in archives. (was [PATCH 0/7] Support for toolchains that are not $host-native.), Peter Rosin, 2010/09/02
- Re: [PATCH 0/7] Support for toolchains that are not $host-native.,
Peter Rosin <=