summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorFlavio Cruz <flaviocruz@gmail.com>2022-11-13 00:26:13 -0500
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-11-13 10:13:32 +0100
commitc16f0c7dc7b342f46835ad339dd2aa498fec56ea (patch)
treece62c9c4b4bf53e76ac25d67e6d220faf7dea9ea /hurd
parent10a77adaca881c1f9aa1e4672f365f94dec9ba7d (diff)
hurd: ensure subsystem directive appears before anything else in *.defs
mig is incorrectly initializing basic types twice (init_type) for kernel user and kernel server definitions. To fix this bug, we should initialize the types during a subsystem directive only. This commit ensures all hurd definitions have subsystem at the very start so that these definitions work correctly with a patched mig. Message-Id: <Y3B/9ZCdqYCcd/zf@viriathus>
Diffstat (limited to 'hurd')
-rw-r--r--hurd/iioctl.defs7
-rw-r--r--hurd/kdioctl.defs4
-rw-r--r--hurd/rioctl.defs8
-rw-r--r--hurd/tioctl.defs6
4 files changed, 12 insertions, 13 deletions
diff --git a/hurd/iioctl.defs b/hurd/iioctl.defs
index 6fa05a5d..ff54a40c 100644
--- a/hurd/iioctl.defs
+++ b/hurd/iioctl.defs
@@ -17,6 +17,9 @@ You should have received a copy of the GNU General Public License
along with the GNU Hurd; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+/* Ioctl class `i'; the subsystem is derived from calculations in
+ <ioctls.h>. */
+subsystem iioctl 112000; /* XXX */
#include <hurd/hurd_types.defs>
@@ -26,10 +29,6 @@ IIOCTL_IMPORTS
INTR_INTERFACE
-/* Ioctl class `i'; the subsystem is derived from calculations in
- <ioctls.h>. */
-subsystem iioctl 112000; /* XXX */
-
import <hurd/ioctl_types.h>; /* XXX */
/* This is the first arg for a struct ifreq_something as specified by the
diff --git a/hurd/kdioctl.defs b/hurd/kdioctl.defs
index 64f9b9ea..0dd09d38 100644
--- a/hurd/kdioctl.defs
+++ b/hurd/kdioctl.defs
@@ -17,12 +17,12 @@ You should have received a copy of the GNU General Public License
along with the GNU Hurd; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-#include <hurd/hurd_types.defs>
-
/* Ioctl class `k'; the subsystem is derived from calculations in
<ioctls.h>. */
subsystem kdioctl 120000;
+#include <hurd/hurd_types.defs>
+
import <hurd/ioctl_types.h>;
skip; /* 0 unused */
diff --git a/hurd/rioctl.defs b/hurd/rioctl.defs
index 595eb7c2..c4b88e5c 100644
--- a/hurd/rioctl.defs
+++ b/hurd/rioctl.defs
@@ -18,6 +18,10 @@ along with the GNU Hurd; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+/* Ioctl class `r'; the subsystem is derived from calculations in
+ <ioctls.h>. */
+subsystem rioctl 148000; /* XXX */
+
#include <hurd/hurd_types.defs>
#ifdef RIOCTL_IMPORTS
@@ -26,10 +30,6 @@ RIOCTL_IMPORTS
INTR_INTERFACE
-/* Ioctl class `r'; the subsystem is derived from calculations in
- <ioctls.h>. */
-subsystem rioctl 148000; /* XXX */
-
import <hurd/ioctl_types.h>; /* XXX */
/* This is the first arg for a struct ifreq_something as specified by the
diff --git a/hurd/tioctl.defs b/hurd/tioctl.defs
index 58ee698f..905a4a38 100644
--- a/hurd/tioctl.defs
+++ b/hurd/tioctl.defs
@@ -17,6 +17,9 @@ You should have received a copy of the GNU General Public License
along with the GNU Hurd; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+/* Ioctl class `t'; the subsystem is derived from calculations in
+ <ioctls.h>. */
+subsystem tioctl 156000; /* XXX */
#include <hurd/hurd_types.defs>
@@ -26,9 +29,6 @@ TIOCTL_IMPORTS
INTR_INTERFACE
-/* Ioctl class `t'; the subsystem is derived from calculations in
- <ioctls.h>. */
-subsystem tioctl 156000; /* XXX */
import <hurd/ioctl_types.h>; /* XXX */