Messages in this thread Patch in this message | | | From | Christian Borntraeger <> | Subject | qemu build error with latest kernel headers due to net: socket: implement 64-bit timestamps | Date | Mon, 3 Jun 2019 19:23:57 +0200 |
| |
Arnd,
with kernel headers from the latest kernel QEMU fails to build if the user run configure with --target-list=s390x-linux-user:
when the kernel has commit 0768e17073dc527ccd18ed5f96ce85f9985e9115 net: socket: implement 64-bit timestamps
/root/rpmbuild/BUILD/qemu-4.0.50/linux-user/ioctls.h:222:9: error: 'SIOCGSTAMP' undeclared here (not in a function); did you mean 'SIOCSRARP'? 222 | IOCTL(SIOCGSTAMP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timeval))) | ^~~~~~~~~~
It seems that qemu build relies on SIOCGSTAMP to be present via sys/socket.h.
Adding this patch to qemu helps.
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index efa3ec2837..7332be9b06 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -34,6 +34,7 @@ #include <sys/resource.h> #include <sys/swap.h> #include <linux/capability.h> +#include <linux/sockios.h> #include <sched.h> #include <sys/timex.h> #include <sys/socket.h> But it is also a change in behavior of the kernel headers. (but only for programs that use sys/socket.h instead of linux/sockios.h.
| |