[mlir] [flang] [lld] [llvm] [clang] [ELF] Merge exportDynamic into versionId (PR #71272)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 6 09:16:32 PST 2023


================
@@ -316,9 +308,25 @@ class Symbol {
   // This field is a index to the symbol's version definition.
   uint16_t verdefIndex;
 
-  // Version definition index.
-  uint16_t versionId;
+  // Used by a Defined symbol with protected or default visibility, to record
+  // the verdef index and whether the symbol is exported into .dynsym.
+  // * -1 (initial): not exported, binding unchanged
----------------
MaskRay wrote:

The most significant bit is for VERSYM_HIDDEN 0x8000, so the largest version index is 0x7fff. This changes means that we cannot use 0x7fff as the version index. 

In practice, version indexes don't even reach 256...

https://github.com/llvm/llvm-project/pull/71272


More information about the llvm-commits mailing list