From 2280d5542deff4828d46100c48340e4224056df6 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Aug 12 2009 14:36:09 +0000 Subject: - Fix minor regressions introduced by the rebase from F-11 (6.8.50.20090302). --- diff --git a/gdb-6.3-inheritancetest-20050726.patch b/gdb-6.3-inheritancetest-20050726.patch index 74d793c..5f33571 100644 --- a/gdb-6.3-inheritancetest-20050726.patch +++ b/gdb-6.3-inheritancetest-20050726.patch @@ -5,8 +5,10 @@ * gdb.cp/b146835b.cc: Ditto. * gdb.cp/b146835.h: Ditto. ---- gdb-6.3/gdb/testsuite/gdb.cp/b146835b.cc.fix3 2005-07-26 16:47:12.000000000 -0400 -+++ gdb-6.3/gdb/testsuite/gdb.cp/b146835b.cc 2005-07-26 16:53:31.000000000 -0400 +Index: gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835b.cc +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835b.cc 2009-08-12 06:07:50.000000000 +0200 @@ -0,0 +1,11 @@ +#include "b146835.h" + @@ -19,8 +21,10 @@ +void A::funcD (class E *e, class D *d) {} +void A::funcE (E *e, D *d) {} +void A::funcF (unsigned long x, D *d) {} ---- gdb-6.3/gdb/testsuite/gdb.cp/b146835.cc.fix3 2005-07-26 16:47:20.000000000 -0400 -+++ gdb-6.3/gdb/testsuite/gdb.cp/b146835.cc 2005-07-26 16:46:50.000000000 -0400 +Index: gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835.cc +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835.cc 2009-08-12 06:07:50.000000000 +0200 @@ -0,0 +1,32 @@ +#include "b146835.h" +#include @@ -54,9 +58,11 @@ + f.foo(); +} + ---- gdb-6.3/gdb/testsuite/gdb.cp/b146835.exp.fix3 2005-07-26 16:47:26.000000000 -0400 -+++ gdb-6.3/gdb/testsuite/gdb.cp/b146835.exp 2005-07-26 16:46:50.000000000 -0400 -@@ -0,0 +1,55 @@ +Index: gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835.exp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835.exp 2009-08-12 06:58:28.000000000 +0200 +@@ -0,0 +1,54 @@ +# This testcase is part of GDB, the GNU debugger. + +# Copyright 2005 Free Software Foundation, Inc. @@ -110,10 +116,11 @@ +gdb_continue_to_breakpoint "First line foo" + +# Verify that we can access the inherited member d -+gdb_test "p d" ".*(struct D \*.).*0x0" "Verify inherited member d accessible" -+ ---- gdb-6.3/gdb/testsuite/gdb.cp/b146835.h.fix3 2005-07-26 16:47:36.000000000 -0400 -+++ gdb-6.3/gdb/testsuite/gdb.cp/b146835.h 2005-07-26 16:53:18.000000000 -0400 ++gdb_test "p d" " = \\(D \\*\\) *0x0" "Verify inherited member d accessible" +Index: gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-6.8.50.20090811/gdb/testsuite/gdb.cp/b146835.h 2009-08-12 06:07:50.000000000 +0200 @@ -0,0 +1,36 @@ + +class A { diff --git a/gdb-6.3-pie-20050110.patch b/gdb-6.3-pie-20050110.patch index 9f8c948..62e8f25 100644 --- a/gdb-6.3-pie-20050110.patch +++ b/gdb-6.3-pie-20050110.patch @@ -28,8 +28,8 @@ Index: gdb-6.8.50.20090811/gdb/amd64-tdep.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/amd64-tdep.c 2009-08-11 23:12:32.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/amd64-tdep.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/amd64-tdep.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/amd64-tdep.c 2009-08-12 06:18:15.000000000 +0200 @@ -36,6 +36,7 @@ #include "regcache.h" #include "regset.h" @@ -140,8 +140,8 @@ Index: gdb-6.8.50.20090811/gdb/amd64-tdep.c Index: gdb-6.8.50.20090811/gdb/auxv.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/auxv.c 2009-07-02 19:25:52.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/auxv.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/auxv.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/auxv.c 2009-08-12 06:18:15.000000000 +0200 @@ -78,7 +78,7 @@ procfs_xfer_auxv (struct target_ops *ops Return 1 if an entry was read into *TYPEP and *VALP. */ static int @@ -232,8 +232,8 @@ Index: gdb-6.8.50.20090811/gdb/auxv.c Index: gdb-6.8.50.20090811/gdb/auxv.h =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/auxv.h 2009-06-07 21:07:08.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/auxv.h 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/auxv.h 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/auxv.h 2009-08-12 06:18:15.000000000 +0200 @@ -31,14 +31,14 @@ Return 1 if an entry was read into *TYPEP and *VALP. */ extern int target_auxv_parse (struct target_ops *ops, @@ -253,8 +253,8 @@ Index: gdb-6.8.50.20090811/gdb/auxv.h extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops); Index: gdb-6.8.50.20090811/gdb/dwarf2read.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/dwarf2read.c 2009-08-11 23:12:32.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/dwarf2read.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/dwarf2read.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/dwarf2read.c 2009-08-12 06:18:15.000000000 +0200 @@ -1653,7 +1653,7 @@ dwarf2_build_psymtabs (struct objfile *o dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame); dwarf2_read_section (objfile, &dwarf2_per_objfile->frame); @@ -266,8 +266,8 @@ Index: gdb-6.8.50.20090811/gdb/dwarf2read.c { Index: gdb-6.8.50.20090811/gdb/elfread.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/elfread.c 2009-08-11 23:12:31.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/elfread.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/elfread.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/elfread.c 2009-08-12 06:18:15.000000000 +0200 @@ -681,7 +681,7 @@ elf_symfile_read (struct objfile *objfil /* If we are reinitializing, or if we have never loaded syms yet, set table to empty. MAINLINE is cleared so that *_read_psymtab @@ -279,8 +279,8 @@ Index: gdb-6.8.50.20090811/gdb/elfread.c mainline = 0; Index: gdb-6.8.50.20090811/gdb/infrun.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/infrun.c 2009-08-11 23:12:32.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/infrun.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/infrun.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/infrun.c 2009-08-12 06:18:15.000000000 +0200 @@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME ( #endif target_terminal_inferior (); @@ -294,8 +294,8 @@ Index: gdb-6.8.50.20090811/gdb/infrun.c and place breakpoints in initializer routines for Index: gdb-6.8.50.20090811/gdb/objfiles.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/objfiles.c 2009-08-11 23:12:31.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/objfiles.c 2009-08-11 23:12:51.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/objfiles.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/objfiles.c 2009-08-12 06:18:15.000000000 +0200 @@ -51,6 +51,9 @@ #include "arch-utils.h" #include "exec.h" @@ -336,8 +336,8 @@ Index: gdb-6.8.50.20090811/gdb/objfiles.c linkage unit, gdb used to do these things whenever the monolithic Index: gdb-6.8.50.20090811/gdb/solib-svr4.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/solib-svr4.c 2009-08-11 23:12:32.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/solib-svr4.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/solib-svr4.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/solib-svr4.c 2009-08-12 06:36:58.000000000 +0200 @@ -47,6 +47,7 @@ #include "exec.h" #include "auxv.h" @@ -905,16 +905,17 @@ Index: gdb-6.8.50.20090811/gdb/solib-svr4.c xfree (interp_name); return 1; } -@@ -1753,6 +2022,8 @@ svr4_solib_create_inferior_hook (void) +@@ -1753,6 +2022,9 @@ svr4_solib_create_inferior_hook (void) while (tp->stop_signal != TARGET_SIGNAL_TRAP); inf->stop_soon = NO_STOP_QUIETLY; #endif /* defined(_SCO_DS) */ + -+ disable_breakpoints_before_startup (); ++ if (bfd_get_start_address (exec_bfd) != entry_point_address ()) ++ disable_breakpoints_before_startup (); } static void -@@ -1929,6 +2200,76 @@ svr4_lp64_fetch_link_map_offsets (void) +@@ -1929,6 +2201,76 @@ svr4_lp64_fetch_link_map_offsets (void) return lmp; } @@ -991,7 +992,7 @@ Index: gdb-6.8.50.20090811/gdb/solib-svr4.c struct target_so_ops svr4_so_ops; -@@ -1969,4 +2310,7 @@ _initialize_svr4_solib (void) +@@ -1969,4 +2311,7 @@ _initialize_svr4_solib (void) svr4_so_ops.same = svr4_same; observer_attach_inferior_exit (solib_svr4_inferior_exit); @@ -1001,8 +1002,8 @@ Index: gdb-6.8.50.20090811/gdb/solib-svr4.c } Index: gdb-6.8.50.20090811/gdb/solib.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/solib.c 2009-08-11 23:12:31.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/solib.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/solib.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/solib.c 2009-08-12 06:18:15.000000000 +0200 @@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch, /* external data declarations */ @@ -1141,8 +1142,8 @@ Index: gdb-6.8.50.20090811/gdb/solib.c } Index: gdb-6.8.50.20090811/gdb/solist.h =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/solist.h 2009-08-11 23:12:31.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/solist.h 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/solist.h 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/solist.h 2009-08-12 06:18:15.000000000 +0200 @@ -61,6 +61,8 @@ struct so_list bfd *abfd; char symbols_loaded; /* flag: symbols read in yet? */ @@ -1165,8 +1166,8 @@ Index: gdb-6.8.50.20090811/gdb/solist.h #endif Index: gdb-6.8.50.20090811/gdb/symfile-mem.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/symfile-mem.c 2009-08-11 23:12:31.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/symfile-mem.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/symfile-mem.c 2009-08-12 06:13:20.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/symfile-mem.c 2009-08-12 06:18:15.000000000 +0200 @@ -115,7 +115,7 @@ symbol_file_add_from_memory (struct bfd ++i; } @@ -1178,8 +1179,8 @@ Index: gdb-6.8.50.20090811/gdb/symfile-mem.c /* This might change our ideas about frames already looked at. */ Index: gdb-6.8.50.20090811/gdb/symfile.c =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/symfile.c 2009-08-11 23:12:32.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/symfile.c 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/symfile.c 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/symfile.c 2009-08-12 06:18:15.000000000 +0200 @@ -49,6 +49,7 @@ #include "readline/readline.h" #include "gdb_assert.h" @@ -1270,8 +1271,8 @@ Index: gdb-6.8.50.20090811/gdb/symfile.c again now. */ Index: gdb-6.8.50.20090811/gdb/target.h =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/target.h 2009-08-11 23:12:32.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/target.h 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/target.h 2009-08-12 06:18:03.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/target.h 2009-08-12 06:18:15.000000000 +0200 @@ -524,7 +524,7 @@ struct target_ops Return -1 if there is insufficient buffer for a whole entry. Return 1 if an entry was read into *TYPEP and *VALP. */ @@ -1283,8 +1284,8 @@ Index: gdb-6.8.50.20090811/gdb/target.h sequence of bytes in PATTERN with length PATTERN_LEN. Index: gdb-6.8.50.20090811/gdb/symfile.h =================================================================== ---- gdb-6.8.50.20090811.orig/gdb/symfile.h 2009-08-11 23:12:32.000000000 +0200 -+++ gdb-6.8.50.20090811/gdb/symfile.h 2009-08-11 23:12:34.000000000 +0200 +--- gdb-6.8.50.20090811.orig/gdb/symfile.h 2009-08-12 06:13:20.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/symfile.h 2009-08-12 06:18:15.000000000 +0200 @@ -229,7 +229,13 @@ enum symfile_add_flags SYMFILE_MAINLINE = 1 << 2, @@ -1300,3 +1301,29 @@ Index: gdb-6.8.50.20090811/gdb/symfile.h }; extern void syms_from_objfile (struct objfile *, +Index: gdb-6.8.50.20090811/gdb/infcmd.c +=================================================================== +--- gdb-6.8.50.20090811.orig/gdb/infcmd.c 2009-08-12 06:09:14.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/infcmd.c 2009-08-12 06:47:58.000000000 +0200 +@@ -2276,6 +2276,9 @@ attach_command_post_wait (char *args, in + + post_create_inferior (¤t_target, from_tty); + ++ /* Undo the disable from post_create_inferior. */ ++ enable_breakpoints_after_startup (); ++ + /* Install inferior's terminal modes. */ + target_terminal_inferior (); + +Index: gdb-6.8.50.20090811/gdb/linux-tdep.c +=================================================================== +--- gdb-6.8.50.20090811.orig/gdb/linux-tdep.c 2009-08-04 22:41:13.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/linux-tdep.c 2009-08-12 06:43:27.000000000 +0200 +@@ -163,5 +163,7 @@ in this session.\n")); + void + _initialize_linux_tdep (void) + { ++#if 0 /* gdb-6.3-pie-20050110.patch */ + observer_attach_executable_changed (check_is_pie_binary); ++#endif + } diff --git a/gdb-6.6-scheduler_locking-step-is-default.patch b/gdb-6.6-scheduler_locking-step-is-default.patch index f1053e6..44e0314 100644 --- a/gdb-6.6-scheduler_locking-step-is-default.patch +++ b/gdb-6.6-scheduler_locking-step-is-default.patch @@ -1,8 +1,8 @@ -Index: gdb-6.8.50.20081128/gdb/infrun.c +Index: gdb-6.8.50.20090811/gdb/infrun.c =================================================================== ---- gdb-6.8.50.20081128.orig/gdb/infrun.c 2008-12-09 15:56:16.000000000 +0100 -+++ gdb-6.8.50.20081128/gdb/infrun.c 2008-12-09 15:56:59.000000000 +0100 -@@ -931,7 +931,7 @@ static const char *scheduler_enums[] = { +--- gdb-6.8.50.20090811.orig/gdb/infrun.c 2009-08-12 06:56:29.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/infrun.c 2009-08-12 07:13:08.000000000 +0200 +@@ -1075,7 +1075,7 @@ static const char *scheduler_enums[] = { schedlock_step, NULL }; @@ -11,10 +11,10 @@ Index: gdb-6.8.50.20081128/gdb/infrun.c static void show_scheduler_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) -Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.mi/mi-console.exp +Index: gdb-6.8.50.20090811/gdb/testsuite/gdb.mi/mi-console.exp =================================================================== ---- gdb-6.8.50.20081128.orig/gdb/testsuite/gdb.mi/mi-console.exp 2008-08-06 14:52:08.000000000 +0200 -+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.mi/mi-console.exp 2008-12-09 15:59:34.000000000 +0100 +--- gdb-6.8.50.20090811.orig/gdb/testsuite/gdb.mi/mi-console.exp 2009-08-12 06:56:29.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/testsuite/gdb.mi/mi-console.exp 2009-08-12 06:58:45.000000000 +0200 @@ -47,6 +47,9 @@ if { [gdb_compile "${srcdir}/${subdir}/ mi_run_to_main @@ -25,10 +25,10 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.mi/mi-console.exp # Next over the hello() call which will produce lots of output mi_gdb_test "220-exec-next" \ "220\\^running(\r\n\\*running,thread-id=\"all\")?" \ -Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.mi/mi2-console.exp +Index: gdb-6.8.50.20090811/gdb/testsuite/gdb.mi/mi2-console.exp =================================================================== ---- gdb-6.8.50.20081128.orig/gdb/testsuite/gdb.mi/mi2-console.exp 2008-08-06 14:52:08.000000000 +0200 -+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.mi/mi2-console.exp 2008-12-09 16:00:33.000000000 +0100 +--- gdb-6.8.50.20090811.orig/gdb/testsuite/gdb.mi/mi2-console.exp 2009-08-12 06:56:29.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/testsuite/gdb.mi/mi2-console.exp 2009-08-12 06:58:45.000000000 +0200 @@ -47,6 +47,9 @@ if { [gdb_compile "${srcdir}/${subdir}/ mi_run_to_main @@ -39,3 +39,16 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.mi/mi2-console.exp # Next over the hello() call which will produce lots of output send_gdb "220-exec-next\n" gdb_expect { +Index: gdb-6.8.50.20090811/gdb/testsuite/gdb.mi/mi-cli.exp +=================================================================== +--- gdb-6.8.50.20090811.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2009-06-09 19:12:42.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/testsuite/gdb.mi/mi-cli.exp 2009-08-12 07:13:32.000000000 +0200 +@@ -173,7 +173,7 @@ mi_execute_to "exec-continue" "breakpoin + # Test that the token is output even for CLI commands + # Also test that *stopped includes frame information. + mi_gdb_test "34 next" \ +- ".*34\\\^running.*\\*running,thread-id=\"all\"" \ ++ ".*34\\\^running.*\\*running,thread-id=\"1\"" \ + "34 next: run" + + if {!$async} { diff --git a/gdb-6.6-step-thread-exit.patch b/gdb-6.6-step-thread-exit.patch new file mode 100644 index 0000000..ce80232 --- /dev/null +++ b/gdb-6.6-step-thread-exit.patch @@ -0,0 +1,60 @@ +Index: gdb-6.8.50.20090811/gdb/linux-nat.c +=================================================================== +--- gdb-6.8.50.20090811.orig/gdb/linux-nat.c 2009-08-12 07:21:20.000000000 +0200 ++++ gdb-6.8.50.20090811/gdb/linux-nat.c 2009-08-12 08:11:25.000000000 +0200 +@@ -1656,16 +1656,18 @@ resume_set_callback (struct lwp_info *lp + + static void + linux_nat_resume (struct target_ops *ops, +- ptid_t ptid, int step, enum target_signal signo) ++ ptid_t ptid, int step_int, enum target_signal signo) + { + sigset_t prev_mask; + struct lwp_info *lp; + int resume_many; ++ enum resume_step step = step_int; + + if (debug_linux_nat) + fprintf_unfiltered (gdb_stdlog, + "LLR: Preparing to %s %s, %s, inferior_ptid %s\n", +- step ? "step" : "resume", ++ (step == RESUME_STEP_NEEDED ++ ? "needed" : (step ? "step" : "resume")), + target_pid_to_str (ptid), + signo ? strsignal (signo) : "0", + target_pid_to_str (inferior_ptid)); +@@ -2625,10 +2627,34 @@ linux_nat_filter_event (int lwpid, int s + + if (num_lwps (GET_PID (lp->ptid)) > 1) + { ++ enum resume_step step = lp->step; ++ pid_t pid = GET_PID (lp->ptid); ++ + /* If there is at least one more LWP, then the exit signal + was not the end of the debugged application and should be + ignored. */ + exit_lwp (lp); ++ ++ if (step == RESUME_STEP_USER) ++ { ++ /* Now stop the closest LWP's ... */ ++ lp = find_lwp_pid (pid_to_ptid (pid)); ++ if (!lp) ++ lp = lwp_list; ++ gdb_assert (lp != NULL); ++ errno = 0; ++ ptrace (PTRACE_CONT, GET_LWP (lp->ptid), 0, ++ (void *) (unsigned long) SIGSTOP); ++ if (debug_linux_nat) ++ fprintf_unfiltered (gdb_stdlog, ++ "PTRACE_CONT %s, 0, 0 (%s)\n", ++ target_pid_to_str (lp->ptid), ++ errno ? safe_strerror (errno) ++ : "OK"); ++ /* Avoid the silent `delayed SIGSTOP' handling. */ ++ lp->signalled = 0; ++ } ++ + return NULL; + } + } diff --git a/gdb.spec b/gdb.spec index db15b5c..7543546 100644 --- a/gdb.spec +++ b/gdb.spec @@ -14,7 +14,7 @@ Version: 6.8.50.20090811 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 3%{?_with_upstream:.upstream}%{?dist} +Release: 4%{?_with_upstream:.upstream}%{?dist} License: GPLv3+ Group: Development/Debuggers @@ -109,6 +109,7 @@ Patch136: gdb-6.3-test-movedir-20050125.patch Patch140: gdb-6.3-gcore-thread-20050204.patch # Stop while intentionally stepping and the thread exit is met. +Patch141: gdb-6.6-step-thread-exit.patch Patch259: gdb-6.3-step-thread-exit-20050211-test.patch # Prevent gdb from being pushed into background @@ -465,6 +466,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c %patch133 -p1 %patch136 -p1 %patch140 -p1 +%patch141 -p1 %patch259 -p1 %patch142 -p1 %patch145 -p1 @@ -825,6 +827,9 @@ fi %endif %changelog +* Wed Aug 12 2009 Jan Kratochvil - 6.8.50.20090811-4 +- Fix minor regressions introduced by the rebase from F-11 (6.8.50.20090302). + * Tue Aug 11 2009 Jan Kratochvil - 6.8.50.20090811-3 - archer-jankratochvil-fedora12 commit: 2888fafe63889757c6fd27ccc2f25661d43fd1a4 - Drop archer-jankratochvil-vla VAROBJ invalidate/revalidate split to fix