From 60add66ae4f637facdeb737dacd1583c2631ed91 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Wed, 17 Nov 2010 07:44:53 +0100 Subject: [PATCH] - Rebase to FSF GDB 7.2.50.20101117 (which is a 7.3 pre-release). --- gdb-archer.patch | 77 +++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 43 deletions(-) diff --git a/gdb-archer.patch b/gdb-archer.patch index ef364d5..e9e9535 100644 --- a/gdb-archer.patch +++ b/gdb-archer.patch @@ -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);