Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Unified Diff: gdb/inferior.h

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/infcmd.c ('k') | gdb/inferior.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/inferior.h
diff --git a/gdb/inferior.h b/gdb/inferior.h
index 394596251ff41a957feba3d4fe0a9dabf4c3a1ab..d33a01afaa478cc4ca308bd7792cd1a25381c0b0 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -1,8 +1,7 @@
/* Variables that describe the inferior process running under GDB:
Where it is, why it stopped, and how to step it.
- Copyright (C) 1986, 1988-1996, 1998-2001, 2003-2012 Free Software
- Foundation, Inc.
+ Copyright (C) 1986-2013 Free Software Foundation, Inc.
This file is part of GDB.
@@ -30,6 +29,7 @@ struct gdbarch;
struct regcache;
struct ui_out;
struct terminal_info;
+struct target_desc_info;
#include "ptid.h"
@@ -43,6 +43,7 @@ struct terminal_info;
#include "frame.h"
#include "progspace.h"
+#include "registry.h"
struct infcall_suspend_state;
struct infcall_control_state;
@@ -89,7 +90,7 @@ 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. */
+ no inferior, ptid_get_pid (inferior_ptid) will be 0. */
extern ptid_t inferior_ptid;
@@ -118,11 +119,6 @@ extern int step_stop_if_no_debug;
are kept running freely. */
extern int non_stop;
-/* If set (default), when following a fork, GDB will detach from one
- the fork branches, child or parent. Exactly which branch is
- detached depends on 'set follow-fork-mode' setting. */
-extern int detach_fork;
-
/* When set (default), the target should attempt to disable the operating
system's address space randomization feature when starting an inferior. */
extern int disable_randomization;
@@ -174,7 +170,7 @@ extern void default_print_registers_info (struct gdbarch *gdbarch,
struct frame_info *frame,
int regnum, int all);
-extern void child_terminal_info (char *, int);
+extern void child_terminal_info (const char *, int);
extern void term_info (char *, int);
@@ -201,7 +197,7 @@ extern char *construct_inferior_arguments (int, char **);
/* From infrun.c */
-extern int debug_infrun;
+extern unsigned int debug_infrun;
extern int stop_on_solib_events;
@@ -226,13 +222,13 @@ extern void get_last_target_status(ptid_t *ptid,
extern void follow_inferior_reset_breakpoints (void);
-/* Throw an error indicating the current thread is running. */
-extern void error_is_running (void);
+void set_step_info (struct frame_info *frame, struct symtab_and_line sal);
-/* Calls error_is_running if the current thread is running. */
-extern void ensure_not_running (void);
+/* Clear the convenience variables associated with the exit of the
+ inferior. Currently, those variables are $_exitcode and
+ $_exitsignal. */
-void set_step_info (struct frame_info *frame, struct symtab_and_line sal);
+extern void clear_exit_convenience_vars (void);
/* From infcmd.c */
@@ -246,20 +242,10 @@ extern void set_inferior_args (char *);
extern void set_inferior_args_vector (int, char **);
-extern void all_registers_info (char *, int);
-
extern void registers_info (char *, int);
-extern void nexti_command (char *, int);
-
-extern void stepi_command (char *, int);
-
extern void continue_1 (int all_threads);
-extern void continue_command (char *, int);
-
-extern void interrupt_target_command (char *args, int from_tty);
-
extern void interrupt_target_1 (int all_threads);
extern void delete_longjmp_breakpoint_cleanup (void *arg);
@@ -271,6 +257,25 @@ extern void notice_new_inferior (ptid_t, int, int);
extern struct value *get_return_value (struct value *function,
struct type *value_type);
+/* Whether to start up the debuggee under a shell.
+
+ If startup-with-shell is set, GDB's "run" will attempt to start up
+ the debuggee under a shell.
+
+ This is in order for argument-expansion to occur. E.g.,
+
+ (gdb) run *
+
+ The "*" gets expanded by the shell into a list of files.
+
+ While this is a nice feature, it may be handy to bypass the shell
+ in some cases. To disable this feature, do "set startup-with-shell
+ false".
+
+ The catch-exec traps expected during start-up will be one more if
+ the target is started up with a shell. */
+extern int startup_with_shell;
+
/* Address at which inferior stopped. */
extern CORE_ADDR stop_pc;
@@ -360,25 +365,12 @@ struct displaced_step_closure *get_displaced_step_closure_by_addr (CORE_ADDR add
#define ON_STACK 1
#define AT_ENTRY_POINT 4
-/* If STARTUP_WITH_SHELL is set, GDB's "run"
- will attempts to start up the debugee under a shell.
- This is in order for argument-expansion to occur. E.g.,
- (gdb) run *
- The "*" gets expanded by the shell into a list of files.
- While this is a nice feature, it turns out to interact badly
- with some of the catch-fork/catch-exec features we have added.
- In particular, if the shell does any fork/exec's before
- the exec of the target program, that can confuse GDB.
- To disable this feature, set STARTUP_WITH_SHELL to 0.
- To enable this feature, set STARTUP_WITH_SHELL to 1.
- The catch-exec traps expected during start-up will
- be 1 if target is not started up with a shell, 2 if it is.
- - RT
- If you disable this, you need to decrement
- START_INFERIOR_TRAPS_EXPECTED in tm.h. */
-#define STARTUP_WITH_SHELL 1
+/* Number of traps that happen between exec'ing the shell to run an
+ inferior and when we finally get to the inferior code, not counting
+ the exec for the shell. This is 1 on most implementations.
+ Overridden in nm.h files. */
#if !defined(START_INFERIOR_TRAPS_EXPECTED)
-#define START_INFERIOR_TRAPS_EXPECTED 2
+#define START_INFERIOR_TRAPS_EXPECTED 1
#endif
struct private_inferior;
@@ -512,22 +504,31 @@ struct inferior
from enum symfile_add_flags. */
int symfile_flags;
+ /* Info about an inferior's target description (if it's fetched; the
+ user supplied description's filename, if any; etc.). */
+ struct target_desc_info *tdesc_info;
+
+ /* The architecture associated with the inferior through the
+ connection to the target.
+
+ The architecture vector provides some information that is really
+ a property of the inferior, accessed through a particular target:
+ ptrace operations; the layout of certain RSP packets; the
+ solib_ops vector; etc. To differentiate architecture accesses to
+ per-inferior/target properties from
+ per-thread/per-frame/per-objfile properties, accesses to
+ per-inferior/target properties should be made through
+ this gdbarch. */
+ struct gdbarch *gdbarch;
+
/* Per inferior data-pointers required by other GDB modules. */
- void **data;
- unsigned num_data;
+ REGISTRY_FIELDS;
};
/* Keep a registry of per-inferior data-pointers required by other GDB
modules. */
-extern const struct inferior_data *register_inferior_data (void);
-extern const struct inferior_data *register_inferior_data_with_cleanup
- (void (*cleanup) (struct inferior *, void *));
-extern void clear_inferior_data (struct inferior *inf);
-extern void set_inferior_data (struct inferior *inf,
- const struct inferior_data *data, void *value);
-extern void *inferior_data (struct inferior *inf,
- const struct inferior_data *data);
+DECLARE_REGISTRY (inferior);
/* Create an empty inferior list, or empty the existing one. */
extern void init_inferior_list (void);
@@ -638,6 +639,8 @@ extern void update_observer_mode (void);
extern void update_signals_program_target (void);
+extern void signal_catch_update (const unsigned int *);
+
/* In some circumstances we allow a command to specify a numeric
signal. The idea is to keep these circumstances limited so that
users (and scripts) develop portable habits. For comparison,
« no previous file with comments | « gdb/infcmd.c ('k') | gdb/inferior.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698