[llvm] 29ff2e8 - [JILink][ELF] Include binding and visibility values in error messages.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 18 01:19:15 PDT 2021


Author: Lang Hames
Date: 2021-08-18T18:19:06+10:00
New Revision: 29ff2e879f65689c12b95b3377b08160236fce1f

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

LOG: [JILink][ELF] Include binding and visibility values in error messages.

This should make it easier to track down JITLink errors for unrecognized
binding or visibility types, e.g.
https://lab.llvm.org/buildbot#builders/112/builds/8599.

Added: 
    

Modified: 
    llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h

Removed: 
    


################################################################################
diff  --git a/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h b/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
index 2b2a1a8db4c1d..20738b0c9c83d 100644
--- a/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
+++ b/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
@@ -173,8 +173,10 @@ ELFLinkGraphBuilder<ELFT>::getSymbolLinkageAndScope(
     L = Linkage::Weak;
     break;
   default:
-    return make_error<StringError>("Unrecognized symbol binding for " + Name,
-                                   inconvertibleErrorCode());
+    return make_error<StringError>(
+        "Unrecognized symbol binding " +
+            Twine(static_cast<int>(Sym.getBinding())) + " for " + Name,
+        inconvertibleErrorCode());
   }
 
   switch (Sym.getVisibility()) {
@@ -190,8 +192,10 @@ ELFLinkGraphBuilder<ELFT>::getSymbolLinkageAndScope(
       S = Scope::Hidden;
     break;
   case ELF::STV_INTERNAL:
-    return make_error<StringError>("Unrecognized symbol visibility for " + Name,
-                                   inconvertibleErrorCode());
+    return make_error<StringError>(
+        "Unrecognized symbol visibility " +
+            Twine(static_cast<int>(Sym.getVisibility())) + " for " + Name,
+        inconvertibleErrorCode());
   }
 
   return std::make_pair(L, S);


        


More information about the llvm-commits mailing list