X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Finferior.h;h=e93e413bb75f8bb5e5875c5fcddbffb611a27cba;hb=56be38147cbe5a85a4d2d4d9cf402696826a4392;hp=ed49d2315d9a1bdbfe565fe2dcdb2f371019b1ef;hpb=b46e02f67c909205abc6b82e963bfd46cabcea4f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/inferior.h b/gdb/inferior.h index ed49d2315d..e93e413bb7 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -1,8 +1,9 @@ /* Variables that describe the inferior process running under GDB: Where it is, why it stopped, and how to step it. - Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + Copyright (C) 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, + 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of GDB. @@ -18,8 +19,8 @@ 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. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ #if !defined (INFERIOR_H) #define INFERIOR_H 1 @@ -102,9 +103,10 @@ extern void set_sigio_trap (void); extern void clear_sigio_trap (void); -/* File name for default use for standard in/out in the inferior. */ +/* Set/get file name for default use for standard in/out in the inferior. */ -extern char *inferior_io_terminal; +extern void set_inferior_io_terminal (const char *terminal_name); +extern const char *get_inferior_io_terminal (void); /* Collected pid, tid, etc. of the debugged inferior. When there's no inferior, PIDGET (inferior_ptid) will be 0. */ @@ -145,7 +147,7 @@ extern int inferior_ignoring_leading_exec_events; /* Inferior environment. */ -extern struct environ *inferior_environ; +extern struct gdb_environ *inferior_environ; extern void clear_proceed_status (void); @@ -176,17 +178,13 @@ extern void generic_target_write_pc (CORE_ADDR, ptid_t); extern CORE_ADDR read_sp (void); -extern void deprecated_write_sp (CORE_ADDR); - -extern CORE_ADDR deprecated_read_fp (void); - -extern CORE_ADDR unsigned_pointer_to_address (struct type *type, const void *buf); - -extern void unsigned_address_to_pointer (struct type *type, void *buf, +extern CORE_ADDR unsigned_pointer_to_address (struct type *type, + const gdb_byte *buf); +extern void unsigned_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr); extern CORE_ADDR signed_pointer_to_address (struct type *type, - const void *buf); -extern void address_to_signed_pointer (struct type *type, void *buf, + const gdb_byte *buf); +extern void address_to_signed_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr); extern void wait_for_inferior (void); @@ -211,11 +209,9 @@ extern void default_print_registers_info (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, int all); -extern void store_inferior_registers (int); +extern void store_inferior_registers (struct regcache *, int); -extern void fetch_inferior_registers (int); - -extern void solib_create_inferior_hook (void); +extern void fetch_inferior_registers (struct regcache *, int); extern void child_terminal_info (char *, int); @@ -240,11 +236,7 @@ int ptrace_wait (ptid_t, int *); extern void child_resume (ptid_t, int, enum target_signal); -#ifndef PTRACE_ARG3_TYPE -#define PTRACE_ARG3_TYPE int /* Correct definition for most systems. */ -#endif - -extern int call_ptrace (int, int, PTRACE_ARG3_TYPE, int); +extern int call_ptrace (int, int, PTRACE_TYPE_ARG3, int); extern void pre_fork_inferior (void); @@ -267,13 +259,13 @@ extern char *construct_inferior_arguments (struct gdbarch *, int, char **); /* From inflow.c */ -extern void new_tty_prefork (char *); +extern void new_tty_prefork (const char *); extern int gdb_has_a_terminal (void); /* From infrun.c */ -extern void start_remote (void); +extern void start_remote (int from_tty); extern void normal_stop (void); @@ -298,6 +290,8 @@ extern void follow_inferior_reset_breakpoints (void); extern void tty_command (char *, int); +extern void post_create_inferior (struct target_ops *, int); + extern void attach_command (char *, int); extern char *get_inferior_args (void); @@ -364,10 +358,6 @@ extern CORE_ADDR step_range_end; /* Exclusive */ extern struct frame_id step_frame_id; -/* Our notion of the current stack pointer. */ - -extern CORE_ADDR step_sp; - /* 1 means step over all subroutine calls. -1 means step over calls to undebuggable functions. */ @@ -438,61 +428,7 @@ extern int attach_flag; /* Possible values for CALL_DUMMY_LOCATION. */ #define ON_STACK 1 #define AT_ENTRY_POINT 4 - -/* FIXME: cagney/2000-04-17: gdbarch should manage this. The default - shouldn't be necessary. */ - -#if !defined PUSH_DUMMY_FRAME -#define PUSH_DUMMY_FRAME (internal_error (__FILE__, __LINE__, "PUSH_DUMMY_FRAME"), 0) -#endif - -#if !defined STORE_STRUCT_RETURN -#define STORE_STRUCT_RETURN(a1,a2) (internal_error (__FILE__, __LINE__, "STORE_STRUCT_RETURN"), 0) -#endif - - -/* Are we in a call dummy? */ - -/* NOTE: cagney/2002-11-24: Targets need to both switch to generic - dummy frames, and use generic_pc_in_call_dummy(). The generic - version should be able to handle all cases since that code works by - saving the address of the dummy's breakpoint (where ever it is). */ - -extern int deprecated_pc_in_call_dummy_on_stack (CORE_ADDR pc, - CORE_ADDR sp, - CORE_ADDR frame_address); - -/* NOTE: cagney/2002-11-24: Targets need to both switch to generic - dummy frames, and use generic_pc_in_call_dummy(). The generic - version should be able to handle all cases since that code works by - saving the address of the dummy's breakpoint (where ever it is). */ - -extern int deprecated_pc_in_call_dummy_at_entry_point (CORE_ADDR pc, - CORE_ADDR sp, - CORE_ADDR frame_address); - -/* It's often not enough for our clients to know whether the PC is merely - somewhere within the call dummy. They may need to know whether the - call dummy has actually completed. (For example, wait_for_inferior - wants to know when it should truly stop because the call dummy has - completed. If we're single-stepping because of slow watchpoints, - then we may find ourselves stopped at the entry of the call dummy, - and want to continue stepping until we reach the end.) - - Note that this macro is intended for targets (like HP-UX) which - require more than a single breakpoint in their call dummies, and - therefore cannot use the DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET - mechanism. - - If a target does define DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET, - then this default implementation of CALL_DUMMY_HAS_COMPLETED is - sufficient. Else, a target may wish to supply an implementation - that works in the presense of multiple breakpoints in its call - dummy. */ -#if !defined(CALL_DUMMY_HAS_COMPLETED) -#define CALL_DUMMY_HAS_COMPLETED(pc, sp, frame_address) \ - DEPRECATED_PC_IN_CALL_DUMMY((pc), (sp), (frame_address)) -#endif +#define AT_SYMBOL 5 /* If STARTUP_WITH_SHELL is set, GDB's "run" will attempts to start up the debugee under a shell.