aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm/clang-0007-musl-dynamic-linker-paths.patch
diff options
context:
space:
mode:
authorTravis Tilley <ttilley@gmail.com>2015-05-27 12:39:40 -0400
committerNatanael Copa <ncopa@alpinelinux.org>2015-05-29 13:38:55 +0000
commit08fdc9700ce1b4e47bebc9c9d08959f5e50bc0c1 (patch)
treea2be5477ecf414d7932779f755518cb4b74a6c75 /main/llvm/clang-0007-musl-dynamic-linker-paths.patch
parent2e13d49d9449cb2fab62471594f3980307bf4cef (diff)
downloadaports-08fdc9700ce1b4e47bebc9c9d08959f5e50bc0c1.tar.bz2
aports-08fdc9700ce1b4e47bebc9c9d08959f5e50bc0c1.tar.xz
main/llvm: update to 3.6.1
clean up and update patchset switch to cmake perform a two-stage build with a minimal bootstrap compile of clang add clang extras update package list to split out clang documentation enable pulling from the svn release tags fix making use of abuild CFLAGS/CXXFLAGS during build don't run check-llvm, as the tests fail when running under PaX
Diffstat (limited to 'main/llvm/clang-0007-musl-dynamic-linker-paths.patch')
-rw-r--r--main/llvm/clang-0007-musl-dynamic-linker-paths.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/main/llvm/clang-0007-musl-dynamic-linker-paths.patch b/main/llvm/clang-0007-musl-dynamic-linker-paths.patch
new file mode 100644
index 0000000000..c8b927fba3
--- /dev/null
+++ b/main/llvm/clang-0007-musl-dynamic-linker-paths.patch
@@ -0,0 +1,60 @@
+diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
+index 75eef9e..3e71522 100644
+--- a/lib/Driver/Tools.cpp
++++ b/lib/Driver/Tools.cpp
+@@ -7282,8 +7282,14 @@ static std::string getLinuxDynamicLinker(const ArgList &Args,
+ return "/system/bin/linker64";
+ else
+ return "/system/bin/linker";
+- } else if (ToolChain.getArch() == llvm::Triple::x86 ||
+- ToolChain.getArch() == llvm::Triple::sparc)
++ } else if (ToolChain.getArch() == llvm::Triple::x86) {
++ switch (ToolChain.getTriple().getEnvironment()) {
++ case llvm::Triple::Musl:
++ return "/lib/ld-musl-i386.so.1";
++ default:
++ return "/lib/ld-linux.so.2";
++ }
++ } else if (ToolChain.getArch() == llvm::Triple::sparc)
+ return "/lib/ld-linux.so.2";
+ else if (ToolChain.getArch() == llvm::Triple::aarch64)
+ return "/lib/ld-linux-aarch64.so.1";
+@@ -7291,10 +7297,17 @@ static std::string getLinuxDynamicLinker(const ArgList &Args,
+ return "/lib/ld-linux-aarch64_be.so.1";
+ else if (ToolChain.getArch() == llvm::Triple::arm ||
+ ToolChain.getArch() == llvm::Triple::thumb) {
+- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
++ switch (ToolChain.getTriple().getEnvironment()) {
++ case llvm::Triple::Musl:
++ case llvm::Triple::MuslEABI:
++ return "/lib/ld-musl-arm.so.3";
++ case llvm::Triple::MuslEABIHF:
++ return "/lib/ld-musl-armhf.so.3";
++ case llvm::Triple::GNUEABIHF:
+ return "/lib/ld-linux-armhf.so.3";
+- else
++ default:
+ return "/lib/ld-linux.so.3";
++ }
+ } else if (ToolChain.getArch() == llvm::Triple::armeb ||
+ ToolChain.getArch() == llvm::Triple::thumbeb) {
+ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
+@@ -7339,8 +7352,14 @@ static std::string getLinuxDynamicLinker(const ArgList &Args,
+ else if (ToolChain.getArch() == llvm::Triple::x86_64 &&
+ ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32)
+ return "/libx32/ld-linux-x32.so.2";
+- else
+- return "/lib64/ld-linux-x86-64.so.2";
++ else {
++ switch (ToolChain.getTriple().getEnvironment()) {
++ case llvm::Triple::Musl:
++ return "/lib/ld-musl-x86_64.so.1";
++ default:
++ return "/lib64/ld-linux-x86-64.so.2";
++ }
++ }
+ }
+
+ static void AddRunTimeLibs(const ToolChain &TC, const Driver &D,
+--
+2.1.4