On Mon, May 26, 2014 at 08:57:11AM +0400, Konstantin Serebryany wrote:
> Last time I tried, asan did not work on ppc32 for a large number of
> different reasons.
???
Comparing my 4.9.0 ppc/ppc64 testresults, for 32-bit I see:
FAIL: c-c++-common/asan/null-deref-1.c -O0 output pattern test, is
ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O1 output pattern test, is
ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O2 output pattern test, is
ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O3 -fomit-frame-pointer output
pattern test, is ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O3 -g output pattern test, is
ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -Os output pattern test, is
ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto -fno-use-linker-plugin
-flto-partition=none output pattern test, is ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects output pattern test, is ASAN:SIGSEGV
FAIL: c-c++-common/asan/pr59063-2.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects (test for excess errors)
UNRESOLVED: c-c++-common/asan/pr59063-2.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects compilation failed to produce executable
and for 64-bit:
FAIL: c-c++-common/asan/null-deref-1.c -O2 output pattern test, is
ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O3 -fomit-frame-pointer output
pattern test, is ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O3 -g output pattern test, is
ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto -fno-use-linker-plugin
-flto-partition=none output pattern test, is ASAN:SIGSEGV
FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects output pattern test, is ASAN:SIGSEGV
FAIL: c-c++-common/asan/pr59063-2.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects (test for excess errors)
UNRESOLVED: c-c++-common/asan/pr59063-2.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects compilation failed to produce executable
FAIL: c-c++-common/asan/swapcontext-test-1.c -O0 execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O1 execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O2 execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O3 -fomit-frame-pointer
execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O3 -fomit-frame-pointer
-funroll-loops execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O3 -g execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -Os execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O2 -flto -fno-use-linker-plugin
-flto-partition=none execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects execution test
Doesn't look like the ppc32 port would be in any worse shape than the 64-bit
one.
Peter has brought a real problem, in particular the allocator now newly relying
on
2 x word size atomics which is definitely non-portable, I don't see why the
answer
to that should be disable your port or build a buildbot.
Jakub