34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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
 | 
						|
 |