[llvm] Add symbol version support to llvm-ifs (PR #163030)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 14 14:23:39 PST 2026
================
@@ -124,6 +128,88 @@ template <class ELFT> class ELFSymbolTableBuilder {
llvm::SmallVector<Elf_Sym, 8> Symbols;
};
+template <class ELFT> class ELFVersionSymbolBuilder {
+public:
+ using Elf_Versym = typename ELFT::Versym;
+
+ ELFVersionSymbolBuilder() { VerSyms.push_back({}); }
+
+ void add(uint16_t Index) {
+ Elf_Versym VerSym;
+ VerSym.vs_index = Index;
+ VerSyms.push_back(VerSym);
+ }
+
+ size_t getSize() const { return VerSyms.size() * sizeof(Elf_Versym); }
+
+ void write(uint8_t *Buf) const {
+ memcpy(Buf, VerSyms.data(), VerSyms.size() * sizeof(Elf_Versym));
----------------
zeroomega wrote:
Replace with getSize() to reduce duplicated code?
https://github.com/llvm/llvm-project/pull/163030
More information about the llvm-commits
mailing list