[Bug 27559] ImgBurn crashes on startup when run with WinVer >= Vista, needs shell32.SHGetKnownFolderIDList()
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Nov 21 15:43:56 CST 2011
http://bugs.winehq.org/show_bug.cgi?id=27559
--- Comment #11 from Anastasius Focht <focht at gmx.net> 2011-11-21 15:43:56 CST ---
Hello Andy,
--- quote ---
I was a bit hasty. I got the reply, which says that -fno-omit-frame-pointer is
present for the 1.3.33 build. Should this report be extracted to a separate bug
then?
--- quote ---
I downloaded the openSUSE 32 bit Wine RPM "wine-32bit-1.3.33-2.1.i586.rpm" from
http://software.opensuse.org/search?q=wine&baseproject=openSUSE%3A12.1 and
extracted everything "offline" using "rpm2cpio wine-32bit-1.3.33-2.1.i586.rpm |
cpio -vid"
Disassembly of "rpcrt4.dll.so" shows the frame pointer is abused everywhere
which explains the crash.
Fortunately the build logs are also available online:
https://build.opensuse.org/package/rawlog?arch=i586&package=wine&project=Emulators%3AWine&repository=openSUSE_12.1
--- snip ---
gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_RPCRT4_
-DCOM_NO_WINDOWS_H -DMSWMSG -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing
-Wdeclaration-after-statement -Wempty-body -Wstrict-prototypes -Wtype-limits
-Wunused-but-set-parameter -Wwrite-strings -fno-omit-frame-pointer
-Wpointer-arith -Wlogical-op -I/usr/include/freetype2 -DLDAP_DEPRECATED=1
-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -o rpc_server.o rpc_server.c
--- snip ---
"-fno-omit-frame-pointer" is passed but overridden later with
"-fomit-frame-pointer".
Hence all binaries are compiled as if default gcc 4.6.x setting is used,
causing app breakage.
The problematic .spec file snippet:
--- snip ---
%ifarch %ix86
# Steam hates it.
export RPM_OPT_FLAGS=`echo %{optflags}|sed -e 's/-fomit-frame-pointer//'`
%endif
CFLAGS="-DLDAP_DEPRECATED=1 %{optflags}" \
...
--- snip ---
corresponding output:
--- snip ---
++ echo -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g
++ sed -e s/-fomit-frame-pointer//
+ export 'RPM_OPT_FLAGS= -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g'
+ RPM_OPT_FLAGS=' -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g'
+ CFLAGS='-DLDAP_DEPRECATED=1 -fomit-frame-pointer -fmessage-length=0 -O2 -Wall
-D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
-fasynchronous-unwind-tables -g'
--- snip ---
%optflags vs. $RPM_OPT_FLAGS
All openSUSE 12.x 32 bit Wine builds had this problem from the beginning.
Anyway this is a packaging bug, not Wine.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list