[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] GDB Hurd Fixes
From: |
David Michael |
Subject: |
Re: [RFC] GDB Hurd Fixes |
Date: |
Thu, 19 Sep 2013 20:43:10 -0400 |
Hi,
(Copying gdb-patches this time.)
Here is an updated patch to successfully build GDB after today's
Hurd/mig changes.
The awk script changes handle the "auto" keyword being dropped from
mig output, and that an "#if TypeCheck" line appears before
arg_check_name is defined in some new functions.
The gnu-nat.c changes define functions for the new process_reply.defs entries.
I'd appreciate any feedback or suggestions for getting GDB building on
current Hurd again.
Thanks.
David
--- gdb/reply_mig_hack.awk 2013-01-01 01:32:50.000000000 -0500
+++ gdb/reply_mig_hack.awk 2013-01-01 01:32:50.000000000 -0500
@@ -85,13 +85,20 @@ parse_phase == 5 && /^[ \t]*(auto|static
print; next;
}
+parse_phase == 5 && /^[ \t]*const mach_msg_type_t/ {
+ # The type check structure for an argument.
+ arg_check_name[num_checks] = $3;
+ num_checks++;
+ print; next;
+}
+
parse_phase == 5 && /^[ \t]*mig_external kern_return_t/ {
# The declaration of the user server function for this rpc.
user_function_name = $3;
print; next;
}
-parse_phase == 5 && /^#if[ \t]TypeCheck/ {
+parse_phase == 5 && /^#if[ \t]TypeCheck/ && num_checks > 0 {
# The first args type checking statement; we need to insert our chunk of
# code that bypasses all the type checks if this is an error return, after
# which we're done until we get to the next function. Handily, the size
--- gdb/gnu-nat.c 2013-01-01 01:32:44.000000000 -0500
+++ gdb/gnu-nat.c 2013-01-01 01:32:44.000000000 -0500
@@ -1902,6 +1902,142 @@ S_proc_getmsgport_reply (mach_port_t rep
return ill_rpc ("S_proc_getmsgport_reply");
}
+error_t
+S_proc_pid2task_reply (mach_port_t reply, error_t err, mach_port_t task)
+{
+ return ill_rpc ("S_proc_pid2task_reply");
+}
+
+error_t
+S_proc_task2pid_reply (mach_port_t reply, error_t err, pid_t pid)
+{
+ return ill_rpc ("S_proc_task2pid_reply");
+}
+
+error_t
+S_proc_task2proc_reply (mach_port_t reply, error_t err, mach_port_t proc)
+{
+ return ill_rpc ("S_proc_task2proc_reply");
+}
+
+error_t
+S_proc_proc2task_reply (mach_port_t reply, error_t err, mach_port_t task)
+{
+ return ill_rpc ("S_proc_proc2task_reply");
+}
+
+error_t
+S_proc_pid2proc_reply (mach_port_t reply, error_t err, mach_port_t proc)
+{
+ return ill_rpc ("S_proc_pid2proc_reply");
+}
+
+error_t
+S_proc_getprocinfo_reply (mach_port_t reply, error_t err, int flags,
+ procinfo_t procinfo, mach_msg_type_number_t piCnt,
+ data_t threadwaits, mach_msg_type_number_t twCnt)
+{
+ return ill_rpc ("S_proc_getprocinfo_reply");
+}
+
+error_t
+S_proc_getprocargs_reply (mach_port_t reply, error_t err,
+ data_t procargs, mach_msg_type_number_t procargsCnt)
+{
+ return ill_rpc ("S_proc_getprocargs_reply");
+}
+
+error_t
+S_proc_getprocenv_reply (mach_port_t reply, error_t err,
+ data_t procenv, mach_msg_type_number_t procenvCnt)
+{
+ return ill_rpc ("S_proc_getprocenv_reply");
+}
+
+error_t
+S_proc_getloginid_reply (mach_port_t reply, error_t err, pid_t login_id)
+{
+ return ill_rpc ("S_proc_getloginid_reply");
+}
+
+error_t
+S_proc_getloginpids_reply (mach_port_t reply, error_t err,
+ pidarray_t pids, mach_msg_type_number_t pidsCnt)
+{
+ return ill_rpc ("S_proc_getloginpids_reply");
+}
+
+error_t
+S_proc_getlogin_reply (mach_port_t reply, error_t err, string_t logname)
+{
+ return ill_rpc ("S_proc_getlogin_reply");
+}
+
+error_t
+S_proc_getsid_reply (mach_port_t reply, error_t err, pid_t sid)
+{
+ return ill_rpc ("S_proc_getsid_reply");
+}
+
+error_t
+S_proc_getsessionpgids_reply (mach_port_t reply, error_t err,
+ pidarray_t pgidset, mach_msg_type_number_t psCnt)
+{
+ return ill_rpc ("S_proc_getsessionpgids_reply");
+}
+
+error_t
+S_proc_getsessionpids_reply (mach_port_t reply, error_t err,
+ pidarray_t pidset, mach_msg_type_number_t psCnt)
+{
+ return ill_rpc ("S_proc_getsessionpids_reply");
+}
+
+error_t
+S_proc_getsidport_reply (mach_port_t reply, error_t err, mach_port_t sessport)
+{
+ return ill_rpc ("S_proc_getsidport_reply");
+}
+
+error_t
+S_proc_getpgrp_reply (mach_port_t reply, error_t err, pid_t pgrp)
+{
+ return ill_rpc ("S_proc_getpgrp_reply");
+}
+
+error_t
+S_proc_getpgrppids_reply (mach_port_t reply, error_t err,
+ pidarray_t pidset, mach_msg_type_number_t pidsetCnt)
+{
+ return ill_rpc ("S_proc_getpgrppids_reply");
+}
+
+error_t
+S_proc_get_tty_reply (mach_port_t reply, error_t err, mach_port_t tty)
+{
+ return ill_rpc ("S_proc_get_tty_reply");
+}
+
+error_t
+S_proc_getnports_reply (mach_port_t reply, error_t err,
+ mach_msg_type_number_t nports)
+{
+ return ill_rpc ("S_proc_getnports_reply");
+}
+
+error_t
+S_proc_is_important_reply (mach_port_t reply, error_t err, boolean_t essential)
+{
+ return ill_rpc ("S_proc_is_important_reply");
+}
+
+error_t
+S_proc_get_code_reply (mach_port_t reply, error_t err,
+ vm_address_t start_code, vm_address_t end_code)
+{
+ return ill_rpc ("S_proc_get_code_reply");
+}
+
/* Msg_reply server routines. We only use msg_sig_post_untraced_reply. */
- Re: [RFC] GDB Hurd Fixes,
David Michael <=