summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-06 17:51:59 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-06 17:51:59 +0200
commit7f4740e43afa956178df852ef2dfb1892ed53997 (patch)
tree4cabe42630dbf2638c3811a44a9a496639e5384e /debian
parent5500926fee36eda95752e01ccddf8de76e95e1b9 (diff)
rm fix-receiver-lookups.patch
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/fix-receiver-lookups.patch314
-rw-r--r--debian/patches/series1
2 files changed, 0 insertions, 315 deletions
diff --git a/debian/patches/fix-receiver-lookups.patch b/debian/patches/fix-receiver-lookups.patch
deleted file mode 100644
index d6c15b0d..00000000
--- a/debian/patches/fix-receiver-lookups.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-diff --git a/exec/Makefile b/exec/Makefile
-index 3ef742d..d332f36 100644
---- a/exec/Makefile
-+++ b/exec/Makefile
-@@ -30,7 +30,8 @@ HURDLIBS = trivfs fshelp iohelp ports ihash shouldbeinlibc
- OTHERLIBS = -lpthread
-
- exec-MIGSFLAGS = -imacros $(srcdir)/execmutations.h
- exec_experimental-MIGSFLAGS = -imacros $(srcdir)/execmutations.h
-+exec_startup-MIGSFLAGS = -imacros $(srcdir)/execmutations.h
-
- include ../Makeconf
-
-diff --git a/exec/exec.c b/exec/exec.c
-index e693f63..935762e 100644
---- a/exec/exec.c
-+++ b/exec/exec.c
-@@ -1457,7 +1457,7 @@ S_exec_setexecdata (struct trivfs_protid *protid,
- /* RPC sent on the bootstrap port. */
-
- kern_return_t
--S_exec_startup_get_info (mach_port_t port,
-+S_exec_startup_get_info (struct bootinfo *boot,
- vm_address_t *user_entry,
- vm_address_t *phdr_data, vm_size_t *phdr_size,
- vm_address_t *stack_base, vm_size_t *stack_size,
-@@ -1472,11 +1472,8 @@ S_exec_startup_get_info (mach_port_t port,
- mach_msg_type_number_t *nports,
- int **intarray, mach_msg_type_number_t *nints)
- {
-- struct bootinfo *boot = ports_lookup_port (port_bucket, port,
-- execboot_portclass);
- if (! boot)
- return EOPNOTSUPP;
-- ports_port_deref (boot);
-
- /* Pass back all the information we are storing. */
-
-diff --git a/exec/execmutations.h b/exec/execmutations.h
-index ffcba9c..2acca7a 100644
---- a/exec/execmutations.h
-+++ b/exec/execmutations.h
-@@ -7,4 +7,12 @@
- import "priv.h"; \
- import "../libtrivfs/mig-decls.h"; \
-
-+#define EXEC_STARTUP_INTRAN \
-+ bootinfo_t begin_using_bootinfo_port (exec_startup_t)
-+#define EXEC_STARTUP_DESTRUCTOR \
-+ end_using_bootinfo (bootinfo_t)
-+#define EXEC_STARTUP_IMPORTS \
-+ import "priv.h"; \
-+ import "mig-decls.h";
-+
- #define SERVERCOPY 1
-diff --git a/exec/mig-decls.h b/exec/mig-decls.h
-new file mode 100644
-index 0000000..0437414
---- /dev/null
-+++ b/exec/mig-decls.h
-@@ -0,0 +1,40 @@
-+/*
-+ Copyright (C) 2014 Free Software Foundation, Inc.
-+ Written by Justus Winter.
-+
-+ This file is part of the GNU Hurd.
-+
-+ The GNU Hurd is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU General Public License as
-+ published by the Free Software Foundation; either version 2, or (at
-+ your option) any later version.
-+
-+ The GNU Hurd is distributed in the hope that it will be useful, but
-+ WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with the GNU Hurd. If not, see <http://www.gnu.org/licenses/>. */
-+
-+#ifndef __EXEC_MIG_DECLS_H__
-+#define __EXEC_MIG_DECLS_H__
-+
-+#include "priv.h"
-+
-+/* Called by server stub functions. */
-+
-+static inline struct bootinfo * __attribute__ ((unused))
-+begin_using_bootinfo_port (mach_port_t port)
-+{
-+ return ports_lookup_port (port_bucket, port, execboot_portclass);
-+}
-+
-+static inline void __attribute__ ((unused))
-+end_using_bootinfo (struct bootinfo *b)
-+{
-+ if (b)
-+ ports_port_deref (b);
-+}
-+
-+#endif /* __EXEC_MIG_DECLS_H__ */
-diff --git a/exec/priv.h b/exec/priv.h
-index 85e03ae..733f35c 100644
---- a/exec/priv.h
-+++ b/exec/priv.h
-@@ -52,6 +52,7 @@ struct bootinfo
- vm_address_t phdr_addr, user_entry;
- vm_size_t phdr_size;
- };
-+typedef struct bootinfo *bootinfo_t;
-
-
- /* Where to put the service ports. */
-@@ -151,5 +152,4 @@ extern int *std_ints;
- extern size_t std_nports, std_nints;
- extern pthread_rwlock_t std_lock;
-
--
- #endif /* exec_priv_h */
-diff --git a/hurd/exec_startup.defs b/hurd/exec_startup.defs
-index 9dfb79a..697f6b2 100644
---- a/hurd/exec_startup.defs
-+++ b/hurd/exec_startup.defs
-@@ -23,11 +23,15 @@ subsystem exec_startup 30500;
-
- #include <hurd/hurd_types.defs>
-
-+#ifdef EXEC_STARTUP_IMPORTS
-+EXEC_STARTUP_IMPORTS
-+#endif
-+
- /* This call is made by a new task to its bootstrap port to get its
- startup ports and information. */
-
- routine exec_startup_get_info (
-- bootstrap: mach_port_t;
-+ bootstrap: exec_startup_t;
- /* These describe the entry point and program header data
- of the user program loaded into the task. */
- out user_entry: vm_address_t;
-diff --git a/hurd/hurd_types.defs b/hurd/hurd_types.defs
-index 4b32504..6060fa4 100644
---- a/hurd/hurd_types.defs
-+++ b/hurd/hurd_types.defs
-@@ -156,6 +156,18 @@ destructor: FS_NOTIFY_DESTRUCTOR
- #endif
- ;
-
-+type exec_startup_t = mach_port_copy_send_t
-+#ifdef EXEC_STARTUP_INTRAN
-+intran: EXEC_STARTUP_INTRAN
-+#endif
-+#ifdef EXEC_STARTUP_OUTTRAN
-+outtran: EXEC_STARTUP_OUTTRAN
-+#endif
-+#ifdef EXEC_STARTUP_DESTRUCTOR
-+destructor: EXEC_STARTUP_DESTRUCTOR
-+#endif
-+;
-+
-
- type proccoll_t = mach_port_copy_send_t;
-
-diff --git a/hurd/hurd_types.h b/hurd/hurd_types.h
-index 7d1bb73..d569454 100644
---- a/hurd/hurd_types.h
-+++ b/hurd/hurd_types.h
-@@ -46,6 +46,7 @@ typedef mach_port_t pf_t; /* Protocol family */
- typedef mach_port_t addr_port_t;
- typedef mach_port_t startup_t;
- typedef mach_port_t fs_notify_t;
-+typedef mach_port_t exec_startup_t;
- typedef mach_port_t proccoll_t;
-
- #include <errno.h> /* Defines `error_t'. */
-diff --git a/libdiskfs/Makefile b/libdiskfs/Makefile
-index aeebe4e..996e86a 100644
---- a/libdiskfs/Makefile
-+++ b/libdiskfs/Makefile
-@@ -68,6 +68,7 @@ fsys-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h -DREPLY_PORTS
- fs-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
- io-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
- ifsock-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
-+exec_startup-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
- MIGCOMSFLAGS = -prefix diskfs_
-
- include ../Makeconf
-diff --git a/libdiskfs/boot-start.c b/libdiskfs/boot-start.c
-index 7b8a84f..9dd2751 100644
---- a/libdiskfs/boot-start.c
-+++ b/libdiskfs/boot-start.c
-@@ -299,7 +299,7 @@ diskfs_start_bootstrap ()
- call (as does any task) to get its state. We can't give it all of
- its ports (we'll provide those with a later call to exec_init). */
- kern_return_t
--diskfs_S_exec_startup_get_info (mach_port_t port,
-+diskfs_S_exec_startup_get_info (struct bootinfo *upt,
- vm_address_t *user_entry,
- vm_address_t *phdr_data,
- vm_size_t *phdr_size,
-@@ -322,12 +322,10 @@ diskfs_S_exec_startup_get_info (mach_port_t port,
- error_t err;
- mach_port_t *portarray, *dtable;
- mach_port_t rootport;
-- struct ufsport *upt;
- struct protid *rootpi;
- struct peropen *rootpo;
-
-- if (!(upt = ports_lookup_port (diskfs_port_bucket, port,
-- diskfs_execboot_class)))
-+ if (! upt)
- return EOPNOTSUPP;
-
- *user_entry = 0;
-@@ -368,13 +366,12 @@ diskfs_S_exec_startup_get_info (mach_port_t port,
- portarray[INIT_PORT_AUTH] = MACH_PORT_NULL;
- portarray[INIT_PORT_PROC] = MACH_PORT_NULL;
- portarray[INIT_PORT_CTTYID] = MACH_PORT_NULL;
-- portarray[INIT_PORT_BOOTSTRAP] = port; /* use the same port */
-+ portarray[INIT_PORT_BOOTSTRAP] = upt->pi.port_right; /* use the same port */
-
- *portarraypoly = MACH_MSG_TYPE_MAKE_SEND;
-
- *dtablepoly = MACH_MSG_TYPE_COPY_SEND;
-
-- ports_port_deref (upt);
- return 0;
- }
-
-diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h
-index 359b11b..2a58bda 100644
---- a/libdiskfs/diskfs.h
-+++ b/libdiskfs/diskfs.h
-@@ -126,6 +126,11 @@ struct diskfs_control
- struct port_info pi;
- };
-
-+struct bootinfo
-+{
-+ struct port_info pi;
-+};
-+
- /* Possibly lookup types for diskfs_lookup call */
- enum lookup_type
- {
-@@ -801,9 +806,11 @@ void diskfs_finish_protid (struct protid *cred, struct iouser *user);
-
- extern struct protid * diskfs_begin_using_protid_port (file_t port);
- extern struct diskfs_control * diskfs_begin_using_control_port (fsys_t port);
-+extern struct bootinfo *diskfs_begin_using_bootinfo_port (exec_startup_t port);
-
- extern void diskfs_end_using_protid_port (struct protid *cred);
- extern void diskfs_end_using_control_port (struct diskfs_control *cred);
-+extern void diskfs_end_using_bootinfo (struct bootinfo *upt);
-
- #if defined(__USE_EXTERN_INLINES) || defined(DISKFS_DEFINE_EXTERN_INLINE)
-
-@@ -823,6 +830,14 @@ diskfs_begin_using_control_port (fsys_t port)
- return ports_lookup_port (diskfs_port_bucket, port, NULL);
- }
-
-+/* And for the exec_startup interface. */
-+DISKFS_EXTERN_INLINE struct bootinfo *
-+diskfs_begin_using_bootinfo_port (exec_startup_t port)
-+{
-+ return ports_lookup_port (diskfs_port_bucket, port, diskfs_execboot_class);
-+}
-+
-+
- /* Called by MiG after server routines have been run; this
- balances begin_using_protid_port, and is arranged for the io
- and fs interfaces by fsmutations.h. */
-@@ -841,6 +856,14 @@ diskfs_end_using_control_port (struct diskfs_control *cred)
- ports_port_deref (cred);
- }
-
-+/* And for the exec_startup interface. */
-+DISKFS_EXTERN_INLINE void
-+diskfs_end_using_bootinfo (struct bootinfo *upt)
-+{
-+ if (upt)
-+ ports_port_deref (upt);
-+}
-+
- #endif /* Use extern inlines. */
-
- /* Called when a protid CRED has no more references. (Because references\
-diff --git a/libdiskfs/fsmutations.h b/libdiskfs/fsmutations.h
-index 68b6ae3..6248708 100644
---- a/libdiskfs/fsmutations.h
-+++ b/libdiskfs/fsmutations.h
-@@ -30,3 +30,10 @@
- #define IO_IMPORTS import "priv.h";
- #define FSYS_IMPORTS import "priv.h";
- #define IFSOCK_IMPORTS import "priv.h";
-+
-+#define EXEC_STARTUP_INTRAN \
-+ bootinfo_t diskfs_begin_using_bootinfo_port (exec_startup_t)
-+#define EXEC_STARTUP_DESTRUCTOR \
-+ diskfs_end_using_bootinfo (bootinfo_t)
-+#define EXEC_STARTUP_IMPORTS \
-+ import "priv.h";
-diff --git a/libdiskfs/priv.h b/libdiskfs/priv.h
-index b41fa43..4363a00 100644
---- a/libdiskfs/priv.h
-+++ b/libdiskfs/priv.h
-@@ -74,6 +74,7 @@ extern int _diskfs_diskdirty;
- /* Needed for MiG. */
- typedef struct protid *protid_t;
- typedef struct diskfs_control *control_t;
-+typedef struct bootinfo *bootinfo_t;
-
- /* Actually read or write a file. The file size must already permit
- the requested access. NP is the file to read/write. DATA is a buffer
diff --git a/debian/patches/series b/debian/patches/series
index fc462332..bef18f73 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -47,5 +47,4 @@ xxx-fix-build.patch
mach-defpager-protected-payload.patch
#ext2fs-skip-unallocated-blocks.patch
-fix-receiver-lookups.patch
notify-fix-receiver-lookups.patch