[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