From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28758 invoked by alias); 26 Jan 2004 20:46:48 -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 28746 invoked from network); 26 Jan 2004 20:46:47 -0000 Received: from unknown (HELO localhost.redhat.com) (66.30.197.194) by sources.redhat.com with SMTP; 26 Jan 2004 20:46:47 -0000 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 32F9C2B8F; Mon, 26 Jan 2004 15:46:46 -0500 (EST) Message-ID: <40157CB6.30803@gnu.org> Date: Mon, 26 Jan 2004 20:46:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030820 MIME-Version: 1.0 To: Andrew Cagney , gdb-patches@sources.redhat.com Subject: Re: [patch/rfc:rfa:doco] Deprecate extract_struct_value_address References: <4009DBB5.2030605@gnu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-01/txt/msg00674.txt.bz2 > Hello, > > Ref: [rfc] Struct return values > http://sources.redhat.com/ml/gdb/2004-01/msg00123.html > > This deprecates the existing extract_struct_value_address, clearing the way for a replacement such as extract_returned_value_address. > > As the comments note, other than the 32-bit SPARC, no ABI has so far been identified that allows for the robust implementation of an extract struct-convention return-value's address method. Further, a quick glance through the remaining extract methods suggests that they too are broken - the're all trying to extract the return-value from a register and typical ABIs don't guarentee that the return-value address register is preserved across function calls. > > The patch also adds a bunch of comments to core-GDB to [hopefully] point the way to the required changes needed to make the 32-bit SPARC ABIs case work. I don't have a SPARC handy so MarkK, over to you :-/ > > Comments? I'll give this part a week. I've checked this in. Andrew > 2004-01-17 Andrew Cagney > > * gdbarch.sh (EXTRACT_STRUCT_VALUE_ADDRESS): Deprecate. Add > comments mentioning extract_returned_value_address. > * infcmd.c (print_return_value): Update. Add comments on > extract_returned_value_address. > * stack.c (return_command): Add comments on > extract_returned_value_address. > * values.c: Update comment. > * m32r-tdep.c: Update comment. > * sparc-tdep.c: Update comment. > * ia64-tdep.c (ia64_use_struct_convention): Update comment. > * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. > * sh64-tdep.c (sh64_gdbarch_init): Update. > * sh-tdep.c (sh_gdbarch_init): Update. > * s390-tdep.c (s390_gdbarch_init): Update. > * rs6000-tdep.c (rs6000_gdbarch_init): Update. > * m68klinux-tdep.c (m68k_linux_init_abi): Update. > * m68k-tdep.c (m68k_gdbarch_init): Update. > * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. > * m32r-tdep.c (m32r_gdbarch_init): Update. > * ia64-tdep.c (ia64_gdbarch_init): Update. > * h8300-tdep.c (h8300_gdbarch_init): Update. > * frv-tdep.c (frv_gdbarch_init): Update. > * arm-tdep.c (arm_gdbarch_init): Update. > * alpha-tdep.c (alpha_gdbarch_init): Update. > > Index: doc/ChangeLog > 2004-01-17 Andrew Cagney > > * gdbint.texinfo (Target Architecture Definition): Rename > EXTRACT_STRUCT_VALUE_ADDRESS to > DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS. >