Address review comments, remove error case and return 0 instead as required by tests
llvm-svn: 249785
This commit is contained in:
@@ -174,7 +174,7 @@ ErrorOr<uint64_t> COFFObjectFile::getSymbolAddress(DataRefImpl Ref) const {
|
||||
|
||||
// The section VirtualAddress does not include ImageBase, and we want to
|
||||
// return virtual addresses.
|
||||
Result += getImageBase().get();
|
||||
Result += getImageBase();
|
||||
|
||||
return Result;
|
||||
}
|
||||
@@ -271,7 +271,7 @@ uint64_t COFFObjectFile::getSectionAddress(DataRefImpl Ref) const {
|
||||
|
||||
// The section VirtualAddress does not include ImageBase, and we want to
|
||||
// return virtual addresses.
|
||||
Result += getImageBase().get();
|
||||
Result += getImageBase();
|
||||
return Result;
|
||||
}
|
||||
|
||||
@@ -418,17 +418,18 @@ std::error_code COFFObjectFile::initSymbolTablePtr() {
|
||||
return std::error_code();
|
||||
}
|
||||
|
||||
ErrorOr<uint64_t> COFFObjectFile::getImageBase() const {
|
||||
uint64_t COFFObjectFile::getImageBase() const {
|
||||
if (PE32Header)
|
||||
return uint64_t(PE32Header->ImageBase);
|
||||
return PE32Header->ImageBase;
|
||||
else if (PE32PlusHeader)
|
||||
return uint64_t(PE32PlusHeader->ImageBase);
|
||||
return object_error::parse_failed;
|
||||
return PE32PlusHeader->ImageBase;
|
||||
// This actually comes up in practice.
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Returns the file offset for the given VA.
|
||||
std::error_code COFFObjectFile::getVaPtr(uint64_t Addr, uintptr_t &Res) const {
|
||||
uint64_t ImageBase = getImageBase().get();
|
||||
uint64_t ImageBase = getImageBase();
|
||||
uint64_t Rva = Addr - ImageBase;
|
||||
assert(Rva <= UINT32_MAX);
|
||||
return getRvaPtr((uint32_t)Rva, Res);
|
||||
|
||||
Reference in New Issue
Block a user