This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[hurd,commited 2/7] hurd: drop elder MACH_IPC_COMPAT handling
- From: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- To: libc-alpha at sourceware dot org
- Cc: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- Date: Sat, 27 Jan 2018 23:50:57 +0100
- Subject: [hurd,commited 2/7] hurd: drop elder MACH_IPC_COMPAT handling
- Authentication-results: sourceware.org; auth=none
- References: <20180127225102.11373-1-samuel.thibault@ens-lyon.org>
This was dropped from GNU Mach in 2006.
* mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0.
* mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT.
* sysdeps/mach/hurd/fork.c (__fork): Drop special casing
MACH_IPC_COMPAT.
---
ChangeLog | 4 ++++
mach/Machrules | 2 +-
mach/mach/mach_traps.h | 3 +--
sysdeps/mach/hurd/fork.c | 35 +++--------------------------------
4 files changed, 9 insertions(+), 35 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 4e1e4bf730..7d7800dbb1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,10 @@
--disable-libcilkrts to gcc configure.
* sysdeps/mach/hurd/Makefile [$(subdir)==nis]: Add
-DUSE_BINDINGDIR=1 to CFLAGS-ypclnt.c.
+ * mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0.
+ * mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT.
+ * sysdeps/mach/hurd/fork.c (__fork): Drop special casing
+ MACH_IPC_COMPAT.
2018-01-27 James Clarke <jrtc27@jrtc27.com>
diff --git a/mach/Machrules b/mach/Machrules
index 49e6399b7c..4f9ec421ec 100644
--- a/mach/Machrules
+++ b/mach/Machrules
@@ -51,7 +51,7 @@ $(objpfx)dummy.mk:
$(make-target-directory)
echo '# Empty' > $@
-MIGFLAGS = -DMACH_IPC_COMPAT=0 -DSTANDALONE -DTypeCheck=0 \
+MIGFLAGS = -DSTANDALONE -DTypeCheck=0 \
$(+includes) $(migdefines) -subrprefix __
# Putting CC in the enivronment makes the mig wrapper script
# use the same compiler setup we are using to run cpp.
diff --git a/mach/mach/mach_traps.h b/mach/mach/mach_traps.h
index 5e09a95310..cefbd2d372 100644
--- a/mach/mach/mach_traps.h
+++ b/mach/mach/mach_traps.h
@@ -17,8 +17,7 @@
/* Declare the few Mach system calls (except mach_msg, in <mach/message.h>).
This does not include the kernel RPC shortcut calls (in <mach-shortcuts.h>).
-
- This file omits the MACH_IPC_COMPAT functions. */
+ */
#ifndef _MACH_MACH_TRAPS_H
diff --git a/sysdeps/mach/hurd/fork.c b/sysdeps/mach/hurd/fork.c
index fe3f544f2b..b55eecffc6 100644
--- a/sysdeps/mach/hurd/fork.c
+++ b/sysdeps/mach/hurd/fork.c
@@ -213,38 +213,9 @@ __fork (void)
{
/* This is a receive right. We want to give the child task
its own new receive right under the same name. */
- err = __mach_port_allocate_name (newtask,
- MACH_PORT_RIGHT_RECEIVE,
- portnames[i]);
- if (err == KERN_NAME_EXISTS)
- {
- /* It already has a right under this name (?!). Well,
- there is this bizarre old Mach IPC feature (in #ifdef
- MACH_IPC_COMPAT in the ukernel) which results in new
- tasks getting a new receive right for task special
- port number 2. What else might be going on I'm not
- sure. So let's check. */
-#if !MACH_IPC_COMPAT
-#define TASK_NOTIFY_PORT 2
-#endif
- assert (({ mach_port_t thisport, notify_port;
- mach_msg_type_name_t poly;
- (__task_get_special_port (newtask,
- TASK_NOTIFY_PORT,
- ¬ify_port) == 0 &&
- __mach_port_extract_right
- (newtask,
- portnames[i],
- MACH_MSG_TYPE_MAKE_SEND,
- &thisport, &poly) == 0 &&
- (thisport == notify_port) &&
- __mach_port_deallocate (__mach_task_self (),
- thisport) == 0 &&
- __mach_port_deallocate (__mach_task_self (),
- notify_port) == 0);
- }));
- }
- else if (err)
+ if (err = __mach_port_allocate_name (newtask,
+ MACH_PORT_RIGHT_RECEIVE,
+ portnames[i]))
LOSE;
if (porttypes[i] & MACH_PORT_TYPE_SEND)
{
--
2.15.1