Use write instead of read permissions to check for global sections on mac
authorFrancis Ricci <francisjricci@gmail.com>
Fri, 19 May 2017 13:34:02 +0000 (13:34 +0000)
committerFrancis Ricci <francisjricci@gmail.com>
Fri, 19 May 2017 13:34:02 +0000 (13:34 +0000)
commitdd592ff467a1fd6ff983649bbaf746bd13542699
tree7be98c2840e761f599f58718be9f11c42f1b8aa8
parent548e22a1a7313903a18b8a4382066fc907b848c5
Use write instead of read permissions to check for global sections on mac

Summary:
The LINKEDIT section is very large and is read-only. Scanning this
section caused LSan on darwin to be very slow. When only writable sections
are scanned for global pointers, performance improved by a factor of about 25x.

Reviewers: alekseyshl, kubamracek

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33322

llvm-svn: 303422
compiler-rt/lib/lsan/lsan_common_mac.cc
compiler-rt/lib/sanitizer_common/sanitizer_common.cc
compiler-rt/lib/sanitizer_common/sanitizer_common.h
compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cc
compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cc
compiler-rt/lib/sanitizer_common/sanitizer_win.cc