]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/llvm/patches/patch-r262262-clang-r198912-sparc.diff
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / llvm / patches / patch-r262262-clang-r198912-sparc.diff
1 Pull in r198912 from upstream clang trunk (by Jakob Stoklund Olesen):
2
3   Give the linker the right ELF type for SPARC targets.
4
5 Introduced here: http://svnweb.freebsd.org/changeset/base/262262
6
7 Index: tools/clang/lib/Driver/Tools.cpp
8 ===================================================================
9 --- tools/clang/lib/Driver/Tools.cpp
10 +++ tools/clang/lib/Driver/Tools.cpp
11 @@ -6461,6 +6461,10 @@ void gnutools::Link::ConstructJob(Compilation &C,
12      CmdArgs.push_back("elf32ppclinux");
13    else if (ToolChain.getArch() == llvm::Triple::ppc64)
14      CmdArgs.push_back("elf64ppc");
15 +  else if (ToolChain.getArch() == llvm::Triple::sparc)
16 +    CmdArgs.push_back("elf32_sparc");
17 +  else if (ToolChain.getArch() == llvm::Triple::sparcv9)
18 +    CmdArgs.push_back("elf64_sparc");
19    else if (ToolChain.getArch() == llvm::Triple::mips)
20      CmdArgs.push_back("elf32btsmip");
21    else if (ToolChain.getArch() == llvm::Triple::mipsel)
22 Index: tools/clang/test/Driver/linux-ld.c
23 ===================================================================
24 --- tools/clang/test/Driver/linux-ld.c
25 +++ tools/clang/test/Driver/linux-ld.c
26 @@ -384,6 +384,18 @@
27  // CHECK-MIPS64EL-N32: "-dynamic-linker" "{{.*}}/lib32/ld.so.1"
28  // CHECK-MIPS64EL-N32-NOT: "--hash-style={{gnu|both}}"
29  //
30 +// RUN: %clang %s -### -o %t.o 2>&1 \
31 +// RUN:     --target=sparc-linux-gnu \
32 +// RUN:   | FileCheck --check-prefix=CHECK-SPARCV8 %s
33 +// CHECK-SPARCV8: "{{.*}}ld{{(.exe)?}}"
34 +// CHECK-SPARCV8: "-m" "elf32_sparc"
35 +//
36 +// RUN: %clang %s -### -o %t.o 2>&1 \
37 +// RUN:     --target=sparcv9-linux-gnu \
38 +// RUN:   | FileCheck --check-prefix=CHECK-SPARCV9 %s
39 +// CHECK-SPARCV9: "{{.*}}ld{{(.exe)?}}"
40 +// CHECK-SPARCV9: "-m" "elf64_sparc"
41 +//
42  // Thoroughly exercise the Debian multiarch environment.
43  // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
44  // RUN:     --target=i686-linux-gnu \