diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2017-02-21 19:55:26 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-01 12:54:19 +0000 |
commit | c0ab96a7b7d2c41167e2ad79be76f6eec2b6ebb5 (patch) | |
tree | 7e2b28d5d7f4032de3aefafd3e506cc41440b8f7 /meta/recipes-devtools | |
parent | 1e8fc70596e27edca428dd78b8095e6b76aa8e58 (diff) | |
download | openembedded-core-c0ab96a7b7d2c41167e2ad79be76f6eec2b6ebb5.tar.gz openembedded-core-c0ab96a7b7d2c41167e2ad79be76f6eec2b6ebb5.tar.bz2 openembedded-core-c0ab96a7b7d2c41167e2ad79be76f6eec2b6ebb5.zip |
qemu: fix build with glibc-2.25
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/glibc-2.25.patch | 88 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu_2.8.0.bb | 1 |
2 files changed, 89 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu/glibc-2.25.patch b/meta/recipes-devtools/qemu/qemu/glibc-2.25.patch new file mode 100644 index 0000000000..a6908bdbf9 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/glibc-2.25.patch @@ -0,0 +1,88 @@ +From: Christopher Covington +Date: Wed, 28 Dec 2016 15:04:33 -0500 +Subject: [Qemu-devel] [PATCH v3] build: include sys/sysmacros.h for major() and minor()a + +The definition of the major() and minor() macros are moving within glibc to +<sys/sysmacros.h>. Include this header when it is available to avoid the +following sorts of build-stopping messages: + +qga/commands-posix.c: In function ‘dev_major_minor’: +qga/commands-posix.c:656:13: error: In the GNU C Library, "major" 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 "major", include <sys/sysmacros.h> + directly. If you did not intend to use a system-defined macro + "major", you should undefine it after including <sys/types.h>. [-Werror] + *devmajor = major(st.st_rdev); + ^~~~~~~~~~~~~~~~~~~~~~~~~~ + +qga/commands-posix.c:657: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] + *devminor = minor(st.st_rdev); + ^~~~~~~~~~~~~~~~~~~~~~~~~~ + +The additional include allows the build to complete on Fedora 26 (Rawhide) +with glibc version 2.24.90. + +Signed-off-by: Christopher Covington <address@hidden> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +Upstream-Status: Submitted https://lists.gnu.org/archive/html/qemu-devel/2016-12/msg03548.html + +diff -uNr qemu-2.8.0.orig/configure qemu-2.8.0/configure +--- qemu-2.8.0.orig/configure 2017-02-21 19:05:13.180094708 +0100 ++++ qemu-2.8.0/configure 2017-02-21 19:08:53.114087084 +0100 +@@ -4727,6 +4727,20 @@ + then + fi + + ########################################## ++# check for sysmacros.h ++ ++have_sysmacros=no ++cat > $TMPC << EOF ++#include <sys/sysmacros.h> ++int main(void) { ++ return makedev(0, 0); ++} ++EOF ++if compile_prog "" "" ; then ++ have_sysmacros=yes ++fi ++ ++########################################## + # End of CC checks + # After here, no more $cc or $ld runs + +diff -uNr qemu-2.8.0.orig/configure qemu-2.8.0/configure +--- qemu-2.8.0.orig/configure 2017-02-21 19:05:13.180094708 +0100 ++++ qemu-2.8.0/configure 2017-02-21 19:08:53.114087084 +0100 +@@ -5695,6 +5709,10 @@ + echo "CONFIG_AF_VSOCK=y" >> $config_host_mak + fi + ++if test "$have_sysmacros" = "yes" ; then ++ echo "CONFIG_SYSMACROS=y" >> $config_host_mak ++fi ++ + # Hold two types of flag: + # CONFIG_THREAD_SETNAME_BYTHREAD - we've got a way of setting the name on + # a thread we have a handle to +diff -uNr qemu-2.8.0.orig/include/sysemu/os-posix.h qemu-2.8.0/include/sysemu/os-posix.h +--- qemu-2.8.0.orig/include/sysemu/os-posix.h 2016-12-20 21:16:48.000000000 +0100 ++++ qemu-2.8.0/include/sysemu/os-posix.h 2017-02-21 19:07:18.009090381 +0100 +@@ -34,6 +34,10 @@ + #include <netdb.h> + #include <sys/un.h> + ++#ifdef CONFIG_SYSMACROS ++#include <sys/sysmacros.h> ++#endif ++ + void os_set_line_buffering(void); + void os_set_proc_name(const char *s); + void os_setup_signal_handling(void); diff --git a/meta/recipes-devtools/qemu/qemu_2.8.0.bb b/meta/recipes-devtools/qemu/qemu_2.8.0.bb index f25aa467e5..ce475e02cb 100644 --- a/meta/recipes-devtools/qemu/qemu_2.8.0.bb +++ b/meta/recipes-devtools/qemu/qemu_2.8.0.bb @@ -9,6 +9,7 @@ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ file://pathlimit.patch \ file://qemu-2.5.0-cflags.patch \ file://target-ppc-fix-user-mode.patch \ + file://glibc-2.25.patch \ " SRC_URI += " \ |