]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* procfs.c (procfs_wait): Fix argument name to match 4 Jan changes.
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 6 Jan 1994 16:34:51 +0000 (16:34 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 6 Jan 1994 16:34:51 +0000 (16:34 +0000)
* Move target_signal_from_host, target_signal_to_host, and
store_waitstatus from inftarg.c to target.c.  procfs needs them.
* target.c: Include "wait.h" and <signal.h>.
* target.h, infrun.c (proceed), proceed callers: Pass new code
TARGET_SIGNAL_DEFAULT instead of -1.  This avoids problems with
enums being treated as unsigned and is cleaner.
* infrun.c (signals_info): Don't print TARGET_SIGNAL_DEFAULT or
TARGET_SIGNAL_0.
* infcmd.c (signal_command), infrun.c (signals_info):
Don't allow user to specify numeric equivalent of
TARGET_SIGNAL_DEFAULT.

14 files changed:
gdb/procfs.c
gdb/remote-adapt.c
gdb/remote-eb.c
gdb/remote-es.c
gdb/remote-hms.c
gdb/remote-mips.c
gdb/remote-mm.c
gdb/remote-mon.c
gdb/remote-nindy.c
gdb/remote-sim.c
gdb/remote-st.c
gdb/remote-udi.c
gdb/remote-vx.c
gdb/remote-z8k.c

index 5ebc5e047eacab29dc81559fd6616e69c5f13981..c9e0d8f60b84ee528135711dad3569a7b6187c2c 100644 (file)
@@ -2174,48 +2174,33 @@ do_detach (signal)
   attach_flag = 0;
 }
 
-/*
-
-LOCAL FUNCTION
-
-       procfs_wait -- emulate wait() as much as possible
-       Wait for child to do something.  Return pid of child, or -1 in case
-       of error; store status through argument pointer STATUS.
-
-
-SYNOPSIS
-
-       int procfs_wait (int pid, int *statloc)
-
-DESCRIPTION
-
-       Try to emulate wait() as much as possible.  Not sure why we can't
-       just use wait(), but it seems to have problems when applied to a
-       process being controlled with the /proc interface.
-
-NOTES
-
-       We have a race problem here with no obvious solution.  We need to let
-       the inferior run until it stops on an event of interest, which means
-       that we need to use the PIOCWSTOP ioctl.  However, we cannot use this
-       ioctl if the process is already stopped on something that is not an
-       event of interest, or the call will hang indefinitely.  Thus we first
-       use PIOCSTATUS to see if the process is not stopped.  If not, then we
-       use PIOCWSTOP.  But during the window between the two, if the process
-       stops for any reason that is not an event of interest (such as a job
-       control signal) then gdb will hang.  One possible workaround is to set
-       an alarm to wake up every minute of so and check to see if the process
-       is still running, and if so, then reissue the PIOCWSTOP.  But this is
-       a real kludge, so has not been implemented.  FIXME: investigate
-       alternatives.
-
-       FIXME:  Investigate why wait() seems to have problems with programs
-       being control by /proc routines.
-
- */
+/*  emulate wait() as much as possible.
+    Wait for child to do something.  Return pid of child, or -1 in case
+    of error; store status in *OURSTATUS.
+
+    Not sure why we can't
+    just use wait(), but it seems to have problems when applied to a
+    process being controlled with the /proc interface.
+
+    We have a race problem here with no obvious solution.  We need to let
+    the inferior run until it stops on an event of interest, which means
+    that we need to use the PIOCWSTOP ioctl.  However, we cannot use this
+    ioctl if the process is already stopped on something that is not an
+    event of interest, or the call will hang indefinitely.  Thus we first
+    use PIOCSTATUS to see if the process is not stopped.  If not, then we
+    use PIOCWSTOP.  But during the window between the two, if the process
+    stops for any reason that is not an event of interest (such as a job
+    control signal) then gdb will hang.  One possible workaround is to set
+    an alarm to wake up every minute of so and check to see if the process
+    is still running, and if so, then reissue the PIOCWSTOP.  But this is
+    a real kludge, so has not been implemented.  FIXME: investigate
+    alternatives.
+
+    FIXME:  Investigate why wait() seems to have problems with programs
+    being control by /proc routines.  */
 
 static int
