[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH hurd] hurd: make the protected payload changes less intrusive
From: |
Justus Winter |
Subject: |
[PATCH hurd] hurd: make the protected payload changes less intrusive |
Date: |
Fri, 12 Dec 2014 18:44:28 +0100 |
The changes to `hurd_types.defs' caused the glibc build to fail.
Guard the problematic parts with `HURD_SERVER' similar how it is done
in GNU Mach.
* Makeconf: Define `HURD_SERVER' when preprocessing the RPC
definitions for the server side.
* hurd/hurd_types.defs: Guard problematic parts with `HURD_SERVER'.
---
Makeconf | 1 +
hurd/hurd_types.defs | 5 ++---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makeconf b/Makeconf
index 5439913..ed2f6d0 100644
--- a/Makeconf
+++ b/Makeconf
@@ -546,6 +546,7 @@ MIGCOMFLAGS := -subrprefix __
%.sdefsi %.sdefs.d: %.defs
$(CPP) $(CPPFLAGS) $(MIGSFLAGS) $($*-MIGSFLAGS) -DSERVERPREFIX=S_ \
+ -DHURD_SERVER=1 \
-MD -MF $*.sdefs.d.new \
$< -o $*.sdefsi
sed -e 's/[^:]*:/$*Server.c $(mig-sheader-prefix)$*_S.h:/' \
diff --git a/hurd/hurd_types.defs b/hurd/hurd_types.defs
index 4c01e63..5fa59f3 100644
--- a/hurd/hurd_types.defs
+++ b/hurd/hurd_types.defs
@@ -18,6 +18,7 @@ along with the GNU Hurd; see the file COPYING. If not, write
to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+#ifdef HURD_SERVER
/* The Hurd uses protected payloads to quickly look up the object
receiving a message. Looking up objects is optimized at the cost
of having to translate payloads back to port names if the server
@@ -42,10 +43,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA
02139, USA. */
#undef HURD_DEFAULT_PAYLOAD_TO_PORT
#endif
#else
-/* Ideally we would include this here, to make sure ports_payload_get_name gets
- declared, but this leads to an inclusion loop via hurd/signal.h
import <hurd/ports.h>;
- */
#define HURD_DEFAULT_PAYLOAD_TO_PORT ports_payload_get_name
#endif
@@ -55,6 +53,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA
02139, USA. */
#ifdef HURD_DEFAULT_PAYLOAD_TO_PORT
#define MACH_PAYLOAD_TO_PORT HURD_DEFAULT_PAYLOAD_TO_PORT
#endif
+#endif /* HURD_SERVER */
#include <mach/std_types.defs>
#include <mach/mach_types.defs>
--
2.1.3