webkitgtk: Fix atomic detection on arm architecture
PATCH 1/8 webkitgtk: Fix atomic detection on arm architecture
--- .../recipes-sato/webkit/files/detect_atomics.patch | 38 ++++++++++++++++++++++ meta/recipes-sato/webkit/webkitgtk_2.14.2.bb | 1 + 2 files changed, 39 insertions(+) create mode 100644 meta/recipes-sato/webkit/files/detect_atomics.patch
meta/recipes-sato/webkit/files/detect_atomics.patch new file +38 -0
@@ -0,0 +1,38 @@ +Sourced from https://bugs.webkit.org/show_bug.cgi?id=161900 + +on arm fixes + +| /usr/src/debug/libgcc/6.2.0-r0/gcc-6.2.0/build.arm-oe-linux-gnueabi.arm-oe-linux-gnueabi/libgcc/../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgcc/config/arm/linux-atomic-64bit.c:117: multiple definition of `__sync_sub_and_fetch_8' + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Backport + +diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt +index 867999e..ea69322 100644 +--- a/Source/WTF/wtf/CMakeLists.txt ++++ b/Source/WTF/wtf/CMakeLists.txt +@@ -171,7 +171,6 @@ set(WTF_HEADERS + + set(WTF_SOURCES + Assertions.cpp +- Atomics.cpp + BitVector.cpp + CompilationThread.cpp + CrossThreadCopier.cpp +@@ -276,6 +275,15 @@ if (NOT USE_SYSTEM_MALLOC) + list(APPEND WTF_LIBRARIES bmalloc) + endif () + ++file(WRITE ${CMAKE_BINARY_DIR}/test_atomics.cpp ++ "int main(void)\n" ++ "{ long long x = 1; return (int) __sync_add_and_fetch_8(&x, 1); }\n") ++try_compile(ATOMICS_BUILD_SUCCEEDED ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/test_atomics.cpp) ++if (NOT ATOMICS_BUILD_SUCCEEDED) ++ list(APPEND WTF_SOURCES Atomics.cpp) ++endif () ++file(REMOVE ${CMAKE_BINARY_DIR}/test_atomics.cpp) ++ + list(APPEND WTF_SOURCES + unicode/icu/CollatorICU.cpp + )
meta/recipes-sato/webkit/webkitgtk_2.14.2.bb +1 -0
@@ -19,6 +19,7 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ + file://detect_atomics.patch \ " SRC_URI[md5sum] = "2fe3cadbc546d93ca68a13756c2be015"
Signature · 1 line
2.11.0
PATCH 2/8 gdb: Upgrade to 7.12
---
meta/conf/distro/include/tcmode-default.inc | 2 +-
.../gdb/{gdb-7.11.1.inc => gdb-7.12.inc} | 5 +-
...nadian_7.11.1.bb => gdb-cross-canadian_7.12.bb} | 0
.../gdb/{gdb-cross_7.11.1.bb => gdb-cross_7.12.bb} | 0
.../gdb/0001-include-sys-types.h-for-mode_t.patch | 6 +-
...0002-make-man-install-relative-to-DESTDIR.patch | 6 +-
...s-linux-nat-Define-_ABIO32-if-not-defined.patch | 6 +-
...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch | 12 +-
...d-support-for-Renesas-SH-sh4-architecture.patch | 42 +-
...e-libreadline.a-when-using-disable-static.patch | 10 +-
.../gdb/gdb/0007-use-asm-sgidefs.h.patch | 6 +-
.../0008-Use-exorted-definitions-of-SIGRTMIN.patch | 10 +-
.../gdb/gdb/0009-Change-order-of-CFLAGS.patch | 6 +-
.../0010-resolve-restrict-keyword-conflict.patch | 6 +-
meta/recipes-devtools/gdb/gdb/0011-avx_mpx.patch | 2601 --------------------
.../gdb/{gdb_7.11.1.bb => gdb_7.12.bb} | 0
16 files changed, 58 insertions(+), 2660 deletions(-)
rename meta/recipes-devtools/gdb/{gdb-7.11.1.inc => gdb-7.12.inc} (85%)
rename meta/recipes-devtools/gdb/{gdb-cross-canadian_7.11.1.bb => gdb-cross-canadian_7.12.bb} (100%)
rename meta/recipes-devtools/gdb/{gdb-cross_7.11.1.bb => gdb-cross_7.12.bb} (100%)
delete mode 100644 meta/recipes-devtools/gdb/gdb/0011-avx_mpx.patch
rename meta/recipes-devtools/gdb/{gdb_7.11.1.bb => gdb_7.12.bb} (100%)meta/conf/distro/include/tcmode-default.inc +1 -1
@@ -25,7 +25,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" GCCVERSION ?= "6.2%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.27%" -GDBVERSION ?= "7.11%" +GDBVERSION ?= "7.12%" GLIBCVERSION ?= "2.25" UCLIBCVERSION ?= "1.0%" LINUXLIBCVERSION ?= "4.8%"
meta/recipes-devtools/gdb/gdb-7.12.inc renamed from meta/recipes-devtools/gdb/gdb-7.11.1.inc +2 -3
@@ -15,8 +15,7 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \ file://0009-Change-order-of-CFLAGS.patch \ file://0010-resolve-restrict-keyword-conflict.patch \ - file://0011-avx_mpx.patch \ " +SRC_URI[md5sum] = "a0a3a00f7499b0c5278ba8676745d180" +SRC_URI[sha256sum] = "834ff3c5948b30718343ea57b11cbc3235d7995c6a4f3a5cecec8c8114164f94" -SRC_URI[md5sum] = "5aa71522e488e358243917967db87476" -SRC_URI[sha256sum] = "e9216da4e3755e9f414c1aa0026b626251dfc57ffe572a266e98da4f6988fc70"
meta/recipes-devtools/gdb/gdb-cross-canadian_7.12.bb renamed from meta/recipes-devtools/gdb/gdb-cross-canadian_7.11.1.bb +0 -0
meta/recipes-devtools/gdb/gdb-cross_7.12.bb renamed from meta/recipes-devtools/gdb/gdb-cross_7.11.1.bb +0 -0
meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch +3 -3
@@ -1,4 +1,4 @@ -From fddd7178915968acf680814411b8b3cb137d0587 Mon Sep 17 00:00:00 2001 +From 2c81e17216b4e471a1ce0bddb50f374b0722a2ce Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Tue, 19 Jan 2016 18:18:52 -0800 Subject: [PATCH 01/10] include sys/types.h for mode_t
@@ -14,7 +14,7 @@ Upstream-Status: Pending 1 file changed, 1 insertion(+) diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h -index 5af2051..f42c510 100644 +index 4c14c204bb..bdab18f7f7 100644 --- a/gdb/gdbserver/target.h +++ b/gdb/gdbserver/target.h @@ -28,6 +28,7 @@
@@ -26,5 +26,5 @@ index 5af2051..f42c510 100644 struct emit_ops; struct buffer; -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch +3 -3
@@ -1,4 +1,4 @@ -From 3229cb09033eeb5003a08d91fa9d43be8ba4c86b Mon Sep 17 00:00:00 2001 +From f316d604b312bead78594f02e1355633eda9507b Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Mon, 2 Mar 2015 02:27:55 +0000 Subject: [PATCH 02/10] make man install relative to DESTDIR
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <[email protected]> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in -index a05f507..8d0fa64 100644 +index a05f50767a..8d0fa64ea8 100644 --- a/sim/common/Makefile.in +++ b/sim/common/Makefile.in @@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias)
@@ -24,5 +24,5 @@ index a05f507..8d0fa64 100644 includedir = @includedir@ -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch +3 -3
@@ -1,4 +1,4 @@ -From 88e67caed662d8344c8db56176c9f1221e6cd2a2 Mon Sep 17 00:00:00 2001 +From f2912b1d2e5c854a112176682903b696da33e003 Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Wed, 23 Mar 2016 06:30:09 +0000 Subject: [PATCH 03/10] mips-linux-nat: Define _ABIO32 if not defined
@@ -17,7 +17,7 @@ Upstream-Status: Pending 1 file changed, 5 insertions(+) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index bfe9fcb..449b43a 100644 +index 0f20f16814..722532bb6c 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -46,6 +46,11 @@
@@ -33,5 +33,5 @@ index bfe9fcb..449b43a 100644 we'll clear this and use PTRACE_PEEKUSER instead. */ static int have_ptrace_regsets = 1; -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +6 -6
@@ -1,6 +1,6 @@ -From bec564eb454bc7fc6ecfcb573aa53040bf39c1d5 Mon Sep 17 00:00:00 2001 +From 7ef7b709885378279c424eab0510b93233400b24 Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> -Date: Sat, 30 Apr 2016 16:46:03 +0000 +Date: Sat, 6 Aug 2016 17:32:50 -0700 Subject: [PATCH 04/10] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <[email protected]> 2 files changed, 12 insertions(+) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 2145c50..777905d 100644 +index 1d013f185f..68098b3db9 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c @@ -21,7 +21,13 @@
@@ -29,9 +29,9 @@ index 2145c50..777905d 100644 +#endif #include "nat/ppc-linux.h" - + #include "linux-ppc-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index 85fbcd8..cbec9c5 100644 +index 85fbcd84bb..cbec9c53b2 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@
@@ -49,5 +49,5 @@ index 85fbcd8..cbec9c5 100644 /* This sometimes isn't defined. */ -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch +21 -21
159 lines not on this page · raw message
meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch +5 -5
@@ -1,4 +1,4 @@ -From f3932cb2960fd54655a448b13d5a5b80f356f8de Mon Sep 17 00:00:00 2001 +From 2a6e28ad5c0cad189a3697d96de031e4713052b8 Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Sat, 30 Apr 2016 15:25:03 -0700 Subject: [PATCH 06/10] Dont disable libreadline.a when using --disable-static
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <[email protected]> 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile.def b/Makefile.def -index ea8453e..0fc66c6 100644 +index ea8453e851..0fc66c694b 100644 --- a/Makefile.def +++ b/Makefile.def @@ -104,7 +104,8 @@ host_modules= { module= libiconv;
@@ -33,10 +33,10 @@ index ea8453e..0fc66c6 100644 host_modules= { module= sim; }; host_modules= { module= texinfo; no_install= true; }; diff --git a/Makefile.in b/Makefile.in -index 2733c4d..3e04e80 100644 +index cb0136e8f8..55f9085c16 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -25380,7 +25380,7 @@ configure-readline: +@@ -25385,7 +25385,7 @@ configure-readline: $$s/$$module_srcdir/configure \ --srcdir=$${topdir}/$$module_srcdir \ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
@@ -46,5 +46,5 @@ index 2733c4d..3e04e80 100644 @endif readline -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch +3 -3
@@ -1,4 +1,4 @@ -From 048675a915a72989f2613386975730da016e7c5d Mon Sep 17 00:00:00 2001 +From d7543b44255da4ae71447d4e4d63e0b6aa4ed909 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <[email protected]> Date: Sat, 30 Apr 2016 15:29:06 -0700 Subject: [PATCH 07/10] use <asm/sgidefs.h>
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <[email protected]> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 449b43a..09603da 100644 +index 722532bb6c..51d8fc8f66 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@
@@ -32,5 +32,5 @@ index 449b43a..09603da 100644 #include <asm/ptrace.h> -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch +5 -5
@@ -1,4 +1,4 @@ -From e54ead9d81f4d38412751b815f909db3cb144bb1 Mon Sep 17 00:00:00 2001 +From aacd77184da1328908da41c9fdb55ad881fa0e99 Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Sat, 30 Apr 2016 15:31:40 -0700 Subject: [PATCH 08/10] Use exorted definitions of SIGRTMIN
@@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <[email protected]> 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c -index 0829bcb..3b8a896 100644 +index 5d5efa0af4..e3420b49a0 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c -@@ -4845,6 +4845,6 @@ lin_thread_get_thread_signals (sigset_t *set) +@@ -5022,6 +5022,6 @@ lin_thread_get_thread_signals (sigset_t *set) /* NPTL reserves the first two RT signals, but does not provide any way for the debugger to query the signal numbers - fortunately they don't change. */
@@ -33,7 +33,7 @@ index 0829bcb..3b8a896 100644 + sigaddset (set, SIGRTMIN + 1); } diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h -index 2b485db..d058afc 100644 +index 2b485db141..d058afcde8 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h @@ -85,4 +85,8 @@ extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp);
@@ -46,5 +46,5 @@ index 2b485db..d058afc 100644 + #endif /* LINUX_NAT_H */ -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch +3 -3
@@ -1,4 +1,4 @@ -From ba0bbf887d4911ccee9df57cb13eafb1de34bb31 Mon Sep 17 00:00:00 2001 +From 8c35d5d1825ed017cc58ea91011412e54c002eeb Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Sat, 30 Apr 2016 15:35:39 -0700 Subject: [PATCH 09/10] Change order of CFLAGS
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <[email protected]> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in -index 1e874e3..91e8550 100644 +index f844ab8853..3f88db52e3 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in @@ -138,10 +138,10 @@ CXXFLAGS = @CXXFLAGS@
@@ -30,5 +30,5 @@ index 1e874e3..91e8550 100644 # LDFLAGS is specifically reserved for setting from the command line # when running make. -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch +3 -3
@@ -1,4 +1,4 @@ -From 5a9ccb8c0728b658fc4f7f0f7b36873c64274f10 Mon Sep 17 00:00:00 2001 +From 7816d3497266e55c1c921d7cc1c8bf81c8ed0b4a Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Tue, 10 May 2016 08:47:05 -0700 Subject: [PATCH 10/10] resolve restrict keyword conflict
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <[email protected]> 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gdb/gnulib/import/sys_time.in.h b/gdb/gnulib/import/sys_time.in.h -index c556c5d..2a6107f 100644 +index c556c5db23..2a6107fcf8 100644 --- a/gdb/gnulib/import/sys_time.in.h +++ b/gdb/gnulib/import/sys_time.in.h @@ -93,20 +93,20 @@ struct timeval
@@ -44,5 +44,5 @@ index c556c5d..2a6107f 100644 _GL_CXXALIASWARN (gettimeofday); #elif defined GNULIB_POSIXCHECK -- -2.8.2 +2.11.0
meta/recipes-devtools/gdb/gdb/0011-avx_mpx.patch deleted +0 -2601
2,601 lines not on this page · raw message
meta/recipes-devtools/gdb/gdb_7.12.bb renamed from meta/recipes-devtools/gdb/gdb_7.11.1.bb +0 -0
Signature · 1 line
2.11.0
PATCH 3/8 grub: Fix build with glibc 2.25
In reply to Khem RajBackport relevant patch from grub git
--- ...Use-AC_HEADER_MAJOR-to-find-device-macros.patch | 92 ++++++++++++++++++++++ meta/recipes-bsp/grub/grub2.inc | 1 + 2 files changed, 93 insertions(+) create mode 100644 meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch
meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch new file +92 -0
@@ -0,0 +1,92 @@ +From 7a5b301e3adb8e054288518a325135a1883c1c6c Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <[email protected]> +Date: Tue, 19 Apr 2016 14:27:22 -0400 +Subject: [PATCH] build: Use AC_HEADER_MAJOR to find device macros + +Depending on the OS/libc, device macros are defined in different +headers. This change ensures we include the right one. + +sys/types.h - BSD +sys/mkdev.h - Sun +sys/sysmacros.h - glibc (Linux) + +glibc currently pulls sys/sysmacros.h into sys/types.h, but this may +change in a future release. + +https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html +--- +Upstream-Status: Backport + + configure.ac | 3 ++- + grub-core/osdep/devmapper/getroot.c | 6 ++++++ + grub-core/osdep/devmapper/hostdisk.c | 5 +++++ + grub-core/osdep/linux/getroot.c | 6 ++++++ + grub-core/osdep/unix/getroot.c | 4 +++- + 5 files changed, 22 insertions(+), 2 deletions(-) + +Index: grub-2.00/configure.ac +=================================================================== +--- grub-2.00.orig/configure.ac ++++ grub-2.00/configure.ac +@@ -326,7 +326,8 @@ fi + + # Check for functions and headers. + AC_CHECK_FUNCS(posix_memalign memalign asprintf vasprintf getextmntent) +-AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h sys/mkdev.h limits.h) ++AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h limits.h) ++AC_HEADER_MAJOR + + AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$ac_includes_default + #include <sys/param.h> +Index: grub-2.00/grub-core/kern/emu/hostdisk.c +=================================================================== +--- grub-2.00.orig/grub-core/kern/emu/hostdisk.c ++++ grub-2.00/grub-core/kern/emu/hostdisk.c +@@ -41,6 +41,12 @@ + #include <errno.h> + #include <limits.h> + ++#if defined(MAJOR_IN_MKDEV) ++#include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> ++#endif ++ + #ifdef __linux__ + # include <sys/ioctl.h> /* ioctl */ + # include <sys/mount.h> +Index: grub-2.00/util/getroot.c +=================================================================== +--- grub-2.00.orig/util/getroot.c ++++ grub-2.00/util/getroot.c +@@ -35,6 +35,13 @@ + #ifdef HAVE_LIMITS_H + #include <limits.h> + #endif ++ ++#if defined(MAJOR_IN_MKDEV) ++#include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> ++#endif ++ + #include <grub/util/misc.h> + #include <grub/util/lvm.h> + #include <grub/cryptodisk.h> +Index: grub-2.00/util/raid.c +=================================================================== +--- grub-2.00.orig/util/raid.c ++++ grub-2.00/util/raid.c +@@ -29,6 +29,12 @@ + #include <errno.h> + #include <sys/types.h> + ++#if defined(MAJOR_IN_MKDEV) ++#include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> ++#endif ++ + #include <linux/types.h> + #include <linux/major.h> + #include <linux/raid/md_p.h>
meta/recipes-bsp/grub/grub2.inc +1 -0
@@ -35,6 +35,7 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ file://0001-Enforce-no-pie-if-the-compiler-supports-it.patch \ file://0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch \ file://0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch \ + file://0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch \ " DEPENDS = "flex-native bison-native autogen-native"
Signature · 1 line
2.11.0
PATCH 4/8 grub-git: Upgrade to tip of master and fix with glibc 2.25
In reply to Khem Raj--- meta/recipes-bsp/grub/grub_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-bsp/grub/grub_git.bb +1 -1
@@ -6,7 +6,7 @@ DEFAULT_PREFERENCE_arm = "1" FILESEXTRAPATHS =. "${FILE_DIRNAME}/grub-git:" PV = "2.00+${SRCPV}" -SRCREV = "7a5b301e3adb8e054288518a325135a1883c1c6c" +SRCREV = "ce95549cc54b5d6f494608a7c390dba3aab4fba7" SRC_URI = "git://git.savannah.gnu.org/grub.git \ file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \ file://autogen.sh-exclude-pc.patch \
Signature · 1 line
2.11.0
PATCH 5/8 mdadm: Fix build with glibc 2.25
In reply to Khem Raj--- ...ys-sysmacros.h-for-major-minor-defintions.patch | 48 ++++++++++++++++++++++ meta/recipes-extended/mdadm/mdadm_3.4.bb | 1 + 2 files changed, 49 insertions(+) create mode 100644 meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch new file +48 -0
@@ -0,0 +1,48 @@ +From 943616e5dffb79f307e4bd9b249d316212998750 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Sun, 18 Dec 2016 08:30:51 +0000 +Subject: [PATCH] include <sys/sysmacros.h> for major/minor defintions + +glibc 2.25 is warning about it if applications depend on +sys/types.h for these macros, it expects to be included +from <sys/sysmacros.h> + +Fixes +| Grow.c:3534:13: error: In the GNU C Library, "minor" is defined +| by <sys/sysmacros.h>. For historical compatibility, it is +| currently defined by <sys/types.h> as well, but we plan to +| remove this soon. To use "minor", include <sys/sysmacros.h> +| directly. If you did not intend to use a system-defined macro +| "minor", you should undefine it after including <sys/types.h>. [-Werror] +| Query.c: In function 'Query': +| Query.c:105:13: error: In the GNU C Library, "makedev" is defined +| by <sys/sysmacros.h>. For historical compatibility, it is +| currently defined by <sys/types.h> as well, but we plan to +| remove this soon. To use "makedev", include <sys/sysmacros.h> +| directly. If you did not intend to use a system-defined macro +| "makedev", you should undefine it after including <sys/types.h>. [-Werror] +| makedev((unsigned)disc.major,(unsigned)disc.minor) == stb.st_rdev) +| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Khem Raj <[email protected]> +--- +Upstream-Status: Pending + + mdadm.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/mdadm.h b/mdadm.h +index 8c8f4d1..3ce13b5 100755 +--- a/mdadm.h ++++ b/mdadm.h +@@ -34,6 +34,7 @@ extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); + #endif + + #include <sys/types.h> ++#include <sys/sysmacros.h> + #include <sys/stat.h> + #include <stdint.h> + #include <stdlib.h> +-- +1.9.1 +
meta/recipes-extended/mdadm/mdadm_3.4.bb +1 -0
@@ -21,6 +21,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ file://run-ptest \ file://0001-raid6check-Fix-if-else-indentation.patch \ file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \ + file://0001-include-sys-sysmacros.h-for-major-minor-defintions.patch \ " SRC_URI[md5sum] = "04b8b21f637540350f8517c7e68d3c63" SRC_URI[sha256sum] = "27d0be4627d38a12ddcd1c1c3721d649d4e89e1093914497e22b57245cda8808"
Signature · 1 line
2.11.0
PATCH 6/8 pax: Fix build with glibc 2.25
In reply to Khem Raj--- ...s-sysmacros.h-for-major-minor-definitions.patch | 71 ++++++++++++++++++++++ meta/recipes-extended/pax/pax_3.4.bb | 4 +- 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch new file +71 -0
@@ -0,0 +1,71 @@ +From 7f4f379f8343c0ce92aa30f3f9037288a089a902 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Sun, 18 Dec 2016 08:24:56 +0000 +Subject: [PATCH] include <sys/sysmacros.h> for major/minor definitions + +glibc 2.25 will error out if the applications are expecting +this to come from sys/types.h, it is being removed from +there. + +Fixes + +error: In the GNU C Library, "minor" is defined +| by <sys/sysmacros.h>. For historical compatibility, it is +| currently defined by <sys/types.h> as well, but we plan to +| remove this soon. To use "minor", include <sys/sysmacros.h> +| directly. If you did not intend to use a system-defined macro +| "minor", you should undefine it after including <sys/types.h>. [-Werror] +| ul_oct ((u_long) MINOR (arcn->sb.st_rdev), hd->devminor, +| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Khem Raj <[email protected]> +--- +Upstream-Status: Pending + + src/cpio.c | 2 +- + src/gen_subs.c | 2 +- + src/tar.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/cpio.c b/src/cpio.c +index ed4dc48..ba2f14a 100644 +--- a/src/cpio.c ++++ b/src/cpio.c +@@ -36,7 +36,7 @@ + #include "config.h" + #endif + +-#include <sys/types.h> ++#include <sys/sysmacros.h> + #include <sys/time.h> + #include <sys/stat.h> + #include <sys/param.h> +diff --git a/src/gen_subs.c b/src/gen_subs.c +index 1898125..f9acbce 100644 +--- a/src/gen_subs.c ++++ b/src/gen_subs.c +@@ -37,7 +37,7 @@ + #include "config.h" + #endif + +-#include <sys/types.h> ++#include <sys/sysmacros.h> + #include <sys/time.h> + #include <sys/stat.h> + #include <sys/param.h> +diff --git a/src/tar.c b/src/tar.c +index aa11cd2..24d2c4a 100644 +--- a/src/tar.c ++++ b/src/tar.c +@@ -37,7 +37,7 @@ + #include "config.h" + #endif + +-#include <sys/types.h> ++#include <sys/sysmacros.h> + #include <sys/time.h> + #include <sys/stat.h> + #include <sys/param.h> +-- +1.9.1 +
meta/recipes-extended/pax/pax_3.4.bb +3 -1
@@ -16,7 +16,9 @@ DEPENDS_append_libc-musl = " fts " SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.bz2/fbd9023b590b45ac3ade95870702a0d6/${BP}.tar.bz2 \ file://fix_for_compile_with_gcc-4.6.0.patch \ - file://pax-3.4_fix_for_x32.patch" + file://pax-3.4_fix_for_x32.patch \ + file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \ +" SRC_URI_append_libc-musl = " file://0001-Fix-build-with-musl.patch \ file://0001-use-strtoll-instead-of-strtoq.patch \
Signature · 1 line
2.11.0
PATCH 7/8 x264: Fix build on mips architectures
In reply to Khem RajDisable asm to fix
| You specified a pre-MSA CPU in your CFLAGS.
| If you really want to run on such a CPU, configure with --disable-asm.
--- meta/recipes-multimedia/x264/x264_git.bb | 2 ++ 1 file changed, 2 insertions(+)
meta/recipes-multimedia/x264/x264_git.bb +2 -0
@@ -23,6 +23,8 @@ inherit lib_package pkgconfig perlnative X264_DISABLE_ASM = "" X264_DISABLE_ASM_armv4 = "--disable-asm" X264_DISABLE_ASM_armv5 = "--disable-asm" +X264_DISABLE_ASM_mips = "--disable-asm" +X264_DISABLE_ASM_mipsel = "--disable-asm" X264_DISABLE_ASM_powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}" EXTRA_OECONF = '--prefix=${prefix} \
Signature · 1 line
2.11.0
Re: [PATCH 7/8] x264: Fix build on mips architectures
Quoted 19 lines · Khem Raj
Disable asm to fix
Quoted 2 lines
You specified a pre-MSA CPU in your CFLAGS.
If you really want to run on such a CPU, configure with --disable-asm.Signed-off-by Khem Raj <[email protected]>---
meta/recipes-multimedia/x264/x264_git.bb | 2 ++1 file changed, 2 insertions(+)meta/recipes- renamed from meta/recipes-multimedia/x264/x264_git.bb +0
-0multimedia/x264/x264_git.bb
indexe790681ad3..240a19661f100644meta/recipes-multimedia/x264/x264_git.bb +0
-0@@ -23,6 +23,8 @@ inherit lib_package pkgconfig perlnativeX264_DISABLE_ASM = ""
X264_DISABLE_ASM_armv4 = "--disable-asm"
X264_DISABLE_ASM_armv5 = "--disable-asm"
meta/recipes-multimedia/x264/x264_git.bb inherit lib_package pkgconfig perlnative · line 27
Quoted 2 lines
meta/recipes-multimedia/x264/x264_git.bb +2
-0+X264_DISABLE_ASM_mips = "--disable-asm" +X264_DISABLE_ASM_mipsel = "--disable-asm"
I think you can use _mipsarch these days, which covers all MIPS. Equally, mips32r5 and later have MSA, so I think the override should be:
X264_DISABLE_ASM_mipsarch = "--disable-asm"X264_DISABLE_ASM_mipsarchr6 = ""
or just
X264_DISABLE_ASM_mipsarch = "${@bb.utils.contains("AVAILTUNES", "mips32r6", "", "--disable-asm", d)}"
not sure, and completely untested.
Cheers,
Andre'
PATCH 8/8 autoconf: Fix AC_HEADER_MAJOR with glibc 2.25
In reply to Khem RajBackport the patch from master for 2.69
--- .../AC_HEADER_MAJOR-port-to-glibc-2.25.patch | 147 +++++++++++++++++++++ meta/recipes-devtools/autoconf/autoconf_2.69.bb | 1 + 2 files changed, 148 insertions(+) create mode 100644 meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch
meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch new file +147 -0
@@ -0,0 +1,147 @@ +From e17a30e987d7ee695fb4294a82d987ec3dc9b974 Mon Sep 17 00:00:00 2001 +From: Eric Blake <[email protected]> +Date: Wed, 14 Sep 2016 08:17:06 -0500 +Subject: [PATCH] AC_HEADER_MAJOR: port to glibc 2.25 + +glibc 2.25 is deprecating the namespace pollution of <sys/types.h> +injecting major(), minor(), and makedev() into the compilation +environment, with a warning that insists that users include +<sys/sysmacros.h> instead. However, because the expansion of +AC_HEADER_MAJOR didn't bother checking sys/sysmacros.h until +after probing whether sys/types.h pollutes the namespace, it was +not defining MAJOR_IN_SYSMACROS, with the result that code +compiled with -Werror chokes on the deprecation warnings because +it was not including sysmacros.h. + +In addition to fixing autoconf (which only benefits projects +that rebuild configure after this fix is released), we can also +give a hint to distros on how they can populate config.site with +a cache variable to force pre-existing configure scripts without +the updated macro to behave sanely in the presence of glibc 2.25 +(the documentation is especially useful since that cache variable +is no longer present in autoconf after this patch). + +Note that mingw lacks major/minor/makedev in any of its standard +headers; for that platform, the behavior of this macro is unchanged +(code using the recommended include formula will get a compile error +when trying to use major(), whether before or after this patch); but +for now, it is assumed that programs actually concerned with +creating devices are not worried about portability to mingw. If +desired, a later patch could tighten AC_HEADER_MAJOR to fail at +configure time if the macros are unavailable in any of the three +system headers, but that semantic change is not worth mixing into +this patch. + +* lib/autoconf/headers.m4 (AC_HEADER_MAJOR): Drop check for +major within sys/types.h; it interferes with the need to check +sysmacros.h first. +* doc/autoconf.texi (Particular Headers) <AC_HEADER_MAJOR>: Expand +details on usage, and on workarounds for non-updated projects. + +Signed-off-by: Eric Blake <[email protected]> +--- +Upstream-Status: Backport + + doc/autoconf.texi | 35 +++++++++++++++++++++++++++++++---- + lib/autoconf/headers.m4 | 30 ++++++++++++++---------------- + 2 files changed, 45 insertions(+), 20 deletions(-) + +diff --git a/doc/autoconf.texi b/doc/autoconf.texi +index 9ad7dc1..4f041bd 100644 +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -5970,10 +5970,37 @@ Also see @code{AC_STRUCT_DIRENT_D_INO} and + @cvindex MAJOR_IN_SYSMACROS + @hdrindex{sys/mkdev.h} + @hdrindex{sys/sysmacros.h} +-If @file{sys/types.h} does not define @code{major}, @code{minor}, and +-@code{makedev}, but @file{sys/mkdev.h} does, define +-@code{MAJOR_IN_MKDEV}; otherwise, if @file{sys/sysmacros.h} does, define +-@code{MAJOR_IN_SYSMACROS}. ++Detect the headers required to use @code{makedev}, @code{major}, and ++@code{minor}. These functions may be defined by @file{sys/mkdev.h}, ++@code{sys/sysmacros.h}, or @file{sys/types.h}. ++ ++@code{AC_HEADER_MAJOR} defines @code{MAJOR_IN_MKDEV} if they are in ++@file{sys/mkdev.h}, or @code{MAJOR_IN_SYSMACROS} if they are in ++@file{sys/sysmacros.h}. If neither macro is defined, they are either in ++@file{sys/types.h} or unavailable. ++ ++To properly use these functions, your code should contain something ++like: ++ ++@verbatim ++#include <sys/types.h> ++#ifdef MAJOR_IN_MKDEV ++# include <sys/mkdev.h> ++#elif defined MAJOR_IN_SYSMACROS ++# include <sys/sysmacros.h> ++#endif ++@end verbatim ++ ++Note: Configure scripts built with Autoconf 2.69 or earlier will not ++detect a problem if @file{sys/types.h} contains definitions of ++@code{major}, @code{minor}, and/or @code{makedev} that trigger compiler ++warnings upon use. This is known to occur with GNU libc 2.25, where ++those definitions are being deprecated to reduce namespace pollution. ++If it is not practical to use Autoconf 2.70 to regenerate the configure ++script of affected software, you can work around the problem by setting ++@samp{ac_cv_header_sys_types_h_makedev=no}, as an argument to ++@command{configure} or as part of a @file{config.site} site default file ++(@pxref{Site Defaults}). + @end defmac + + @defmac AC_HEADER_RESOLV +diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4 +index 0c44973..72262c1 100644 +--- a/lib/autoconf/headers.m4 ++++ b/lib/autoconf/headers.m4 +@@ -427,31 +427,29 @@ fi + + # AC_HEADER_MAJOR + # --------------- ++# Thanks to glibc 2.25 deprecating macros in sys/types.h, coupled with ++# back-compat to autoconf 2.69, we need the following logic: ++# Check whether <sys/types.h> compiles. ++# If <sys/mkdev.h> compiles, assume it provides major/minor/makedev. ++# Otherwise, if <sys/sysmacros.h> compiles, assume it provides the macros. ++# Otherwise, either the macros were provided by <sys/types.h>, or do ++# not exist on the platform. Code trying to use these three macros is ++# assumed to not care about platforms that lack the macros. + AN_FUNCTION([major], [AC_HEADER_MAJOR]) + AN_FUNCTION([makedev], [AC_HEADER_MAJOR]) + AN_FUNCTION([minor], [AC_HEADER_MAJOR]) + AN_HEADER([sys/mkdev.h], [AC_HEADER_MAJOR]) + AC_DEFUN([AC_HEADER_MAJOR], +-[AC_CACHE_CHECK(whether sys/types.h defines makedev, +- ac_cv_header_sys_types_h_makedev, +-[AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <sys/types.h>]], +- [[return makedev(0, 0);]])], +- [ac_cv_header_sys_types_h_makedev=yes], +- [ac_cv_header_sys_types_h_makedev=no]) +-]) +- +-if test $ac_cv_header_sys_types_h_makedev = no; then ++[AC_CHECK_HEADERS_ONCE([sys/types.h]) + AC_CHECK_HEADER(sys/mkdev.h, + [AC_DEFINE(MAJOR_IN_MKDEV, 1, + [Define to 1 if `major', `minor', and `makedev' are + declared in <mkdev.h>.])]) +- +- if test $ac_cv_header_sys_mkdev_h = no; then +- AC_CHECK_HEADER(sys/sysmacros.h, +- [AC_DEFINE(MAJOR_IN_SYSMACROS, 1, +- [Define to 1 if `major', `minor', and `makedev' +- are declared in <sysmacros.h>.])]) +- fi ++if test $ac_cv_header_sys_mkdev_h = no; then ++ AC_CHECK_HEADER(sys/sysmacros.h, ++ [AC_DEFINE(MAJOR_IN_SYSMACROS, 1, ++ [Define to 1 if `major', `minor', and `makedev' ++ are declared in <sysmacros.h>.])]) + fi + ])# AC_HEADER_MAJOR + +-- +1.7.10.4 +
meta/recipes-devtools/autoconf/autoconf_2.69.bb +1 -0
@@ -14,6 +14,7 @@ SRC_URI += "file://check-automake-cross-warning.patch \ file://autotest-automake-result-format.patch \ file://add_musl_config.patch \ file://performance.patch \ + file://AC_HEADER_MAJOR-port-to-glibc-2.25.patch \ " SRC_URI[md5sum] = "82d05e03b93e45f5a39b828dc9c6c29b"
Signature · 1 line
2.11.0