aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Matveev <earthdok@google.com>2013-04-26 13:01:40 +0000
committerSergey Matveev <earthdok@google.com>2013-04-26 13:01:40 +0000
commit62db3f26edf6c17ab562c0480176341303a9463a (patch)
tree2af7ae5be68471f95d4b10a94cdb0e1c9b6a30b5
parentab06583d10baafeb657ad3e87d77f4ebfb2a6190 (diff)
downloadcompiler-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.h1
-rw-r--r--lib/sanitizer_common/sanitizer_linux.cc14
-rw-r--r--lib/sanitizer_common/sanitizer_symbolizer_linux.cc5
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);
}