[compiler-rt] r180602 - Revert r180599 "[sanitizer] Clear LD_PRELOAD when forking an external symbolizer."

Sergey Matveev earthdok at google.com
Fri Apr 26 06:01:41 PDT 2013


Author: smatveev
Date: Fri Apr 26 08:01:40 2013
New Revision: 180602

URL: http://llvm.org/viewvc/llvm-project?rev=180602&view=rev
Log:
Revert r180599 "[sanitizer] Clear LD_PRELOAD when forking an external symbolizer."

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_linux.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h?rev=180602&r1=180601&r2=180602&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h Fri Apr 26 08:01:40 2013
@@ -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();

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=180602&r1=180601&r2=180602&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc Fri Apr 26 08:01:40 2013
@@ -278,20 +278,6 @@ bool SetEnv(const char *name, const char
 }
 #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" {

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_linux.cc?rev=180602&r1=180601&r2=180602&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_linux.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_linux.cc Fri Apr 26 08:01:40 2013
@@ -100,11 +100,6 @@ bool StartSymbolizerSubprocess(const cha
     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);
   }





More information about the llvm-commits mailing list