[compiler-rt] r180602 - Revert r180599 "[sanitizer] Clear LD_PRELOAD when forking an external symbolizer."
Alexander Potapenko
glider at google.com
Fri Apr 26 07:13:12 PDT 2013
What happened?
On Fri, Apr 26, 2013 at 5:01 PM, Sergey Matveev <earthdok at google.com> wrote:
> 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);
> }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
--
Alexander Potapenko
Software Engineer
Google Moscow
More information about the llvm-commits
mailing list