1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib
Kevin Enderby ff9abf809b Next step along the way to getting good error messages for bad archives.
I consulted with Lang Hames on this work, and the goal was to add a bit
of "where" in the archive the error occurred along with what the error was.

So this step changes ArchiveMemberHeader into a class with a pointer
to the archive header and the parent archive.  Which allows the methods
in the ArchiveMemberHeader to determine which member the header is
for to include that information in the error message.

For this first step the "where" is just the offset to the member in the
archive.  The next step will be a new method on ArchiveMemberHeader
to get the full name, if possible, to be use in the error message.  Which
will now be possible as ArchiveMemberHeader contains a pointer to
the Archive with its string table and its size, etc. so the full name can
be determined from the header if it is valid.

Also this change adds the missing checks the archive header is actually
contained in the buffer and is not truncated, as well as if the terminating
characters are correct in the header.

And changes one error message in Archive::Child::getNext() where the
name or offset to member is now added.

llvm-svn: 276686
2016-07-25 20:36:36 +00:00
..
Analysis [InstSimplify] Fold trunc([zs]ext(%V)) -> %V 2016-07-25 03:39:21 +00:00
AsmParser Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
Bitcode [ThinLTO] Address review comments from PGO indirect call promotion (NFC) 2016-07-18 18:31:50 +00:00
CodeGen MachineVerifier: Fix printing nonsense for physical registers 2016-07-25 19:39:01 +00:00
DebugInfo Make PDBFile store an msf::Layout. 2016-07-22 19:56:33 +00:00
ExecutionEngine [LLVM][MIPS] Fix createStubFunction to emit JR encoding based on Arch. 2016-07-15 12:56:37 +00:00
Fuzzer [libFuzzer] extend the messages printed by afl_driver 2016-07-19 23:18:28 +00:00
IR Add invariant start call creation in IRBuilder.NFC 2016-07-22 20:57:23 +00:00
IRReader
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor
Linker IR: New representation for CFI and virtual call optimization pass metadata. 2016-06-24 21:21:32 +00:00
LTO Move legacy LTO interface headers to legacy/ directory. 2016-07-14 21:21:16 +00:00
MC [MC] Separate non-parsing operations from conditional chains. NFC. 2016-07-18 19:35:21 +00:00
Object Next step along the way to getting good error messages for bad archives. 2016-07-25 20:36:36 +00:00
ObjectYAML BPF: Use official ELF e_machine value 2016-07-15 22:27:55 +00:00
Option
Passes StringSwitch cannot be copied (take 2). 2016-07-25 18:34:51 +00:00
ProfileData [PGO] Make needsComdatForCounter() available (NFC) 2016-07-21 20:50:02 +00:00
Support [CommandLine] Use Process::GetEnv instead of _wgetenv 2016-07-24 17:19:59 +00:00
TableGen [TableGen] Autobrief-ize Record. NFC. 2016-07-14 14:53:14 +00:00
Target AMDGPU: Remove read_workdim intrinsic 2016-07-25 20:17:02 +00:00
Transforms Scalarizer: Support scalarizing intrinsics 2016-07-25 20:02:54 +00:00
CMakeLists.txt
LLVMBuild.txt