summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/Makefile.in10
-rw-r--r--gdb/inflow.c17
-rw-r--r--gdb/inflow.h51
-rw-r--r--gdb/inftarg.c3
-rw-r--r--gdb/procfs.c3
6 files changed, 69 insertions, 24 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 09fbfc08d1c..f81c39b3b92 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2003-02-06 Andrew Cagney <ac131313@redhat.com>
+ * Makefile.in (inflow_h): Define.
+ (procfs.o, inflow.o, procfs.o): Update dependencies.
+ * inftarg.c (child_stop): Delete extern declaration of
+ inferior_process_group. Include "inflow.h".
+ * procfs.c (procfs_stop): Ditto. Include "inflow.h".
+ * inflow.c (PROCESS_GROUP_TYPE): Move definitions from here ...
+ * inflow.h (PROCESS_GROUP_TYPE): ... to here. New file.
+ (our_process_group, inferior_process_group): Extern declarations.
+
* procfs.c: Include "gdb_assert.h".
* linux-proc.c: Include "gdb_stat.h" instead of <sys/stat.h>.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index c5de436c140..e4e10fed2aa 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -660,6 +660,7 @@ i386_tdep_h = i386-tdep.h
i387_tdep_h = i387-tdep.h
inf_loop_h = inf-loop.h
inferior_h = inferior.h $(breakpoint_h) $(target_h) $(frame_h)
+inflow_h = inflow.h $(terminal_h)
interps_h = interps.h
jv_lang_h = jv-lang.h
kod_h = kod.h
@@ -1790,7 +1791,8 @@ infcmd.o: infcmd.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
$(objfiles_h) $(completer_h) $(ui_out_h) $(event_top_h) \
$(parser_defs_h) $(regcache_h)
inflow.o: inflow.c $(defs_h) $(frame_h) $(inferior_h) $(command_h) \
- $(serial_h) $(terminal_h) $(target_h) $(gdbthread_h) $(gdb_string_h)
+ $(serial_h) $(terminal_h) $(target_h) $(gdbthread_h) $(gdb_string_h) \
+ $(inflow_h)
infptrace.o: infptrace.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \
$(gdb_string_h) $(regcache_h) $(gdb_wait_h) $(command_h) \
$(gdb_dirent_h) $(gdbcore_h) $(gdb_stat_h)
@@ -1799,7 +1801,7 @@ infrun.o: infrun.c $(defs_h) $(gdb_string_h) $(symtab_h) $(frame_h) \
$(cli_script_h) $(target_h) $(gdbthread_h) $(annotate_h) \
$(symfile_h) $(top_h) $(inf_loop_h) $(regcache_h) $(value_h)
inftarg.o: inftarg.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \
- $(gdbcore_h) $(command_h) $(gdb_stat_h) $(gdb_wait_h)
+ $(gdbcore_h) $(command_h) $(gdb_stat_h) $(gdb_wait_h) $(inflow_h)
infttrace.o: infttrace.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \
$(gdb_string_h) $(gdb_wait_h) $(command_h) $(gdbcore_h)
interps.o: interps.c $(defs_h) $(gdbcmd_h) $(ui_out_h) $(event_loop_h) \
@@ -2007,8 +2009,8 @@ proc-service.o: proc-service.c $(defs_h) $(gdb_proc_service_h) $(inferior_h) \
$(symtab_h) $(target_h) $(gregset_h)
proc-why.o: proc-why.c $(defs_h) $(proc_utils_h)
procfs.o: procfs.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \
- $(elf_bfd_h) $(gdbcmd_h) $(gdbthread_h) $(gdb_dirent_h) $(X_OK) \
- $(gdb_stat_h) $(proc_utils_h) $(gregset_h)
+ $(elf_bfd_h) $(gdbcmd_h) $(gdbthread_h) $(gdb_assert_h) $(inflow_h) \
+ $(gdb_dirent_h) $(X_OK) $(gdb_stat_h) $(proc_utils_h) $(gregset_h)
regcache.o: regcache.c $(defs_h) $(inferior_h) $(target_h) $(gdbarch_h) \
$(gdbcmd_h) $(regcache_h) $(reggroups_h) $(gdb_assert_h) \
$(gdb_string_h) $(gdbcmd_h)
diff --git a/gdb/inflow.c b/gdb/inflow.c
index c8df106fe9a..2a41f57982f 100644
--- a/gdb/inflow.c
+++ b/gdb/inflow.c
@@ -35,22 +35,7 @@
#include <sys/select.h>
#endif
-#ifdef HAVE_TERMIOS
-#define PROCESS_GROUP_TYPE pid_t
-#endif
-
-#ifdef HAVE_TERMIO
-#define PROCESS_GROUP_TYPE int
-#endif
-
-#ifdef HAVE_SGTTY
-#ifdef SHORT_PGRP
-/* This is only used for the ultra. Does it have pid_t? */
-#define PROCESS_GROUP_TYPE short
-#else
-#define PROCESS_GROUP_TYPE int
-#endif
-#endif /* sgtty */
+#include "inflow.h"
#ifdef HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
diff --git a/gdb/inflow.h b/gdb/inflow.h
new file mode 100644
index 00000000000..1cbfa71b484
--- /dev/null
+++ b/gdb/inflow.h
@@ -0,0 +1,51 @@
+/* Low level interface to ptrace, for GDB when running under Unix.
+
+ Copyright 2003 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef INFLOW_H
+#define INFLOW_H
+
+#include "terminal.h" /* For HAVE_TERMIOS et.al. */
+
+#ifdef HAVE_TERMIOS
+#define PROCESS_GROUP_TYPE pid_t
+#endif
+
+#ifdef HAVE_TERMIO
+#define PROCESS_GROUP_TYPE int
+#endif
+
+#ifdef HAVE_SGTTY
+#ifdef SHORT_PGRP
+/* This is only used for the ultra. Does it have pid_t? */
+#define PROCESS_GROUP_TYPE short
+#else
+#define PROCESS_GROUP_TYPE int
+#endif
+#endif /* sgtty */
+
+#ifdef PROCESS_GROUP_TYPE
+/* Process group for us and the inferior. Saved and restored just like
+ {our,inferior}_ttystate. */
+extern PROCESS_GROUP_TYPE our_process_group;
+extern PROCESS_GROUP_TYPE inferior_process_group;
+#endif
+
+#endif
diff --git a/gdb/inftarg.c b/gdb/inftarg.c
index 629f37d96c7..7786579d406 100644
--- a/gdb/inftarg.c
+++ b/gdb/inftarg.c
@@ -36,6 +36,7 @@
#include <fcntl.h>
#include "gdb_wait.h"
+#include "inflow.h"
extern struct symtab_and_line *child_enable_exception_callback (enum
exception_event_kind,
@@ -512,8 +513,6 @@ child_can_run (void)
static void
child_stop (void)
{
- extern pid_t inferior_process_group;
-
kill (-inferior_process_group, SIGINT);
}
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 3ad2f886ea8..969bbcb2b61 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -43,6 +43,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <signal.h>
#include <ctype.h>
#include "gdb_assert.h"
+#include "inflow.h"
/*
* PROCFS.C
@@ -4606,8 +4607,6 @@ procfs_can_run (void)
static void
procfs_stop (void)
{
- extern pid_t inferior_process_group;
-
kill (-inferior_process_group, SIGINT);
}