mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-25 12:15:32 +03:00
40 lines
1.6 KiB
Diff
40 lines
1.6 KiB
Diff
From ae8900a8833835309aecb0a3d947c2ae46fd86c3 Mon Sep 17 00:00:00 2001
|
|
From: Keno Fischer <keno@alumni.harvard.edu>
|
|
Date: Thu, 26 Oct 2017 16:44:13 +0000
|
|
Subject: [PATCH] [DynamicLibrary] Fix build on musl libc
|
|
|
|
Summary:
|
|
On musl libc, stdin/out/err are defined as `FILE* const` globals,
|
|
and their address is not implicitly convertible to void *,
|
|
or at least gcc 6 doesn't allow it, giving errors like:
|
|
|
|
```
|
|
error: cannot initialize return object of type 'void *' with an rvalue of type 'FILE *const *' (aka '_IO_FILE *const *')
|
|
EXPLICIT_SYMBOL(stderr);
|
|
^~~~~~~~~~~~~~~~~~~~~~~
|
|
```
|
|
|
|
Add an explicit cast to fix that problem.
|
|
|
|
Reviewers: marsupial, krytarowski, dim
|
|
Reviewed By: dim
|
|
Differential Revision: https://reviews.llvm.org/D39297
|
|
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316672 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
---
|
|
lib/Support/Unix/DynamicLibrary.inc | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/lib/Support/Unix/DynamicLibrary.inc b/lib/Support/Unix/DynamicLibrary.inc
|
|
index f05103ccd1e..029451f347e 100644
|
|
--- a/lib/Support/Unix/DynamicLibrary.inc
|
|
+++ b/lib/Support/Unix/DynamicLibrary.inc
|
|
@@ -71,7 +71,7 @@ void *DynamicLibrary::HandleSet::DLSym(void *Handle, const char *Symbol) {
|
|
// Must declare the symbols in the global namespace.
|
|
static void *DoSearch(const char* SymbolName) {
|
|
#define EXPLICIT_SYMBOL(SYM) \
|
|
- extern void *SYM; if (!strcmp(SymbolName, #SYM)) return &SYM
|
|
+ extern void *SYM; if (!strcmp(SymbolName, #SYM)) return (void*)&SYM
|
|
|
|
// If this is darwin, it has some funky issues, try to solve them here. Some
|
|
// important symbols are marked 'private external' which doesn't allow
|