aboutsummaryrefslogtreecommitdiffstats
path: root/main/cmocka/musl_uintptr.patch
diff options
context:
space:
mode:
authorBreno Leitao <breno.leitao@gmail.com>2017-03-29 18:15:57 +0000
committerJakub Jirutka <jakub@jirutka.cz>2017-03-31 03:12:24 +0200
commit6a15dd0d0ba9cc354a621fb359ca5e315ff2eabd (patch)
treeca68edc7d696a0a158df8f66c8b723d81d899b73 /main/cmocka/musl_uintptr.patch
parentf226e7e897a0875425b33146aba570af3c487c5d (diff)
downloadaports-6a15dd0d0ba9cc354a621fb359ca5e315ff2eabd.tar.bz2
aports-6a15dd0d0ba9cc354a621fb359ca5e315ff2eabd.tar.xz
main/cmocka: fix build and check on ppc64le
Currently cmocka fails to build on ppc64le due to a redefinition for uintptr_t. This is declared at Musl and redeclared by cmocka. This patch check if uintptr_t was not defined by MUSL before re-defining it.
Diffstat (limited to 'main/cmocka/musl_uintptr.patch')
-rw-r--r--main/cmocka/musl_uintptr.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/main/cmocka/musl_uintptr.patch b/main/cmocka/musl_uintptr.patch
new file mode 100644
index 0000000000..9c9ca5735e
--- /dev/null
+++ b/main/cmocka/musl_uintptr.patch
@@ -0,0 +1,35 @@
+commit f81e5b71ce78f33250347914dacc75c8463bf102
+Author: Breno Leitao <breno.leitao@gmail.com>
+Date: Wed Mar 29 15:22:38 2017 -0300
+
+ include: Check for previous declaration of uintptr_t
+
+ Adding a extra check before declaring uintptr_t. Currently musl uses
+ macro __DEFINED_uintptr_t once it defines uintptr_t type. Checking
+ this macro before defining it, and, defining it when uintptr_t is
+ defined.
+
+ Signed-off-by: Breno Leitao <breno.leitao@gmail.com>
+
+diff --git a/include/cmocka.h b/include/cmocka.h
+index 303d0ae..a2bfc40 100644
+--- a/include/cmocka.h
++++ b/include/cmocka.h
+@@ -110,7 +110,7 @@
+ ((LargestIntegralType)(value))
+
+ /* Smallest integral type capable of holding a pointer. */
+-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
++#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(__DEFINED_uintptr_t)
+ # if defined(_WIN32)
+ /* WIN32 is an ILP32 platform */
+ typedef unsigned int uintptr_t;
+@@ -136,6 +136,8 @@
+
+ # define _UINTPTR_T
+ # define _UINTPTR_T_DEFINED
++# define __DEFINED_uintptr_t
++
+ #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
+
+ /* Perform an unsigned cast to uintptr_t. */