Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0:Staging:B
gdb
gdb-6.8-bz436037-reg-no-longer-active.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdb-6.8-bz436037-reg-no-longer-active.patch of Package gdb
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 From: Fedora GDB patches <invalid@email.com> Date: Fri, 27 Oct 2017 21:07:50 +0200 Subject: gdb-6.8-bz436037-reg-no-longer-active.patch FileName: gdb-6.8-bz436037-reg-no-longer-active.patch ;; Fix register assignments with no GDB stack frames (BZ 436037). ;;=push+jan: This fix is incorrect. --- gdb/valops.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gdb/valops.c b/gdb/valops.c index 9b25980090..7aacd17d70 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -1103,6 +1103,8 @@ value_assign (struct value *toval, struct value *fromval) struct gdbarch *gdbarch; int value_reg; + value_reg = VALUE_REGNUM (toval); + /* Figure out which frame this is in currently. We use VALUE_FRAME_ID for obtaining the value's frame id instead of @@ -1112,8 +1114,14 @@ value_assign (struct value *toval, struct value *fromval) frame. */ frame = frame_find_by_id (VALUE_FRAME_ID (toval)); - value_reg = VALUE_REGNUM (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.")); -- 2.14.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor