- Fix register assignments with no GDB stack frames, Denys Vlasenko (BZ
436037).
This commit is contained in:
parent
d03bbcd3a1
commit
3f974e0437
|
@ -0,0 +1,24 @@
|
|||
diff -d -urpN src.0/gdb/valops.c src.1/gdb/valops.c
|
||||
--- src.0/gdb/valops.c 2008-07-27 04:00:03.000000000 +0200
|
||||
+++ src.1/gdb/valops.c 2008-07-31 15:17:42.000000000 +0200
|
||||
@@ -813,10 +813,18 @@ value_assign (struct value *toval, struc
|
||||
struct frame_info *frame;
|
||||
int value_reg;
|
||||
|
||||
- /* Figure out which frame this is in currently. */
|
||||
- frame = frame_find_by_id (VALUE_FRAME_ID (toval));
|
||||
value_reg = VALUE_REGNUM (toval);
|
||||
|
||||
+ /* Figure out which frame this is in currently. */
|
||||
+ frame = frame_find_by_id (VALUE_FRAME_ID (toval));
|
||||
+ /* "set $reg+=1" should work on programs with no debug info,
|
||||
+ but frame_find_by_id returns NULL here (RH bug 436037).
|
||||
+ Use current frame, it represents CPU state in this case.
|
||||
+ If frame_find_by_id is changed to do it internally
|
||||
+ (it is contemplated there), remove this. */
|
||||
+ if (!frame)
|
||||
+ frame = get_current_frame ();
|
||||
+ /* Probably never happens. */
|
||||
if (!frame)
|
||||
error (_("Value being assigned to is no longer active."));
|
||||
|
|
@ -1638,3 +1638,83 @@ gdb/
|
|||
/* Shared library handling. */
|
||||
set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code);
|
||||
set_solib_svr4_fetch_link_map_offsets
|
||||
|
||||
|
||||
|
||||
http://sourceware.org/ml/gdb-cvs/2008-04/msg00100.html
|
||||
|
||||
2008-04-17 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* breakpoint.c (print_one_breakpoint_location): Make sure to print
|
||||
the breakpoint address only once.
|
||||
|
||||
===================================================================
|
||||
RCS file: /cvs/src/src/gdb/breakpoint.c,v
|
||||
retrieving revision 1.308
|
||||
retrieving revision 1.309
|
||||
diff -u -r1.308 -r1.309
|
||||
--- src/gdb/breakpoint.c 2008/04/15 14:32:12 1.308
|
||||
+++ src/gdb/breakpoint.c 2008/04/17 22:43:17 1.309
|
||||
@@ -3607,7 +3607,7 @@
|
||||
annotate_field (4);
|
||||
if (header_of_multiple)
|
||||
ui_out_field_string (uiout, "addr", "<MULTIPLE>");
|
||||
- if (b->loc == NULL || loc->shlib_disabled)
|
||||
+ else if (b->loc == NULL || loc->shlib_disabled)
|
||||
ui_out_field_string (uiout, "addr", "<PENDING>");
|
||||
else
|
||||
ui_out_field_core_addr (uiout, "addr", loc->address);
|
||||
|
||||
http://sourceware.org/ml/gdb-cvs/2008-04/msg00148.html
|
||||
|
||||
gdb/
|
||||
2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* breakpoint.c (print_one_breakpoint_location): In MI
|
||||
mode, report the location string the breakpoint was
|
||||
originally created with.
|
||||
|
||||
gdb/testsuite/
|
||||
2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* lib/mi-support.exp (mi_runto_helper): Adjust
|
||||
for the original-location field.
|
||||
(mi_create_breakpoint, mi_list_breakpoints): New.
|
||||
* gdb.mi/mi-break.exp: Adjust.
|
||||
* gdb.mi/mi2-break.exp: Adjust.
|
||||
* gdb.mi/mi-pending.exp: Adjust.
|
||||
* gdb.mi/mi-simplerun.exp: Adjust.
|
||||
* gdb.mi/mi2-simplerun.exp: Adjust.
|
||||
* gdb.mi/mi-syn-frame.exp: Adjust.
|
||||
* gdb.mi/mi2-syn-frame.exp: Adjust.
|
||||
* gdb.mi/mi-until.exp: Adjust.
|
||||
* gdb.mi/mi2-until.exp: Adjust.
|
||||
* gdb.mi/mi-var-display.exp: Adjust.
|
||||
* gdb.mi/mi2-var-display.exp: Adjust.
|
||||
* gdb.mi/mi-watch.exp: Adjust.
|
||||
* gdb.mi/mi2-watch.exp: Adjust.
|
||||
[ REMOVED ]
|
||||
|
||||
===================================================================
|
||||
RCS file: /cvs/src/src/gdb/breakpoint.c,v
|
||||
retrieving revision 1.310
|
||||
retrieving revision 1.311
|
||||
diff -u -r1.310 -r1.311
|
||||
--- src/gdb/breakpoint.c 2008/04/18 00:41:28 1.310
|
||||
+++ src/gdb/breakpoint.c 2008/04/24 08:46:18 1.311
|
||||
@@ -3696,6 +3696,15 @@
|
||||
print_command_lines (uiout, l, 4);
|
||||
do_cleanups (script_chain);
|
||||
}
|
||||
+
|
||||
+ if (ui_out_is_mi_like_p (uiout) && !part_of_multiple)
|
||||
+ {
|
||||
+ if (b->addr_string)
|
||||
+ ui_out_field_string (uiout, "original-location", b->addr_string);
|
||||
+ else if (b->exp_string)
|
||||
+ ui_out_field_string (uiout, "original-location", b->exp_string);
|
||||
+ }
|
||||
+
|
||||
do_cleanups (bkpt_chain);
|
||||
do_cleanups (old_chain);
|
||||
}
|
||||
|
|
16
gdb.spec
16
gdb.spec
|
@ -6,6 +6,9 @@
|
|||
Summary: A GNU source-level debugger for C, C++, Java and other languages
|
||||
Name: gdb%{?_with_debug:-debug}
|
||||
|
||||
# Compatibility with F-10 rpmbuild:
|
||||
%define _default_patch_fuzz 2
|
||||
|
||||
# Set version to contents of gdb/version.in.
|
||||
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
|
||||
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
|
||||
|
@ -13,7 +16,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: 13%{?_with_upstream:.upstream}%{?dist}
|
||||
Release: 15%{?_with_upstream:.upstream}%{?dist}
|
||||
|
||||
License: GPLv3+
|
||||
Group: Development/Debuggers
|
||||
|
@ -358,6 +361,9 @@ Patch317: gdb-6.8-sparc64-silence-memcpy-check.patch
|
|||
# Fix memory trashing on binaries from GCC Ada (workaround GCC PR 35998).
|
||||
Patch318: gdb-6.8-gcc35998-ada-memory-trash.patch
|
||||
|
||||
# Fix register assignments with no GDB stack frames (BZ 436037).
|
||||
Patch330: gdb-6.8-bz436037-reg-no-longer-active.patch
|
||||
|
||||
BuildRequires: ncurses-devel glibc-devel gcc make gzip texinfo dejagnu gettext
|
||||
BuildRequires: flex bison sharutils expat-devel
|
||||
Requires: readline
|
||||
|
@ -536,6 +542,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
|||
%patch316 -p1
|
||||
%patch317 -p1
|
||||
%patch318 -p1
|
||||
%patch330 -p1
|
||||
%patch124 -p1
|
||||
|
||||
find -name "*.orig" | xargs rm -f
|
||||
|
@ -788,6 +795,13 @@ fi
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Aug 1 2008 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8-15
|
||||
- Fix register assignments with no GDB stack frames, Denys Vlasenko (BZ 436037).
|
||||
|
||||
* Fri Jul 25 2008 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8-14
|
||||
- Backpoint `original-location' for multi-PC breakpoints (for Nemiver).
|
||||
- Include _default_patch_fuzz for builds on F-10.
|
||||
|
||||
* Fri Jul 25 2008 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8-13
|
||||
- Fix powerpc recent secure PLTs handling (shared library calls) (BZ 452960).
|
||||
- Fix the testsuite .spec runner to run biarch also on ppc.
|
||||
|
|
Loading…
Reference in New Issue