[pulseaudio-discuss] `LDFLAGS` are not passed down preventing usage of AddressSanitizer (ASan)
Paul Menzel
paulepanter at users.sourceforge.net
Sat May 2 13:25:21 PDT 2015
Dear PulseAudio folks,
my goal is to build PulseAudio with the “fast memory error detector”
AddressSanitizer (ASan) [1].
$ CFLAGS="-O1 -g -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address" ./autogen.sh
$ CFLAGS="-O1 -g -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address" make V=1
[…]
$ cd src/
$ $ gcc -std=gnu99 -shared -fPIC -DPIC modules/.libs/module_console_kit_la-module-console-kit.o -Wl,-rpath -Wl,/src/pulseaudio/src/.libs -Wl,-rpath -Wl,/usr/local/lib/pulseaudio ./.libs/libpulsecore-6.0.so ./.libs/libpulsecommon-6.0.so ./.libs/libpulse.so -ldbus-1 -lcap -lpthread -lrt -ldl -lm -pthread -O1 -Wl,-z -Wl,nodelete -Wl,--no-undefined -pthread -Wl,-soname -Wl,module-console-kit.so -o .libs/module-console-kit.so
modules/.libs/module_console_kit_la-module-console-kit.o: In function `add_session':
/src/pulseaudio/src/modules/module-console-kit.c:64: undefined reference to `__asan_option_detect_stack_use_after_return'
/src/pulseaudio/src/modules/module-console-kit.c:64: undefined reference to `__asan_stack_malloc_2'
/src/pulseaudio/src/modules/module-console-kit.c:73: undefined reference to `__asan_report_load4'
/src/pulseaudio/src/modules/module-console-kit.c:83: undefined reference to `__asan_report_load4'
/src/pulseaudio/src/modules/module-console-kit.c:103: undefined reference to `__asan_report_store4'
/src/pulseaudio/src/modules/module-console-kit.c:106: undefined reference to `__asan_report_load4'
/src/pulseaudio/src/modules/module-console-kit.c:110: undefined reference to `__asan_report_load4'
/src/pulseaudio/src/modules/module-console-kit.c:110: undefined reference to `__asan_report_store4'
/src/pulseaudio/src/modules/module-console-kit.c:113: undefined reference to `__asan_report_load4'
/src/pulseaudio/src/modules/module-console-kit.c:114: undefined reference to `__asan_report_load4'
/src/pulseaudio/src/modules/module-console-kit.c:119: undefined reference to `__asan_report_load4'
/src/pulseaudio/src/modules/module-console-kit.c:119: undefined reference to `__asan_report_load4'
So it looks like `LDFLAGS` has gone missing here. Adding
`-fsanitize=address` manually results in successful linking.
$ gcc -std=gnu99 -shared -fsanitize=address -fPIC -DPIC modules/.libs/module_console_kit_la-module-console-kit.o -Wl,-rpath -Wl,/src/pulseaudio/src/.libs -Wl,-rpath -Wl,/usr/local/lib/pulseaudio ./.libs/libpulsecore-6.0.so ./.libs/libpulsecommon-6.0.so ./.libs/libpulse.so -ldbus-1 -lcap -lpthread -lrt -ldl -lm -pthread -O1 -Wl,-z -Wl,nodelete -Wl,--no-undefined -pthread -Wl,-soname -Wl,module-console-kit.so -o .libs/module-console-kit.so
$ ls .libs/module-console-kit.so
.libs/module-console-kit.so
Am I using the build system incorrectly or is this a bug?
Thanks,
Paul
[1] https://code.google.com/p/address-sanitizer/
-------------- next part --------------
_______________________________________________
SeaBIOS mailing list
SeaBIOS at seabios.org
http://www.seabios.org/mailman/listinfo/seabios
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150502/80acdf3f/attachment.sig>
More information about the pulseaudio-discuss
mailing list