[llvm] Add symbol version support to llvm-ifs (PR #163030)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 3 22:39:58 PDT 2026
================
@@ -244,18 +380,28 @@ template <class ELFT> class ELFStubBuilder {
// Fill Addr back to dynamic table.
DynTab.Content.modifyAddr(DynSymIndex, DynSym.Addr);
DynTab.Content.modifyAddr(DynStrIndex, DynStr.Addr);
+ if (HasVersion) {
+ DynTab.Content.modifyAddr(VerSymIndex, VerSym.Addr);
+ DynTab.Content.modifyAddr(VerDefIndex, VerDef.Addr);
+ }
// Write section headers of string tables.
fillSymTabShdr(DynSym, SHT_DYNSYM);
fillStrTabShdr(DynStr, SHF_ALLOC);
fillDynTabShdr(DynTab);
fillStrTabShdr(ShStrTab);
+ if (HasVersion) {
+ fillVerSymShdr(VerSym);
+ fillVerDefShdr(VerDef, Vdndx);
----------------
ur4t wrote:
There are always at least 2 definitions: `0` for `local` and `1` for `global`.
Ref: https://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/symversion.html#SYMVERTBL
https://github.com/llvm/llvm-project/pull/163030
More information about the llvm-commits
mailing list