package/xen: Include linux/limits.h when building QEMU inside of Xen
PATCH 1/1 package/xen: Include linux/limits.h when building QEMU inside of Xen
If building Xen and not using glibc (using musl for example) the QEMU project inside of Xen fails to build as it relys on the XATTR_SIZE_MAX macro which is defined in <linux/limits.h>.
Glibc includes this header indirectly but as that is not part of the POSIX standard other libraries don't neccessearily have this. To fix the issue we explicitly include <linux/limits.h> to ensure the build works for all libc libraries.
Fixes:
http://autobuild.buildroot.net/results/bb1/bb1310eb1464d880a357ae5e491fd168361d25a0
--- ...include-linux-limits.h-for-XATTR_SIZE_MAX.patch | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch
package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch new file +43 -0
@@ -0,0 +1,43 @@ +Message-Id: <07010a2ad79559c412949f0005dbe3cb03d8416e.1498504812.git.ps@pks.im> +From: Patrick Steinhardt <[email protected]> +Date: Mon, 26 Jun 2017 21:20:45 +0200 +Subject: [PATCH] 9pfs: include <linux/limits.h> for XATTR_SIZE_MAX + +The function `v9fs_xattrcreate` makes use of the define `XATTR_SIZE_MAX` +to reject attempts of creating xattrs with an invalid size, which is +defined in <linux/limits.h>. On glibc-based systems, this header is +indirectly included via <limits.h>, <bits/posix1_lim.h>, +<bitts/local_lim.h>, but on other platforms this is not guaranteed due +to not being part of the POSIX standard. One examples are systems based +on musl libc, which do not include the <linux/limits.h> indirectly, +which leads to `XATTR_SIZE_MAX` being undefined. + +Fix this error by directly include <linux/limits.h>. As the 9P fs code +is being Linux-based either way, we can simply do so without breaking +other platforms. This enables building 9pfs on musl-based systems. + +Signed-off-by: Patrick Steinhardt <[email protected]> +[ Changes by AF + - Apply to the QEMU tree inside of Xen +] +Signed-off-by: Alistair Francis <[email protected]> +--- +Upstream Status: Pending review and acceptance + + tools/qemu-xen/hw/9pfs/9p.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/qemu-xen/hw/9pfs/9p.c b/tools/qemu-xen/hw/9pfs/9p.c +index 96d2683348..48cd558e96 100644 +--- a/tools/qemu-xen/hw/9pfs/9p.c ++++ b/tools/qemu-xen/hw/9pfs/9p.c +@@ -13,6 +13,7 @@ + + #include "qemu/osdep.h" + #include <glib/gprintf.h> ++#include <linux/limits.h> + #include "hw/virtio/virtio.h" + #include "qapi/error.h" + #include "qemu/error-report.h" +-- +2.13.2
Signature · 1 line
2.11.0
Thomas Petazzoni
AppliedPATCH 1/1 package/xen: Include linux/limits.h when building QEMU inside of Xen
Hello,
Quoted 9 lines · Alistair Francis
If building Xen and not using glibc (using musl for example) the QEMU project inside of Xen fails to build as it relys on the
XATTR_SIZE_MAXmacro which is defined in <linux/limits.h>.Glibc includes this header indirectly but as that is not part of the POSIX standard other libraries don't neccessearily have this. To fix the issue we explicitly include <
linux/limits.h> to ensure the build works for all libc libraries.
Quoted 8 lines
Fixes:
http://autobuild.buildroot.net/results/bb1/bb1310eb1464d880a357ae5e491fd168361d25a0Signed-off-by Alistair Francis <[email protected]>--- ...include-linux-limits.h-for-XATTR_SIZE_MAX.patch | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com