File: gnu-hurd.patch

package info (click to toggle)
qemu 1%3A10.0.3%2Bds-0%2Bdeb13u1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 413,672 kB
  • sloc: ansic: 4,733,433; pascal: 114,769; python: 105,506; asm: 68,408; sh: 52,881; makefile: 27,469; perl: 18,778; cpp: 11,435; xml: 3,404; objc: 2,877; yacc: 2,505; php: 1,299; tcl: 1,296; lex: 1,110; sql: 71; awk: 43; sed: 35; javascript: 7
file content (61 lines) | stat: -rw-r--r-- 2,114 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
From: Michael Tokarev <mjt@tls.msk.ru>
Date: Sat, 24 Aug 2024 08:00:35 +0300
Updated: Mon, 02 Dec 2024 17:14:04 +0300
Subject: Add OS detection and support for GNU/Hurd
Forwarded: not-needed

Adds minimal (just OS detection) "support" for
GNU/Hurd.  Just a test for now.

diff --git a/configure b/configure
index 0aea9b113b..0648634636 100755
--- a/configure
+++ b/configure
@@ -353,2 +353,4 @@ elif check_define __NetBSD__; then
   host_os=netbsd
+elif check_define __GNU__; then
+  host_os=hurd
 elif check_define __APPLE__; then
diff --git a/meson.build b/meson.build
index 91a0aa64c6..12246a588d 100644
--- a/meson.build
+++ b/meson.build
@@ -46,3 +46,3 @@ qapi_trace_events = []
 bsd_oses = ['gnu/kfreebsd', 'freebsd', 'netbsd', 'openbsd', 'dragonfly', 'darwin']
-supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux']
+supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux', 'hurd']
 supported_cpus = ['ppc', 'ppc64', 's390x', 'riscv32', 'riscv64', 'x86', 'x86_64',
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index c7053cdc2b..560ed59ac0 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -135,4 +135,11 @@ QEMU_EXTERN_C int daemon(int, int);
 
+#if defined(__GNU__) && !defined(PATH_MAX) /* GNU Hurd */
+# define PATH_MAX 4096
+#endif
+
 #ifdef CONFIG_IOVEC
 #include <sys/uio.h>
+# if defined(__GNU__) && !defined(IOV_MAX) /* GNU Hurd */
+#  define IOV_MAX 1024
+# endif
 #endif
diff --git a/block/file-posix.c b/block/file-posix.c
index ff928b5e85..bf165a5a71 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -85,4 +85,7 @@
 #endif
 #endif
+#ifdef __GNU__
+#include <sys/ioctl.h>
+#endif
 #if defined(CONFIG_FALLOCATE_PUNCH_HOLE) || defined(CONFIG_FALLOCATE_ZERO_RANGE)
 #include <linux/falloc.h>
@@ -2004,4 +2007,5 @@ static int handle_aiocb_write_zeroes_unmap(void *opaque)
 
 #ifndef HAVE_COPY_FILE_RANGE
+#define copy_file_range qemu_copy_file_range
 static off_t copy_file_range(int in_fd, off_t *in_off, int out_fd,
                              off_t *out_off, size_t len, unsigned int flags)