summaryrefslogtreecommitdiff
path: root/system/musl/powerpc-wchar_t.patch
diff options
context:
space:
mode:
Diffstat (limited to 'system/musl/powerpc-wchar_t.patch')
-rw-r--r--system/musl/powerpc-wchar_t.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/system/musl/powerpc-wchar_t.patch b/system/musl/powerpc-wchar_t.patch
new file mode 100644
index 000000000..62b24a5f1
--- /dev/null
+++ b/system/musl/powerpc-wchar_t.patch
@@ -0,0 +1,26 @@
+From 0da9cc40f861293db7baba3854b44d73658b168d Mon Sep 17 00:00:00 2001
+From: q66 <daniel@octaforge.org>
+Date: Wed, 22 May 2019 13:18:53 +0200
+Subject: [PATCH] properly deal with wchar_t definition on 32-bit powerpc
+
+Clang defines it to be int, gcc defines it to be long. The old
+code results in conflicts when building things with clang. This
+same change is already incorporated for i386 in musl upstream,
+so apply it to powerpc as well.
+
+diff --git a/arch/powerpc/bits/alltypes.h.in b/arch/powerpc/bits/alltypes.h.in
+--- a/arch/powerpc/bits/alltypes.h.in
++++ b/arch/powerpc/bits/alltypes.h.in
+@@ -6,8 +6,12 @@ TYPEDEF __builtin_va_list va_list;
+ TYPEDEF __builtin_va_list __isoc_va_list;
+
+ #ifndef __cplusplus
++#ifdef __WCHAR_TYPE__
++TYPEDEF __WCHAR_TYPE__ wchar_t;
++#else
+ TYPEDEF long wchar_t;
+ #endif
++#endif
+
+ TYPEDEF float float_t;
+ TYPEDEF double double_t;