Don't reject an archive with just a symbol table.

It is pretty unambiguous how to interpret it and gnu ar accepts it too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241750 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2015-07-08 22:27:54 +00:00
parent bf4296f2c0
commit a04933edc1
3 changed files with 5 additions and 1 deletions

View File

@ -288,7 +288,7 @@ Archive::Archive(MemoryBufferRef Source, std::error_code &ec)
++i; ++i;
if (i == e) { if (i == e) {
ec = object_error::parse_failed; ec = std::error_code();
return; return;
} }
Name = i->getRawName(); Name = i->getRawName();

Binary file not shown.

View File

@ -34,3 +34,7 @@ THIN: rw-r--r-- 1000/1000 8 2014-12-16 00:56:27.000000000 evenlen
THIN-NEXT: rw-r--r-- 1000/1000 7 2014-12-16 00:56:27.000000000 oddlen THIN-NEXT: rw-r--r-- 1000/1000 7 2014-12-16 00:56:27.000000000 oddlen
THIN-NEXT: rwxr-xr-x 1000/1000 1465 2014-12-16 00:56:27.000000000 very_long_bytecode_file_name.bc THIN-NEXT: rwxr-xr-x 1000/1000 1465 2014-12-16 00:56:27.000000000 very_long_bytecode_file_name.bc
THIN-NEXT: rw-r--r-- 1000/1000 2280 2014-12-16 00:56:27.000000000 IsNAN.o THIN-NEXT: rw-r--r-- 1000/1000 2280 2014-12-16 00:56:27.000000000 IsNAN.o
Test reading an archive with just a symbol table. We use to reject them.
RUN: llvm-ar tv %p/Inputs/symtab-only.a | FileCheck --allow-empty --check-prefix=EMPTY %s
EMPTY-NOT: {{.}}