pr20589: Fix duplicated arch flag.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 8 Aug 2014 16:18:29 +0000 (16:18 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 8 Aug 2014 16:18:29 +0000 (16:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215216 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Object/MachOObjectFile.cpp
test/Object/nm-universal-binary.test

index e2efa3afdf21025727d2cdb55ce5166528ebe87f..65571dc546148bd7b3858ac75e44eece2bbaef18 100644 (file)
@@ -1404,7 +1404,7 @@ Triple MachOObjectFile::getArch(StringRef ArchFlag) {
     return Triple("armv7em-apple-darwin");
   else if (ArchFlag == "armv7k")
     return Triple("armv7k-apple-darwin");
-  else if (ArchFlag == "armv7k")
+  else if (ArchFlag == "armv7m")
     return Triple("armv7m-apple-darwin");
   else if (ArchFlag == "armv7s")
     return Triple("armv7s-apple-darwin");
index 732445e778bbf4d5a58d41e7741722aeef4cb7e2..0cced1829c3f62d1646344e8e7229c6f9e1fc60e 100644 (file)
@@ -2,6 +2,10 @@ RUN: llvm-nm -arch all %p/Inputs/macho-universal.x86_64.i386 \
 RUN:         | FileCheck %s -check-prefix CHECK-OBJ
 RUN: llvm-nm -arch x86_64 %p/Inputs/macho-universal.x86_64.i386 \
 RUN:         | FileCheck %s -check-prefix CHECK-OBJ-x86_64
+RUN: not llvm-nm -arch armv7m %p/Inputs/macho-universal.x86_64.i386 2>&1 \
+RUN:         | FileCheck %s -check-prefix CHECK-OBJ-armv7m
+RUN: not llvm-nm -arch foobar %p/Inputs/macho-universal.x86_64.i386 2>&1 \
+RUN:         | FileCheck %s -check-prefix CHECK-OBJ-foobar
 RUN: llvm-nm -arch all %p/Inputs/macho-universal-archive.x86_64.i386 \
 RUN:         | FileCheck %s -check-prefix CHECK-AR
 RUN: llvm-nm -arch i386 %p/Inputs/macho-universal-archive.x86_64.i386 \
@@ -18,6 +22,12 @@ CHECK-OBJ-x86_64: 0000000100000000 T __mh_execute_header
 CHECK-OBJ-x86_64: 0000000100000f60 T _main
 CHECK-OBJ-x86_64:                  U dyld_stub_binder
 
+CHECK-OBJ-armv7m-NOT: Unknown architecture named
+CHECK-OBJ-armv7m: does not contain architecture
+
+CHECK-OBJ-foobar: Unknown architecture named
+CHECK-OBJ-foobar: does not contain architecture
+
 CHECK-AR: macho-universal-archive.x86_64.i386(hello.o) (for architecture x86_64):
 CHECK-AR: 0000000000000068 s EH_frame0
 CHECK-AR: 000000000000003b s L_.str