From: Jakob Stoklund Olesen Date: Fri, 10 Jan 2014 03:51:33 +0000 (+0000) Subject: Give the linker the right ELF type for SPARC targets. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fa6b96890215a4e2fe3160cf5305f782d205f900;p=clang Give the linker the right ELF type for SPARC targets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198912 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index ea5adf4ef9..a9aeab0151 100644 --- a/lib/Driver/Tools.cpp +++ b/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/test/Driver/linux-ld.c b/test/Driver/linux-ld.c index 755fa04055..702728eca5 100644 --- a/test/Driver/linux-ld.c +++ b/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 \