- Rebase to FSF GDB 7.2.50.20101117 (which is a 7.3 pre-release).

This commit is contained in:
Jan Kratochvil 2010-11-17 07:44:53 +01:00
parent e00e5eae57
commit 60add66ae4
1 changed files with 34 additions and 43 deletions

View File

@ -2,16 +2,15 @@ http://sourceware.org/gdb/wiki/ProjectArcher
http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot:
commit 9dd061f10e7d3a8a8c2d9ffa2492a08efb91f293
commit 785d5ff442123643a925f1e5f54c3306929d7d91
branch `archer' - the merge of branches:
archer-jankratochvil-vla
archer-jankratochvil-watchpoint3
archer-jankratochvil-ifunc
#archer-pmuldoon-next-over-throw2
#archer-tromey-python (not a merge)
#archer-tromey-optional-psymtab (cherry-picked from post-7.2 master)
#TODO:archer-tromey-threaded-dwarf
#TODO?:archer-tromey-python (not a merge)
#TODO?:archer-tromey-optional-psymtab (cherry-picked from post-7.2 master)
#TODO?:archer-tromey-threaded-dwarf
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
@ -185,7 +184,7 @@ index 0348bf4..f01d0ee 100644
/* Return the innermost stack frame executing inside of BLOCK,
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 6b55313..b152eda 100644
index 6b55313..5a1659c 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -62,6 +62,7 @@
@ -376,16 +375,7 @@ index 6b55313..b152eda 100644
/* Pointer to the last thing in the chain currently. */
bpstat bs;
int ix;
@@ -4056,6 +4085,8 @@ bpstat_stop_status (struct address_space *aspace,
for (bl = b->loc; bl != NULL; bl = bl->next)
{
+ bpstat bs_prev = bs;
+
/* For hardware watchpoints, we look only at the first location.
The watchpoint_check function will work on the entire expression,
not the individual locations. For read watchpoints, the
@@ -4084,7 +4115,7 @@ bpstat_stop_status (struct address_space *aspace,
@@ -4084,7 +4113,7 @@ bpstat_stop_status (struct address_space *aspace,
watchpoint as triggered so that we will handle the
out-of-scope event. We'll get to the watchpoint next
iteration. */
@ -394,7 +384,7 @@ index 6b55313..b152eda 100644
b->related_breakpoint->watchpoint_triggered = watch_triggered_yes;
}
}
@@ -4108,14 +4139,26 @@ bpstat_stop_status (struct address_space *aspace,
@@ -4108,14 +4137,27 @@ bpstat_stop_status (struct address_space *aspace,
removed_any = 0;
@ -416,6 +406,7 @@ index 6b55313..b152eda 100644
+
+ gdb_assert (bs->print_it == print_it_noop);
+ gdb_assert (!bs->stop);
+ *bs_link = bs->next;
+ bs_link_next = bs_link;
+ xfree (bs);
+ continue;
@ -423,7 +414,7 @@ index 6b55313..b152eda 100644
b = bs->breakpoint_at;
@@ -4205,7 +4248,7 @@ handle_jit_event (void)
@@ -4205,7 +4247,7 @@ handle_jit_event (void)
/* Decide what infrun needs to do with this bpstat. */
struct bpstat_what
@ -432,7 +423,7 @@ index 6b55313..b152eda 100644
{
struct bpstat_what retval;
/* We need to defer calling `solib_add', as adding new symbols
@@ -4213,11 +4256,12 @@ bpstat_what (bpstat bs)
@@ -4213,11 +4255,12 @@ bpstat_what (bpstat bs)
and hence may clear unprocessed entries in the BS chain. */
int shlib_event = 0;
int jit_event = 0;
@ -446,7 +437,7 @@ index 6b55313..b152eda 100644
{
/* Extract this BS's action. After processing each BS, we check
if its action overrides all we've seem so far. */
@@ -4342,6 +4386,20 @@ bpstat_what (bpstat bs)
@@ -4342,6 +4385,20 @@ bpstat_what (bpstat bs)
out already. */
internal_error (__FILE__, __LINE__,
_("bpstat_what: tracepoint encountered"));
@ -467,7 +458,7 @@ index 6b55313..b152eda 100644
default:
internal_error (__FILE__, __LINE__,
_("bpstat_what: unhandled bptype %d"), (int) bptype);
@@ -4379,6 +4437,21 @@ bpstat_what (bpstat bs)
@@ -4379,6 +4436,21 @@ bpstat_what (bpstat bs)
handle_jit_event ();
}
@ -489,7 +480,7 @@ index 6b55313..b152eda 100644
return retval;
}
@@ -4497,6 +4570,8 @@ bptype_string (enum bptype type)
@@ -4497,6 +4569,8 @@ bptype_string (enum bptype type)
{bp_fast_tracepoint, "fast tracepoint"},
{bp_static_tracepoint, "static tracepoint"},
{bp_jit_event, "jit events"},
@ -498,7 +489,7 @@ index 6b55313..b152eda 100644
};
if (((int) type >= (sizeof (bptypes) / sizeof (bptypes[0])))
@@ -4643,6 +4718,8 @@ print_one_breakpoint_location (struct breakpoint *b,
@@ -4643,6 +4717,8 @@ print_one_breakpoint_location (struct breakpoint *b,
case bp_fast_tracepoint:
case bp_static_tracepoint:
case bp_jit_event:
@ -507,7 +498,7 @@ index 6b55313..b152eda 100644
if (opts.addressprint)
{
annotate_field (4);
@@ -4923,7 +5000,8 @@ user_settable_breakpoint (const struct breakpoint *b)
@@ -4923,7 +4999,8 @@ user_settable_breakpoint (const struct breakpoint *b)
|| b->type == bp_catchpoint
|| b->type == bp_hardware_breakpoint
|| is_tracepoint (b)
@ -517,7 +508,7 @@ index 6b55313..b152eda 100644
}
/* Print information on user settable breakpoint (watchpoint, etc)
@@ -5389,6 +5467,8 @@ allocate_bp_location (struct breakpoint *bpt)
@@ -5389,6 +5466,8 @@ allocate_bp_location (struct breakpoint *bpt)
case bp_jit_event:
case bp_longjmp_master:
case bp_std_terminate_master:
@ -526,7 +517,7 @@ index 6b55313..b152eda 100644
loc->loc_type = bp_loc_software_breakpoint;
break;
case bp_hardware_breakpoint:
@@ -5477,6 +5557,7 @@ set_raw_breakpoint_without_location (struct gdbarch *gdbarch,
@@ -5477,6 +5556,7 @@ set_raw_breakpoint_without_location (struct gdbarch *gdbarch,
b->ops = NULL;
b->condition_not_parsed = 0;
b->py_bp_object = NULL;
@ -534,7 +525,7 @@ index 6b55313..b152eda 100644
/* Add this breakpoint to the end of the chain
so that a list of breakpoints will come out in order
@@ -5496,7 +5577,7 @@ set_raw_breakpoint_without_location (struct gdbarch *gdbarch,
@@ -5496,7 +5576,7 @@ set_raw_breakpoint_without_location (struct gdbarch *gdbarch,
/* Initialize loc->function_name. */
static void
@ -543,7 +534,7 @@ index 6b55313..b152eda 100644
{
gdb_assert (loc->owner != NULL);
@@ -5504,8 +5585,29 @@ set_breakpoint_location_function (struct bp_location *loc)
@@ -5504,8 +5584,29 @@ set_breakpoint_location_function (struct bp_location *loc)
|| loc->owner->type == bp_hardware_breakpoint
|| is_tracepoint (loc->owner))
{
@ -575,7 +566,7 @@ index 6b55313..b152eda 100644
if (loc->function_name)
loc->function_name = xstrdup (loc->function_name);
}
@@ -5578,7 +5680,8 @@ set_raw_breakpoint (struct gdbarch *gdbarch,
@@ -5578,7 +5679,8 @@ set_raw_breakpoint (struct gdbarch *gdbarch,
b->loc->section = sal.section;
b->line_number = sal.line;
@ -585,7 +576,7 @@ index 6b55313..b152eda 100644
breakpoints_changed ();
@@ -6652,7 +6755,7 @@ clone_momentary_breakpoint (struct breakpoint *orig)
@@ -6652,7 +6754,7 @@ clone_momentary_breakpoint (struct breakpoint *orig)
copy = set_raw_breakpoint_without_location (orig->gdbarch, orig->type);
copy->loc = allocate_bp_location (copy);
@ -594,7 +585,7 @@ index 6b55313..b152eda 100644
copy->loc->gdbarch = orig->loc->gdbarch;
copy->loc->requested_address = orig->loc->requested_address;
@@ -6751,6 +6854,7 @@ mention (struct breakpoint *b)
@@ -6751,6 +6853,7 @@ mention (struct breakpoint *b)
do_cleanups (ui_out_chain);
break;
case bp_breakpoint:
@ -602,7 +593,7 @@ index 6b55313..b152eda 100644
if (ui_out_is_mi_like_p (uiout))
{
say_where = 0;
@@ -6761,6 +6865,8 @@ mention (struct breakpoint *b)
@@ -6761,6 +6864,8 @@ mention (struct breakpoint *b)
else
printf_filtered (_("Breakpoint"));
printf_filtered (_(" %d"), b->number);
@ -611,7 +602,7 @@ index 6b55313..b152eda 100644
say_where = 1;
break;
case bp_hardware_breakpoint:
@@ -6817,6 +6923,7 @@ mention (struct breakpoint *b)
@@ -6817,6 +6922,7 @@ mention (struct breakpoint *b)
case bp_jit_event:
case bp_longjmp_master:
case bp_std_terminate_master:
@ -619,7 +610,7 @@ index 6b55313..b152eda 100644
break;
}
@@ -6877,7 +6984,8 @@ add_location_to_breakpoint (struct breakpoint *b,
@@ -6877,7 +6983,8 @@ add_location_to_breakpoint (struct breakpoint *b,
gdb_assert (loc->pspace != NULL);
loc->section = sal->section;
@ -629,7 +620,7 @@ index 6b55313..b152eda 100644
return loc;
}
@@ -9712,12 +9820,22 @@ delete_breakpoint (struct breakpoint *bpt)
@@ -9712,12 +9819,22 @@ delete_breakpoint (struct breakpoint *bpt)
/* At least avoid this stale reference until the reference counting of
breakpoints gets resolved. */
@ -657,7 +648,7 @@ index 6b55313..b152eda 100644
}
observer_notify_breakpoint_deleted (bpt->number);
@@ -10049,6 +10167,9 @@ update_breakpoint_locations (struct breakpoint *b,
@@ -10049,6 +10166,9 @@ update_breakpoint_locations (struct breakpoint *b,
return;
b->loc = NULL;
@ -667,7 +658,7 @@ index 6b55313..b152eda 100644
for (i = 0; i < sals.nelts; ++i)
{
@@ -10075,11 +10196,7 @@ update_breakpoint_locations (struct breakpoint *b,
@@ -10075,11 +10195,7 @@ update_breakpoint_locations (struct breakpoint *b,
}
}
@ -680,7 +671,7 @@ index 6b55313..b152eda 100644
b->source_file = xstrdup (sals.sals[i].symtab->filename);
if (b->line_number == 0)
@@ -10161,6 +10278,7 @@ breakpoint_re_set_one (void *bint)
@@ -10161,6 +10277,7 @@ breakpoint_re_set_one (void *bint)
case bp_tracepoint:
case bp_fast_tracepoint:
case bp_static_tracepoint:
@ -688,7 +679,7 @@ index 6b55313..b152eda 100644
/* Do not attempt to re-set breakpoints disabled during startup. */
if (b->enable_state == bp_startup_disabled)
return 0;
@@ -10325,6 +10443,7 @@ breakpoint_re_set_one (void *bint)
@@ -10325,6 +10442,7 @@ breakpoint_re_set_one (void *bint)
case bp_longjmp:
case bp_longjmp_resume:
case bp_jit_event:
@ -696,7 +687,7 @@ index 6b55313..b152eda 100644
break;
}
@@ -10496,11 +10615,25 @@ map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *,
@@ -10496,11 +10614,25 @@ map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *,
ALL_BREAKPOINTS_SAFE (b, tmp)
if (b->number == num)
{
@ -726,7 +717,7 @@ index 6b55313..b152eda 100644
break;
}
if (match == 0)
@@ -11604,6 +11737,22 @@ all_tracepoints ()
@@ -11604,6 +11736,22 @@ all_tracepoints ()
return tp_vec;
}
@ -749,7 +740,7 @@ index 6b55313..b152eda 100644
/* This help string is used for the break, hbreak, tbreak and thbreak commands.
It is defined as a macro to prevent duplication.
@@ -11673,6 +11822,107 @@ save_command (char *arg, int from_tty)
@@ -11673,6 +11821,107 @@ save_command (char *arg, int from_tty)
help_list (save_cmdlist, "save ", -1, gdb_stdout);
}
@ -857,7 +848,7 @@ index 6b55313..b152eda 100644
struct breakpoint *
iterate_over_breakpoints (int (*callback) (struct breakpoint *, void *),
void *data)
@@ -12222,4 +12472,5 @@ inferior in all-stop mode, gdb behaves as if always-inserted mode is off."),
@@ -12222,4 +12471,5 @@ inferior in all-stop mode, gdb behaves as if always-inserted mode is off."),
automatic_hardware_breakpoints = 1;
observer_attach_about_to_proceed (breakpoint_about_to_proceed);