Use correct ld emulation for EABI hardware float triple on NetBSD.
authorJoerg Sonnenberger <joerg@bec.de>
Thu, 6 Feb 2014 21:04:32 +0000 (21:04 +0000)
committerJoerg Sonnenberger <joerg@bec.de>
Thu, 6 Feb 2014 21:04:32 +0000 (21:04 +0000)
llvm-svn: 200946

clang/lib/Driver/Tools.cpp
clang/test/Driver/netbsd.c

index 6885f24..d0bcabf 100644 (file)
@@ -6144,11 +6144,13 @@ void netbsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
     CmdArgs.push_back("-m");
     switch (getToolChain().getTriple().getEnvironment()) {
     case llvm::Triple::EABI:
-    case llvm::Triple::EABIHF:
     case llvm::Triple::GNUEABI:
-    case llvm::Triple::GNUEABIHF:
       CmdArgs.push_back("armelf_nbsd_eabi");
       break;
+    case llvm::Triple::EABIHF:
+    case llvm::Triple::GNUEABIHF:
+      CmdArgs.push_back("armelf_nbsd_eabihf");
+      break;
     default:
       CmdArgs.push_back("armelf_nbsd");
       break;
index 05350e6..45bd90d 100644 (file)
@@ -25,6 +25,9 @@
 // RUN: %clang -no-canonical-prefixes -target arm--netbsd6.0.0-eabi \
 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
 // RUN: | FileCheck -check-prefix=ARM-6 %s
+// RUN: %clang -no-canonical-prefixes -target arm--netbsd-eabihf \
+// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
+// RUN: | FileCheck -check-prefix=ARM-HF %s
 
 // RUN: %clang -no-canonical-prefixes -target x86_64--netbsd -static \
 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
 // ARM-6: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc"
 // ARM-6: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
 
+// ARM-HF: clang{{.*}}" "-cc1" "-triple" "armv4t--netbsd-eabihf"
+// ARM-HF: ld{{.*}}" "-m" "armelf_nbsd_eabihf"
+
 // S-X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64--netbsd"
 // S-X86_64: ld{{.*}}" "-Bstatic"
 // S-X86_64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"