[llvm] fa40c53 - [llvm-jitlink] Prevent dead-stripping of test callback

Ben Langmuir via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 18 15:58:00 PST 2022


Author: Ben Langmuir
Date: 2022-01-18T15:57:46-08:00
New Revision: fa40c53960e299f79d1994fa43dbbb31f67b1498

URL: https://github.com/llvm/llvm-project/commit/fa40c53960e299f79d1994fa43dbbb31f67b1498
DIFF: https://github.com/llvm/llvm-project/commit/fa40c53960e299f79d1994fa43dbbb31f67b1498.diff

LOG: [llvm-jitlink] Prevent dead-stripping of test callback

`llvm_jitlink_setTestResultOverride` is used via runtime lookup by
tests, so make sure it is not dead-stripped from llvm-jitlink in release
builds.

Fixes https://github.com/llvm/llvm-project/issues/53203

Differential Revision: https://reviews.llvm.org/D117609

Added: 
    

Modified: 
    llvm/tools/llvm-jitlink/llvm-jitlink.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
index f581ea131f133..aacac7279b599 100644
--- a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
+++ b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
@@ -231,7 +231,8 @@ LLVM_ATTRIBUTE_USED void linkComponents() {
 static bool UseTestResultOverride = false;
 static int64_t TestResultOverride = 0;
 
-extern "C" void llvm_jitlink_setTestResultOverride(int64_t Value) {
+extern "C" LLVM_ATTRIBUTE_USED void
+llvm_jitlink_setTestResultOverride(int64_t Value) {
   TestResultOverride = Value;
   UseTestResultOverride = true;
 }


        


More information about the llvm-commits mailing list