patches/gdb/6.8a/130-reg-no-longer-active.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:53:32 2012 +0100 (2012-12-27)
changeset 3153 f6740f9e42de
parent 1343 e6f6153d318c
permissions -rw-r--r--
scripts/addToolsVersion: handle elf2flt

The one was missing from the list.

It is very improbable that we ever need it, as elf2flt does no release,
and we always get it from CVS head. But for the sake of consistency, we
just add it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 Fix bug reported by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
     2 See: http://sourceware.org/ml/crossgcc/2009-05/msg00055.html
     3      https://bugzilla.redhat.com/show_bug.cgi?id=436037
     4 
     5 Fix from: http://cvs.fedoraproject.org/viewvc/devel/gdb/gdb-6.8-bz436037-reg-no-longer-active.patch?revision=1.1
     6 
     7 diff -d -urpN src.0/gdb/valops.c src.1/gdb/valops.c
     8 --- src.0/gdb/valops.c	2008-07-27 04:00:03.000000000 +0200
     9 +++ src.1/gdb/valops.c	2008-07-31 15:17:42.000000000 +0200
    10 @@ -813,10 +813,18 @@ value_assign (struct value *toval, struc
    11  	struct frame_info *frame;
    12  	int value_reg;
    13  
    14 -	/* Figure out which frame this is in currently.  */
    15 -	frame = frame_find_by_id (VALUE_FRAME_ID (toval));
    16  	value_reg = VALUE_REGNUM (toval);
    17  
    18 +	/* Figure out which frame this is in currently.  */
    19 +	frame = frame_find_by_id (VALUE_FRAME_ID (toval));
    20 +	/* "set $reg+=1" should work on programs with no debug info,
    21 +	   but frame_find_by_id returns NULL here (RH bug 436037).
    22 +	   Use current frame, it represents CPU state in this case.
    23 +	   If frame_find_by_id is changed to do it internally
    24 +	   (it is contemplated there), remove this.  */
    25 +	if (!frame)
    26 +	  frame = get_current_frame ();
    27 +	/* Probably never happens.  */
    28  	if (!frame)
    29  	  error (_("Value being assigned to is no longer active."));
    30