From 62db3f26edf6c17ab562c0480176341303a9463a Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Fri, 26 Apr 2013 13:01:40 +0000 Subject: Revert r180599 "[sanitizer] Clear LD_PRELOAD when forking an external symbolizer." git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@180602 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/sanitizer_common/sanitizer_common.h | 1 - lib/sanitizer_common/sanitizer_linux.cc | 14 -------------- lib/sanitizer_common/sanitizer_symbolizer_linux.cc | 5 ----- 3 files changed, 20 deletions(-) diff --git a/lib/sanitizer_common/sanitizer_common.h b/lib/sanitizer_common/sanitizer_common.h index 9335ca71a..9df510b85 100644 --- a/lib/sanitizer_common/sanitizer_common.h +++ b/lib/sanitizer_common/sanitizer_common.h @@ -131,7 +131,6 @@ void DumpProcessMap(); bool FileExists(const char *filename); const char *GetEnv(const char *name); bool SetEnv(const char *name, const char *value); -void UnsetEnv(const char *name); const char *GetPwd(); u32 GetUid(); void ReExec(); diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc index 1c9cbf83a..ef185571a 100644 --- a/lib/sanitizer_common/sanitizer_linux.cc +++ b/lib/sanitizer_common/sanitizer_linux.cc @@ -278,20 +278,6 @@ bool SetEnv(const char *name, const char *value) { } #endif -void UnsetEnv(const char *name) { - uptr name_length = internal_strlen(name); - uptr last = 0; - while (environ[last]) last++; - for (uptr i = 0; environ[i]; i++) - if (internal_strlen(environ[i]) >= name_length + 1 && - internal_strncmp(environ[i], name, name_length) == 0 && - environ[i][name_length] == '=') { - last--; - environ[i] = environ[last]; - environ[last] = 0; - } -} - #ifdef __GLIBC__ extern "C" { diff --git a/lib/sanitizer_common/sanitizer_symbolizer_linux.cc b/lib/sanitizer_common/sanitizer_symbolizer_linux.cc index 5c98e93ac..14a682bd9 100644 --- a/lib/sanitizer_common/sanitizer_symbolizer_linux.cc +++ b/lib/sanitizer_common/sanitizer_symbolizer_linux.cc @@ -100,11 +100,6 @@ bool StartSymbolizerSubprocess(const char *path_to_symbolizer, internal_close(infd[1]); for (int fd = getdtablesize(); fd > 2; fd--) internal_close(fd); - // If the parent tool is used as a preloadable library, do not apply it to - // the symbolizer. - // FIXME: If LD_PRELOAD contains more than one object, we should keep those - // that have nothing to do with us. - UnsetEnv("LD_PRELOAD"); execl(path_to_symbolizer, path_to_symbolizer, (char*)0); internal__exit(1); } -- cgit v1.2.1