[clang] [clang][RelativeVTables] Make the rtti_proxy LinkOnceODR instead of External linkage (PR #67755)

Petr Hosek via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 3 16:13:44 PDT 2023


================
@@ -639,8 +639,16 @@ void CodeGenVTables::addRelativeComponent(ConstantArrayBuilder &builder,
   // want the stub/proxy to be emitted for properly calculating the offset.
   // Examples where there would be no symbol emitted are available_externally
   // and private linkages.
-  auto stubLinkage = vtableHasLocalLinkage ? llvm::GlobalValue::InternalLinkage
-                                           : llvm::GlobalValue::ExternalLinkage;
+  //
+  // `internal` linkage results in LOCAL Elf linkage while still manifesting a
+  // local symbol.
+  //
+  // `linkonce_odr` linkage results in a DEFAULT Elf linkage but also allows for
----------------
petrhosek wrote:

The same here, use ELF and `STB_GLOBAL` binding (there's no default binding).

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


More information about the cfe-commits mailing list