[PATCH] D30396: [XRay][compiler-rt] Switch default XRay 'patch_premain' to false

Dean Michael Berris via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 26 23:47:40 PST 2017


dberris created this revision.
Herald added a subscriber: mehdi_amini.

Currently, we assume that applications built with XRay would like to
have the instrumentation sleds patched before main starts. This patch
changes the default so that we do not patch the instrumentation sleds
before main. This default is more helpful for deploying applications in
environments where changing the current default is harder (i.e. on
remote machines, or work-pool-like systems).

This default (not to patch pre-main) makes it easier to selectively run
applications with XRay instrumentation enabled, than with the current
state.


https://reviews.llvm.org/D30396

Files:
  lib/xray/xray_flags.inc
  test/xray/TestCases/Linux/argv0-log-file-name.cc
  test/xray/TestCases/Linux/fixedsize-logging.cc
  test/xray/TestCases/Linux/optional-inmemory-log.cc
  test/xray/TestCases/Linux/pic_test.cc


Index: test/xray/TestCases/Linux/pic_test.cc
===================================================================
--- test/xray/TestCases/Linux/pic_test.cc
+++ test/xray/TestCases/Linux/pic_test.cc
@@ -1,7 +1,7 @@
 // Test to check if we handle pic code properly.
 
 // RUN: %clangxx_xray -fxray-instrument -std=c++11 -fpic %s -o %t
-// RUN: XRAY_OPTIONS="verbosity=1 xray_logfile_base=pic-test-logging-" %run %t 2>&1 | FileCheck %s
+// RUN: XRAY_OPTIONS="patch_premain=true verbosity=1 xray_logfile_base=pic-test-logging-" %run %t 2>&1 | FileCheck %s
 // After all that, clean up the output xray log.
 //
 // RUN: rm pic-test-logging-*
Index: test/xray/TestCases/Linux/optional-inmemory-log.cc
===================================================================
--- test/xray/TestCases/Linux/optional-inmemory-log.cc
+++ test/xray/TestCases/Linux/optional-inmemory-log.cc
@@ -2,7 +2,7 @@
 // we turn it off via options.
 
 // RUN: %clangxx_xray -std=c++11 %s -o %t
-// RUN: XRAY_OPTIONS="verbosity=1 xray_naive_log=false xray_logfile_base=optional-inmemory-log.xray-" %run %t 2>&1 | FileCheck %s
+// RUN: XRAY_OPTIONS="patch_premain=true verbosity=1 xray_naive_log=false xray_logfile_base=optional-inmemory-log.xray-" %run %t 2>&1 | FileCheck %s
 //
 // Make sure we clean out the logs in case there was a bug.
 //
Index: test/xray/TestCases/Linux/fixedsize-logging.cc
===================================================================
--- test/xray/TestCases/Linux/fixedsize-logging.cc
+++ test/xray/TestCases/Linux/fixedsize-logging.cc
@@ -1,7 +1,7 @@
 // Check to make sure that we have a log file with a fixed-size.
 
 // RUN: %clangxx_xray -std=c++11 %s -o %t
-// RUN: XRAY_OPTIONS="verbosity=1 xray_logfile_base=fixedsize-logging-" %run %t 2>&1 | FileCheck %s
+// RUN: XRAY_OPTIONS="patch_premain=true xray_naive_log=true verbosity=1 xray_logfile_base=fixedsize-logging-" %run %t 2>&1 | FileCheck %s
 //
 // After all that, clean up the output xray log.
 //
Index: test/xray/TestCases/Linux/argv0-log-file-name.cc
===================================================================
--- test/xray/TestCases/Linux/argv0-log-file-name.cc
+++ test/xray/TestCases/Linux/argv0-log-file-name.cc
@@ -2,7 +2,7 @@
 // name.
 
 // RUN: %clangxx_xray -std=c++11 %s -o %t
-// RUN: %run %t > xray.log.file.name 2>&1
+// RUN: XRAY_OPTIONS="patch_premain=true xray_naive_log=true" %run %t > xray.log.file.name 2>&1
 // RUN: ls | FileCheck xray.log.file.name
 // RUN: rm xray-log.* xray.log.file.name
 
Index: lib/xray/xray_flags.inc
===================================================================
--- lib/xray/xray_flags.inc
+++ lib/xray/xray_flags.inc
@@ -14,7 +14,7 @@
 #error "Define XRAY_FLAG prior to including this file!"
 #endif
 
-XRAY_FLAG(bool, patch_premain, true,
+XRAY_FLAG(bool, patch_premain, false,
           "Whether to patch instrumentation points before main.")
 XRAY_FLAG(bool, xray_naive_log, true,
           "Whether to install the naive log implementation.")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30396.89844.patch
Type: text/x-patch
Size: 2979 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170227/658c9dda/attachment.bin>


More information about the llvm-commits mailing list