summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/patches/fixes0001-trans-improve-demuxers.patch79
-rw-r--r--debian/patches/fixes0002-hurd-fix-type-of-in-translation-function.patch27
-rw-r--r--debian/patches/fixes0003-pflocal-avoid-building-the-interrupt-server.patch25
-rw-r--r--debian/patches/series3
4 files changed, 134 insertions, 0 deletions
diff --git a/debian/patches/fixes0001-trans-improve-demuxers.patch b/debian/patches/fixes0001-trans-improve-demuxers.patch
new file mode 100644
index 00000000..9e3b5c81
--- /dev/null
+++ b/debian/patches/fixes0001-trans-improve-demuxers.patch
@@ -0,0 +1,79 @@
+From 0437af60d3bbf09003f3fd1fdb9993958fcd430d Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Thu, 29 Oct 2015 15:43:28 +0100
+Subject: [PATCH hurd 1/3] trans: improve demuxers
+
+Handle multiple request types as recommended by the Mach Server
+Writer's Guide section 4, subsection "Handling Multiple Request
+Types". This avoids initializing the reply message in every X_server
+function.
+
+* trans/proxy-defpager.c (proxy_defpager_demuxer): Improve the demuxer
+function.
+* trans/streamio.c (demuxer): Likewise.
+---
+ trans/proxy-defpager.c | 14 ++++++++++----
+ trans/streamio.c | 15 +++++++++++----
+ 2 files changed, 21 insertions(+), 8 deletions(-)
+
+diff --git a/trans/proxy-defpager.c b/trans/proxy-defpager.c
+index 662f269..4fdeb35 100644
+--- a/trans/proxy-defpager.c
++++ b/trans/proxy-defpager.c
+@@ -236,10 +236,16 @@ int
+ proxy_defpager_demuxer (mach_msg_header_t *inp,
+ mach_msg_header_t *outp)
+ {
+- extern int default_pager_server (mach_msg_header_t *, mach_msg_header_t *);
+-
+- return default_pager_server (inp, outp)
+- || trivfs_demuxer (inp, outp);
++ mig_routine_t routine;
++ if ((routine = default_pager_server_routine (inp)) ||
++ (routine = NULL, trivfs_demuxer (inp, outp)))
++ {
++ if (routine)
++ (*routine) (inp, outp);
++ return TRUE;
++ }
++ else
++ return FALSE;
+ }
+
+ int
+diff --git a/trans/streamio.c b/trans/streamio.c
+index 54627b7..507250b 100644
+--- a/trans/streamio.c
++++ b/trans/streamio.c
+@@ -36,6 +36,7 @@
+
+ #include "libtrivfs/trivfs_fs_S.h"
+ #include "libtrivfs/trivfs_io_S.h"
++#include "device_reply_S.h"
+
+ /* The global lock */
+ pthread_mutex_t global_lock;
+@@ -273,10 +274,16 @@ static const struct argp argp = { options, parse_opt, args_doc, doc };
+ int
+ demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
+ {
+- extern int device_reply_server (mach_msg_header_t *, mach_msg_header_t *);
+-
+- return (trivfs_demuxer (inp, outp)
+- || device_reply_server (inp, outp));
++ mig_routine_t routine;
++ if ((routine = NULL, trivfs_demuxer (inp, outp)) ||
++ (routine = device_reply_server_routine (inp)))
++ {
++ if (routine)
++ (*routine) (inp, outp);
++ return TRUE;
++ }
++ else
++ return FALSE;
+ }
+
+ int
+--
+2.1.4
+
diff --git a/debian/patches/fixes0002-hurd-fix-type-of-in-translation-function.patch b/debian/patches/fixes0002-hurd-fix-type-of-in-translation-function.patch
new file mode 100644
index 00000000..8bffb655
--- /dev/null
+++ b/debian/patches/fixes0002-hurd-fix-type-of-in-translation-function.patch
@@ -0,0 +1,27 @@
+From c3c6b55517d7d1e217e88d08f3265a5a7d77565a Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Thu, 29 Oct 2015 16:38:17 +0100
+Subject: [PATCH hurd 2/3] hurd: fix type of in-translation function
+
+* hurd/hurd_types.defs (interrupt_t): Fix type of in-translation
+function.
+---
+ hurd/hurd_types.defs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hurd/hurd_types.defs b/hurd/hurd_types.defs
+index 5fa59f3..1837500 100644
+--- a/hurd/hurd_types.defs
++++ b/hurd/hurd_types.defs
+@@ -285,7 +285,7 @@ intran: INTERRUPT_INTRAN
+ intranpayload: INTERRUPT_INTRAN_PAYLOAD
+ #else
+ #ifdef HURD_DEFAULT_PAYLOAD_TO_PORT
+-intranpayload: exec_startup_t HURD_DEFAULT_PAYLOAD_TO_PORT
++intranpayload: interrupt_t HURD_DEFAULT_PAYLOAD_TO_PORT
+ #endif
+ #endif
+ #ifdef INTERRUPT_OUTTRAN
+--
+2.1.4
+
diff --git a/debian/patches/fixes0003-pflocal-avoid-building-the-interrupt-server.patch b/debian/patches/fixes0003-pflocal-avoid-building-the-interrupt-server.patch
new file mode 100644
index 00000000..26a1f48f
--- /dev/null
+++ b/debian/patches/fixes0003-pflocal-avoid-building-the-interrupt-server.patch
@@ -0,0 +1,25 @@
+From 3f0a9b1145c25d1f0f19fc93da3c272c5505a5ee Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Thu, 29 Oct 2015 16:39:31 +0100
+Subject: [PATCH hurd 3/3] pflocal: avoid building the interrupt server
+
+* pflocal/io.c: Do not needlessly include `interrupt_S.h'.
+---
+ pflocal/io.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/pflocal/io.c b/pflocal/io.c
+index 38d6c1d..c562274 100644
+--- a/pflocal/io.c
++++ b/pflocal/io.c
+@@ -37,7 +37,6 @@
+ #include "sserver.h"
+
+ #include "io_S.h"
+-#include "interrupt_S.h"
+
+ /* Read data from an IO object. If offset if -1, read from the object
+ maintained file pointer. If the object is not seekable, offset is
+--
+2.1.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 68dfa6ca..0573e9f6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -75,3 +75,6 @@ introspection0009-fixup_libports.patch
introspection0010-fixup_libintrospection.patch
introspection0011-fixup_libintrospection.patch
introspection0012-fixup_libintrospection.patch
+fixes0001-trans-improve-demuxers.patch
+fixes0002-hurd-fix-type-of-in-translation-function.patch
+fixes0003-pflocal-avoid-building-the-interrupt-server.patch