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.
This commit is contained in:
Andrew Cagney 2003-02-07 04:21:34 +00:00
parent df8f727469
commit 44270758cd
6 changed files with 69 additions and 24 deletions

View File

@ -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>.

View File

@ -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)

View File

@ -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>

51
gdb/inflow.h Normal file
View File

@ -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

View File

@ -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);
}

View File

@ -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);
}