summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-12-08 12:37:31 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-12-08 12:37:31 +0100
commit41c55d2a91f495a3e7aa1524b604141017bb4e30 (patch)
treec7bb2d8884e30daa2872b86c13a65c76c8ab2c03
parentd347aa8fcce25d69af2b4aaf7095f4ff2514b7d6 (diff)
add patch series
-rw-r--r--debian/patches/0001-Retire-procedure-old_mach_port_get_receive_status.patch124
-rw-r--r--debian/patches/series1
2 files changed, 125 insertions, 0 deletions
diff --git a/debian/patches/0001-Retire-procedure-old_mach_port_get_receive_status.patch b/debian/patches/0001-Retire-procedure-old_mach_port_get_receive_status.patch
new file mode 100644
index 0000000..13076ef
--- /dev/null
+++ b/debian/patches/0001-Retire-procedure-old_mach_port_get_receive_status.patch
@@ -0,0 +1,124 @@
+From b40ed413bde50db1805c949850425e7356e86272 Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Sat, 6 Dec 2014 11:59:32 +0100
+Subject: [PATCH gnumach] Retire procedure `old_mach_port_get_receive_status'
+
+Retire the compatibility RPC `old_mach_port_get_receive_status' that
+works like `mach_port_get_receive_status' but returns an
+`old_mach_port_status' object that lacks the `mps_seqno' field.
+
+Do not remove the type yet, so we do not break anyones build. The RPC
+stubs currently distributed with the glibc require it.
+
+* include/mach/mach_port.defs (old_mach_port_get_receive_status): Drop RPC.
+* include/mach/mach_types.defs (old_mach_port_status_t): Drop type.
+* include/mach/port.h (old_mach_port_status_t): Add note to remove
+this for the 1.6 release.
+* ipc/mach_port.c (old_mach_port_get_receive_status): Drop function.
+---
+ include/mach/mach_port.defs | 9 +--------
+ include/mach/mach_types.defs | 2 --
+ include/mach/port.h | 2 ++
+ ipc/mach_port.c | 40 ----------------------------------------
+ 4 files changed, 3 insertions(+), 50 deletions(-)
+
+diff --git a/include/mach/mach_port.defs b/include/mach/mach_port.defs
+index c7e8526..c21c34b 100644
+--- a/include/mach/mach_port.defs
++++ b/include/mach/mach_port.defs
+@@ -176,14 +176,7 @@ routine mach_port_mod_refs(
+ right : mach_port_right_t;
+ delta : mach_port_delta_t);
+
+-/*
+- * Temporary compatibility call.
+- */
+-
+-routine old_mach_port_get_receive_status(
+- task : ipc_space_t;
+- name : mach_port_name_t;
+- out status : old_mach_port_status_t);
++skip; /* old old_mach_port_get_receive_status */
+
+ /*
+ * Only valid for receive rights.
+diff --git a/include/mach/mach_types.defs b/include/mach/mach_types.defs
+index 85ad653..8e68d38 100644
+--- a/include/mach/mach_types.defs
++++ b/include/mach/mach_types.defs
+@@ -60,8 +60,6 @@ serverprefix SERVERPREFIX;
+
+ type mach_port_status_t = struct[9] of integer_t;
+
+-type old_mach_port_status_t = struct[8] of integer_t; /* compatibility */
+-
+ type task_t = mach_port_t
+ ctype: mach_port_t
+ #if KERNEL_SERVER
+diff --git a/include/mach/port.h b/include/mach/port.h
+index 53f6071..3036a92 100644
+--- a/include/mach/port.h
++++ b/include/mach/port.h
+@@ -137,6 +137,8 @@ typedef struct mach_port_status {
+ /*
+ * Compatibility definitions, for code written
+ * before there was an mps_seqno field.
++ *
++ * XXX: Remove this before releasing Gnumach 1.6.
+ */
+
+ typedef struct old_mach_port_status {
+diff --git a/ipc/mach_port.c b/ipc/mach_port.c
+index 4ff39f2..c7d9b81 100644
+--- a/ipc/mach_port.c
++++ b/ipc/mach_port.c
+@@ -744,46 +744,6 @@ mach_port_mod_refs(
+ }
+
+ /*
+- * Routine: old_mach_port_get_receive_status [kernel call]
+- * Purpose:
+- * Compatibility for code written before sequence numbers.
+- * Retrieves mucho info about a receive right.
+- * Conditions:
+- * Nothing locked.
+- * Returns:
+- * KERN_SUCCESS Retrieved status.
+- * KERN_INVALID_TASK The space is null.
+- * KERN_INVALID_TASK The space is dead.
+- * KERN_INVALID_NAME The name doesn't denote a right.
+- * KERN_INVALID_RIGHT Name doesn't denote receive rights.
+- */
+-
+-kern_return_t
+-old_mach_port_get_receive_status(
+- ipc_space_t space,
+- mach_port_t name,
+- old_mach_port_status_t *statusp)
+-{
+- mach_port_status_t status;
+- kern_return_t kr;
+-
+- kr = mach_port_get_receive_status(space, name, &status);
+- if (kr != KERN_SUCCESS)
+- return kr;
+-
+- statusp->mps_pset = status.mps_pset;
+- statusp->mps_mscount = status.mps_mscount;
+- statusp->mps_qlimit = status.mps_qlimit;
+- statusp->mps_msgcount = status.mps_msgcount;
+- statusp->mps_sorights = status.mps_sorights;
+- statusp->mps_srights = status.mps_srights;
+- statusp->mps_pdrequest = status.mps_pdrequest;
+- statusp->mps_nsrequest = status.mps_nsrequest;
+-
+- return KERN_SUCCESS;
+-}
+-
+-/*
+ * Routine: mach_port_set_qlimit [kernel call]
+ * Purpose:
+ * Changes a receive right's queue limit.
+--
+2.1.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 01571be..0206d96 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@ vm_cache_policy.patch
tn-0001-kern-provide-notifications-about-new-tasks.patch
tn-0002-include-add-X_IMPORTS-to-ipc-definitions.patch
+0001-Retire-procedure-old_mach_port_get_receive_status.patch