From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23073 invoked by alias); 9 Jun 2003 09:38:52 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 22992 invoked from network); 9 Jun 2003 09:38:50 -0000 Received: from unknown (HELO walton.kettenis.dyndns.org) (62.163.169.212) by sources.redhat.com with SMTP; 9 Jun 2003 09:38:50 -0000 Received: from elgar.kettenis.dyndns.org (elgar.kettenis.dyndns.org [192.168.0.2]) by walton.kettenis.dyndns.org (8.12.6p2/8.12.5) with ESMTP id h599cg6H000291; Mon, 9 Jun 2003 11:38:42 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: from elgar.kettenis.dyndns.org (localhost [127.0.0.1]) by elgar.kettenis.dyndns.org (8.12.6p2/8.12.6) with ESMTP id h599cgth000461; Mon, 9 Jun 2003 11:38:42 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: (from kettenis@localhost) by elgar.kettenis.dyndns.org (8.12.6p2/8.12.6/Submit) id h599cg5F000458; Mon, 9 Jun 2003 11:38:42 +0200 (CEST) Date: Mon, 09 Jun 2003 09:38:00 -0000 Message-Id: <200306090938.h599cg5F000458@elgar.kettenis.dyndns.org> From: Mark Kettenis To: ac131313@redhat.com CC: ac131313@redhat.com, gdb-patches@sources.redhat.com In-reply-to: <3EE3B455.7080902@redhat.com> (message from Andrew Cagney on Sun, 08 Jun 2003 18:10:29 -0400) Subject: Re: [cagney_convert-20030606-branch] Add value to REGISTER_TO_VALUE et.al. References: <3EDE4A9E.70403@redhat.com> <8665nl34ao.fsf@elgar.kettenis.dyndns.org> <3EE0D987.6030207@redhat.com> <200306081643.h58GhiTr048427@elgar.kettenis.dyndns.org> <3EE36F28.9000104@redhat.com> <3EE3B455.7080902@redhat.com> X-SW-Source: 2003-06/txt/msg00295.txt.bz2 Date: Sun, 08 Jun 2003 18:10:29 -0400 From: Andrew Cagney Ok, I've changed the branch to: > The ``obvious'' interfaces were: > > register_to_value (frame, regnum, type, buffer) > value_to_register (frame, regnum, type, buffer) > > but that tripped up on something (now what ...?). Dig dig. > Notice how, to preserve existing behavior, > legacy_register_to_value saves the location based on what > frame_register returns. We'd have to switch to > lval_reg_frame_relative. And this time it appears to be going better. I'll try to attribute it to VALUE_FRAME_ID and the use of put_frame_register (neither of which I did last time). Andrew, the attached fixes writing values into registers. OK to check this in on the branch? Mark Index: ChangeLog from Mark Kettenis * valops.c (value_assign): Assign contents of FROMVAL instead of TOVAL. Index: valops.c =================================================================== RCS file: /cvs/src/src/gdb/valops.c,v retrieving revision 1.110.2.2 diff -u -p -r1.110.2.2 valops.c --- valops.c 8 Jun 2003 22:14:42 -0000 1.110.2.2 +++ valops.c 9 Jun 2003 09:02:27 -0000 @@ -588,13 +588,12 @@ value_assign (struct value *toval, struc error ("Value being assigned to is no longer active."); if (VALUE_LVAL (toval) == lval_reg_frame_relative - && CONVERT_REGISTER_P (VALUE_FRAME_REGNUM (toval), - VALUE_TYPE (toval))) + && CONVERT_REGISTER_P (VALUE_FRAME_REGNUM (toval), type)) { /* If TOVAL is a special machine register requiring conversion of program values to a special raw format. */ VALUE_TO_REGISTER (frame, VALUE_FRAME_REGNUM (toval), - VALUE_TYPE (toval), VALUE_CONTENTS (toval)); + type, VALUE_CONTENTS (fromval)); } else {