summaryrefslogtreecommitdiff
path: root/gdb/config/i386/i386gnu.mh
blob: d85744b4f0a00b36c093f0643f222e6b7e0fb2cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Host: Intel 386 running the GNU Hurd
NATDEPFILES= i386gnu-nat.o gnu-nat.o core-regset.o fork-child.o \
	     notify_S.o process_reply_S.o msg_reply_S.o \
	     msg_U.o exc_request_U.o exc_request_S.o

NAT_FILE= nm-i386gnu.h
MH_CFLAGS = -D_GNU_SOURCE

XM_CLIBS = -lshouldbeinlibc

# Use our own user stubs for the msg rpcs, so we can make them time out, in
# case the program is fucked, or we guess the wrong signal thread.
msg-MIGUFLAGS = -D'MSG_IMPORTS=waittime 1000;'

# ick
MIGCOM = $(MIG) -cc cat - /dev/null

# Reply servers need special massaging of the code mig generates, to make
# them work correctly for error returns in some cases.
%_reply_S.h %_reply_S.c: %_reply.defs
	$(CPP) $(CPPFLAGS) -DSERVERPREFIX=S_ -x c $< \
	| $(MIGCOM) -sheader $*_reply_S.h -server $*_reply_S.raw -user /dev/null -header /dev/null \
	&& $(AWK) -f $(srcdir)/reply_mig_hack.awk < $*_reply_S.raw > $*_reply_S.c
# Normal servers
%_S.h %_S.c: %.defs
	$(CPP) $(CPPFLAGS) -DSERVERPREFIX=S_ -x c $< \
	| $(MIGCOM) -sheader $*_S.h -server $*_S.c -user /dev/null -header /dev/null
# User rpc stubs
%_U.h %_U.c: %.defs
	$(CPP) $(CPPFLAGS) $($*-MIGUFLAGS) -x c $< \
	| $(MIGCOM) -sheader /dev/null -server /dev/null -user $*_U.c -header $*_U.h

NAT_GENERATED_FILES = notify_S.h notify_S.c \
	process_reply_S.h process_reply_S.c \
	msg_reply_S.h msg_reply_S.c msg_U.h msg_U.c \
	exc_request_U.h exc_request_U.c exc_request_S.h exc_request_S.c