patches/gdb/6.8a/130-reg-no-longer-active.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 31 16:23:27 2011 +0100 (2011-12-31)
changeset 2814 3dc2727ebffc
parent 1343 e6f6153d318c
permissions -rw-r--r--
cc/gcc: add option to use system zlib

In some cases, it might be desirable to use the system zlib

Eg. because latest gcc seem to be totally borked when it comes
to multilib, and tries to build a multilib host zlib, when it
is *absolutely* *not* needed: we want mulitlib on the target,
not on the host! Sigh... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.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