[PATCH] D69574: Remove lazy thread-initialisation

Matthew Malcomson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 29 11:04:37 PDT 2019


mmalcomson created this revision.
mmalcomson added reviewers: eugenis, pcc, Sanitizers.
mmalcomson added a project: Sanitizers.
Herald added subscribers: llvm-commits, cfe-commits, jfb, hiraditya, srhines.
Herald added projects: clang, LLVM.

As I asked in the comments of https://reviews.llvm.org/D69199, if we're no longer accounting for the late-binding feature then I believe we can remove this lazy thread initialisation complexity.
I've tested with clang and gcc on linux that various threading programs work as expected.

Remove lazy thread initialisation

This was an experiment made possible by a non-standard feature of the Android
dynamic loader.

It required introducing a flag to tell the compiler which ABI was being targeted.
This flag is no longer needed, since the generated code now works for both ABI's.

We leave that flag untouched for backwards compatibility.  This also means that
if we need to distinguish between targeted ABI's again we can do that without
disturbing any existing workflows.

We leave a comment in the source code and mention in the help text to explain
this for any confused person reading the code in the future.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69574

Files:
  clang/include/clang/Driver/Options.td
  compiler-rt/lib/hwasan/hwasan_interceptors.cpp
  compiler-rt/lib/hwasan/hwasan_linux.cpp
  llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
  llvm/test/Instrumentation/HWAddressSanitizer/lazy-thread-init.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69574.226939.patch
Type: text/x-patch
Size: 7704 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191029/c86c5476/attachment.bin>


More information about the cfe-commits mailing list