http://bugs.winehq.org/show_bug.cgi?id=30862
Bug #: 30862 Summary: New prelink is required for debug builds Product: Wine Version: 1.4 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: build-env AssignedTo: wine-bugs@winehq.org ReportedBy: wrar@wrar.name Classification: Unclassified
At least on current Debian unstable with gcc 4.7.0 and at least with the Debian 1.4 package (which includes -g in CFLAGS) kernel32.dll.so cannot be relocated with prelink older than the latest release (20111012):
prelink: kernel32.dll.so: Unknown DWARF DW_AT_8465 with block DW_FORM
You can see this message in our build logs at e.g. https://buildd.debian.org/status/fetch.php?pkg=wine&arch=i386&ver=1....
It may be not clear from the message but prelink actually exits without changing the binary so kernel32.dll.so is not relocated which causes all bugs that was fixed by adding the relocation.
Support for "DW_AT_8465" which is DW_AT_GNU_call_site_value was added to prelink in r188 on 2011-04-01 so at least in some cases if you build wine with debug, you are required to use prelink >= 20111012, otherwise you deserve the same configure warning that is issued when prelink is not installed. Unfortunately I don'see an easy way to check the prelink binary version as they all report "prelink 1.0" in -V.
When wine is built with gcc 4.6.3 prelink fails on DW_OP_242 (DW_OP_GNU_implicit_pointer) instead which was added in the upstream r187 on 2010-11-23 (so 20111012 is still required). When wine is built with gcc 4.5.3 prelink 20090925 doesn't fail. This may be the real cause of "Steam overlay requires gcc 4.5" reports such as #22053.