[PATCH] D39827: ubsan: Allow programs to use setenv to configure ubsan_standalone.

Peter Collingbourne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 8 18:22:23 PST 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL317757: ubsan: Allow programs to use setenv to configure ubsan_standalone. (authored by pcc).

Changed prior to commit:
  https://reviews.llvm.org/D39827?vs=122186&id=122195#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D39827

Files:
  compiler-rt/trunk/lib/ubsan/CMakeLists.txt
  compiler-rt/trunk/lib/ubsan/ubsan_flags.cc
  compiler-rt/trunk/lib/ubsan/ubsan_init_standalone_preinit.cc


Index: compiler-rt/trunk/lib/ubsan/CMakeLists.txt
===================================================================
--- compiler-rt/trunk/lib/ubsan/CMakeLists.txt
+++ compiler-rt/trunk/lib/ubsan/CMakeLists.txt
@@ -151,7 +151,6 @@
     add_compiler_rt_runtime(clang_rt.ubsan_standalone
       STATIC
       ARCHS ${UBSAN_SUPPORTED_ARCH}
-      SOURCES ubsan_init_standalone_preinit.cc
       OBJECT_LIBS RTSanitizerCommon
               RTSanitizerCommonLibc
               RTUbsan
Index: compiler-rt/trunk/lib/ubsan/ubsan_flags.cc
===================================================================
--- compiler-rt/trunk/lib/ubsan/ubsan_flags.cc
+++ compiler-rt/trunk/lib/ubsan/ubsan_flags.cc
@@ -18,6 +18,8 @@
 #include "sanitizer_common/sanitizer_flags.h"
 #include "sanitizer_common/sanitizer_flag_parser.h"
 
+#include <stdlib.h>
+
 namespace __ubsan {
 
 const char *MaybeCallUbsanDefaultOptions() {
@@ -45,7 +47,7 @@
     CommonFlags cf;
     cf.CopyFrom(*common_flags());
     cf.print_summary = false;
-    cf.external_symbolizer_path = GetEnv("UBSAN_SYMBOLIZER_PATH");
+    cf.external_symbolizer_path = getenv("UBSAN_SYMBOLIZER_PATH");
     OverrideCommonFlags(cf);
   }
 
@@ -59,7 +61,7 @@
   // Override from user-specified string.
   parser.ParseString(MaybeCallUbsanDefaultOptions());
   // Override from environment variable.
-  parser.ParseString(GetEnv("UBSAN_OPTIONS"));
+  parser.ParseString(getenv("UBSAN_OPTIONS"));
   InitializeCommonFlags();
   if (Verbosity()) ReportUnrecognizedFlags();
 
Index: compiler-rt/trunk/lib/ubsan/ubsan_init_standalone_preinit.cc
===================================================================
--- compiler-rt/trunk/lib/ubsan/ubsan_init_standalone_preinit.cc
+++ compiler-rt/trunk/lib/ubsan/ubsan_init_standalone_preinit.cc
@@ -1,37 +0,0 @@
-//===-- ubsan_init_standalone_preinit.cc
-//------------------------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Initialization of standalone UBSan runtime.
-//
-//===----------------------------------------------------------------------===//
-
-#include "ubsan_platform.h"
-#if !CAN_SANITIZE_UB
-#error "UBSan is not supported on this platform!"
-#endif
-
-#include "sanitizer_common/sanitizer_internal_defs.h"
-#include "ubsan_init.h"
-#include "ubsan_signals_standalone.h"
-
-#if SANITIZER_CAN_USE_PREINIT_ARRAY
-
-namespace __ubsan {
-
-static void PreInitAsStandalone() {
-  InitAsStandalone();
-  InitializeDeadlySignals();
-}
-
-} // namespace __ubsan
-
-__attribute__((section(".preinit_array"), used)) void (*__local_ubsan_preinit)(
-    void) = __ubsan::PreInitAsStandalone;
-#endif // SANITIZER_CAN_USE_PREINIT_ARRAY


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39827.122195.patch
Type: text/x-patch
Size: 2882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171109/da138fba/attachment.bin>


More information about the llvm-commits mailing list