diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/obj2yaml/elf2yaml.cpp | 1 | ||||
-rw-r--r-- | tools/yaml2obj/yaml2elf.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/tools/obj2yaml/elf2yaml.cpp b/tools/obj2yaml/elf2yaml.cpp index 5d19f9c7e6..317c6eb3e6 100644 --- a/tools/obj2yaml/elf2yaml.cpp +++ b/tools/obj2yaml/elf2yaml.cpp @@ -132,6 +132,7 @@ error_code ELFDumper<ELFT>::dumpSymbol(Elf_Sym_Iter Sym, ELFYAML::Symbol &S) { S.Type = Sym->getType(); S.Value = Sym->st_value; S.Size = Sym->st_size; + S.Visibility = Sym->st_other & 0x3; ErrorOr<StringRef> NameOrErr = Obj.getSymbolName(Sym); if (error_code EC = NameOrErr.getError()) diff --git a/tools/yaml2obj/yaml2elf.cpp b/tools/yaml2obj/yaml2elf.cpp index 11a56469b0..467969d21d 100644 --- a/tools/yaml2obj/yaml2elf.cpp +++ b/tools/yaml2obj/yaml2elf.cpp @@ -304,6 +304,7 @@ void ELFState<ELFT>::addSymbols(const std::vector<ELFYAML::Symbol> &Symbols, Symbol.st_shndx = Index; } // else Symbol.st_shndex == SHN_UNDEF (== 0), since it was zero'd earlier. Symbol.st_value = Sym.Value; + Symbol.st_other = Sym.Visibility; Symbol.st_size = Sym.Size; Syms.push_back(Symbol); } |