[PATCH] D30634: [XRay] [compiler-rt] Stub out architectures we don't do arg1 logging on.
Martin Pelikán via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 6 00:02:13 PST 2017
pelikan created this revision.
Herald added subscribers: nemanjai, aemerson.
https://reviews.llvm.org/rL297000 forgot to include code for three architectures that appeared
since I wrote the first version. This gives them the same treatment as ARMs
have for now - write stubs and wait for someone to actually implement it.
https://reviews.llvm.org/D30634
Files:
lib/xray/xray_mips.cc
lib/xray/xray_mips64.cc
lib/xray/xray_powerpc64.cc
Index: lib/xray/xray_powerpc64.cc
===================================================================
--- lib/xray/xray_powerpc64.cc
+++ 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: lib/xray/xray_mips64.cc
===================================================================
--- lib/xray/xray_mips64.cc
+++ 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: lib/xray/xray_mips.cc
===================================================================
--- lib/xray/xray_mips.cc
+++ 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.90654.patch
Type: text/x-patch
Size: 2462 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170306/e4d57b28/attachment.bin>
More information about the llvm-commits
mailing list