llvm_{39,4}: refactor to use same patch file
This commit is contained in:
parent
a1bf9b6094
commit
182de524a1
4 changed files with 2 additions and 35 deletions
|
@ -64,7 +64,7 @@ in stdenv.mkDerivation rec {
|
|||
})
|
||||
] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
|
||||
../TLI-musl.patch
|
||||
./dynamiclibrary-musl.patch
|
||||
../dynamiclibrary-musl.patch
|
||||
];
|
||||
|
||||
postPatch = ""
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
Loading…
Reference in a new issue