diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-04-02 22:52:46 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-04-02 22:52:46 +0000 |
commit | af9129468e4ac0ea5b2f17564b27a20485ba9484 (patch) | |
tree | c50425c9dba56e7cca31032ac7b6713afdb3c916 /llvm/lib/Object | |
parent | 4da0a0c87b1c36ad7c59537240b885c8da683378 (diff) | |
download | bcm5719-llvm-af9129468e4ac0ea5b2f17564b27a20485ba9484.tar.gz bcm5719-llvm-af9129468e4ac0ea5b2f17564b27a20485ba9484.zip |
Fix a nomenclature error in llvm-nm.
What llvm-nm prints depends on the file format. On ELF for example, if the
file is relocatable, it prints offsets. If it is not, it prints addresses.
Since it doesn't really need to care what it is that it is printing, use the
generic term value.
Fix or implement getSymbolValue to keep llvm-nm working.
llvm-svn: 205479
Diffstat (limited to 'llvm/lib/Object')
-rw-r--r-- | llvm/lib/Object/COFFObjectFile.cpp | 11 | ||||
-rw-r--r-- | llvm/lib/Object/MachOObjectFile.cpp | 3 |
2 files changed, 11 insertions, 3 deletions
diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp index 43913e44857..2784f5c4440 100644 --- a/llvm/lib/Object/COFFObjectFile.cpp +++ b/llvm/lib/Object/COFFObjectFile.cpp @@ -253,8 +253,15 @@ error_code COFFObjectFile::getSymbolSection(DataRefImpl Ref, } error_code COFFObjectFile::getSymbolValue(DataRefImpl Ref, - uint64_t &Val) const { - report_fatal_error("getSymbolValue unimplemented in COFFObjectFile"); + uint64_t &Result) const { + const coff_symbol *Symb = toSymb(Ref); + + if (Symb->SectionNumber == COFF::IMAGE_SYM_UNDEFINED) + Result = UnknownAddressOrSize; + else + Result = Symb->Value; + + return object_error::success; } void COFFObjectFile::moveSectionNext(DataRefImpl &Ref) const { diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index 6955ef090ae..df4e044e714 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -633,7 +633,8 @@ MachOObjectFile::getSymbolSection(DataRefImpl Symb, error_code MachOObjectFile::getSymbolValue(DataRefImpl Symb, uint64_t &Val) const { - report_fatal_error("getSymbolValue unimplemented in MachOObjectFile"); + // In MachO both relocatable and non-relocatable objects have addresses. + return getSymbolAddress(Symb, Val); } void MachOObjectFile::moveSectionNext(DataRefImpl &Sec) const { |