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/
_______________________________________________
SeaBIOS mailing list
[email protected]
http://www.seabios.org/mailman/listinfo/seabios

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to