diff options
Diffstat (limited to 'main/llvm/clang-2.9-alpine-linux.patch')
-rw-r--r-- | main/llvm/clang-2.9-alpine-linux.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/main/llvm/clang-2.9-alpine-linux.patch b/main/llvm/clang-2.9-alpine-linux.patch new file mode 100644 index 000000000..f173994ce --- /dev/null +++ b/main/llvm/clang-2.9-alpine-linux.patch @@ -0,0 +1,71 @@ +--- ./tools.orig/clang/lib/Driver/ToolChains.cpp ++++ ./tools/clang/lib/Driver/ToolChains.cpp +@@ -1273,6 +1273,7 @@ + /// Linux toolchain (very bare-bones at the moment). + + enum LinuxDistro { ++ AlpineLinux, + ArchLinux, + DebianLenny, + DebianSqueeze, +@@ -1380,6 +1381,9 @@ + if (!llvm::sys::fs::exists("/etc/arch-release", Exists) && Exists) + return ArchLinux; + ++ if (!llvm::sys::fs::exists("/etc/alpine-release", Exists) && Exists) ++ return AlpineLinux; ++ + return UnknownDistro; + } + +@@ -1432,6 +1436,9 @@ + else if (!llvm::sys::fs::exists("/usr/lib/gcc/x86_64-manbo-linux-gnu", + Exists) && Exists) + GccTriple = "x86_64-manbo-linux-gnu"; ++ else if (!llvm::sys::fs::exists("/usr/lib/gcc/x86_64-alpine-linux-uclibc", ++ Exists) && Exists) ++ GccTriple = "x86_64-alpine-linux-uclibc"; + } else if (Arch == llvm::Triple::x86) { + if (!llvm::sys::fs::exists("/usr/lib/gcc/i686-linux-gnu", Exists) && Exists) + GccTriple = "i686-linux-gnu"; +@@ -1447,9 +1454,13 @@ + else if (!llvm::sys::fs::exists("/usr/lib/gcc/i586-suse-linux", Exists) && + Exists) + GccTriple = "i586-suse-linux"; ++ else if (!llvm::sys::fs::exists("/usr/lib/gcc/i486-alpine-linux-uclibc", Exists) && ++ Exists) ++ GccTriple = "i486-alpine-linux-uclibc"; + } + +- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4", ++ const char* GccVersions[] = {"4.6.1", "4.6.0", ++ "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4", + "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2", + "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1", + "4.2"}; +@@ -1513,7 +1524,7 @@ + Distro == UbuntuKarmic) + ExtraOpts.push_back("--build-id"); + +- if (Distro == ArchLinux) ++ if (Distro == ArchLinux || Distro == AlpineLinux) + Lib = "lib"; + + Paths.push_back(Base + Suffix); +--- ./tools.orig/clang/lib/Driver/Tools.cpp ++++ ./tools/clang/lib/Driver/Tools.cpp +@@ -3621,12 +3621,12 @@ + !Args.hasArg(options::OPT_shared))) { + CmdArgs.push_back("-dynamic-linker"); + if (ToolChain.getArch() == llvm::Triple::x86) +- CmdArgs.push_back("/lib/ld-linux.so.2"); ++ CmdArgs.push_back("/lib/ld-uClibc.so.0.9.32"); + else if (ToolChain.getArch() == llvm::Triple::arm || + ToolChain.getArch() == llvm::Triple::thumb) + CmdArgs.push_back("/lib/ld-linux.so.3"); + else +- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); ++ CmdArgs.push_back("/lib/ld64-uClibc.so.0.9.32"); + } + + CmdArgs.push_back("-o"); |