diff options
-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 \ |