[PATCH] D21930: [ELF] - Implement extern "c++" version script tag

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 7 15:31:36 PDT 2016


ruiu added inline comments.

================
Comment at: ELF/SymbolTable.cpp:560
@@ -558,1 +559,3 @@
 
+static void overrideSymbolVersion(Symbol *Sym, StringRef Entry,
+                                  uint16_t Version) {
----------------
I'd name this `setVersionId`. Also rename Entry -> Name.

================
Comment at: ELF/SymbolTable.cpp:601-607
@@ -586,2 +600,9 @@
+
+      if (Sym.IsExternCpp) {
+        size_t &Ver = DemangledExterns[Sym.Name];
+        if (Ver != 0)
+          warning("duplicate symbol " + Sym.Name + " in version script");
+        Ver = I + 2;
         continue;
+      }
 
----------------
I do not understand the exact logic. Can this handle C++ mangled name patterns that contain glob meta characters?


http://reviews.llvm.org/D21930





More information about the llvm-commits mailing list