2010-12-31 Michael Snyder <msnyder@vmware.com>

* annotate.c: Comment cleanup, shorten long lines.
	* arch-utils.c: Ditto.
	* arch-utils.h: Ditto.
	* auxv.c: Ditto.
	* auxv.h: Ditto.
	* ax-gdb.c: Ditto.
	* ax-gdb.h: Ditto.
	* ax-general.c: Ditto.
	* breakpoint.h: Ditto.
	* buildsym.h: Ditto.
This commit is contained in:
Michael Snyder 2010-12-31 19:16:37 +00:00
parent 40a41a9acc
commit 0e2de36609
11 changed files with 248 additions and 195 deletions

View File

@ -1,10 +1,23 @@
2010-12-31 Michael Snyder <msnyder@vmware.com>
* annotate.c: Comment cleanup, shorten long lines.
* arch-utils.c: Ditto.
* arch-utils.h: Ditto.
* auxv.c: Ditto.
* auxv.h: Ditto.
* ax-gdb.c: Ditto.
* ax-gdb.h: Ditto.
* ax-general.c: Ditto.
* breakpoint.h: Ditto.
* buildsym.h: Ditto.
2010-12-30 Mike Frysinger <vapier@gentoo.org>
* bfin-tdep.c (bfin_register_type): Move || to start of line.
2010-12-29 Michael Snyder <msnyder@vmware.com>
* bcache.c: Comment clean-up.
* bcache.c: Comment clean-up, shorten long lines..
* block.c: Ditto.
* blockframe.c: Ditto.
* breakpoint.c: Ditto.
@ -71,7 +84,7 @@
2010-12-28 Michael Snyder <msnyder@vmware.com>
* command.h: Comment clean-up.
* command.h: Comment clean-up, shorten long lines.
* cli/cli-cmds.c: Ditto.
* cli/cli-cmds.h: Ditto.
* cli/cli-decode.c: Ditto.
@ -85,7 +98,7 @@
2010-12-28 Michael Snyder <msnyder@vmware.com>
* event-loop.c: Comment clean-up.
* event-loop.c: Comment clean-up, shorten long lines.
* event-loop.h: Ditto.
* event-top.c: Ditto.
* gdb.c: Ditto.

View File

@ -26,7 +26,7 @@
#include "observer.h"
/* Prototypes for local functions. */
/* Prototypes for local functions. */
extern void _initialize_annotate (void);
@ -57,7 +57,7 @@ breakpoints_changed (void)
target_terminal_ours ();
printf_unfiltered (("\n\032\032breakpoints-invalid\n"));
if (ignore_count_changed)
ignore_count_changed = 0; /* Avoid multiple break annotations. */
ignore_count_changed = 0; /* Avoid multiple break annotations. */
}
}
@ -65,7 +65,7 @@ breakpoints_changed (void)
want to provide successive multiple breakpoints-invalid messages
that are all caused by the fact that the ignore count is changing
(which could keep the GUI very busy). One is enough, after the
target actually "stops". */
target actually "stops". */
void
annotate_ignore_count_change (void)

View File

