bug-hurd
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]