Identify thin archives as archives.

llvm-svn: 242921
This commit is contained in:
Rafael Espindola 2015-07-22 18:29:39 +00:00
parent c2bcf1549b
commit 69ef2afaeb
2 changed files with 11 additions and 1 deletions

View File

@ -939,7 +939,8 @@ file_magic identify_magic(StringRef Magic) {
break;
case '!':
if (Magic.size() >= 8)
if (memcmp(Magic.data(),"!<arch>\n",8) == 0)
if (memcmp(Magic.data(), "!<arch>\n", 8) == 0 ||
memcmp(Magic.data(), "!<thin>\n", 8) == 0)
return file_magic::archive;
break;

View File

@ -58,3 +58,12 @@ GNU AR is able to parse the unaligned member and warns about the member with
the unknown format. We should probably simply warn on both. For now just check
that we don't produce an error.
RUN: llvm-nm %p/Inputs/corrupt-archive.a
RUN: llvm-nm %p/Inputs/thin.a | FileCheck %s -check-prefix THIN
THIN: IsNAN.o:
THIN: 00000014 T _ZN4llvm5IsNANEd
THIN: 00000000 T _ZN4llvm5IsNANEf
THIN: U __isnan
THIN: U __isnanf