@ -23,7 +23,7 @@
#include "arch-utils.h"
#include "buildsym.h"
#include "gdbcmd.h"
#include "inferior.h" /* enum CALL_DUMMY_LOCATION et.al. */
#include "inferior.h" /* enum CALL_DUMMY_LOCATION et al. */
#include "gdb_string.h"
#include "regcache.h"
#include "gdb_assert.h"
@ -146,7 +146,7 @@ core_addr_greaterthan (CORE_ADDR lhs, CORE_ADDR rhs)
return (lhs > rhs);
}
/* Misc helper functions for targets. */
/* Misc helper functions for targets. */
CORE_ADDR
core_addr_identity (struct gdbarch *gdbarch, CORE_ADDR addr)
@ -186,8 +186,8 @@ cannot_register_not (struct gdbarch *gdbarch, int regnum)
}
/* Legacy version of target_virtual_frame_pointer(). Assumes that
there is an gdbarch_deprecated_fp_regnum and that it is the same, cooked or
raw. */
there is an gdbarch_deprecated_fp_regnum and that it is the same,
cooked or raw. */
void
legacy_virtual_frame_pointer (struct gdbarch *gdbarch,
@ -211,7 +211,8 @@ legacy_virtual_frame_pointer (struct gdbarch *gdbarch,
else
/* Should this be an internal error? I guess so, it is reflecting
an architectural limitation in the current design. */
internal_error (__FILE__, __LINE__, _("No virtual frame pointer available"));
internal_error (__FILE__, __LINE__,
_("No virtual frame pointer available"));
*frame_offset = 0;
}
@ -373,8 +374,9 @@ choose_architecture_for_target (const struct target_desc *target_desc,
if (compat1 == NULL && compat2 == NULL)
{
/* BFD considers the architectures incompatible. Check our target
description whether it accepts SELECTED as compatible anyway. */
/* BFD considers the architectures incompatible. Check our
target description whether it accepts SELECTED as compatible
anyway. */
if (tdesc_compatible_p (target_desc, selected))
return from_target;
@ -391,10 +393,10 @@ choose_architecture_for_target (const struct target_desc *target_desc,
if (compat1 == compat2)
return compat1;
/* If the two didn't match, but one of them was a default architecture,
assume the more specific one is correct. This handles the case
where an executable or target description just says "mips", but
the other knows which MIPS variant. */
/* If the two didn't match, but one of them was a default
architecture, assume the more specific one is correct. This
handles the case where an executable or target description just
says "mips", but the other knows which MIPS variant. */
if (compat1->the_default)
return compat2;
if (compat2->the_default)
@ -408,7 +410,7 @@ choose_architecture_for_target (const struct target_desc *target_desc,
return selected;
}
/* Functions to manipulate the architecture of the target */
/* Functions to manipulate the architecture of the target. */
enum set_arch { set_arch_auto, set_arch_manual };
@ -426,7 +428,7 @@ selected_architecture_name (void)
}
/* Called if the user enters ``show architecture'' without an
argument. */
argument. */
static void
show_architecture (struct ui_file *file, int from_tty,
@ -443,7 +445,7 @@ The target architecture is assumed to be %s\n"), set_architecture_string);
/* Called if the user enters ``set architecture'' with or without an
argument. */
argument. */
static void
set_architecture (char *ignore_args, int from_tty, struct cmd_list_element *c)
@ -583,14 +585,14 @@ initialize_current_architecture (void)
const char **arches = gdbarch_printable_names ();
struct gdbarch_info info;
/* determine a default architecture and byte order. */
/* determine a default architecture and byte order. */
gdbarch_info_init (&info);
/* Find a default architecture. */
/* Find a default architecture. */
if (default_bfd_arch == NULL)
{
/* Choose the architecture by taking the first one
alphabetically. */
alphabetically. */
const char *chosen = arches[0];
const char **arch;
for (arch = arches; *arch != NULL; arch++)
@ -613,7 +615,7 @@ initialize_current_architecture (void)
if (default_byte_order == BFD_ENDIAN_UNKNOWN
&& default_bfd_vec != NULL)
{
/* Extract BFD's default vector's byte order. */
/* Extract BFD's default vector's byte order. */
switch (default_bfd_vec->byteorder)
{
case BFD_ENDIAN_BIG:
@ -628,7 +630,7 @@ initialize_current_architecture (void)
}
if (default_byte_order == BFD_ENDIAN_UNKNOWN)
{
/* look for ``*el-*'' in the target name. */
/* look for ``*el-*'' in the target name. */
const char *chp;
chp = strchr (target_name, '-');
if (chp != NULL
@ -651,9 +653,9 @@ initialize_current_architecture (void)
"initial architecture failed"));
/* Create the ``set architecture'' command appending ``auto'' to the
list of architectures. */
list of architectures. */
{
/* Append ``auto''. */
/* Append ``auto''. */
int nr;
for (nr = 0; arches[nr] != NULL; nr++);
arches = xrealloc (arches, sizeof (char*) * (nr + 2));
@ -742,12 +744,13 @@ gdbarch_info_fill (struct gdbarch_info *info)
gdb_assert (info->bfd_arch_info != NULL);
}
/* Return "current" architecture. If the target is running, this is the
architecture of the selected frame. Otherwise, the "current" architecture
defaults to the target architecture.
/* Return "current" architecture. If the target is running, this is
the architecture of the selected frame. Otherwise, the "current"
architecture defaults to the target architecture.
This function should normally be called solely by the command interpreter
routines to determine the architecture to execute a command in. */
This function should normally be called solely by the command
interpreter routines to determine the architecture to execute a
command in. */
struct gdbarch *
get_current_arch (void)
{

View File

@ -59,7 +59,7 @@ extern int
leaving space for inferior function call return breakpoints. */
extern CORE_ADDR displaced_step_at_entry_point (struct gdbarch *gdbarch);
/* The only possible cases for inner_than. */
/* The only possible cases for inner_than. */
extern int core_addr_lessthan (CORE_ADDR lhs, CORE_ADDR rhs);
extern int core_addr_greaterthan (CORE_ADDR lhs, CORE_ADDR rhs);
@ -68,20 +68,20 @@ extern int core_addr_greaterthan (CORE_ADDR lhs, CORE_ADDR rhs);
extern CORE_ADDR core_addr_identity (struct gdbarch *gdbarch, CORE_ADDR addr);
extern gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr_identity;
/* No-op conversion of reg to regnum. */
/* No-op conversion of reg to regnum. */
extern int no_op_reg_to_regnum (struct gdbarch *gdbarch, int reg);
/* Do nothing version of elf_make_msymbol_special. */
/* Do nothing version of elf_make_msymbol_special. */
void default_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym);
/* Do nothing version of coff_make_msymbol_special. */
/* Do nothing version of coff_make_msymbol_special. */
void default_coff_make_msymbol_special (int val, struct minimal_symbol *msym);
/* Version of cannot_fetch_register() / cannot_store_register() that
always fails. */
always fails. */
int cannot_register_not (struct gdbarch *gdbarch, int regnum);

View File

@ -34,8 +34,8 @@
#include <fcntl.h>
/* This function handles access via /proc/PID/auxv, which is a common method
for native targets. */
/* This function handles access via /proc/PID/auxv, which is a common
method for native targets. */
static LONGEST
procfs_xfer_auxv (gdb_byte *readbuf,
@ -90,35 +90,39 @@ ld_so_xfer_auxv (gdb_byte *readbuf,
if (MSYMBOL_SIZE (msym) != ptr_size)
return -1;
/* POINTER_ADDRESS is a location where the `_dl_auxv' variable resides.
DATA_ADDRESS is the inferior value present in `_dl_auxv', therefore the
real inferior AUXV address. */
/* POINTER_ADDRESS is a location where the `_dl_auxv' variable
resides. DATA_ADDRESS is the inferior value present in
`_dl_auxv', therefore the real inferior AUXV address. */
pointer_address = SYMBOL_VALUE_ADDRESS (msym);
/* The location of the _dl_auxv symbol may no longer be correct if
ld.so runs at a different address than the one present in the file.
This is very common case - for unprelinked ld.so or with a PIE executable.
PIE executable forces random address even for libraries already being
prelinked to some address. PIE executables themselves are never prelinked
even on prelinked systems. Prelinking of a PIE executable would block
their purpose of randomizing load of everything including the executable.
ld.so runs at a different address than the one present in the
file. This is very common case - for unprelinked ld.so or with a
PIE executable. PIE executable forces random address even for
libraries already being prelinked to some address. PIE
executables themselves are never prelinked even on prelinked
systems. Prelinking of a PIE executable would block their
purpose of randomizing load of everything including the
executable.
If the memory read fails, return -1 to fallback on another mechanism for
retrieving the AUXV.
If the memory read fails, return -1 to fallback on another
mechanism for retrieving the AUXV.
In most cases of a PIE running under valgrind there is no way to find
out the base addresses of any of ld.so, executable or AUXV as everything
is randomized and /proc information is not relevant for the virtual
executable running under valgrind. We think that we might need a valgrind
extension to make it work. This is PR 11440. */
In most cases of a PIE running under valgrind there is no way to
find out the base addresses of any of ld.so, executable or AUXV
as everything is randomized and /proc information is not relevant
for the virtual executable running under valgrind. We think that
we might need a valgrind extension to make it work. This is PR
11440. */
if (target_read_memory (pointer_address, ptr_buf, ptr_size) != 0)
return -1;
data_address = extract_typed_address (ptr_buf, ptr_type);
/* Possibly still not initialized such as during an inferior startup. */
/* Possibly still not initialized such as during an inferior
startup. */
if (data_address == 0)
return -1;
@ -132,8 +136,8 @@ ld_so_xfer_auxv (gdb_byte *readbuf,
return -1;
}
/* Stop if trying to read past the existing AUXV block. The final AT_NULL
was already returned before. */
/* Stop if trying to read past the existing AUXV block. The final
AT_NULL was already returned before. */
if (offset >= auxv_pair_size)
{
@ -154,9 +158,10 @@ ld_so_xfer_auxv (gdb_byte *readbuf,
if (block > len)
block = len;
/* Reading sizes smaller than AUXV_PAIR_SIZE is not supported. Tails
unaligned to AUXV_PAIR_SIZE will not be read during a call (they
should be completed during next read with new/extended buffer). */
/* Reading sizes smaller than AUXV_PAIR_SIZE is not supported.
Tails unaligned to AUXV_PAIR_SIZE will not be read during a
call (they should be completed during next read with
new/extended buffer). */
block &= -auxv_pair_size;
if (block == 0)
@ -174,8 +179,9 @@ ld_so_xfer_auxv (gdb_byte *readbuf,
data_address += block;
len -= block;
/* Check terminal AT_NULL. This function is being called indefinitely
being extended its READBUF until it returns EOF (0). */
/* Check terminal AT_NULL. This function is being called
indefinitely being extended its READBUF until it returns EOF
(0). */
while (block >= auxv_pair_size)
{
@ -207,10 +213,11 @@ memory_xfer_auxv (struct target_ops *ops,
gdb_assert (object == TARGET_OBJECT_AUXV);
gdb_assert (readbuf || writebuf);
/* ld_so_xfer_auxv is the only function safe for virtual executables being
executed by valgrind's memcheck. Using ld_so_xfer_auxv during inferior
startup is problematic, because ld.so symbol tables have not yet been
relocated. So GDB uses this function only when attaching to a process.
/* ld_so_xfer_auxv is the only function safe for virtual
executables being executed by valgrind's memcheck. Using
ld_so_xfer_auxv during inferior startup is problematic, because
ld.so symbol tables have not yet been relocated. So GDB uses
this function only when attaching to a process.
*/
if (current_inferior ()->attach_flag != 0)
@ -308,7 +315,7 @@ target_auxv_search (struct target_ops *ops, CORE_ADDR match, CORE_ADDR *valp)
}
/* Print the contents of the target's AUXV on the specified file. */
/* Print the contents of the target's AUXV on the specified file. */
int
fprint_target_auxv (struct ui_file *file, struct target_ops *ops)
{

View File

@ -40,7 +40,7 @@ extern int target_auxv_parse (struct target_ops *ops,
extern int target_auxv_search (struct target_ops *ops,
CORE_ADDR match, CORE_ADDR *valp);
/* Print the contents of the target's AUXV on the specified file. */
/* Print the contents of the target's AUXV on the specified file. */
extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops);
extern LONGEST memory_xfer_auxv (struct target_ops *ops,

View File

@ -59,7 +59,7 @@
/* Prototypes for local functions. */
/* Prototypes for local functions. */
/* There's a standard order to the arguments of these functions:
union exp_element ** --- pointer into expression
@ -614,7 +614,7 @@ static void
gen_var_ref (struct gdbarch *gdbarch, struct agent_expr *ax,
struct axs_value *value, struct symbol *var)
{
/* Dereference any typedefs. */
/* Dereference any typedefs. */
value->type = check_typedef (SYMBOL_TYPE (var));
value->optimized_out = 0;
@ -986,7 +986,7 @@ gen_cast (struct agent_expr *ax, struct axs_value *value, struct type *type)
/* GCC does allow casts to yield lvalues, so this should be fixed
before merging these changes into the trunk. */
require_rvalue (ax, value);
/* Dereference typedefs. */
/* Dereference typedefs. */
type = check_typedef (type);
switch (TYPE_CODE (type))
@ -1289,7 +1289,7 @@ gen_bitfield_ref (struct expression *exp, struct agent_expr *ax,
equal to the number of `one' bits in bytesize, but who cares? */
int fragment_count;
/* Dereference any typedefs. */
/* Dereference any typedefs. */
type = check_typedef (type);
/* Can we fetch the number of bits requested at all? */
@ -1677,7 +1677,7 @@ gen_aggregate_elt_ref (struct expression *exp,
return 0;
}
/* Generate code for GDB's magical `repeat' operator.
/* Generate code for GDB's magical `repeat' operator.
LVALUE @ INT creates an array INT elements long, and whose elements
have the same type as LVALUE, located in memory so that LVALUE is
its first element. For example, argv[0]@argc gives you the array
@ -2049,7 +2049,7 @@ gen_expr (struct expression *exp, union exp_element **pc,
case UNOP_PLUS:
(*pc)++;
/* + FOO is equivalent to 0 + FOO, which can be optimized. */
/* + FOO is equivalent to 0 + FOO, which can be optimized. */
gen_expr (exp, pc, ax, value);
gen_usual_unary (exp, ax, value);
break;

View File

@ -78,7 +78,7 @@ struct axs_value
/* The type of the subexpression. Even if lvalue == axs_lvalue_memory,
this is the type of the value itself; the value on the stack is a
"pointer to" an object of this type. */
"pointer to" an object of this type. */
struct type *type;
/* If nonzero, this is a variable which does not actually exist in

View File

@ -248,7 +248,7 @@ ax_const_l (struct agent_expr *x, LONGEST l)
break;
}
/* Emit the right opcode... */
/* Emit the right opcode... */
ax_simple (x, ops[op]);
/* Emit the low SIZE bytes as an unsigned number. We know that

View File

@ -28,24 +28,25 @@ struct value;
struct block;
struct breakpoint_object;
/* This is the maximum number of bytes a breakpoint instruction can take.
Feel free to increase it. It's just used in a few places to size
arrays that should be independent of the target architecture. */
/* This is the maximum number of bytes a breakpoint instruction can
take. Feel free to increase it. It's just used in a few places to
size arrays that should be independent of the target
architecture. */
#define BREAKPOINT_MAX 16
/* Type of breakpoint. */
/* FIXME In the future, we should fold all other breakpoint-like things into
here. This includes:
/* FIXME In the future, we should fold all other breakpoint-like
things into here. This includes:
* single-step (for machines where we have to simulate single stepping)
(probably, though perhaps it is better for it to look as much as
possible like a single-step to wait_for_inferior). */
* single-step (for machines where we have to simulate single
stepping) (probably, though perhaps it is better for it to look as
much as possible like a single-step to wait_for_inferior). */
enum bptype
{
bp_none = 0, /* Eventpoint has been deleted. */
bp_none = 0, /* Eventpoint has been deleted */
bp_breakpoint, /* Normal breakpoint */
bp_hardware_breakpoint, /* Hardware assisted breakpoint */
bp_until, /* used by until command */
@ -64,8 +65,9 @@ enum bptype
exception will land. */
bp_exception_resume,
/* Used by wait_for_inferior for stepping over subroutine calls, for
stepping over signal handlers, and for skipping prologues. */
/* Used by wait_for_inferior for stepping over subroutine calls,
for stepping over signal handlers, and for skipping
prologues. */
bp_step_resume,
/* Used to detect when a watchpoint expression has gone out of
@ -83,12 +85,13 @@ enum bptype
bp_watchpoint_scope,
/* The breakpoint at the end of a call dummy. */
/* FIXME: What if the function we are calling longjmp()s out of the
call, or the user gets out with the "return" command? We currently
have no way of cleaning up the breakpoint in these (obscure) situations.
(Probably can solve this by noticing longjmp, "return", etc., it's
similar to noticing when a watchpoint on a local variable goes out
of scope (with hardware support for watchpoints)). */
/* FIXME: What if the function we are calling longjmp()s out of
the call, or the user gets out with the "return" command? We
currently have no way of cleaning up the breakpoint in these
(obscure) situations. (Probably can solve this by noticing
longjmp, "return", etc., it's similar to noticing when a
watchpoint on a local variable goes out of scope (with hardware
support for watchpoints)). */
bp_call_dummy,
/* A breakpoint set on std::terminate, that is used to catch
@ -146,39 +149,46 @@ enum bptype
bp_jit_event,
};
/* States of enablement of breakpoint. */
/* States of enablement of breakpoint. */
enum enable_state
{
bp_disabled, /* The eventpoint is inactive, and cannot trigger. */
bp_enabled, /* The eventpoint is active, and can trigger. */
bp_call_disabled, /* The eventpoint has been disabled while a call
into the inferior is "in flight", because some
eventpoints interfere with the implementation of
a call on some targets. The eventpoint will be
automatically enabled and reset when the call
"lands" (either completes, or stops at another
eventpoint). */
bp_startup_disabled,/* The eventpoint has been disabled during inferior
startup. This is necessary on some targets where
the main executable will get relocated during
startup, making breakpoint addresses invalid.
The eventpoint will be automatically enabled and
reset once inferior startup is complete. */
bp_permanent /* There is a breakpoint instruction hard-wired into
the target's code. Don't try to write another
breakpoint instruction on top of it, or restore
its value. Step over it using the architecture's
SKIP_INSN macro. */
bp_disabled, /* The eventpoint is inactive, and cannot
trigger. */
bp_enabled, /* The eventpoint is active, and can
trigger. */
bp_call_disabled, /* The eventpoint has been disabled while a
call into the inferior is "in flight",
because some eventpoints interfere with
the implementation of a call on some
targets. The eventpoint will be
automatically enabled and reset when the
call "lands" (either completes, or stops
at another eventpoint). */
bp_startup_disabled, /* The eventpoint has been disabled during
inferior startup. This is necessary on
some targets where the main executable
will get relocated during startup, making
breakpoint addresses invalid. The
eventpoint will be automatically enabled
and reset once inferior startup is
complete. */
bp_permanent /* There is a breakpoint instruction
hard-wired into the target's code. Don't
try to write another breakpoint
instruction on top of it, or restore its
value. Step over it using the
architecture's SKIP_INSN macro. */
};
/* Disposition of breakpoint. Ie: what to do after hitting it. */
/* Disposition of breakpoint. Ie: what to do after hitting it. */
enum bpdisp
{
disp_del, /* Delete it */
disp_del_at_next_stop, /* Delete at next stop, whether hit or not */
disp_del_at_next_stop, /* Delete at next stop,
whether hit or not */
disp_disable, /* Disable it */
disp_donttouch /* Leave it alone */
};
@ -216,11 +226,11 @@ struct bp_target_info
int shadow_len;
/* The size of the placed breakpoint, according to
gdbarch_breakpoint_from_pc, when the breakpoint was inserted. This is
generally the same as SHADOW_LEN, unless we did not need
gdbarch_breakpoint_from_pc, when the breakpoint was inserted.
This is generally the same as SHADOW_LEN, unless we did not need
to read from the target to implement the memory breakpoint
(e.g. if a remote stub handled the details). We may still
need the size to remove the breakpoint safely. */
(e.g. if a remote stub handled the details). We may still need
the size to remove the breakpoint safely. */
int placed_size;
};
@ -313,14 +323,16 @@ struct bp_location
bp_loc_other. */
CORE_ADDR address;
/* For hardware watchpoints, the size of data ad ADDRESS being watches. */
/* For hardware watchpoints, the size of data ad ADDRESS being
watches. */
int length;
/* Type of hardware watchpoint. */
/* Type of hardware watchpoint. */
enum target_hw_bp_type watchpoint_type;
/* For any breakpoint type with an address, this is the section
associated with the address. Used primarily for overlay debugging. */
associated with the address. Used primarily for overlay
debugging. */
struct obj_section *section;
/* Address at which breakpoint was requested, either by the user or
@ -374,11 +386,12 @@ struct breakpoint_ops
hit it. */
enum print_stop_action (*print_it) (struct breakpoint *);
/* Display information about this breakpoint, for "info breakpoints". */
/* Display information about this breakpoint, for "info
breakpoints". */
void (*print_one) (struct breakpoint *, struct bp_location **);
/* Display information about this breakpoint after setting it (roughly
speaking; this is called from "mention"). */
/* Display information about this breakpoint after setting it
(roughly speaking; this is called from "mention"). */
void (*print_mention) (struct breakpoint *);
/* Print to FP the CLI command that recreates this breakpoint. */
@ -420,11 +433,11 @@ struct counted_command_line;
struct breakpoint
{
struct breakpoint *next;
/* Type of breakpoint. */
/* Type of breakpoint. */
enum bptype type;
/* Zero means disabled; remember the info but don't break here. */
enum enable_state enable_state;
/* What to do with this breakpoint after we hit it. */
/* What to do with this breakpoint after we hit it. */
enum bpdisp disposition;
/* Number assigned to distinguish breakpoints. */
int number;
@ -441,12 +454,13 @@ struct breakpoint
char *source_file;
/* Non-zero means a silent breakpoint (don't print frame info
if we stop here). */
if we stop here). */
unsigned char silent;
/* Number of stops at this breakpoint that should
be continued automatically before really stopping. */
int ignore_count;
/* Chain of command lines to execute when this breakpoint is hit. */
/* Chain of command lines to execute when this breakpoint is
hit. */
struct counted_command_line *commands;
/* Stack depth (address of frame). If nonzero, break only if fp
equals this. */
@ -463,11 +477,11 @@ struct breakpoint
enum language language;
/* Input radix we used to set the breakpoint. */
int input_radix;
/* String form of the breakpoint condition (malloc'd), or NULL if there
is no condition. */
/* String form of the breakpoint condition (malloc'd), or NULL if
there is no condition. */
char *cond_string;
/* String form of exp to use for displaying to the user (malloc'd), or
NULL if none. */
/* String form of exp to use for displaying to the user
(malloc'd), or NULL if none. */
char *exp_string;
/* String form to use for reparsing of EXP (malloc'd) or NULL. */
char *exp_string_reparse;
@ -491,9 +505,10 @@ struct breakpoint
int val_valid;
/* Holds the address of the related watchpoint_scope breakpoint
when using watchpoints on local variables (might the concept
of a related breakpoint be useful elsewhere, if not just call
it the watchpoint_scope breakpoint or something like that. FIXME). */
when using watchpoints on local variables (might the concept of
a related breakpoint be useful elsewhere, if not just call it
the watchpoint_scope breakpoint or something like that.
FIXME). */
struct breakpoint *related_breakpoint;
/* Holds the frame address which identifies the frame this
@ -510,10 +525,12 @@ struct breakpoint
hardware. */
enum watchpoint_triggered watchpoint_triggered;
/* Thread number for thread-specific breakpoint, or -1 if don't care. */
/* Thread number for thread-specific breakpoint,
or -1 if don't care. */
int thread;
/* Ada task number for task-specific breakpoint, or 0 if don't care. */
/* Ada task number for task-specific breakpoint,
or 0 if don't care. */
int task;
/* Count of the number of times this breakpoint was taken, dumped
@ -532,10 +549,10 @@ struct breakpoint
triggered. */
char *exec_pathname;
/* Syscall numbers used for the 'catch syscall' feature.
If no syscall has been specified for filtering, its value is NULL.
Otherwise, it holds a list of all syscalls to be caught.
The list elements are allocated with xmalloc. */
/* Syscall numbers used for the 'catch syscall' feature. If no
syscall has been specified for filtering, its value is NULL.
Otherwise, it holds a list of all syscalls to be caught. The
list elements are allocated with xmalloc. */
VEC(int) *syscalls_to_be_caught;
/* Methods associated with this breakpoint. */
@ -621,15 +638,16 @@ enum bpstat_what_main_action
BPSTAT_WHAT_KEEP_CHECKING,
/* Remove breakpoints, single step once, then put them back in and
go back to what we were doing. It's possible that this should be
removed from the main_action and put into a separate field, to more
cleanly handle BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE. */
go back to what we were doing. It's possible that this should
be removed from the main_action and put into a separate field,
to more cleanly handle
BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE. */
BPSTAT_WHAT_SINGLE,
/* Set longjmp_resume breakpoint, remove all other breakpoints,
and continue. The "remove all other breakpoints" part is required
if we are also stepping over another breakpoint as well as doing
the longjmp handling. */
and continue. The "remove all other breakpoints" part is
required if we are also stepping over another breakpoint as
well as doing the longjmp handling. */
BPSTAT_WHAT_SET_LONGJMP_RESUME,
/* Clear longjmp_resume breakpoint, then handle as
@ -639,8 +657,8 @@ enum bpstat_what_main_action
/* Rather than distinguish between noisy and silent stops here, it
might be cleaner to have bpstat_print make that decision (also
taking into account stop_print_frame and source_only). But the
implications are a bit scary (interaction with auto-displays, etc.),
so I won't try it. */
implications are a bit scary (interaction with auto-displays,
etc.), so I won't try it. */
/* Stop silently. */
BPSTAT_WHAT_STOP_SILENT,
@ -670,10 +688,10 @@ struct bpstat_what
{
enum bpstat_what_main_action main_action;
/* Did we hit a call dummy breakpoint? This only goes with a main_action
of BPSTAT_WHAT_STOP_SILENT or BPSTAT_WHAT_STOP_NOISY (the concept of
continuing from a call dummy without popping the frame is not a
useful one). */
/* Did we hit a call dummy breakpoint? This only goes with a
main_action of BPSTAT_WHAT_STOP_SILENT or
BPSTAT_WHAT_STOP_NOISY (the concept of continuing from a call
dummy without popping the frame is not a useful one). */
enum stop_stack_kind call_dummy;
/* Used for BPSTAT_WHAT_SET_LONGJMP_RESUME and
@ -683,7 +701,7 @@ struct bpstat_what
};
/* The possible return values for print_bpstat, print_it_normal,
print_it_done, print_it_noop. */
print_it_done, print_it_noop. */
enum print_stop_action
{
PRINT_UNKNOWN = -1,
@ -695,7 +713,7 @@ enum print_stop_action
/* Tell what to do about this bpstat. */
struct bpstat_what bpstat_what (bpstat);
/* Find the bpstat associated with a breakpoint. NULL otherwise. */
/* Find the bpstat associated with a breakpoint. NULL otherwise. */
bpstat bpstat_find_breakpoint (bpstat, struct breakpoint *);
/* Nonzero if a signal that we got in wait() was due to circumstances
@ -717,10 +735,11 @@ extern int bpstat_should_step (void);
return means print the frame as well as the source line). */
extern enum print_stop_action bpstat_print (bpstat);
/* Put in *NUM the breakpoint number of the first breakpoint we are stopped
at. *BSP upon return is a bpstat which points to the remaining
breakpoints stopped at (but which is not guaranteed to be good for
anything but further calls to bpstat_num).
/* Put in *NUM the breakpoint number of the first breakpoint we are
stopped at. *BSP upon return is a bpstat which points to the
remaining breakpoints stopped at (but which is not guaranteed to be
good for anything but further calls to bpstat_num).
Return 0 if passed a bpstat which does not indicate any breakpoints.
Return -1 if stopped at a breakpoint that has been deleted since
we set it.
@ -738,15 +757,17 @@ extern void bpstat_clear_actions (bpstat);
/* Implementation: */
/* Values used to tell the printing routine how to behave for this bpstat. */
/* Values used to tell the printing routine how to behave for this
bpstat. */
enum bp_print_how
{
/* This is used when we want to do a normal printing of the reason
for stopping. The output will depend on the type of eventpoint
we are dealing with. This is the default value, most commonly
used. */
for stopping. The output will depend on the type of eventpoint
we are dealing with. This is the default value, most commonly
used. */
print_it_normal,
/* This is used when nothing should be printed for this bpstat entry. */
/* This is used when nothing should be printed for this bpstat
entry. */
print_it_noop,
/* This is used when everything which needs to be printed has
already been printed. But we still want to print the frame. */
@ -824,15 +845,18 @@ enum breakpoint_here
/* Prototypes for breakpoint-related functions. */
extern enum breakpoint_here breakpoint_here_p (struct address_space *, CORE_ADDR);
extern enum breakpoint_here breakpoint_here_p (struct address_space *,
CORE_ADDR);
extern int moribund_breakpoint_here_p (struct address_space *, CORE_ADDR);
extern int breakpoint_inserted_here_p (struct address_space *, CORE_ADDR);
extern int regular_breakpoint_inserted_here_p (struct address_space *, CORE_ADDR);
extern int regular_breakpoint_inserted_here_p (struct address_space *,
CORE_ADDR);
extern int software_breakpoint_inserted_here_p (struct address_space *, CORE_ADDR);
extern int software_breakpoint_inserted_here_p (struct address_space *,
CORE_ADDR);
/* Returns true if there's a hardware watchpoint or access watchpoint
inserted in the range defined by ADDR and LEN. */
@ -840,7 +864,8 @@ extern int hardware_watchpoint_inserted_in_range (struct address_space *,
CORE_ADDR addr,
ULONGEST len);
extern int breakpoint_thread_match (struct address_space *, CORE_ADDR, ptid_t);
extern int breakpoint_thread_match (struct address_space *,
CORE_ADDR, ptid_t);
extern void until_break_command (char *, int, int);
@ -902,9 +927,9 @@ extern int remove_breakpoints_pid (int pid);
/* This function can be used to physically insert eventpoints from the
specified traced inferior process, without modifying the breakpoint
package's state. This can be useful for those targets which support
following the processes of a fork() or vfork() system call, when both
of the resulting two processes are to be followed. */
package's state. This can be useful for those targets which
support following the processes of a fork() or vfork() system call,
when both of the resulting two processes are to be followed. */
extern int reattach_breakpoints (int);
/* This function can be used to update the breakpoint package's state
@ -921,7 +946,7 @@ extern int reattach_breakpoints (int);
- A step-resume breakpoint, if any, is explicitly removed from the
breakpoint list.
- All eventpoints without a symbolic address are removed from the
breakpoint list. */
breakpoint list. */
extern void update_breakpoints_after_exec (void);
/* This function can be used to physically remove hardware breakpoints
@ -989,7 +1014,8 @@ extern void disable_breakpoints_before_startup (void);
extern void enable_breakpoints_after_startup (void);
/* For script interpreters that need to define breakpoint commands
after they've already read the commands into a struct command_line. */
after they've already read the commands into a struct
command_line. */
extern enum command_control_type commands_from_control_command
(char *arg, struct command_line *cmd);
@ -1001,8 +1027,8 @@ extern int get_number_or_range (char **);
extern struct breakpoint *get_breakpoint (int num);
/* The following are for displays, which aren't really breakpoints, but
here is as good a place as any for them. */
/* The following are for displays, which aren't really breakpoints,
but here is as good a place as any for them. */
extern void disable_current_display (void);
@ -1039,21 +1065,22 @@ extern void remove_thread_event_breakpoints (void);
extern void disable_breakpoints_in_shlibs (void);
/* This function returns TRUE if ep is a catchpoint. */
/* This function returns TRUE if ep is a catchpoint. */
extern int ep_is_catchpoint (struct breakpoint *);
/* Enable breakpoints and delete when hit. Called with ARG == NULL
deletes all breakpoints. */
deletes all breakpoints. */
extern void delete_command (char *arg, int from_tty);
/* Pull all H/W watchpoints from the target. Return non-zero if the
remove fails. */
/* Pull all H/W watchpoints from the target. Return non-zero if the
remove fails. */
extern int remove_hw_watchpoints (void);
/* Manage a software single step breakpoint (or two). Insert may be called
twice before remove is called. */
/* Manage a software single step breakpoint (or two). Insert may be
called twice before remove is called. */
extern void insert_single_step_breakpoint (struct gdbarch *,
struct address_space *, CORE_ADDR);
struct address_space *,
CORE_ADDR);
extern int single_step_breakpoints_inserted (void);
extern void remove_single_step_breakpoints (void);
extern void cancel_single_step_breakpoints (void);
@ -1062,7 +1089,8 @@ extern void cancel_single_step_breakpoints (void);
breakpoints. These functions are used in murky target-specific
ways. Please do not add more uses! */
extern void *deprecated_insert_raw_breakpoint (struct gdbarch *,
struct address_space *, CORE_ADDR);
struct address_space *,
CORE_ADDR);
extern int deprecated_remove_raw_breakpoint (struct gdbarch *, void *);
/* Check if any hardware watchpoints have triggered, according to the
@ -1103,7 +1131,8 @@ extern struct breakpoint *get_tracepoint (int num);
extern struct breakpoint *get_tracepoint_by_number_on_target (int num);
/* Find a tracepoint by parsing a number in the supplied string. */
extern struct breakpoint *get_tracepoint_by_number (char **arg, int multi_p,
extern struct breakpoint *get_tracepoint_by_number (char **arg,
int multi_p,
int optional_p);
/* Return a vector of all tracepoints currently defined. The vector

View File

@ -44,11 +44,11 @@ struct block;
#endif
#define HASHSIZE 127 /* Size of things hashed via
hashname() */
hashname(). */
/* Name of source file whose symbol data we are now processing. This
comes from a symbol of type N_SO for stabs. For Dwarf it comes from the
DW_AT_name attribute of a DW_TAG_compile_unit DIE. */
comes from a symbol of type N_SO for stabs. For Dwarf it comes
from the DW_AT_name attribute of a DW_TAG_compile_unit DIE. */
EXTERN char *last_source_file;
@ -158,7 +158,7 @@ struct context_stack
CORE_ADDR start_addr;
/* Temp slot for exception handling. */
/* Temp slot for exception handling. */
CORE_ADDR end_addr;
@ -198,7 +198,7 @@ struct pending_block
/* Pointer to the head of a linked list of symbol blocks which have
already been finalized (lexical contexts already closed) and which
are just waiting to be built into a blockvector when finalizing the
associated symtab. */
associated symtab. */
EXTERN struct pending_block *pending_blocks;
@ -213,7 +213,7 @@ EXTERN struct subfile_stack *subfile_stack;
#define next_symbol_text(objfile) (*next_symbol_text_func)(objfile)
/* Function to invoke get the next symbol. Return the symbol name. */
/* Function to invoke get the next symbol. Return the symbol name. */
EXTERN char *(*next_symbol_text_func) (struct objfile *);
@ -286,7 +286,7 @@ extern void free_pending_blocks (void);
/* FIXME: Note that this is used only in buildsym.c and dstread.c,
which should be fixed to not need direct access to
record_pending_block. */
record_pending_block. */
extern void record_pending_block (struct objfile *objfile,
struct block *block,
@ -300,7 +300,8 @@ extern void merge_symbol_lists (struct pending **srclist,
struct pending **targetlist);
/* The macro table for the compilation unit whose symbols we're
currently reading. All the symtabs for this CU will point to this. */
currently reading. All the symtabs for this CU will point to
this. */
EXTERN struct macro_table *pending_macros;
#undef EXTERN