diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Object/COFFObjectFile.cpp | 3 | ||||
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp index 04cd61698c6..92f920da1fa 100644 --- a/llvm/lib/Object/COFFObjectFile.cpp +++ b/llvm/lib/Object/COFFObjectFile.cpp @@ -414,7 +414,8 @@ static uint32_t getNumberOfRelocations(const coff_section *Sec, if (getObject(FirstReloc, M, reinterpret_cast<const coff_relocation*>( base + Sec->PointerToRelocations))) return 0; - return FirstReloc->VirtualAddress; + // -1 to exclude this first relocation entry. + return FirstReloc->VirtualAddress - 1; } return Sec->NumberOfRelocations; } diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 8903bff8f97..c62922e4c5e 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -149,6 +149,7 @@ PrivateHeadersShort("p", cl::desc("Alias for --private-headers"), cl::aliasopt(PrivateHeaders)); static StringRef ToolName; +static int ReturnValue = EXIT_SUCCESS; bool llvm::error(std::error_code EC) { if (!EC) @@ -156,6 +157,7 @@ bool llvm::error(std::error_code EC) { outs() << ToolName << ": error reading file: " << EC.message() << ".\n"; outs().flush(); + ReturnValue = EXIT_FAILURE; return true; } @@ -895,5 +897,5 @@ int main(int argc, char **argv) { std::for_each(InputFilenames.begin(), InputFilenames.end(), DumpInput); - return 0; + return ReturnValue; } |