diff options
author | Travis Tilley <ttilley@gmail.com> | 2015-05-27 12:39:40 -0400 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-05-29 13:38:55 +0000 |
commit | 08fdc9700ce1b4e47bebc9c9d08959f5e50bc0c1 (patch) | |
tree | a2be5477ecf414d7932779f755518cb4b74a6c75 /main/llvm/clang-0007-musl-dynamic-linker-paths.patch | |
parent | 2e13d49d9449cb2fab62471594f3980307bf4cef (diff) | |
download | aports-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.patch | 60 |
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 |