[Bug 40330] New: Build fails with AddressSanitizer.

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Mar 18 19:38:31 CDT 2016


https://bugs.winehq.org/show_bug.cgi?id=40330

            Bug ID: 40330
           Summary: Build fails with AddressSanitizer.
           Product: Wine
           Version: 1.9.5
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: adam.buchbinder at gmail.com
      Distribution: ---

https://wiki.winehq.org/Building_Wine#Memory_.26_Address_Checkers describes
using AddressSanitizer with Wine. It seems not to compile. I'm using:

$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4

A short excerpt:

$ ./configure --enable-win64 CFLAGS="-g -O1 -fsanitize=address"
...
$ make
...
make[1]: Entering directory `/home/abuchbinder/software/wine/tools'
LC_ALL=C sed -e 's, at bindir\@,/usr/local/bin,g' -e
's, at dlldir\@,/usr/local/lib64/wine,g' -e 's, at PACKAGE_STRING\@,Wine 1.9.6,g' -e
's, at PACKAGE_VERSION\@,1.9.6,g' wineapploader.in >wineapploader || (rm -f
wineapploader && false)
gcc -m64 -c -o make_xftmpl.o make_xftmpl.c -I. -I../include -D__WINESRC__ -Wall
-pipe -fno-strict-aliasing \
  -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers
-Wstrict-prototypes -Wtype-limits \
  -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op
-gdwarf-2 \
  -gstrict-dwarf -g -O1 -fsanitize=address -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=0
gcc -m64 -o make_xftmpl make_xftmpl.o ../libs/port/libwine_port.a 
make_xftmpl.o: In function `exit_on_signal':
/home/abuchbinder/software/wine/tools/make_xftmpl.c:413: undefined reference to
`__asan_handle_no_return'
make_xftmpl.o: In function `fatal_error':
/home/abuchbinder/software/wine/tools/make_xftmpl.c:127: undefined reference to
`__asan_handle_no_return'
...

and so on. The problem here is that the command:

gcc -m64 -o make_xftmpl make_xftmpl.o ../libs/port/libwine_port.a 

should be:

gcc -m64 -o make_xftmpl make_xftmpl.o ../libs/port/libwine_port.a
-fsanitize=address

I can work around this in part with:

$ find . -name Makefile|xargs perl -pi -e 's/^(CC = gcc -m64)$/\1
-fsanitize=address/'

... but that's probably not the right way to do this, and it only works for
tools/ and not dlls/ anyway. My Makefile-fu is not strong; I'm sure I'm missing
something about how the configuration system works, but I'm equally sure that
this is something worth reporting even if I'm not entirely certain what's going
on.

-- 
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