summary refs log tree commit diff
path: root/hurd
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1999-04-30 13:52:59 +0000
committerRoland McGrath <roland@gnu.org>1999-04-30 13:52:59 +0000
commitdeb8346419a8e5648df00d5384258eae19961f51 (patch)
tree1df306323b20012fee46b596f266112256a3777e /hurd
parent71c356ecbebefd4cfcb91c9009ec506ab106b300 (diff)
downloadglibc-deb8346419a8e5648df00d5384258eae19961f51.tar.gz
glibc-deb8346419a8e5648df00d5384258eae19961f51.tar.xz
glibc-deb8346419a8e5648df00d5384258eae19961f51.zip
1999-04-30 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdinit.c (_hurd_new_proc_init): Don't do initial SIGTRAP if 
EXEC_SIGTRAP was set in the incoming exec flags--that indicates the 
exec server simulated a SIGTRAP before we even started up, so gdb is 
already happy.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/hurdinit.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/hurd/hurdinit.c b/hurd/hurdinit.c
index 50b6729fd3..7e2fe01c83 100644
--- a/hurd/hurdinit.c
+++ b/hurd/hurdinit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 93, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1992,93,94,95,96,97,98,99 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -154,7 +154,16 @@ _hurd_new_proc_init (char **argv,
      here, like _hurd_pid, are already initialized.  */
   RUN_HOOK (_hurd_proc_subinit, ());
 
-  if (_hurdsig_traced)
+  /* XXX This code should probably be removed entirely at some point.  This
+     conditional should make it reasonably usable with old gdb's for a
+     while.  Eventually it probably makes most sense for the exec server to
+     mask out EXEC_SIGTRAP so the debugged program is closer to not being
+     able to tell it's being debugged.  */
+  if (_hurdsig_traced
+#ifdef EXEC_SIGTRAP
+      && !(_hurd_exec_flags & EXEC_SIGTRAP)
+#endif
+      )
     /* This process is "traced", meaning it should stop on signals or exec.
        We are all set up now to handle signals.  Stop ourselves, to inform
        our parent (presumably a debugger) that the exec has completed.  */