summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/patches/feature-proc-set-task-name-to-pid.patch906
-rw-r--r--debian/patches/series2
2 files changed, 1 insertions, 907 deletions
diff --git a/debian/patches/feature-proc-set-task-name-to-pid.patch b/debian/patches/feature-proc-set-task-name-to-pid.patch
deleted file mode 100644
index 5e6c3628..00000000
--- a/debian/patches/feature-proc-set-task-name-to-pid.patch
+++ /dev/null
@@ -1,906 +0,0 @@
-diff --git a/exec/Makefile b/exec/Makefile
-index 3ef742d..a9ae914 100644
---- a/exec/Makefile
-+++ b/exec/Makefile
-@@ -22,7 +22,7 @@ makemode := server
-
- SRCS = exec.c main.c hashexec.c hostarch.c
- OBJS = main.o hostarch.o exec.o hashexec.o \
-- execServer.o exec_startupServer.o exec_experimentalServer.o
-+ execServer.o exec_startupServer.o exec_experimentalServer.o gnumachUser.o
-
- target = exec
- #targets = exec exec.static
-diff --git a/exec/exec.c b/exec/exec.c
-index fad9492..f045247 100644
---- a/exec/exec.c
-+++ b/exec/exec.c
-@@ -1151,14 +1151,28 @@ do_exec (file_t file,
- }
- boot->user_entry = e.entry; /* already adjusted in `load' */
-
-- /* Set the start_code and end_code values for this process.
-- /hurd/exec is used to start /hurd/proc, so at this point there is
-+ /* /hurd/exec is used to start /hurd/proc, so at this point there is
- no proc server, so we need to be careful here. */
- if (boot->portarray[INIT_PORT_PROC] != MACH_PORT_NULL)
-- e.error = proc_set_code (boot->portarray[INIT_PORT_PROC],
-- e.start_code, e.end_code);
-- if (e.error)
-- goto out;
-+ {
-+ /* Set the start_code and end_code values for this process. */
-+ e.error = proc_set_code (boot->portarray[INIT_PORT_PROC],
-+ e.start_code, e.end_code);
-+ if (e.error)
-+ goto out;
-+
-+ pid_t pid;
-+ e.error = proc_task2pid (boot->portarray[INIT_PORT_PROC],
-+ newtask, &pid);
-+ if (e.error)
-+ goto out;
-+
-+ char *name;
-+ asprintf (&name, "%s(%d)", argv, pid);
-+ if (name)
-+ task_set_name (newtask, name);
-+ free (name);
-+ }
-
- /* Create the initial thread. */
- e.error = thread_create (newtask, &thread);
-diff --git a/exec/gnumach.defs b/exec/gnumach.defs
-new file mode 100644
-index 0000000..6cfbb0d
---- /dev/null
-+++ b/exec/gnumach.defs
-@@ -0,0 +1,74 @@
-+/*
-+ * Copyright (C) 2012 Free Software Foundation
-+ *
-+ * This program 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 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program 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 this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+ */
-+
-+subsystem
-+#if KERNEL_SERVER
-+ KernelServer
-+#endif /* KERNEL_SERVER */
-+#if KERNEL_USER
-+ KernelUser
-+#endif /* KERNEL_USER */
-+ gnumach 4200;
-+
-+#include <mach/std_types.defs>
-+#include <mach/mach_types.defs>
-+#include <mach_debug/mach_debug_types.defs>
-+
-+type vm_cache_statistics_data_t = struct[11] of integer_t;
-+
-+/*
-+ * Return page cache statistics for the host on which the target task
-+ * resides.
-+ */
-+routine vm_cache_statistics(
-+ target_task : vm_task_t;
-+ out vm_cache_stats : vm_cache_statistics_data_t);
-+
-+/*
-+ * Terminate a thread and release rights and memory.
-+ *
-+ * Intended to be used by threading libraries to provide a clean way for
-+ * threads to terminate themselves. The resources a thread wouldn't be able
-+ * to release without this call when terminating itself are its
-+ * last reference to its kernel port, its reply port, and its stack.
-+ *
-+ * This call is semantically equivalent to :
-+ * - mach_port_deallocate(task, thread_name);
-+ * - if (reply_port != MACH_PORT_NULL)
-+ * mach_port_destroy(task, reply_port);
-+ * - if ((address != 0) || (size != 0))
-+ * vm_deallocate(task, address, size)
-+ * - thread_terminate(thread)
-+ *
-+ * Implemented as a simple routine so a reply port isn't required.
-+ */
-+simpleroutine thread_terminate_release(
-+ thread : thread_t;
-+ task : task_t;
-+ thread_name : mach_port_name_t;
-+ reply_port : mach_port_name_t;
-+ address : vm_address_t;
-+ size : vm_size_t);
-+
-+/*
-+ * Set the name of task TASK to NAME. This is a debugging aid.
-+ * NAME will be used in error messages printed by the kernel.
-+ */
-+simpleroutine task_set_name(
-+ task : task_t;
-+ name : kernel_debug_name_t);
-diff --git a/exec/mach_debug/hash_info.h b/exec/mach_debug/hash_info.h
-new file mode 100644
-index 0000000..6944277
---- /dev/null
-+++ b/exec/mach_debug/hash_info.h
-@@ -0,0 +1,41 @@
-+/*
-+ * Mach Operating System
-+ * Copyright (c) 1991,1990 Carnegie Mellon University
-+ * All Rights Reserved.
-+ *
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+
-+#ifndef _MACH_DEBUG_HASH_INFO_H_
-+#define _MACH_DEBUG_HASH_INFO_H_
-+
-+/*
-+ * Remember to update the mig type definitions
-+ * in mach_debug_types.defs when adding/removing fields.
-+ */
-+
-+typedef struct hash_info_bucket {
-+ natural_t hib_count; /* number of records in bucket */
-+} hash_info_bucket_t;
-+
-+typedef hash_info_bucket_t *hash_info_bucket_array_t;
-+
-+#endif /* _MACH_DEBUG_HASH_INFO_H_ */
-diff --git a/exec/mach_debug/ipc_info.h b/exec/mach_debug/ipc_info.h
-new file mode 100644
-index 0000000..ef0b0c6
---- /dev/null
-+++ b/exec/mach_debug/ipc_info.h
-@@ -0,0 +1,100 @@
-+/*
-+ * Mach Operating System
-+ * Copyright (c) 1991,1990 Carnegie Mellon University
-+ * All Rights Reserved.
-+ *
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+/*
-+ * File: mach_debug/ipc_info.h
-+ * Author: Rich Draves
-+ * Date: March, 1990
-+ *
-+ * Definitions for the IPC debugging interface.
-+ */
-+
-+#ifndef _MACH_DEBUG_IPC_INFO_H_
-+#define _MACH_DEBUG_IPC_INFO_H_
-+
-+#include <mach/boolean.h>
-+#include <mach/port.h>
-+#include <mach/machine/vm_types.h>
-+
-+/*
-+ * Remember to update the mig type definitions
-+ * in mach_debug_types.defs when adding/removing fields.
-+ */
-+
-+
-+typedef struct ipc_info_space {
-+ natural_t iis_genno_mask; /* generation number mask */
-+ natural_t iis_table_size; /* size of table */
-+ natural_t iis_table_next; /* next possible size of table */
-+ natural_t iis_tree_size; /* size of tree */
-+ natural_t iis_tree_small; /* # of small entries in tree */
-+ natural_t iis_tree_hash; /* # of hashed entries in tree */
-+} ipc_info_space_t;
-+
-+
-+typedef struct ipc_info_name {
-+ mach_port_t iin_name; /* port name, including gen number */
-+/*boolean_t*/integer_t iin_collision; /* collision at this entry? */
-+/*boolean_t*/integer_t iin_compat; /* is this a compat-mode entry? */
-+/*boolean_t*/integer_t iin_marequest; /* extant msg-accepted request? */
-+ mach_port_type_t iin_type; /* straight port type */
-+ mach_port_urefs_t iin_urefs; /* user-references */
-+ vm_offset_t iin_object; /* object pointer */
-+ natural_t iin_next; /* marequest/next in free list */
-+ natural_t iin_hash; /* hash index */
-+} ipc_info_name_t;
-+
-+typedef ipc_info_name_t *ipc_info_name_array_t;
-+
-+
-+typedef struct ipc_info_tree_name {
-+ ipc_info_name_t iitn_name;
-+ mach_port_t iitn_lchild; /* name of left child */
-+ mach_port_t iitn_rchild; /* name of right child */
-+} ipc_info_tree_name_t;
-+
-+typedef ipc_info_tree_name_t *ipc_info_tree_name_array_t;
-+
-+/*
-+ * Type definitions for mach_port_kernel_object.
-+ * By remarkable coincidence, these closely resemble
-+ * the IKOT_* definitions in ipc/ipc_kobject.h.
-+ */
-+
-+#define IPC_INFO_TYPE_NONE 0
-+#define IPC_INFO_TYPE_THREAD 1
-+#define IPC_INFO_TYPE_TASK 2
-+#define IPC_INFO_TYPE_HOST 3
-+#define IPC_INFO_TYPE_HOST_PRIV 4
-+#define IPC_INFO_TYPE_PROCESSOR 5
-+#define IPC_INFO_TYPE_PSET 6
-+#define IPC_INFO_TYPE_PSET_NAME 7
-+#define IPC_INFO_TYPE_PAGER 8
-+#define IPC_INFO_TYPE_PAGING_REQUEST 9
-+#define IPC_INFO_TYPE_DEVICE 10
-+#define IPC_INFO_TYPE_XMM_PAGER 11
-+#define IPC_INFO_TYPE_PAGING_NAME 12
-+
-+#endif /* _MACH_DEBUG_IPC_INFO_H_ */
-diff --git a/exec/mach_debug/mach_debug.defs b/exec/mach_debug/mach_debug.defs
-new file mode 100644
-index 0000000..053c3fe
---- /dev/null
-+++ b/exec/mach_debug/mach_debug.defs
-@@ -0,0 +1,233 @@
-+/*
-+ * Mach Operating System
-+ * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University
-+ * All Rights Reserved.
-+ *
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+/*
-+ * Matchmaker definitions file for Mach kernel debugging interface.
-+ */
-+
-+subsystem
-+#if KERNEL_SERVER
-+ KernelServer
-+#endif /* KERNEL_SERVER */
-+ mach_debug 3000;
-+
-+#include <mach/std_types.defs>
-+#include <mach/mach_types.defs>
-+#include <mach_debug/mach_debug_types.defs>
-+
-+skip; /* host_ipc_statistics */
-+skip; /* host_ipc_statistics_reset */
-+skip; /* host_callout_info */
-+skip; /* host_callout_statistics */
-+skip; /* host_callout_statistics_reset */
-+skip; /* host_zone_info */
-+skip; /* host_ipc_bucket_info */
-+
-+#if !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG
-+
-+/*
-+ * Returns the exact number of extant send rights
-+ * for the given receive right.
-+ */
-+
-+routine mach_port_get_srights(
-+ task : ipc_space_t;
-+ name : mach_port_name_t;
-+ out srights : mach_port_rights_t);
-+
-+/*
-+ * Returns information about the global reverse hash table.
-+ */
-+
-+routine host_ipc_hash_info(
-+ host : host_t;
-+ out info : hash_info_bucket_array_t,
-+ CountInOut, Dealloc);
-+
-+/*
-+ * Returns information about the marequest hash table.
-+ */
-+
-+routine host_ipc_marequest_info(
-+ host : host_t;
-+ out max_requests : unsigned;
-+ out info : hash_info_bucket_array_t,
-+ CountInOut, Dealloc);
-+
-+/*
-+ * Returns information about an IPC space.
-+ */
-+
-+routine mach_port_space_info(
-+ task : ipc_space_t;
-+ out info : ipc_info_space_t;
-+ out table_info : ipc_info_name_array_t,
-+ CountInOut, Dealloc;
-+ out tree_info : ipc_info_tree_name_array_t,
-+ CountInOut, Dealloc);
-+
-+/*
-+ * Returns information about the dead-name requests
-+ * registered with the named receive right.
-+ */
-+
-+routine mach_port_dnrequest_info(
-+ task : ipc_space_t;
-+ name : mach_port_name_t;
-+ out total : unsigned; /* total size of table */
-+ out used : unsigned); /* amount used */
-+
-+#else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
-+skip; /* mach_port_get_srights */
-+skip; /* host_ipc_hash_info */
-+skip; /* host_ipc_marequest_info */
-+skip; /* mach_port_space_info */
-+skip; /* mach_port_dnrequest_info */
-+#endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
-+
-+skip; /* mach_vm_region_info */
-+skip; /* vm_mapped_pages_info */
-+
-+/*
-+ * Returns stack usage information:
-+ * reserved Amount of stack space reserved for pcb.
-+ * total Number of stacks.
-+ * space Total VM space for stacks.
-+ * resident Resident VM space for stacks.
-+ * maxusage Maximum amount of stack used.
-+ * maxstack Address in the kernel of the largest stack.
-+ */
-+
-+routine host_stack_usage(
-+ host : host_t;
-+ out reserved : vm_size_t;
-+ out total : unsigned;
-+ out space : vm_size_t;
-+ out resident : vm_size_t;
-+ out maxusage : vm_size_t;
-+ out maxstack : vm_offset_t);
-+
-+routine processor_set_stack_usage(
-+ pset : processor_set_name_t;
-+ out total : unsigned;
-+ out space : vm_size_t;
-+ out resident : vm_size_t;
-+ out maxusage : vm_size_t;
-+ out maxstack : vm_offset_t);
-+
-+#if !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG
-+
-+/*
-+ * Returns information about the global VP table.
-+ */
-+
-+routine host_virtual_physical_table_info(
-+ host : host_t;
-+ out info : hash_info_bucket_array_t,
-+ CountInOut, Dealloc);
-+
-+#else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
-+skip; /* host_virtual_physical_table_info */
-+#endif /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
-+
-+#if !defined(MACH_KDB) || MACH_KDB
-+/*
-+ * Loads a symbol table for an external file into the kernel debugger.
-+ * The symbol table data is an array of characters. It is assumed that
-+ * the caller and the kernel debugger agree on its format.
-+ */
-+
-+routine host_load_symbol_table(
-+ host : host_priv_t;
-+ task : task_t;
-+ name : symtab_name_t;
-+ symtab : pointer_t);
-+
-+#else /* !defined(MACH_KDB) || MACH_KDB */
-+skip; /* host_load_symbol_table */
-+#endif /* !defined(MACH_KDB) || MACH_KDB */
-+
-+#if !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG
-+
-+/*
-+ * Return the type and address of the kernel object
-+ * that the given send/receive right represents.
-+ */
-+
-+routine mach_port_kernel_object(
-+ task : ipc_space_t;
-+ name : mach_port_name_t;
-+ out object_type : unsigned;
-+ out object_addr : vm_offset_t);
-+
-+#else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
-+skip; /* mach_port_kernel_object */
-+#endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
-+
-+#if !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG
-+
-+/*
-+ * Returns information about a region of memory.
-+ */
-+
-+routine mach_vm_region_info(
-+ task : vm_task_t;
-+ address : vm_address_t;
-+ out region : vm_region_info_t;
-+ /* avoid out-translation of the argument */
-+ out object : memory_object_name_t =
-+ MACH_MSG_TYPE_MOVE_SEND
-+ ctype: mach_port_t);
-+
-+routine mach_vm_object_info(
-+ object : memory_object_name_t;
-+ out info : vm_object_info_t;
-+ /* avoid out-translation of the argument */
-+ out shadow : memory_object_name_t =
-+ MACH_MSG_TYPE_MOVE_SEND
-+ ctype: mach_port_t;
-+ /* avoid out-translation of the argument */
-+ out copy : memory_object_name_t =
-+ MACH_MSG_TYPE_MOVE_SEND
-+ ctype: mach_port_t);
-+
-+routine mach_vm_object_pages(
-+ object : memory_object_name_t;
-+ out pages : vm_page_info_array_t,
-+ CountInOut, Dealloc);
-+
-+/*
-+ * Returns information about the memory allocation caches.
-+ */
-+routine host_slab_info(
-+ host : host_t;
-+ out info : cache_info_array_t,
-+ CountInOut, Dealloc);
-+
-+#else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
-+skip; /* mach_vm_region_info */
-+skip; /* mach_vm_object_info */
-+skip; /* mach_vm_object_pages */
-+#endif /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
-diff --git a/exec/mach_debug/mach_debug_types.defs b/exec/mach_debug/mach_debug_types.defs
-new file mode 100644
-index 0000000..d24b6f9
---- /dev/null
-+++ b/exec/mach_debug/mach_debug_types.defs
-@@ -0,0 +1,64 @@
-+/*
-+ * Mach Operating System
-+ * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University
-+ * All Rights Reserved.
-+ *
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+/*
-+ * Mach kernel debugging interface type declarations
-+ */
-+
-+#ifndef _MACH_DEBUG_MACH_DEBUG_TYPES_DEFS_
-+#define _MACH_DEBUG_MACH_DEBUG_TYPES_DEFS_
-+
-+#include <mach/std_types.defs>
-+
-+type cache_info_t = struct[19] of integer_t;
-+type cache_info_array_t = array[] of cache_info_t;
-+
-+type hash_info_bucket_t = struct[1] of natural_t;
-+type hash_info_bucket_array_t = array[] of hash_info_bucket_t;
-+
-+type ipc_info_space_t = struct[6] of natural_t;
-+
-+type ipc_info_name_t = struct[9] of natural_t;
-+type ipc_info_name_array_t = array[] of ipc_info_name_t;
-+
-+type ipc_info_tree_name_t = struct[11] of natural_t;
-+type ipc_info_tree_name_array_t = array[] of ipc_info_tree_name_t;
-+
-+type vm_region_info_t = struct[11] of natural_t;
-+type vm_region_info_array_t = array[] of vm_region_info_t;
-+
-+type vm_object_info_t = struct[14] of natural_t;
-+type vm_object_info_array_t = array[] of vm_object_info_t;
-+
-+type vm_page_info_t = struct[6] of natural_t;
-+type vm_page_info_array_t = array[] of vm_page_info_t;
-+
-+type symtab_name_t = (MACH_MSG_TYPE_STRING_C, 8*32);
-+
-+type kernel_debug_name_t = c_string[*: 64];
-+
-+import <mach_debug/mach_debug_types.h>;
-+
-+#endif /* _MACH_DEBUG_MACH_DEBUG_TYPES_DEFS_ */
-diff --git a/exec/mach_debug/mach_debug_types.h b/exec/mach_debug/mach_debug_types.h
-new file mode 100644
-index 0000000..9c7d1fd
---- /dev/null
-+++ b/exec/mach_debug/mach_debug_types.h
-@@ -0,0 +1,51 @@
-+/*
-+ * Mach Operating System
-+ * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University
-+ * All Rights Reserved.
-+ *
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+/*
-+ * Mach kernel debugging interface type declarations
-+ */
-+
-+#ifndef _MACH_DEBUG_MACH_DEBUG_TYPES_H_
-+#define _MACH_DEBUG_MACH_DEBUG_TYPES_H_
-+
-+#include <mach_debug/ipc_info.h>
-+#include <mach_debug/vm_info.h>
-+#include <mach_debug/slab_info.h>
-+#include <mach_debug/hash_info.h>
-+
-+typedef char symtab_name_t[32];
-+
-+/*
-+ * A fixed-length string data type intended for names given to
-+ * kernel objects.
-+ *
-+ * Note that it is not guaranteed that the in-kernel data
-+ * structure will hold KERNEL_DEBUG_NAME_MAX bytes. The given
-+ * name will be truncated to fit into the target data structure.
-+ */
-+#define KERNEL_DEBUG_NAME_MAX (64)
-+typedef char kernel_debug_name_t[KERNEL_DEBUG_NAME_MAX];
-+
-+#endif /* _MACH_DEBUG_MACH_DEBUG_TYPES_H_ */
-diff --git a/exec/mach_debug/pc_info.h b/exec/mach_debug/pc_info.h
-new file mode 100644
-index 0000000..bc43fa8
---- /dev/null
-+++ b/exec/mach_debug/pc_info.h
-@@ -0,0 +1,43 @@
-+/*
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+/*
-+ * File: mach_debug/pc_info.h
-+ * Author: Brian Bershad
-+ * Date: January 1992
-+ *
-+ * Definitions for the PC sampling interface.
-+ */
-+
-+#ifndef _MACH_DEBUG_PC_INFO_H_
-+#define _MACH_DEBUG_PC_INFO_H_
-+
-+
-+typedef struct sampled_pc {
-+ task_t task;
-+ thread_t thread;
-+ vm_offset_t pc;
-+} sampled_pc_t;
-+
-+typedef sampled_pc_t *sampled_pc_array_t;
-+typedef unsigned int sampled_pc_seqno_t;
-+
-+#endif _MACH_DEBUG_PC_INFO_H_
-diff --git a/exec/mach_debug/slab_info.h b/exec/mach_debug/slab_info.h
-new file mode 100644
-index 0000000..37dcb8c
---- /dev/null
-+++ b/exec/mach_debug/slab_info.h
-@@ -0,0 +1,62 @@
-+/*
-+ * Mach Operating System
-+ * Copyright (c) 1991,1990,1989 Carnegie Mellon University
-+ * All Rights Reserved.
-+ *
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+
-+#ifndef _MACH_DEBUG_SLAB_INFO_H_
-+#define _MACH_DEBUG_SLAB_INFO_H_
-+
-+#include <sys/types.h>
-+
-+/*
-+ * Remember to update the mig type definitions
-+ * in mach_debug_types.defs when adding/removing fields.
-+ */
-+
-+#define CACHE_NAME_MAX_LEN 32
-+
-+#define CACHE_FLAGS_NO_CPU_POOL 0x01
-+#define CACHE_FLAGS_SLAB_EXTERNAL 0x02
-+#define CACHE_FLAGS_NO_RECLAIM 0x04
-+#define CACHE_FLAGS_VERIFY 0x08
-+#define CACHE_FLAGS_DIRECT 0x10
-+
-+typedef struct cache_info {
-+ int flags;
-+ size_t cpu_pool_size;
-+ size_t obj_size;
-+ size_t align;
-+ size_t buf_size;
-+ size_t slab_size;
-+ unsigned long bufs_per_slab;
-+ unsigned long nr_objs;
-+ unsigned long nr_bufs;
-+ unsigned long nr_slabs;
-+ unsigned long nr_free_slabs;
-+ char name[CACHE_NAME_MAX_LEN];
-+} cache_info_t;
-+
-+typedef cache_info_t *cache_info_array_t;
-+
-+#endif /* _MACH_DEBUG_SLAB_INFO_H_ */
-diff --git a/exec/mach_debug/vm_info.h b/exec/mach_debug/vm_info.h
-new file mode 100644
-index 0000000..70ba887
---- /dev/null
-+++ b/exec/mach_debug/vm_info.h
-@@ -0,0 +1,132 @@
-+/*
-+ * Mach Operating System
-+ * Copyright (c) 1991,1990 Carnegie Mellon University
-+ * All Rights Reserved.
-+ *
-+ * Permission to use, copy, modify and distribute this software and its
-+ * documentation is hereby granted, provided that both the copyright
-+ * notice and this permission notice appear in all copies of the
-+ * software, derivative works or modified versions, and any portions
-+ * thereof, and that both notices appear in supporting documentation.
-+ *
-+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
-+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
-+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
-+ *
-+ * Carnegie Mellon requests users of this software to return to
-+ *
-+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
-+ * School of Computer Science
-+ * Carnegie Mellon University
-+ * Pittsburgh PA 15213-3890
-+ *
-+ * any improvements or extensions that they make and grant Carnegie Mellon
-+ * the rights to redistribute these changes.
-+ */
-+/*
-+ * File: mach_debug/vm_info.h
-+ * Author: Rich Draves
-+ * Date: March, 1990
-+ *
-+ * Definitions for the VM debugging interface.
-+ */
-+
-+#ifndef _MACH_DEBUG_VM_INFO_H_
-+#define _MACH_DEBUG_VM_INFO_H_
-+
-+#include <mach/boolean.h>
-+#include <mach/machine/vm_types.h>
-+#include <mach/vm_inherit.h>
-+#include <mach/vm_prot.h>
-+#include <mach/memory_object.h>
-+
-+/*
-+ * Remember to update the mig type definitions
-+ * in mach_debug_types.defs when adding/removing fields.
-+ */
-+
-+typedef struct vm_region_info {
-+ vm_offset_t vri_start; /* start of region */
-+ vm_offset_t vri_end; /* end of region */
-+
-+/*vm_prot_t*/natural_t vri_protection; /* protection code */
-+/*vm_prot_t*/natural_t vri_max_protection; /* maximum protection */
-+/*vm_inherit_t*/natural_t vri_inheritance; /* inheritance */
-+ natural_t vri_wired_count; /* number of times wired */
-+ natural_t vri_user_wired_count; /* number of times user has wired */
-+
-+ vm_offset_t vri_object; /* the mapped object */
-+ vm_offset_t vri_offset; /* offset into object */
-+/*boolean_t*/integer_t vri_needs_copy; /* does object need to be copied? */
-+ natural_t vri_sharing; /* share map references */
-+} vm_region_info_t;
-+
-+typedef vm_region_info_t *vm_region_info_array_t;
-+
-+
-+typedef natural_t vm_object_info_state_t;
-+
-+#define VOI_STATE_PAGER_CREATED 0x00000001
-+#define VOI_STATE_PAGER_INITIALIZED 0x00000002
-+#define VOI_STATE_PAGER_READY 0x00000004
-+#define VOI_STATE_CAN_PERSIST 0x00000008
-+#define VOI_STATE_INTERNAL 0x00000010
-+#define VOI_STATE_TEMPORARY 0x00000020
-+#define VOI_STATE_ALIVE 0x00000040
-+#define VOI_STATE_LOCK_IN_PROGRESS 0x00000080
-+#define VOI_STATE_LOCK_RESTART 0x00000100
-+#define VOI_STATE_USE_OLD_PAGEOUT 0x00000200
-+
-+typedef struct vm_object_info {
-+ vm_offset_t voi_object; /* this object */
-+ vm_size_t voi_pagesize; /* object's page size */
-+ vm_size_t voi_size; /* object size (valid if internal) */
-+ natural_t voi_ref_count; /* number of references */
-+ natural_t voi_resident_page_count; /* number of resident pages */
-+ natural_t voi_absent_count; /* number requested but not filled */
-+ vm_offset_t voi_copy; /* copy object */
-+ vm_offset_t voi_shadow; /* shadow object */
-+ vm_offset_t voi_shadow_offset; /* offset into shadow object */
-+ vm_offset_t voi_paging_offset; /* offset into memory object */
-+/*memory_object_copy_strategy_t*/integer_t voi_copy_strategy;
-+ /* how to handle data copy */
-+ vm_offset_t voi_last_alloc; /* offset of last allocation */
-+ natural_t voi_paging_in_progress; /* paging references */
-+ vm_object_info_state_t voi_state; /* random state bits */
-+} vm_object_info_t;
-+
-+typedef vm_object_info_t *vm_object_info_array_t;
-+
-+
-+typedef natural_t vm_page_info_state_t;
-+
-+#define VPI_STATE_BUSY 0x00000001
-+#define VPI_STATE_WANTED 0x00000002
-+#define VPI_STATE_TABLED 0x00000004
-+#define VPI_STATE_FICTITIOUS 0x00000008
-+#define VPI_STATE_PRIVATE 0x00000010
-+#define VPI_STATE_ABSENT 0x00000020
-+#define VPI_STATE_ERROR 0x00000040
-+#define VPI_STATE_DIRTY 0x00000080
-+#define VPI_STATE_PRECIOUS 0x00000100
-+#define VPI_STATE_OVERWRITING 0x00000200
-+#define VPI_STATE_INACTIVE 0x00000400
-+#define VPI_STATE_ACTIVE 0x00000800
-+#define VPI_STATE_LAUNDRY 0x00001000
-+#define VPI_STATE_FREE 0x00002000
-+#define VPI_STATE_REFERENCE 0x00004000
-+
-+#define VPI_STATE_PAGER 0x80000000 /* pager has the page */
-+
-+typedef struct vm_page_info {
-+ vm_offset_t vpi_offset; /* offset in object */
-+ vm_offset_t vpi_phys_addr; /* physical address */
-+ natural_t vpi_wire_count; /* number of times wired */
-+/*vm_prot_t*/natural_t vpi_page_lock; /* XP access restrictions */
-+/*vm_prot_t*/natural_t vpi_unlock_request; /* outstanding unlock requests */
-+ vm_page_info_state_t vpi_state; /* random state bits */
-+} vm_page_info_t;
-+
-+typedef vm_page_info_t *vm_page_info_array_t;
-+
-+#endif /* _MACH_DEBUG_VM_INFO_H_ */
diff --git a/debian/patches/series b/debian/patches/series
index 728f3361..53dc7fa9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -46,4 +46,4 @@ xkb-compat.patch
fix-get-children-source.patch
diskfs-fix-fsys-receiver-lookups.patch
netfs-fix-fsys-receiver-lookups.patch
-feature-proc-set-task-name-to-pid.patch
+