mirror of
https://github.com/Relintai/osxcross.git
synced 2025-02-03 22:45:56 +01:00
add a workaround for a glibc 2.20 bug
This commit is contained in:
parent
45b8510f70
commit
f1c5d5368d
1
build.sh
1
build.sh
@ -186,6 +186,7 @@ if [ "$PLATFORM" == "Linux" ]; then
|
|||||||
fi
|
fi
|
||||||
# fix LD_LIBRARY_PATH
|
# fix LD_LIBRARY_PATH
|
||||||
patch -p0 < $PATCH_DIR/cctools-f7a5930.patch
|
patch -p0 < $PATCH_DIR/cctools-f7a5930.patch
|
||||||
|
patch -p0 < $PATCH_DIR/cctools-cdefs.patch
|
||||||
popd &>/dev/null
|
popd &>/dev/null
|
||||||
patch -p0 < $PATCH_DIR/cctools-ld64-1.patch
|
patch -p0 < $PATCH_DIR/cctools-ld64-1.patch
|
||||||
patch -p0 < $PATCH_DIR/cctools-ld64-2.patch
|
patch -p0 < $PATCH_DIR/cctools-ld64-2.patch
|
||||||
|
32
patches/cctools-cdefs.patch
Normal file
32
patches/cctools-cdefs.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
commit 7083dddbb0f106d791d313829ea7dc45db90e375
|
||||||
|
Author: Thomas Pöchtrager <t.poechtrager@gmail.com>
|
||||||
|
Date: Thu Sep 11 00:34:16 2014 +0200
|
||||||
|
|
||||||
|
add a workaround for a glibc 2.20 bug
|
||||||
|
|
||||||
|
diff --git cctools/include/sys/cdefs.h cctools/include/sys/cdefs.h
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ca78da5
|
||||||
|
--- /dev/null
|
||||||
|
+++ cctools/include/sys/cdefs.h
|
||||||
|
@@ -0,0 +1,20 @@
|
||||||
|
+/*
|
||||||
|
+ * Workaround for a GLIBC bug.
|
||||||
|
+ * https://sourceware.org/bugzilla/show_bug.cgi?id=14952
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#include_next <sys/cdefs.h>
|
||||||
|
+
|
||||||
|
+#ifdef __GLIBC__
|
||||||
|
+
|
||||||
|
+#ifndef __extern_inline
|
||||||
|
+# define __extern_inline \
|
||||||
|
+ extern __inline __attribute__ ((__gnu_inline__))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifndef __extern_always_inline
|
||||||
|
+# define __extern_always_inline \
|
||||||
|
+ extern __always_inline __attribute__ ((__gnu_inline__))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#endif /* __GLIBC__ */
|
@ -58,7 +58,7 @@ fi
|
|||||||
[ $PLATFORM = "FreeBSD" ] && FLAGS+="-lutil "
|
[ $PLATFORM = "FreeBSD" ] && FLAGS+="-lutil "
|
||||||
|
|
||||||
if [[ $PLATFORM != *Windows ]] && [ $PLATFORM != "Darwin" ]; then
|
if [[ $PLATFORM != *Windows ]] && [ $PLATFORM != "Darwin" ]; then
|
||||||
FLAGS+="-lrt "
|
FLAGS+="-lrt -isystem quirks/include"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
function compile_wrapper()
|
function compile_wrapper()
|
||||||
|
20
wrapper/quirks/include/sys/cdefs.h
Normal file
20
wrapper/quirks/include/sys/cdefs.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* Workaround for a GLIBC bug.
|
||||||
|
* https://sourceware.org/bugzilla/show_bug.cgi?id=14952
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include_next <sys/cdefs.h>
|
||||||
|
|
||||||
|
#ifdef __GLIBC__
|
||||||
|
|
||||||
|
#ifndef __extern_inline
|
||||||
|
# define __extern_inline \
|
||||||
|
extern __inline __attribute__ ((__gnu_inline__))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __extern_always_inline
|
||||||
|
# define __extern_always_inline \
|
||||||
|
extern __always_inline __attribute__ ((__gnu_inline__))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __GLIBC__ */
|
Loading…
Reference in New Issue
Block a user