https://bugs.winehq.org/show_bug.cgi?id=35424
Bug ID: 35424 Summary: tcc fails its libtest Product: Wine Version: 1.7.11 Hardware: x86 URL: http://bellard.org/tcc/ OS: Linux Status: NEW Keywords: download, source Severity: minor Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com Classification: Unclassified
I tried building tinycc and running its tests under wine. The first problem: ------------ libtest ------------ ./libtcc_test.exe lib_path=.. C:/windows/system32/msvcrt.dll:1: error: unrecognized file type tcc: error: cannot find library: msvcrt tcc: error: undefined symbol 'printf' make[1]: *** [libtest] Error 1
To reproduce: #!/bin/bash rm -rf $HOME/.wine wineboot wget "http://downloads.sourceforge.net/mingw/files/mingw-get-setup.exe" wine mingw-get-setup.exe
cd $HOME/.wine/drive_c/ git clone git://repo.or.cz/tinycc.git cd tinycc # Known good commit (on windows7) git reset --hard 32a4962593d6a2006cdd725480124717e7f5377d
cat > build.sh << _EOF #!/bin/bash set -e set -x export PATH="/c/MinGW/bin/:$PATH" ./configure make make test _EOF
cd $HOME/.wine/drive_c/MinGW/msys/1.0 wine start msys.bat
####
run that script. During the mingw install, select the 'mingw-developer-toolkit' and 'mingw32-base' packages. After install, when the msys prompt appears, do: $ cd /c/tinycc $ ./build.sh
the same procedure works fine on native windows 7.
https://bugs.winehq.org/show_bug.cgi?id=35424
--- Comment #1 from Austin English austinenglish@gmail.com --- I just noticed that libtcc_test.exe is a standalone exe, I'll attach it.
Running it outside of the source directory will show an unrelated failure(tcc: error: cannot find library: libtcc1.a):
austin@aw25 ~ $ wine libtcc_test.exe tcc: error: cannot find library: libtcc1.a tcc: error: undefined symbol 'printf'
austin@aw25 ~ $ wine --version wine-1.7.11 austin@aw25 ~ $ du -h libtcc_test.exe 908K libtcc_test.exe austin@aw25 ~ $ sha1sum libtcc_test.exe c23b643627a99b411f270619b5cb44f02f7c1e88 libtcc_test.exe
https://bugs.winehq.org/show_bug.cgi?id=35424
--- Comment #2 from Austin English austinenglish@gmail.com --- Created attachment 47275 --> https://bugs.winehq.org/attachment.cgi?id=47275 libtcc_test.exe
https://bugs.winehq.org/show_bug.cgi?id=35424
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|tcc fails its libtest |tinycc/tcc fails its | |libtest/abitest
--- Comment #3 from Austin English austinenglish@gmail.com --- Also breaks abitest: ------------ abitest ------------ ./abitest-cc.exe lib_path=.. include="../include" ret_int_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure ret_longlong_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure ret_float_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure ret_double_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure ret_longdouble_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure ret_2float_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure ret_2double_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure reg_pack_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure reg_pack_longlong_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure sret_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure one_member_union_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure two_member_union_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure many_struct_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure many_struct_test_2... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure stdarg_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure stdarg_struct_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure arg_align_test... C:/windows/system32/kernel32.dll:1: error: unrecognized file type tcc: error: cannot find library: kernel32 failure make[1]: *** [abitest] Error 1
It appears to be testing the (fake) dll file itself. For libtest, 'winetricks vcrun6' will get past the msvcrt/printf failure, the fail on kernel32 (the same way libtest does).