On Mon, Dec 2, 2013 at 4:49 PM, Uros Bizjak <ubiz...@gmail.com> wrote:
>>> Does it support using libbacktrace in GCC? >> >> Not on it's own, but the support in the upstream maintained files >> is there, so hopefully it will be just a matter of follow-up patch >> with configury/Makefile etc. stuff, I'll work on it once the merge is >> committed. >> >> What is more important now is to test the patch Kostya posted on non-x86_64 >> targets and/or older kernel headers (say RHEL5, older SLES, etc.). > > Unfortunately, the build breaks on CentOS 5.10 (= RHEL5) with: > > libtool: compile: /home/uros/gcc-build-xxx/./gcc/xgcc -shared-libgcc > -B/home/uros/gcc-build-xxx/./gcc -nostdinc++ > -L/home/uros/gcc-build-xxx/x86_64-unknown-linux-gnu/libstdc++-v3/src > -L/home/uros/gcc-build-xxx/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs > -L/home/uros/gcc-build-xxx/x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs > -B/usr/local/x86_64-unknown-linux-gnu/bin/ > -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem > /usr/local/x86_64-unknown-linux-gnu/include -isystem > /usr/local/x86_64-unknown-linux-gnu/sys-include -D_GNU_SOURCE -D_DEBUG > -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS > -I. -I../../../../gcc-svn/trunk/libsanitizer/sanitizer_common -I > ../../../../gcc-svn/trunk/libsanitizer/include -Wall -W > -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC > -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer > -funwind-tables -fvisibility=hidden -Wno-variadic-macros > -I../../libstdc++-v3/include > -I../../libstdc++-v3/include/x86_64-unknown-linux-gnu > -I../../../../gcc-svn/trunk/libsanitizer/../libstdc++-v3/libsupc++ -g > -O2 -D_GNU_SOURCE -MT sanitizer_platform_limits_linux.lo -MD -MP -MF > .deps/sanitizer_platform_limits_linux.Tpo -c > ../../../../gcc-svn/trunk/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc > -fPIC -DPIC -o .libs/sanitizer_platform_limits_linux.o > ../../../../gcc-svn/trunk/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:54:30: > fatal error: linux/perf_event.h: No such file or directory > #include <linux/perf_event.h> > ^ > compilation terminated. > gmake[4]: *** [sanitizer_platform_limits_linux.lo] Error 1 > gmake[4]: *** Waiting for unfinished jobs.... I was able to compile sanitizer with r206475 (after Jakub's fixes) and run the testsuite. However, on 64bit target, I got some failures in asan and several timeouts in tsan [1]. Looking at: FAIL: c-c++-common/tsan/atomic_stack.c -O2 output pattern test, is , should match WARNING: ThreadSanitizer: data race.*( WARNING: program timed out. the execution hangs in: Program received signal SIGINT, Interrupt. 0x00002aaaac0c5652 in malloc_consolidate () from /lib64/libc.so.6 (gdb) bt #0 0x00002aaaac0c5652 in malloc_consolidate () from /lib64/libc.so.6 #1 0x00002aaaac0c6461 in mallopt () from /lib64/libc.so.6 #2 0x00002aaaaaf1a0e7 in __tsan::InitializeInterceptors () at ../../../../gcc-svn/trunk/libsanitizer/tsan/tsan_interceptors.cc:2099 #3 0x00002aaaaaef8ab4 in __tsan::Initialize (thr=0x2aaaac3aa9e0 <main_arena>) at ../../../../gcc-svn/trunk/libsanitizer/tsan/tsan_rtl.cc:223 #4 0x00002aaaaaf016a8 in ScopedInterceptor::ScopedInterceptor (this=0x7fffffffda00, thr=0x2aaaacf0f580, fname=<optimized out>, pc=46912524510627) at ../../../../gcc-svn/trunk/libsanitizer/tsan/tsan_interceptors.cc:173 #5 0x00002aaaaaf16d77 in __interceptor_memset (dst=0x7fffffffda68, v=0, size=128) at ../../../../gcc-svn/trunk/libsanitizer/tsan/tsan_interceptors.cc:621 #6 0x00002aaaac5be5a3 in __pthread_initialize_minimal_internal () from /lib64/libpthread.so.0 #7 0x00002aaaac5bddd9 in _init () from /lib64/libpthread.so.0 #8 0x0000000000000000 in ?? () The 32 bit target executes tsan tests without problems. [1] http://gcc.gnu.org/ml/gcc-testresults/2014-01/msg00689.html Uros.