llvm-project/llvm/lib/Object
Kevin Enderby 3e95bd2239 Add error handling to the dyld compact export entries in libObject.
lld needs a matching change for this will be my next commit.
Expect it to fail build until that matching commit is picked up by the bots.

Like the changes in r296527 for dyld bind entires and the changes in
r298883 for lazy bind, weak bind and rebase entries the export
entries are the last of the dyld compact info to have error handling added.

This follows the model of iterators that can fail that Lang Hanes
designed when fixing the problem for bad archives r275316 (or r275361).

So that iterating through the exports now terminates if there is an error
and returns an llvm::Error with an error message in all cases for malformed
input.

This change provides the plumbing for the error handling, all the needed
testing of error conditions and test cases for all of the unique error messages.

llvm-svn: 308690
2017-07-20 23:08:41 +00:00
..
Archive.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ArchiveWriter.cpp llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Binary.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
CMakeLists.txt Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +00:00
COFFImportFile.cpp Object: rename parameter from DLLName to ImportName 2017-07-18 22:11:01 +00:00
COFFModuleDefinition.cpp Object: preserve more information about DEF file 2017-07-19 02:01:22 +00:00
COFFObjectFile.cpp llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Decompressor.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
ELF.cpp MC, Object: Reserve a section type, SHT_LLVM_ODRTAB, for the ODR table. 2017-06-14 18:52:12 +00:00
ELFObjectFile.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
Error.cpp Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
IRObjectFile.cpp Bitcode: Introduce a BitcodeFileContents data type. NFCI. 2017-06-08 22:00:24 +00:00
IRSymtab.cpp Object: Teach irsymtab::read() to try to use the irsymtab that we wrote to disk. 2017-06-27 23:50:24 +00:00
LLVMBuild.txt Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
MachOObjectFile.cpp Add error handling to the dyld compact export entries in libObject. 2017-07-20 23:08:41 +00:00
MachOUniversal.cpp Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
ModuleSymbolTable.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Object.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ObjectFile.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
RecordStreamer.cpp [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-24 23:21:38 +00:00
RecordStreamer.h [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-24 23:21:38 +00:00
SymbolSize.cpp Fix llvm-symbolizer to correctly sort a symbol array and calculate symbol sizes 2016-11-15 21:07:03 +00:00
SymbolicFile.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
WasmObjectFile.cpp [WebAssembly] Expose the offset of each data segment 2017-07-12 00:24:54 +00:00
WindowsResource.cpp Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00