From 7e7be92c7f2d0505a3fbf33f57024f6cedeab82f Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 7 Jul 2015 15:05:09 +0000 Subject: Common symbols don't have a value. At least not in the interface exposed by ObjectFile. This matches what ELF and COFF implement. Adjust existing code that was expecting them to have values. No overall functionality change intended. Another option would be to change the interface and the ELF and COFF implementations to say that the value of a common symbol is its size. llvm-svn: 241593 --- llvm/lib/Object/MachOObjectFile.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Object/MachOObjectFile.cpp') diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index 54e4624..3c82d7b 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -369,11 +369,10 @@ std::error_code MachOObjectFile::getIndirectName(DataRefImpl Symb, } uint64_t MachOObjectFile::getSymbolValue(DataRefImpl Sym) const { - uint64_t NValue = getNValue(Sym); MachO::nlist_base Entry = getSymbolTableEntryBase(this, Sym); - if ((Entry.n_type & MachO::N_TYPE) == MachO::N_UNDF && NValue == 0) + if ((Entry.n_type & MachO::N_TYPE) == MachO::N_UNDF) return UnknownAddress; - return NValue; + return getNValue(Sym); } ErrorOr MachOObjectFile::getSymbolAddress(DataRefImpl Sym) const { -- cgit v1.1