diff options
author | Sergey Matveev <earthdok@google.com> | 2013-04-26 13:01:40 +0000 |
---|---|---|
committer | Sergey Matveev <earthdok@google.com> | 2013-04-26 13:01:40 +0000 |
commit | 62db3f26edf6c17ab562c0480176341303a9463a (patch) | |
tree | 2af7ae5be68471f95d4b10a94cdb0e1c9b6a30b5 | |
parent | ab06583d10baafeb657ad3e87d77f4ebfb2a6190 (diff) | |
download | compiler-rt-62db3f26edf6c17ab562c0480176341303a9463a.tar.gz |
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
-rw-r--r-- | lib/sanitizer_common/sanitizer_common.h | 1 | ||||
-rw-r--r-- | lib/sanitizer_common/sanitizer_linux.cc | 14 | ||||
-rw-r--r-- | lib/sanitizer_common/sanitizer_symbolizer_linux.cc | 5 |
3 files changed, 0 insertions, 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); } |