[PATCH] [compiler-rt] Add a __attribute__((constructor)) AsanInitFromRtl initializer for OS X

Kuba Brecka kuba.brecka at gmail.com
Wed Jan 21 20:17:09 PST 2015


Hi everyone,

this is an OS X specific patch that adds a dyld initializer (marked with `__attribute__((constructor))`) which just calls AsanInitFromRtl.  The idea is to ensure that the ASan runtime gets initialized early (i.e. before other initializers/constructors) even when DYLD_INSERT_LIBRARIES is not used.  In that case, the interceptors are not installed (on OS X, DYLD_INSERT_LIBRARIES is required for interceptors to work), and therefore ASan gets currently initialized quite late -- from the main executable's module initializer. The following issues are a consequence of this:

* https://code.google.com/p/address-sanitizer/issues/detail?id=363
* https://code.google.com/p/address-sanitizer/issues/detail?id=357

Both of them are fixed with this patch.

http://reviews.llvm.org/D7117

Files:
  lib/asan/asan_mac.cc
  test/asan/TestCases/Darwin/linked-only.cc
  test/asan/TestCases/Darwin/mixing-global-constructors.cc

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7117.18580.patch
Type: text/x-patch
Size: 2824 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150122/d5e0c105/attachment.bin>


More information about the llvm-commits mailing list