[PATCH] D64457: [GWP-ASan] Attempt to fix Android/ARM platforms.
Mitch Phillips via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 24 14:55:49 PST 2020
hctim marked an inline comment as done.
hctim added a comment.
Reviving this a little. `check-gwp_asan` in my aarch64 crostool now WAI, with some warnings during compilation from `ar` and `ranlib`: `unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000`. Looks like this is the PAC/BTI properties from D62609 <https://reviews.llvm.org/D62609>, but doesn't really hurt us here.
@cryptoad - I hear through the grapevine that you're having similar initial-exec TLS alignment issues in the linker (as per the inline comment in this patch). Is that what's stopping you from adding `scudo_standalone` to aarch64/Android on the upstream (LLVM) bots?
================
Comment at: compiler-rt/lib/gwp_asan/guarded_pool_allocator.h:258
// variables in GWP-ASan.
- struct alignas(8) ThreadLocalPackedVariables {
+ struct alignas(64) ThreadLocalPackedVariables {
constexpr ThreadLocalPackedVariables() {}
----------------
This alignment is manually required, as otherwise with my NDK (r18b) the bionic linker complains when running the test that the `executable's TLS segment is underaligned: alignment is 8, needs to be at least 64 for ARM64 Bionic`. Apparently this is fixed in the new NDKv21, but we can't update our bots to that at this time as the migration is nontrivial :( (NDKv21 breaks other things in standalone compiler-rt).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64457/new/
https://reviews.llvm.org/D64457
More information about the llvm-commits
mailing list