summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-07-22 18:29:39 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-07-22 18:29:39 +0000
commit69ef2afaebc1b572598723e0a638246c1144c09a (patch)
treee2140a7232ae3655d780376b2295ec1b8c491454
parentc2bcf1549bc6e4978a4dfbeb1a3e7df35a26e630 (diff)
downloadbcm5719-llvm-69ef2afaebc1b572598723e0a638246c1144c09a.tar.gz
bcm5719-llvm-69ef2afaebc1b572598723e0a638246c1144c09a.zip
Identify thin archives as archives.
llvm-svn: 242921
-rw-r--r--llvm/lib/Support/Path.cpp3
-rw-r--r--llvm/test/Object/nm-archive.test9
2 files changed, 11 insertions, 1 deletions
diff --git a/llvm/lib/Support/Path.cpp b/llvm/lib/Support/Path.cpp
index 75fd292e5b1..985cdbf7432 100644
--- a/llvm/lib/Support/Path.cpp
+++ b/llvm/lib/Support/Path.cpp
@@ -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;
diff --git a/llvm/test/Object/nm-archive.test b/llvm/test/Object/nm-archive.test
index 4cd58d33cf2..8f8cdbe9f08 100644
--- a/llvm/test/Object/nm-archive.test
+++ b/llvm/test/Object/nm-archive.test
@@ -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
OpenPOWER on IntegriCloud