[PATCH] D30634: [XRay] [compiler-rt] Stub out architectures we don't do arg1 logging on.

Tim Shen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 6 00:38:16 PST 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL297003: [XRay] [compiler-rt] Stub out architectures we don't do arg1 logging on. (authored by timshen).

Changed prior to commit:
  https://reviews.llvm.org/D30634?vs=90654&id=90656#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D30634

Files:
  compiler-rt/trunk/lib/xray/xray_mips.cc
  compiler-rt/trunk/lib/xray/xray_mips64.cc
  compiler-rt/trunk/lib/xray/xray_powerpc64.cc


Index: compiler-rt/trunk/lib/xray/xray_mips64.cc
===================================================================
--- compiler-rt/trunk/lib/xray/xray_mips64.cc
+++ compiler-rt/trunk/lib/xray/xray_mips64.cc
@@ -143,8 +143,9 @@
 }
 
 bool patchFunctionEntry(const bool Enable, const uint32_t FuncId,
-                        const XRaySledEntry &Sled) XRAY_NEVER_INSTRUMENT {
-  return patchSled(Enable, FuncId, Sled, __xray_FunctionEntry);
+                        const XRaySledEntry &Sled,
+                        void (*Trampoline)()) XRAY_NEVER_INSTRUMENT {
+  return patchSled(Enable, FuncId, Sled, Trampoline);
 }
 
 bool patchFunctionExit(const bool Enable, const uint32_t FuncId,
@@ -160,3 +161,7 @@
 }
 
 } // namespace __xray
+
+extern "C" void __xray_ArgLoggerEntry() XRAY_NEVER_INSTRUMENT {
+  // FIXME: this will have to be implemented in the trampoline assembly file
+}
Index: compiler-rt/trunk/lib/xray/xray_powerpc64.cc
===================================================================
--- compiler-rt/trunk/lib/xray/xray_powerpc64.cc
+++ compiler-rt/trunk/lib/xray/xray_powerpc64.cc
@@ -51,7 +51,8 @@
 namespace __xray {
 
 bool patchFunctionEntry(const bool Enable, uint32_t FuncId,
-                        const XRaySledEntry &Sled) XRAY_NEVER_INSTRUMENT {
+                        const XRaySledEntry &Sled,
+                        void (*Trampoline)()) XRAY_NEVER_INSTRUMENT {
   if (Enable) {
     // lis 0, FuncId[16..32]
     // li 0, FuncId[0..15]
@@ -93,3 +94,7 @@
 bool probeRequiredCPUFeatures() XRAY_NEVER_INSTRUMENT { return true; }
 
 } // namespace __xray
+
+extern "C" void __xray_ArgLoggerEntry() XRAY_NEVER_INSTRUMENT {
+  // FIXME: this will have to be implemented in the trampoline assembly file
+}
Index: compiler-rt/trunk/lib/xray/xray_mips.cc
===================================================================
--- compiler-rt/trunk/lib/xray/xray_mips.cc
+++ compiler-rt/trunk/lib/xray/xray_mips.cc
@@ -134,8 +134,9 @@
 }
 
 bool patchFunctionEntry(const bool Enable, const uint32_t FuncId,
-                        const XRaySledEntry &Sled) XRAY_NEVER_INSTRUMENT {
-  return patchSled(Enable, FuncId, Sled, __xray_FunctionEntry);
+                        const XRaySledEntry &Sled,
+                        void (*Trampoline)()) XRAY_NEVER_INSTRUMENT {
+  return patchSled(Enable, FuncId, Sled, Trampoline);
 }
 
 bool patchFunctionExit(const bool Enable, const uint32_t FuncId,
@@ -151,3 +152,7 @@
 }
 
 } // namespace __xray
+
+extern "C" void __xray_ArgLoggerEntry() XRAY_NEVER_INSTRUMENT {
+  // FIXME: this will have to be implemented in the trampoline assembly file
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30634.90656.patch
Type: text/x-patch
Size: 2624 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170306/00b13baa/attachment.bin>


More information about the llvm-commits mailing list