bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC] GDB Fixes


From: David Michael
Subject: [RFC] GDB Fixes
Date: Tue, 17 Sep 2013 18:50:29 -0400

Hi,

Recent changes in mig/Hurd have broken GDB's build process.  I've
appended my changes here and would appreciate any feedback.
(Apologies if this is better sent to a GDB mailing list; I'm hoping
someone here can tell me if I'm doing something stupid with mig
output.)

The first part fixes an awk script after the "auto" keywords were
stripped from mig's output.  The patch adds another block that should
make it compatible with both old and new versions of mig.

The second part defines some process_reply.defs functions to bring it
in line with Hurd's 0845794f.  I assume these will just be unused
functions when building with old Hurd versions, but I haven't tested.

Can anyone comment on this?  (Also, sorry if this steps on any of the
other Hurd/GDB projects going on--I'm just trying to get a working
debugger 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,6 +85,13 @@ 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;
--- 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 (mach_port_t reply, error_t err, mach_port_t task)
+{
+  return ill_rpc ("S_proc_pid2task");
+}
+
+error_t
+S_proc_task2pid (mach_port_t reply, error_t err, pid_t pid)
+{
+  return ill_rpc ("S_proc_task2pid");
+}
+
+error_t
+S_proc_task2proc (mach_port_t reply, error_t err, mach_port_t proc)
+{
+  return ill_rpc ("S_proc_task2proc");
+}
+
+error_t
+S_proc_proc2task (mach_port_t reply, error_t err, mach_port_t task)
+{
+  return ill_rpc ("S_proc_proc2task");
+}
+
+error_t
+S_proc_pid2proc (mach_port_t reply, error_t err, mach_port_t proc)
+{
+  return ill_rpc ("S_proc_pid2proc");
+}
+
+error_t
+S_proc_getprocinfo (mach_port_t reply, error_t err, int flags,
+                    procinfo_t procinfo, mach_msg_type_number_t procinfoCnt,
+                    data_t threadwaits, mach_msg_type_number_t threadwaitsCnt)
+{
+  return ill_rpc ("S_proc_getprocinfo");
+}
+
+error_t
+S_proc_getprocargs (mach_port_t reply, error_t err,
+                    data_t procargs, mach_msg_type_number_t procargsCnt)
+{
+  return ill_rpc ("S_proc_getprocargs");
+}
+
+error_t
+S_proc_getprocenv (mach_port_t reply, error_t err,
+                   data_t procenv, mach_msg_type_number_t procenvCnt)
+{
+  return ill_rpc ("S_proc_getprocenv");
+}
+
+error_t
+S_proc_getloginid (mach_port_t reply, error_t err, pid_t login_id)
+{
+  return ill_rpc ("S_proc_getloginid");
+}
+
+error_t
+S_proc_getloginpids (mach_port_t reply, error_t err,
+                     pidarray_t pids, mach_msg_type_number_t pidsCnt)
+{
+  return ill_rpc ("S_proc_getloginpids");
+}
+
+error_t
+S_proc_getlogin (mach_port_t reply, error_t err, string_t logname)
+{
+  return ill_rpc ("S_proc_getlogin");
+}
+
+error_t
+S_proc_getsid (mach_port_t reply, error_t err, pid_t sid)
+{
+  return ill_rpc ("S_proc_getsid");
+}
+
+error_t
+S_proc_getsessionpgids (mach_port_t reply, error_t err,
+                        pidarray_t pgidset, mach_msg_type_number_t pgidsetCnt)
+{
+  return ill_rpc ("S_proc_getsessionpgids");
+}
+
+error_t
+S_proc_getsessionpids (mach_port_t reply, error_t err,
+                       pidarray_t pidset, mach_msg_type_number_t pidsetCnt)
+{
+  return ill_rpc ("S_proc_getsessionpids");
+}
+
+error_t
+S_proc_getsidport (mach_port_t reply, error_t err, mach_port_t sessport)
+{
+  return ill_rpc ("S_proc_getsidport");
+}
+
+error_t
+S_proc_getpgrp (mach_port_t reply, error_t err, pid_t pgrp)
+{
+  return ill_rpc ("S_proc_getpgrp");
+}
+
+error_t
+S_proc_getpgrppids (mach_port_t reply, error_t err,
+                    pidarray_t pidset, mach_msg_type_number_t pidsetCnt)
+{
+  return ill_rpc ("S_proc_getpgrppids");
+}
+
+error_t
+S_proc_get_tty (mach_port_t reply, error_t err, mach_port_t tty)
+{
+  return ill_rpc ("S_proc_get_tty");
+}
+
+error_t
+S_proc_getnports (mach_port_t reply, error_t err,
+                  mach_msg_type_number_t nports)
+{
+  return ill_rpc ("S_proc_getnports");
+}
+
+error_t
+S_proc_is_important (mach_port_t reply, error_t err, boolean_t essential)
+{
+  return ill_rpc ("S_proc_is_important");
+}
+
+error_t
+S_proc_get_code (mach_port_t reply, error_t err,
+                 vm_address_t start_code, vm_address_t end_code)
+{
+  return ill_rpc ("S_proc_get_code");
+}
+

 /* Msg_reply server routines.  We only use msg_sig_post_untraced_reply.  */



reply via email to

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