diff options
Diffstat (limited to 'sysroot-patches')
-rw-r--r-- | sysroot-patches/glibc-2.17-define-gnu-inline.patch | 35 | ||||
-rw-r--r-- | sysroot-patches/sysroot-link-libgl-correctly.patch | 13 | ||||
-rw-r--r-- | sysroot-patches/sysroot-link-stdatomic-to-bionic.patch | 15 |
3 files changed, 63 insertions, 0 deletions
diff --git a/sysroot-patches/glibc-2.17-define-gnu-inline.patch b/sysroot-patches/glibc-2.17-define-gnu-inline.patch new file mode 100644 index 0000000..b4c3468 --- /dev/null +++ b/sysroot-patches/glibc-2.17-define-gnu-inline.patch @@ -0,0 +1,35 @@ +This patch is one of the motivating reasons for upgrading glibc from 2.15. + +Unfortunately, we couldn't upgrade to 2.19(*) due to some users having 2.17. + +* - which no longer needs the patch, since the #ifdefs around __gnu_inline__ are + worded so that compilers that don't have __GNUC_PREREQ(4, 3) can still get + the reasonable definition for __gnu_inline__ + +----- +diff --git a/amd64/usr/include/x86_64-linux-gnu/sys/cdefs.h b/amd64/usr/include/x86_64-linux-gnu/sys/cdefs.h +index fb6c959..bd9ee92 100644 +--- a/usr/include/x86_64-linux-gnu/sys/cdefs.h ++++ b/usr/include/x86_64-linux-gnu/sys/cdefs.h +@@ -320,7 +320,7 @@ + + /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +-#if (!defined __cplusplus || __GNUC_PREREQ (4,3)) && defined __GNUC__ ++#if (!defined __cplusplus || __GNUC_PREREQ (4,3) || defined __clang__) && defined __GNUC__ + # if defined __GNUC_STDC_INLINE__ || defined __cplusplus + # define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) + # define __extern_always_inline \ +diff --git a/i386/usr/include/i386-linux-gnu/sys/cdefs.h b/i386/usr/include/i386-linux-gnu/sys/cdefs.h +index fb6c959..bd9ee92 100644 +--- a/usr/include/i386-linux-gnu/sys/cdefs.h ++++ b/usr/include/i386-linux-gnu/sys/cdefs.h +@@ -320,7 +320,7 @@ + + /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +-#if (!defined __cplusplus || __GNUC_PREREQ (4,3)) && defined __GNUC__ ++#if (!defined __cplusplus || __GNUC_PREREQ (4,3) || defined __clang__) && defined __GNUC__ + # if defined __GNUC_STDC_INLINE__ || defined __cplusplus + # define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) + # define __extern_always_inline \ diff --git a/sysroot-patches/sysroot-link-libgl-correctly.patch b/sysroot-patches/sysroot-link-libgl-correctly.patch new file mode 100644 index 0000000..1d6f539 --- /dev/null +++ b/sysroot-patches/sysroot-link-libgl-correctly.patch @@ -0,0 +1,13 @@ +libGL.so was symlinked to itself. Unsurprisingly, this breaks things. Link it to +mesa/ instead. + +----- +diff --git a/usr/lib/libGL.so b/usr/lib/libGL.so +index fc3a03e..e898a5b 120000 +--- a/usr/lib/libGL.so ++++ b/usr/lib/libGL.so +@@ -1 +1 @@ +-libGL.so +\ No newline at end of file ++mesa/libGL.so +\ No newline at end of file diff --git a/sysroot-patches/sysroot-link-stdatomic-to-bionic.patch b/sysroot-patches/sysroot-link-stdatomic-to-bionic.patch new file mode 100644 index 0000000..d12ffa0 --- /dev/null +++ b/sysroot-patches/sysroot-link-stdatomic-to-bionic.patch @@ -0,0 +1,15 @@ +Carried from glibc-2.15 we have a stdatomic.h symlink. + +There's no motivating build failure I could produce for this. It's incredibly +cheap to include, and random online posts indicate that stdatomic.h only +appeared with gcc 4.9. Probably worth checking if this is still needed when we +move to that. + +----- +diff --git a/usr/include/stdatomic.h b/usr/include/stdatomic.h +new file mode 120000 +--- /dev/null ++++ b/usr/include/stdatomic.h +@@ -0,0 +1 @@ ++../../../../../../../../bionic/libc/include/stdatomic.h +\ No newline at end of file |