For ppc64 PIE, it seems that [0xa00000000000,0xc00000000000) may be occupied
which will lead to a segfault in certain kernel configurations
(clang-ppc64le-rhel). Use the !kUsingConstantSpaceBeg code path like Fuchsia.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
This certainly fixes all the lsan issues on Ubuntu 18.04, leaving only one failure in the CRT test:
CRT-powerpc64le-linux :: dso_handle.cpp
I'll try to see what that's all about.
Thanks for testing and investigating! If you accept this patch, I'll push it.
leaving only one failure in the CRT test:
CRT-powerpc64le-linux :: dso_handle.cppI'll try to see what that's all about.
Puzzled by this failure :( My ppc64 machine works with the test.
LGTM, asan also uses dynamic allocation, so the performance impact should be acceptable.
This will also increase the kAllocatorSize to 4T, but I guess it is to align with all other platforms, and we should be OK even with RHEL 7.6 (kernel 3.10.0).
Thanks for fixing.
Thanks! This is for -fsanitize=leak which is a very uncommon option (most people just use asan). I think the constant address can probably save one or two instructions in malloc like functions, which really helps little.
Aligning the VM space with other targets improving consistency.