-procfs_wait (pid, statloc)
+procfs_wait (pid, ourstatus)
      int pid;
      struct target_waitstatus *ourstatus;
 {
index fe1586d42509d53c057672e9f4e8022ce805685d..1221315354cc411fe29a35f34b9939fa5d3e7099 100644 (file)
@@ -407,7 +407,7 @@ adapt_create_inferior (execfile, args, env)
          expect_prompt ();
 #else
        insert_breakpoints ();  /* Needed to get correct instruction in cache */
-       proceed(entry_pt, -1, 0);
+       proceed(entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 #endif
 
   } else {
index d26154972cc6b8f3f597407927729746acb908de..5cf0c7535c4e9c237ae863d3a56f909872a80155 100644 (file)
@@ -285,7 +285,7 @@ eb_create_inferior (execfile, args, env)
   target_terminal_inferior ();
 
   /* insert_step_breakpoint ();  FIXME, do we need this?  */
-  proceed ((CORE_ADDR)entry_pt, -1, 0);                /* Let 'er rip... */
+  proceed ((CORE_ADDR)entry_pt, TARGET_SIGNAL_DEFAULT, 0);             /* Let 'er rip... */
 }
 
 /* Translate baud rates from integers to damn B_codes.  Unix should
index 7ee7bf996794fc92169b87e128f739d0fbff659d..c561966a8416eb5fefb0fc6b527eb3bb334e7e91 100644 (file)
@@ -1616,7 +1616,8 @@ es1800_create_inferior (execfile, args, env)
   /* trap_expected = 0; */
   /* insert_step_breakpoint ();  FIXME, do we need this?  */
 
-  proceed ((CORE_ADDR) entry_pt, -1, 0);               /* Let 'er rip... */
+  /* Let 'er rip... */
+  proceed ((CORE_ADDR) entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 
 }
 
index 4e2db4292d06461e710136f28d59251a55172d8c..e86c1350145fcb7fd1ec0f40fd3860df5d4ef141 100644 (file)
@@ -485,7 +485,7 @@ hms_create_inferior (execfile, args, env)
   expect_prompt ();
 
   insert_breakpoints ();       /* Needed to get correct instruction in cache */
-  proceed (entry_pt, -1, 0);
+  proceed (entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 /* Open a connection to a remote debugger.
index e230096c5019001781fc2eb98e26bacbe57030a3..e55d0a25363436db991070881d265d58b355a852 100644 (file)
@@ -1339,7 +1339,7 @@ mips_create_inferior (execfile, args, env)
 
   /* FIXME: Should we set inferior_pid here?  */
 
-  proceed (entry_pt, -1, 0);
+  proceed (entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 /* Clean up after a process.  Actually nothing to do.  */
index 91ae1552634fedbf6cbdd2ed7dca549879389307..423ba64353c8234dd18d85b30f280c807f4f2146 100644 (file)
@@ -180,7 +180,7 @@ Assuming you are at NYU debuging a kernel, i.e., no need to download.\n\n");
   init_wait_for_inferior ();
   clear_proceed_status ();
   stop_soon_quietly = 1;
-  proceed(-1,-1,0);
+  proceed (-1, TARGET_SIGNAL_DEFAULT, 0);
   normal_stop ();
 }
 /**************************************************** REMOTE_MOURN_INFERIOR */
index 0cb5dd73b1d077e9d32c3090e5f7a9666882b864..115822bfbbd667fef4f2b1acf1b64ee747d16e65 100644 (file)
@@ -309,7 +309,9 @@ monitor_create_inferior (execfile, args, env)
   target_terminal_inferior ();
 
   /* insert_step_breakpoint ();  FIXME, do we need this?  */
-  proceed ((CORE_ADDR)entry_pt, -1, 0);                /* Let 'er rip... */
+
+  /* Let 'er rip... */
+  proceed ((CORE_ADDR)entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 /* Open a connection to a remote debugger.
index aa1fbe3fe1a7005e6c2b3d48828087c8c7ef06a8..aef95d5784df63c546ffe4916c4602076c986ceb 100644 (file)
@@ -609,7 +609,8 @@ nindy_create_inferior (execfile, args, env)
   target_terminal_inferior ();
 
   /* insert_step_breakpoint ();  FIXME, do we need this?  */
-  proceed ((CORE_ADDR)entry_pt, -1, 0);                /* Let 'er rip... */
+  /* Let 'er rip... */
+  proceed ((CORE_ADDR)entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 static void
index 1d35ddc34c1e93b093f920eb7256cf126a8bfa59..6d4333d5f5265e0958943725ab8c4b89abe73ea3 100644 (file)
@@ -196,7 +196,7 @@ gdbsim_create_inferior (exec_file, args, env)
 
   inferior_pid = 42;
   insert_breakpoints ();       /* Needed to get correct instruction in cache */
-  proceed (entry_pt, -1, 0);
+  proceed (entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 /* The open routine takes the rest of the parameters from the command,
index 7ea3d1512aa831441807d8148b60453e9f0599d5..402a4ab1e59da06cedf933dac724e7a30c36cf5f 100644 (file)
@@ -267,7 +267,8 @@ st2000_create_inferior (execfile, args, env)
   target_terminal_inferior ();
 
   /* insert_step_breakpoint ();  FIXME, do we need this?  */
-  proceed ((CORE_ADDR)entry_pt, -1, 0);                /* Let 'er rip... */
+  /* Let 'er rip... */
+  proceed ((CORE_ADDR)entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 /* Open a connection to a remote debugger.
index 6f32c00d001eadbf062a7c5952013bdf4b31cd0a..afe9dd4be8b5ccddc0e6c2d64021f1f4523aa2a4 100644 (file)
@@ -167,7 +167,7 @@ udi_create_inferior (execfile, args, env)
 
   init_wait_for_inferior ();
   clear_proceed_status ();
-  proceed(-1,-1,0);
+  proceed (-1, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 static void
index abbd918dfaf9b431458da6ba29c3a506365f25b9..3bcb6807485e267b19a9d0dd71aa02f337150b04 100644 (file)
@@ -235,7 +235,7 @@ vx_create_inferior (exec_file, args, env)
   stop_soon_quietly = 0;
 
   /* insert_step_breakpoint ();  FIXME, do we need this?  */
-  proceed(-1, -1, 0);
+  proceed (-1, TARGET_SIGNAL_DEFAULT, 0);
 }
 
 /* Fill ARGSTRUCT in argc/argv form with the arguments from the
index 5ff6e821251f5249fe15ee92cad6e87dd1e9e016..20d340dbaf7989ece8311aea405fa912572ab101 100644 (file)
@@ -158,7 +158,7 @@ sim_create_inferior (execfile, args, env)
   sim_clear_breakpoints ();
   init_wait_for_inferior ();
   insert_breakpoints ();
-  proceed (entry_pt, -1, 0);
+  proceed (entry_pt, TARGET_SIGNAL_DEFAULT, 0);
 }
 #if 0
 static void