binutils-gdb/gdb/xm-irix4.h
John Gilmore 3fbdd5366e Make the /proc support a target-struct in its own right.
* inferior.h (proc_wait, inferior_proc_init, proc_set_exec_trap):
No longer global functions.
(fork_inferior):  New global function from fork-child.c.
* inftarg.c (child_wait):  Remove USE_PROC_FS conditional.
(ptrace_me, ptrace_him):  New stub functions for fork_inferior().
(child_create_inferior):  Moved to fork-child.c as fork_inferior.
(child_create_inferior):  New tiny function that calls fork_inferior.
* fork-child.c:  New file, containing fork_inferior, which is
built from slight mods to inftarg.c's child_create_inferior.

* procfs.c (procfs_ops):  Add target vector.
(attach):  Rename as static do_attach.
(procfs_create_inferior):  New tiny function that calls fork_inferior.
(child_xfer_memory):  Rename to static procfs_xfer_memory.
(store_inferior_registers):  Rename to static procfs_store_registers.
(inferior_proc_init):  Rename to static procfs_init_inferior.
(procfs_attach, procfs_detach, procfs_prepare_to_store,
procfs_files_info, procfs_open, procfs_mourn_inferior,
procfs_can_run):  Slightly mangled copies of the corresponding
child_XXX routines from inftarg.c.
(proc_wait):  Renamed to static procfs_wait.
(child_resume):  Rename to static procfs_resume.
(fetch_inferior_registers):  Rename to static procfs_fetch_registers.
(initialize_proc_fs):  Rename to initialize_procfs.  Set up
procfs_ops, too.
* xm-irix4.h, xm-sysv4.h (CREATE_INFERIOR_HOOK):  No longer needed.
1992-09-26 09:06:30 +00:00

63 lines
2.2 KiB
C

/* Copyright (C) 1991 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* This is for the iris. */
#define HAVE_TERMIO
#define U_REGS_OFFSET 0
#include "xm-bigmips.h"
/* Override register locations in upage for SGI machines */
#undef REGISTER_U_ADDR
#define REGISTER_U_ADDR(addr, blockend, regno) \
if (regno < PC_REGNUM) \
addr = regno; \
else \
addr = regno + NSIG_HNDLRS; /* Skip over signal handlers */
/* Don't need special routines for the SGI -- we can use infptrace.c */
#undef FETCH_INFERIOR_REGISTERS
/* BEGIN GW MODS */
/*
* Let's use /debug instead of all this dangerous mucking about
* with ptrace(), which seems *extremely* fragile, anyway.
*/
#define USE_PROC_FS
#define PROC_NAME_FMT "/debug/%d"
/* Irix defines psignal() in signal.h, which gets gcc rather angry at us
* because their definition is markedly different.
*/
#define PSIGNAL_IN_SIGNAL_H
/* If gdb's signal handling changes (due to a "handle" command), then
this macro expands to an action to perform to notify other parts of
gdb that might care, that signal handling has changed. For hosts using
the /proc interface, gdb has more control over which signals cause the
inferior to stop and which do not. In some cases, it is desirable to
have signals delivered directly to the inferior without involving the
debugger at all. */
#ifdef USE_PROC_FS
#define NOTICE_SIGNAL_HANDLING_CHANGE proc_signal_handling_change()
#endif
#define BROKEN_SIGINFO_H /* <sys/siginfo.h> si_pid & si_uid are bogus */