summaryrefslogtreecommitdiff
path: root/lib/asan/asan_activation.cc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-07-28 20:27:51 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-07-28 20:27:51 +0000
commit88355c5dc907d1b088c0ce48e08bb65583366551 (patch)
tree57ad9f6883e3a1d8ef0e5d83e3afe8cf42fe15d8 /lib/asan/asan_activation.cc
parentf36d0cbdfa9c1d3579a9890642b153d32376ded6 (diff)
[asan] Read process name from /proc/self/cmdline on Linux.
Rename getBinaryBasename() to getProcessName() and, on Linux, read it from /proc/self/cmdline instead of /proc/self/exe. The former can be modified by the process. The main motivation is Android, where application processes re-write cmdline to a package name. This lets us setup per-application ASAN_OPTIONS through include=/some/path/%b. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@243473 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/asan_activation.cc')
-rw-r--r--lib/asan/asan_activation.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/asan/asan_activation.cc b/lib/asan/asan_activation.cc
index 8d86245b4..1d3582c16 100644
--- a/lib/asan/asan_activation.cc
+++ b/lib/asan/asan_activation.cc
@@ -124,6 +124,8 @@ void AsanActivate() {
if (!asan_is_deactivated) return;
VReport(1, "Activating ASan\n");
+ UpdateProcessName();
+
asan_deactivated_flags.OverrideFromActivationFlags();
SetCanPoisonMemory(asan_deactivated_flags.poison_heap);