1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00

Identify thin archives as archives.

llvm-svn: 242921
This commit is contained in:
Rafael Espindola 2015-07-22 18:29:39 +00:00
parent f4b4dc4344
commit af54d5a241
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