parent
fe35b9d472
commit
34d17fb54d
|
@ -27,8 +27,7 @@ class ELFDumper {
|
||||||
|
|
||||||
const object::ELFFile<ELFT> &Obj;
|
const object::ELFFile<ELFT> &Obj;
|
||||||
|
|
||||||
std::error_code dumpSymbol(const Elf_Sym *Sym, bool IsDynamic,
|
std::error_code dumpSymbol(const Elf_Sym *Sym, ELFYAML::Symbol &S);
|
||||||
ELFYAML::Symbol &S);
|
|
||||||
std::error_code dumpCommonSection(const Elf_Shdr *Shdr, ELFYAML::Section &S);
|
std::error_code dumpCommonSection(const Elf_Shdr *Shdr, ELFYAML::Section &S);
|
||||||
std::error_code dumpCommonRelocationSection(const Elf_Shdr *Shdr,
|
std::error_code dumpCommonRelocationSection(const Elf_Shdr *Shdr,
|
||||||
ELFYAML::RelocationSection &S);
|
ELFYAML::RelocationSection &S);
|
||||||
|
@ -130,7 +129,7 @@ ErrorOr<ELFYAML::Object *> ELFDumper<ELFT>::dump() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ELFYAML::Symbol S;
|
ELFYAML::Symbol S;
|
||||||
if (std::error_code EC = ELFDumper<ELFT>::dumpSymbol(&Sym, false, S))
|
if (std::error_code EC = ELFDumper<ELFT>::dumpSymbol(&Sym, S))
|
||||||
return EC;
|
return EC;
|
||||||
|
|
||||||
switch (Sym.getBinding())
|
switch (Sym.getBinding())
|
||||||
|
@ -153,14 +152,14 @@ ErrorOr<ELFYAML::Object *> ELFDumper<ELFT>::dump() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ELFT>
|
template <class ELFT>
|
||||||
std::error_code ELFDumper<ELFT>::dumpSymbol(const Elf_Sym *Sym, bool IsDynamic,
|
std::error_code ELFDumper<ELFT>::dumpSymbol(const Elf_Sym *Sym,
|
||||||
ELFYAML::Symbol &S) {
|
ELFYAML::Symbol &S) {
|
||||||
S.Type = Sym->getType();
|
S.Type = Sym->getType();
|
||||||
S.Value = Sym->st_value;
|
S.Value = Sym->st_value;
|
||||||
S.Size = Sym->st_size;
|
S.Size = Sym->st_size;
|
||||||
S.Other = Sym->st_other;
|
S.Other = Sym->st_other;
|
||||||
|
|
||||||
ErrorOr<StringRef> NameOrErr = Obj.getSymbolName(Sym, IsDynamic);
|
ErrorOr<StringRef> NameOrErr = Obj.getStaticSymbolName(Sym);
|
||||||
if (std::error_code EC = NameOrErr.getError())
|
if (std::error_code EC = NameOrErr.getError())
|
||||||
return EC;
|
return EC;
|
||||||
S.Name = NameOrErr.get();
|
S.Name = NameOrErr.get();
|
||||||
|
|
Loading…
Reference in New Issue