diff --git a/gdb-6.3-pie-20050110.patch b/gdb-6.3-pie-20050110.patch index 28868ea..9d461fb 100644 --- a/gdb-6.3-pie-20050110.patch +++ b/gdb-6.3-pie-20050110.patch @@ -262,7 +262,7 @@ + if (((b->type == bp_breakpoint) || + (b->type == bp_hardware_breakpoint)) && + b->enable_state == bp_enabled && -+ !b->loc->duplicate) ++ b->loc != NULL && !b->loc->duplicate) + { + b->enable_state = bp_startup_disabled; + if (!silent) diff --git a/gdb-6.3-test-pie-20050107.patch b/gdb-6.3-test-pie-20050107.patch index a7c90c1..2f1f8bf 100644 --- a/gdb-6.3-test-pie-20050107.patch +++ b/gdb-6.3-test-pie-20050107.patch @@ -868,7 +868,7 @@ Index: gdb-6.5/gdb/testsuite/gdb.pie/break.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ gdb-6.5/gdb/testsuite/gdb.pie/break.exp 2006-07-07 01:13:23.000000000 -0300 -@@ -0,0 +1,973 @@ +@@ -0,0 +1,977 @@ +# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2002, 2003, 2004 +# Free Software Foundation, Inc. @@ -1050,6 +1050,9 @@ Index: gdb-6.5/gdb/testsuite/gdb.pie/break.exp +set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1] +set bp_location9 [gdb_get_line_number "set breakpoint 9 here" $srcfile1] + ++# Test a pending breakpoint in PIE executable does not crash later GDB. ++gdb_breakpoint "non_existent_function" allow-pending ++ +gdb_test "info break" \ + "Num\[ \]+Type\[ \]+Disp Enb Address\[ \]+What.* +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.* @@ -1059,7 +1062,8 @@ Index: gdb-6.5/gdb/testsuite/gdb.pie/break.exp +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location1.* +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location2.* +\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_if_conditional at .*$srcfile:$bp_location3.* -+\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_while_conditional at .*$srcfile:$bp_location4" \ ++\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_while_conditional at .*$srcfile:$bp_location4.* ++\[0-9\]+\[\t \]+breakpoint keep y.* *non_existent_function" \ + "breakpoint info" + +# FIXME: The rest of this test doesn't work with anything that can't @@ -1485,7 +1489,7 @@ Index: gdb-6.5/gdb/testsuite/gdb.pie/break.exp +} +send_gdb "print marker2(99)\n" +gdb_expect { -+ -re "The program being debugged stopped while in a function called from GDB.\r\nWhen the function .marker2$proto. is done executing, GDB will silently\r\nstop .instead of continuing to evaluate the expression containing\r\nthe function call...*$gdb_prompt $"\ ++ -re "The program being debugged stopped while in a function called from GDB.\r\nEvaluation of the expression containing the function\r\n.marker2$proto. will be abandoned.\r\nWhen the function is done executing, GDB will silently stop.\r\n$gdb_prompt $"\ + {pass "hit breakpoint on called function"} + -re "$gdb_prompt $"\ + {fail "hit breakpoint on called function"} diff --git a/gdb.spec b/gdb.spec index 657fc99..c25951e 100644 --- a/gdb.spec +++ b/gdb.spec @@ -13,7 +13,7 @@ Version: 6.8 # 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: 31%{?_with_upstream:.upstream}%{?dist} +Release: 32%{?_with_upstream:.upstream}%{?dist} License: GPLv3+ Group: Development/Debuggers @@ -896,6 +896,9 @@ fi %endif %changelog +* Mon Jun 15 2009 Jan Kratochvil - 6.8-32 +- Fix crash on pending breakpoints with PIE (position-indep.-exec.) (BZ 505943). + * Sat Jun 13 2009 Jan Kratochvil - 6.8-31 - Fix an occasional crash during printing of missing debuginfo rpms (BZ 505401).