diff options
author | Kevin Enderby <enderby@apple.com> | 2017-03-20 19:46:55 +0000 |
---|---|---|
committer | Kevin Enderby <enderby@apple.com> | 2017-03-20 19:46:55 +0000 |
commit | a8d256cb366d3a9d368e3bf962bab1e37b7f100c (patch) | |
tree | 877d1c3cd85656485e61f1d649aae9e4d8eb3b92 /llvm/tools/llvm-objdump/llvm-objdump.h | |
parent | 1aa0ed4e0d202fde2c7225aaae513b228cb9a2b3 (diff) | |
download | bcm5719-llvm-a8d256cb366d3a9d368e3bf962bab1e37b7f100c.tar.gz bcm5719-llvm-a8d256cb366d3a9d368e3bf962bab1e37b7f100c.zip |
Add the rest of the error checking for Mach-O dyld compact bind entry errors
and test cases for each of the error checks.
To do this more plumbing was needed so that the segment indexes and
segment offsets can be checked. Basically what was done was the SegInfo
from llvm-objdump’s MachODump.cpp was moved into libObject for Mach-O
objects as BindRebaseSegInfo and it is only created when an iterator for
bind or rebase entries are created.
This commit really only adds the error checking and test cases for the
bind table entires and the checking for the lazy bind and weak bind entries
are still to be fully done as well as the rebase entires. Though some of
the plumbing for those are added with this commit. Those other error
checks and test cases will be added in follow on commits.
Note, the two llvm_unreachable() calls should now actually be unreachable
with the error checks in place and would take a logic bug in the error
checking code to be reached if the segment indexes and segment
offsets are used from a checked bind entry. Comments have been added
to the methods that require the arguments to have been checked
prior to calling.
llvm-svn: 298292
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.h')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.h b/llvm/tools/llvm-objdump/llvm-objdump.h index 191660b9f4d..2fcd506884b 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.h +++ b/llvm/tools/llvm-objdump/llvm-objdump.h @@ -70,10 +70,10 @@ void ParseInputMachO(StringRef Filename); void printCOFFUnwindInfo(const object::COFFObjectFile* o); void printMachOUnwindInfo(const object::MachOObjectFile* o); void printMachOExportsTrie(const object::MachOObjectFile* o); -void printMachORebaseTable(const object::MachOObjectFile* o); -void printMachOBindTable(const object::MachOObjectFile* o); -void printMachOLazyBindTable(const object::MachOObjectFile* o); -void printMachOWeakBindTable(const object::MachOObjectFile* o); +void printMachORebaseTable(object::MachOObjectFile* o); +void printMachOBindTable(object::MachOObjectFile* o); +void printMachOLazyBindTable(object::MachOObjectFile* o); +void printMachOWeakBindTable(object::MachOObjectFile* o); void printELFFileHeader(const object::ObjectFile *o); void printCOFFFileHeader(const object::ObjectFile *o); void printCOFFSymbolTable(const object::COFFImportFile *i); @@ -82,10 +82,10 @@ void printMachOFileHeader(const object::ObjectFile *o); void printMachOLoadCommands(const object::ObjectFile *o); void printWasmFileHeader(const object::ObjectFile *o); void printExportsTrie(const object::ObjectFile *o); -void printRebaseTable(const object::ObjectFile *o); -void printBindTable(const object::ObjectFile *o); -void printLazyBindTable(const object::ObjectFile *o); -void printWeakBindTable(const object::ObjectFile *o); +void printRebaseTable(object::ObjectFile *o); +void printBindTable(object::ObjectFile *o); +void printLazyBindTable(object::ObjectFile *o); +void printWeakBindTable(object::ObjectFile *o); void printRawClangAST(const object::ObjectFile *o); void PrintRelocations(const object::ObjectFile *o); void PrintSectionHeaders(const object::ObjectFile *o); |