llvm-project/llvm/tools
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
..
bugpoint [NFC] Remove multiple semicolons 2017-06-28 23:15:16 +00:00
bugpoint-passes [CMake] bugpoint-passes depends on intrinsics_gen 2016-11-19 02:20:59 +00:00
dsymutil Use delegation instead of inheritance. 2017-07-19 22:27:28 +00:00
gold Use emplace_back to replace size() and resize(). 2017-07-10 15:31:53 +00:00
llc [ORE] Add diagnostics hotness threshold 2017-06-30 23:14:53 +00:00
lli fix typos in comments; NFC 2017-07-11 06:04:59 +00:00
llvm-ar llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
llvm-as [CMake] llvm-as depends on intrinsics_gen 2016-11-19 02:15:04 +00:00
llvm-as-fuzzer
llvm-bcanalyzer Bitcode: Include any strings added to the string table in the module hash. 2017-07-06 17:56:01 +00:00
llvm-c-test fix typos in comments and error messges; NFC 2017-07-13 06:48:39 +00:00
llvm-cat Bitcode: Add a string table to the bitcode format. 2017-04-17 17:51:36 +00:00
llvm-config [llvm-config] Don't use PATH_MAX 2017-06-01 20:51:55 +00:00
llvm-cov [llvm-cov] Add a cl::opt to control the number of threads 2017-07-11 01:23:29 +00:00
llvm-cvtres Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
llvm-cxxdump Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
llvm-cxxfilt c++filt: support COFF import thunks 2017-03-22 21:15:19 +00:00
llvm-diff [IR] Redesign the case iterator in SwitchInst to actually be an iterator 2017-04-12 07:27:28 +00:00
llvm-dis [CMake] llvm-dis depends on intrinsics_gen 2016-11-19 02:31:14 +00:00
llvm-dwarfdump Remove some leftover DWARFContextInMemory. 2017-07-19 23:34:59 +00:00
llvm-dwp [DWARF] NFC: Collect info used by DWARFFormValue into a helper. 2017-06-26 18:43:01 +00:00
llvm-extract [llvm-extract] Add option for recursive extraction 2017-04-06 20:51:40 +00:00
llvm-go [llvm-go] parameterize $GOPATH construction 2016-07-27 03:21:51 +00:00
llvm-jitlistener Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-link Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
llvm-lto Fix dangling StringRefs found by clang-tidy misc-dangling-handle check. 2017-07-04 15:13:02 +00:00
llvm-lto2 Add missing library dependency to fix build break in llvm-lto2 2017-06-28 06:14:30 +00:00
llvm-mc sink DebugCompressionType into MC for exposing to clang 2017-06-09 00:40:19 +00:00
llvm-mc-assemble-fuzzer llvm-mc-fuzzer: add support for assembly 2017-02-27 06:22:17 +00:00
llvm-mc-disassemble-fuzzer llvm-mc-fuzzer: add support for assembly 2017-02-27 06:22:17 +00:00
llvm-mcmarkup Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-modextract Bitcode: Add a string table to the bitcode format. 2017-04-17 17:51:36 +00:00
llvm-mt Implement parsing and writing of a single xml manifest file. 2017-07-20 21:42:04 +00:00
llvm-nm Add error handling to the dyld compact export entries in libObject. 2017-07-20 23:08:41 +00:00
llvm-objdump Add error handling to the dyld compact export entries in libObject. 2017-07-20 23:08:41 +00:00
llvm-opt-report [llvm-opt-report] Fix context-sensitive lines where nothing happened 2017-01-07 20:21:17 +00:00
llvm-pdbutil [COFF, ARM64, CodeView] Add support to emit CodeView debug info for ARM64 COFF 2017-07-20 20:20:00 +00:00
llvm-profdata [ProfileData] Add new option to dump topn hottest functions 2017-07-11 20:30:43 +00:00
llvm-readobj [llvm-readobj] Install llvm-readelf alias 2017-07-19 02:09:37 +00:00
llvm-rtdyld Use delegation instead of inheritance. 2017-07-19 22:27:28 +00:00
llvm-shlib [Solaris] enable --whole-archive for shared-library build, disable --version-script for Solaris-ld 2017-07-19 16:07:51 +00:00
llvm-size llvm-size: remove leading dash in '-radix' option 2016-12-23 23:55:08 +00:00
llvm-split [CMake] llvm-split depends on intrinsics_gen 2016-11-18 23:20:38 +00:00
llvm-stress [IR] Make use of Type::isPtrOrPtrVectorTy/isIntOrIntVectorTy/isFPOrFPVectorTy to shorten code. NFC 2017-07-09 07:04:00 +00:00
llvm-strings llvm-strings: remove default for -Wcovered-switch-default 2017-01-21 02:52:29 +00:00
llvm-symbolizer Add a verbose/human readable mode to llvm-symbolizer to investigate discriminators and other line table/backtrace features 2017-01-31 22:19:38 +00:00
llvm-xray Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
lto Spelling mistakes in comments. NFCI. 2017-03-30 12:59:53 +00:00
msbuild Create msbuild only when using MSVC 2017-03-16 20:24:14 +00:00
obj2yaml Use delegation instead of inheritance. 2017-07-19 22:27:28 +00:00
opt [PM] Another post-commit fix in NewPMDriver 2017-07-11 11:17:44 +00:00
opt-viewer [opt-viewer] Reduce memory consumption by another 20-25% 2017-07-19 22:04:59 +00:00
sancov [sancov] Fix broken links and displaced coloring in coverage-report-server.py 2017-03-20 14:06:04 +00:00
sanstats [sanstats] Print the correct line information. 2017-07-13 00:49:03 +00:00
verify-uselistorder [CMake] verify-uselistorder depends on intrinsics_gen 2016-11-18 23:30:58 +00:00
xcode-toolchain [CMake] Minor fix to regex in r279152 2016-08-18 21:36:36 +00:00
yaml2obj [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
CMakeLists.txt
LLVMBuild.txt Implement parsing and writing of a single xml manifest file. 2017-07-20 21:42:04 +00:00