http://bugs.winehq.org/show_bug.cgi?id=2500
Summary: Gentoo hardened setup and Wine CVS Product: Wine Version: CVS Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: wine-loader AssignedTo: wine-bugs@winehq.org ReportedBy: tp22a@softhome.net
I try to build Wine CVS on a Gentoo Hardened setup and I get the following error:
make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/libs/ unicode' make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/libs/ wine' gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DBINDIR=""/usr/ lib/wine/bin"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -D_REENTRANT -fPIC -Wall - pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o config.o config.c gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DBINDIR=""/usr/ lib/wine/bin"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -D_REENTRANT -fPIC -Wall - pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o debug.o debug.c gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DBINDIR=""/usr/ lib/wine/bin"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -D_REENTRANT -fPIC -Wall - pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o ldt.o ldt.c gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DBINDIR=""/usr/ lib/wine/bin"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -D_REENTRANT -fPIC -Wall - pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o loader.o loader.c gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DBINDIR=""/usr/ lib/wine/bin"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -D_REENTRANT -fPIC -Wall - pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o mmap.o mmap.c gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DBINDIR=""/usr/ lib/wine/bin"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -D_REENTRANT -fPIC -Wall - pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o port.o port.c gcc -shared -Wl,-soname,libwine.so.1 -Wl,--version-script=./wine.map config.o debug.o ldt.o loader.o mmap.o port.o -L../../libs/port -lwine_port -ldl -o libwine.so.1 rm -f libwine.so && ln -s libwine.so.1 libwine.so make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/libs/wine' make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/libs/wpp' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/libs/wpp' rm -f libwine.so && ln -s wine/libwine.so libwine.so rm -f libwine_unicode.so && ln -s unicode/libwine_unicode.so libwine_unicode.so rm -f libwine.so.1 && ln -s wine/libwine.so.1 libwine.so.1 rm -f libwine_unicode.so.1 && ln -s unicode/libwine_unicode.so.1 libwine_unicode.so.1 make[1]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/libs' make[1]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools' gcc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 - DLEX_OUTPUT_ROOT=""lex.yy"" -Wall -pipe -mpreferred-stack-boundary=2 -fno- strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o bin2res.o bin2res.c gcc -g -O2 -o bin2res bin2res.o -L../libs/port -lwine_port gcc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 - DLEX_OUTPUT_ROOT=""lex.yy"" -Wall -pipe -mpreferred-stack-boundary=2 -fno- strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o fnt2bdf.o fnt2bdf.c gcc -g -O2 -o fnt2bdf fnt2bdf.o -L../libs/port -lwine_port gcc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 - DLEX_OUTPUT_ROOT=""lex.yy"" -Wall -pipe -mpreferred-stack-boundary=2 -fno- strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o fnt2fon.o fnt2fon.c gcc -g -O2 -o fnt2fon fnt2fon.o -L../libs/port -lwine_port gcc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 - DLEX_OUTPUT_ROOT=""lex.yy"" -Wall -pipe -mpreferred-stack-boundary=2 -fno- strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o sfnt2fnt.o sfnt2fnt.c gcc -g -O2 -o sfnt2fnt sfnt2fnt.o -lfreetype -lz -L../libs/unicode - lwine_unicode -L../libs/port -lwine_port sed -e 's,@dlldir@,/usr/lib/wine/lib/wine,g' -e 's,@datadir@,/usr/lib/wine/ share,g' ./wineprefixcreate.in >wineprefixcreate || (rm -f wineprefixcreate && false) chmod +x wineprefixcreate make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ widl' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ widl' make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ winebuild' gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o import.o import.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o main.o main. c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o parser.o parser.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o relay.o relay.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o res16.o res16.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o res32.o res32.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o spec16.o spec16.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o spec32.o spec32.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o utils.o utils.c gcc -g -O2 -o winebuild import.o main.o parser.o relay.o res16.o res32.o spec16. o spec32.o utils.o -L../../libs/port -lwine_port sed -e 's,@PACKAGE_STRING@,Wine 20040914,g' ./winebuild.man.in >winebuild.man | | (rm -f winebuild.man && false) make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ winebuild' make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ winedump' gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o debug.o debug.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o main.o main. c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o misc.o misc. c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o msmangle.o msmangle.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o ne.o ne.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o output.o output.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o pe.o pe.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o search.o search.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o symbol.o symbol.c gcc -g -O2 -o winedump debug.o main.o misc.o msmangle.o ne.o output.o pe.o search.o symbol.o -L../../libs/port -lwine_port make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ winedump' make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ winegcc' gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -DLIBDIR=""/usr/lib/wine/ lib"" -DDLLFLAGS=""-D_REENTRANT -fPIC"" -DLDDLLFLAGS=""-shared -Wl,- Bsymbolic,-z,defs,-init,__wine_spec_init,-fini,__wine_spec_fini"" - DCC=""gcc"" -DCPP=""cpp"" -DCXX=""g++"" -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o winegcc.o winegcc.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -DDLLDIR=""/usr/lib/wine/lib/wine"" -DLIBDIR=""/usr/lib/wine/ lib"" -DDLLFLAGS=""-D_REENTRANT -fPIC"" -DLDDLLFLAGS=""-shared -Wl,- Bsymbolic,-z,defs,-init,__wine_spec_init,-fini,__wine_spec_fini"" - DCC=""gcc"" -DCPP=""cpp"" -DCXX=""g++"" -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o utils.o utils.c gcc -g -O2 -o winegcc winegcc.o utils.o -L../../libs/port -lwine_port make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ winegcc' make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ wmc' gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o lang.o lang. c bison -y -d -t ./mcy.y bison -y -d -t ./mcy.y gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o mcl.o mcl.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o utils.o utils.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o wmc.o wmc.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o write.o write.c gcc -c -I. -I. -I../../include -I../../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o y.tab.o y. tab.c gcc -g -O2 -o wmc lang.o mcl.o utils.o wmc.o write.o y.tab.o -L../../libs/ unicode -lwine_unicode -L../../libs/port -lwine_port -lfl make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/wmc' make[2]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/ wrc' gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o dumpres.o dumpres.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o genres.o genres.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o newstruc.o newstruc.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o readres.o readres.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o translation.o translation.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o utils.o utils.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o wrc.o wrc.c gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o writeres.o writeres.c bison -y -d -t ./parser.y conflicts: 5 shift/reduce gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o y.tab.o y.tab.c flex -Cf -d -8 ./parser.l gcc -c -I. -I. -I../../include -I../../include -DINCLUDEDIR=""/usr/lib/wine/ include/wine"" -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing - gstabs+ -Wpointer-arith -g -O2 -o lex.yy.o lex.yy.c gcc -g -O2 -o wrc dumpres.o genres.o newstruc.o readres.o translation.o utils.o wrc.o writeres.o y.tab.o lex.yy.o -L../../libs -lwpp -lwine_unicode -lwine_port -lfl make[2]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools/wrc' make[1]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/tools' make[1]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/include' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/include' make[1]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/ documentation' sed -e 's,@bindir@,/usr/lib/wine/bin,g' -e 's,@dlldir@,/usr/lib/wine/lib/wine, g' -e 's,@PACKAGE_STRING@,Wine 20040914,g' ./wine.man.in >wine.man || (rm -f wine.man && false) make[1]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/ documentation' make[1]: Entering directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader' gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o glibc.o glibc.c gcc -o wine-glibc glibc.o -L../libs/wine -lwine -L../libs/port -lwine_port - lpthread gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o kthread.o kthread.c gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o main.o main. c gcc -o wine-kthread -Wl,--export-dynamic -Wl,--section-start,.interp=0x77f00400 kthread.o main.o -L../libs/wine -lwine -L../libs/port -lwine_port gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o pthread.o pthread.c gcc -o wine-pthread -Wl,--export-dynamic -Wl,--section-start,.interp=0x77f00400 pthread.o main.o -L../libs/wine -lwine -L../libs/port -lwine_port -lpthread gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack- boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -O2 -o preloader.o preloader.c gcc -o wine-preloader -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x78000000 preloader.o -L../libs/port -lwine_port preloader.o(.text+0x34): In function `wld_mmap': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:223: undefined reference to `__guard' preloader.o(.text+0x8c):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:245: undefined reference to `__guard' preloader.o(.text+0xa8):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:245: undefined reference to `__stack_smash_handler' preloader.o(.text+0xdb): In function `wld_vsprintf': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:305: undefined reference to `__guard' preloader.o(.text+0x155):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:336: undefined reference to `__stack_smash_handler' preloader.o(.text+0x1dc): In function `wld_printf': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:339: undefined reference to `__guard' preloader.o(.text+0x228):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:348: undefined reference to `__stack_smash_handler' preloader.o(.text+0x261): In function `fatal_error': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:351: undefined reference to `__guard' preloader.o(.text+0x2b7): In function `get_auxiliary': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:478: undefined reference to `__guard' preloader.o(.text+0x2f8):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:482: undefined reference to `__stack_smash_handler' preloader.o(.text+0x331): In function `map_so_lib': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:493: undefined reference to `__guard' preloader.o(.text+0x809):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:722: undefined reference to `__guard' preloader.o(.text+0x829):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:722: undefined reference to `__stack_smash_handler' preloader.o(.text+0xa77): In function `is_in_preload_range': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:842: undefined reference to `__guard' preloader.o(.text+0xafa):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:857: undefined reference to `__stack_smash_handler' preloader.o(.text+0xb3b): In function `wld_start': /var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/preloader.c:867: undefined reference to `__guard' preloader.o(.text+0x11e6):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:955: undefined reference to `__guard' preloader.o(.text+0x120c):/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader/ preloader.c:955: undefined reference to `__stack_smash_handler' collect2: ld returned 1 exit status make[1]: *** [wine-preloader] Error 1 make[1]: Leaving directory `/var/tmp/portage/wine-cvs-0.0.1/work/wine/loader' make: *** [loader] Error 2
!!! ERROR: app-emulation/wine-cvs-0.0.1 failed. !!! Function src_compile, Line 70, Exitcode 2 !!! (no error message)
I don't know why I am failing here.
I am runing gcc-3.4.2, glibc-2.3.4.20040928-r0 and kernel 2.6.9-rc2-mm3. Before switching to the hardened gcc setup I never had trouble to build Wine CVS.