From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1894 invoked by alias); 28 Nov 2006 00:01:38 -0000 Received: (qmail 1885 invoked by uid 22791); 28 Nov 2006 00:01:38 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Tue, 28 Nov 2006 00:01:30 +0000 Received: from drow by nevyn.them.org with local (Exim 4.63) (envelope-from ) id 1GoqPV-0005jT-2y; Mon, 27 Nov 2006 19:01:17 -0500 Date: Tue, 28 Nov 2006 00:01:00 -0000 From: Daniel Jacobowitz To: Ulrich Weigand Cc: Jim Blandy , gdb-patches@sourceware.org Subject: Re: [RFA][2/5] New port: Cell BE SPU (valops.c fix) Message-ID: <20061128000117.GA21865@nevyn.them.org> Mail-Followup-To: Ulrich Weigand , Jim Blandy , gdb-patches@sourceware.org References: <200611272323.kARNNYPo014050@d12av02.megacenter.de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200611272323.kARNNYPo014050@d12av02.megacenter.de.ibm.com> User-Agent: Mutt/1.5.13 (2006-08-11) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-11/txt/msg00308.txt.bz2 On Tue, Nov 28, 2006 at 12:23:34AM +0100, Ulrich Weigand wrote: > However, I still think there's something fundamentally broken in the > way value_assign calls VALUE_TO_REGISTER. As the documentation says, > that gdbarch functions is supposed to "convert a data value of type > TYPE to register number REG's raw format". Calling the conversion > function with a type that does not actually denote the type of the > register contents, but some subfield, must break all other implementations > of that routine as well ... Except that I suspect there are no other implementations of VALUE_TO_REGISTER which offer any subfields. It was usually used for things like registers which can only hold a float by converting it to double, and those floating point registers generally can't hold arbitrary structs or arrays. There might be some trouble on i386 though... I think you'd need extraordinary bad luck to trigger it. A field of a struct spread across multiple registers. These three hooks are simply not very clearly defined. -- Daniel Jacobowitz CodeSourcery