- Fix crash on pending breakpoints with PIE (position-indep.-exec.) (BZ
505943).
This commit is contained in:
parent
c030186760
commit
bcdbb34cad
@ -276,7 +276,7 @@ Index: gdb-6.8.50.20090302/gdb/breakpoint.c
|
|||||||
+ if (((b->type == bp_breakpoint) ||
|
+ if (((b->type == bp_breakpoint) ||
|
||||||
+ (b->type == bp_hardware_breakpoint)) &&
|
+ (b->type == bp_hardware_breakpoint)) &&
|
||||||
+ b->enable_state == bp_enabled &&
|
+ b->enable_state == bp_enabled &&
|
||||||
+ !b->loc->duplicate)
|
+ b->loc != NULL && !b->loc->duplicate)
|
||||||
+ {
|
+ {
|
||||||
+ b->enable_state = bp_startup_disabled;
|
+ b->enable_state = bp_startup_disabled;
|
||||||
+ if (!silent)
|
+ if (!silent)
|
||||||
|
@ -873,7 +873,7 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.pie/break.exp
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.pie/break.exp 2008-12-09 17:24:34.000000000 +0100
|
+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.pie/break.exp 2008-12-09 17:24:34.000000000 +0100
|
||||||
@@ -0,0 +1,973 @@
|
@@ -0,0 +1,977 @@
|
||||||
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
|
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
+# 2000, 2002, 2003, 2004
|
+# 2000, 2002, 2003, 2004
|
||||||
+# Free Software Foundation, Inc.
|
+# Free Software Foundation, Inc.
|
||||||
@ -1055,6 +1055,9 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.pie/break.exp
|
|||||||
+set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1]
|
+set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1]
|
||||||
+set bp_location9 [gdb_get_line_number "set breakpoint 9 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" \
|
+gdb_test "info break" \
|
||||||
+ "Num\[ \]+Type\[ \]+Disp Enb Address\[ \]+What.*
|
+ "Num\[ \]+Type\[ \]+Disp Enb Address\[ \]+What.*
|
||||||
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.*
|
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.*
|
||||||
@ -1064,7 +1067,8 @@ Index: gdb-6.8.50.20081128/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_location1.*
|
||||||
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location2.*
|
+\[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_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.* <PENDING> *non_existent_function" \
|
||||||
+ "breakpoint info"
|
+ "breakpoint info"
|
||||||
+
|
+
|
||||||
+# FIXME: The rest of this test doesn't work with anything that can't
|
+# FIXME: The rest of this test doesn't work with anything that can't
|
||||||
@ -1490,7 +1494,7 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.pie/break.exp
|
|||||||
+}
|
+}
|
||||||
+send_gdb "print marker2(99)\n"
|
+send_gdb "print marker2(99)\n"
|
||||||
+gdb_expect {
|
+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"}
|
+ {pass "hit breakpoint on called function"}
|
||||||
+ -re "$gdb_prompt $"\
|
+ -re "$gdb_prompt $"\
|
||||||
+ {fail "hit breakpoint on called function"}
|
+ {fail "hit breakpoint on called function"}
|
||||||
|
5
gdb.spec
5
gdb.spec
@ -15,7 +15,7 @@ Version: 6.8.50.20090302
|
|||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# 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.
|
# `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+
|
License: GPLv3+
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -891,6 +891,9 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 15 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-32
|
||||||
|
- Fix crash on pending breakpoints with PIE (position-indep.-exec.) (BZ 505943).
|
||||||
|
|
||||||
* Fri Jun 12 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-31
|
* Fri Jun 12 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-31
|
||||||
- Fix an occasional crash during printing of missing debuginfo rpms (BZ 505401).
|
- Fix an occasional crash during printing of missing debuginfo rpms (BZ 505401).
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user