diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2014-01-10 03:51:33 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2014-01-10 03:51:33 +0000 |
commit | 91a8e03af0426c28ee623dda455a051f85b7352d (patch) | |
tree | e7fd5840dc9888184a658be27b65b5b313a6a020 | |
parent | 2490e553c08984b4a81a13e784f6b8d8ba39999e (diff) | |
download | llvm-91a8e03af0426c28ee623dda455a051f85b7352d.zip llvm-91a8e03af0426c28ee623dda455a051f85b7352d.tar.gz llvm-91a8e03af0426c28ee623dda455a051f85b7352d.tar.bz2 |
Give the linker the right ELF type for SPARC targets.
llvm-svn: 198912
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 4 | ||||
-rw-r--r-- | clang/test/Driver/linux-ld.c | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index ea5adf4..a9aeab0 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -6527,6 +6527,10 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("elf32ppclinux"); else if (ToolChain.getArch() == llvm::Triple::ppc64) CmdArgs.push_back("elf64ppc"); + else if (ToolChain.getArch() == llvm::Triple::sparc) + CmdArgs.push_back("elf32_sparc"); + else if (ToolChain.getArch() == llvm::Triple::sparcv9) + CmdArgs.push_back("elf64_sparc"); else if (ToolChain.getArch() == llvm::Triple::mips) CmdArgs.push_back("elf32btsmip"); else if (ToolChain.getArch() == llvm::Triple::mipsel) diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c index 755fa04..702728e 100644 --- a/clang/test/Driver/linux-ld.c +++ b/clang/test/Driver/linux-ld.c @@ -384,6 +384,18 @@ // CHECK-MIPS64EL-N32: "-dynamic-linker" "{{.*}}/lib32/ld.so.1" // CHECK-MIPS64EL-N32-NOT: "--hash-style={{gnu|both}}" // +// RUN: %clang %s -### -o %t.o 2>&1 \ +// RUN: --target=sparc-linux-gnu \ +// RUN: | FileCheck --check-prefix=CHECK-SPARCV8 %s +// CHECK-SPARCV8: "{{.*}}ld{{(.exe)?}}" +// CHECK-SPARCV8: "-m" "elf32_sparc" +// +// RUN: %clang %s -### -o %t.o 2>&1 \ +// RUN: --target=sparcv9-linux-gnu \ +// RUN: | FileCheck --check-prefix=CHECK-SPARCV9 %s +// CHECK-SPARCV9: "{{.*}}ld{{(.exe)?}}" +// CHECK-SPARCV9: "-m" "elf64_sparc" +// // Thoroughly exercise the Debian multiarch environment. // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ // RUN: --target=i686-linux-gnu \ |