llvm_{39,4}: refactor to use same patch file

This commit is contained in:
Will Dietz 2018-06-23 11:45:55 -05:00
parent a1bf9b6094
commit 182de524a1
4 changed files with 2 additions and 35 deletions

View File

@ -64,7 +64,7 @@ in stdenv.mkDerivation rec {
})
] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
../TLI-musl.patch
./dynamiclibrary-musl.patch
../dynamiclibrary-musl.patch
];
postPatch = ""

View File

@ -1,33 +0,0 @@
From d12ecb83d01dcb580dd94f4d57828f33d3eb4c35 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 18 Feb 2016 15:33:21 +0100
Subject: [PATCH 3/3] Fix DynamicLibrary to build with musl libc
stdin/out/err is part of the libc and not the kernel so we check for the
specific libc that does the unexpected instead of linux.
This is needed for making it build with musl libc.
---
lib/Support/DynamicLibrary.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Support/DynamicLibrary.cpp b/lib/Support/DynamicLibrary.cpp
index 9a7aeb5..0c1c8f8 100644
--- a/lib/Support/DynamicLibrary.cpp
+++ b/lib/Support/DynamicLibrary.cpp
@@ -140,10 +140,10 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char *symbolName) {
#define EXPLICIT_SYMBOL(SYM) \
if (!strcmp(symbolName, #SYM)) return &SYM
-// On linux we have a weird situation. The stderr/out/in symbols are both
+// On GNU libc we have a weird situation. The stderr/out/in symbols are both
// macros and global variables because of standards requirements. So, we
// boldly use the EXPLICIT_SYMBOL macro without checking for a #define first.
-#if defined(__linux__) and !defined(__ANDROID__)
+#if defined(__GLIBC__)
{
EXPLICIT_SYMBOL(stderr);
EXPLICIT_SYMBOL(stdout);
--
2.7.3

View File

@ -83,7 +83,7 @@ in stdenv.mkDerivation (rec {
patch -p0 < ${../aarch64.patch}
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -i ${../TLI-musl.patch}
patch -p1 -i ${./dynamiclibrary-musl.patch}
patch -p1 -i ${../dynamiclibrary-musl.patch}
patch -p1 -i ${./sanitizers-nongnu.patch} -d projects/compiler-rt
'';