binutils-gdb/gdb/config/i386/i386gnu.mn
Samuel Thibault b7ed9f3d46 hurd: Add shared mig declarations
We are using -Werror=missing-declarations, and the _S.h files generated
by mig do not currently include a declaration for the server routine.
gnu-nat.c used to have its own external declarations, but better just
share them between gnu-nat.c and the _S.c files.

Fixes

exc_request_S.c:177:24: error: no previous declaration for ‘exc_server’ [-Werror=missing-declarations]
  177 | mig_external boolean_t exc_server

gdb/ChangeLog:

	* config/i386/i386gnu.mn [%_S.o %_U.o] (COMPILE.post): Add
	"-include gnu-nat-mig.h".
	* gnu-nat-mig.h: New file.
	* gnu-nat.c: Include "gnu-nat-mig.h".
	(exc_server, msg_reply_server, notify_server,
	process_reply_server): Remove declarations.
2020-06-01 07:52:24 +00:00

30 lines
1.2 KiB
Plaintext

# 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 $(srcdir)/reply_mig_hack.awk
$(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
# MIG stubs are not yet ready for C++ compilation.
%_S.o %_U.o : COMPILE.post += -x c -include gnu-nat-mig.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