diff options
Diffstat (limited to 'main/llvm/clang-3.6-musl-use-init-array.patch')
-rw-r--r-- | main/llvm/clang-3.6-musl-use-init-array.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/main/llvm/clang-3.6-musl-use-init-array.patch b/main/llvm/clang-3.6-musl-use-init-array.patch new file mode 100644 index 0000000000..ae632aabf9 --- /dev/null +++ b/main/llvm/clang-3.6-musl-use-init-array.patch @@ -0,0 +1,20 @@ +diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp +index f789fd5..6d75b4b 100644 +--- a/lib/Driver/ToolChains.cpp ++++ b/lib/Driver/ToolChains.cpp +@@ -2080,13 +2085,14 @@ void Generic_ELF::addClangTargetOptions(const ArgList &DriverArgs, + const Generic_GCC::GCCVersion &V = GCCInstallation.getVersion(); + bool UseInitArrayDefault = + getTriple().getArch() == llvm::Triple::aarch64 || + getTriple().getArch() == llvm::Triple::aarch64_be || + (getTriple().getOS() == llvm::Triple::Linux && + (!V.isOlderThan(4, 7, 0) || +- getTriple().getEnvironment() == llvm::Triple::Android)); ++ getTriple().getEnvironment() == llvm::Triple::Android || ++ getTriple().getEnvironment() == llvm::Triple::Musl)); + + if (DriverArgs.hasFlag(options::OPT_fuse_init_array, + options::OPT_fno_use_init_array, + UseInitArrayDefault)) + CC1Args.push_back("-fuse-init-array"); + } |