From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 466 invoked by alias); 28 Dec 2014 03:47:39 -0000 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 Received: (qmail 454 invoked by uid 89); 28 Dec 2014 03:47:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Sun, 28 Dec 2014 03:47:36 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id D9117116275; Sat, 27 Dec 2014 22:47:34 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 4M25OQ4scvyW; Sat, 27 Dec 2014 22:47:34 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 37C56116272; Sat, 27 Dec 2014 22:47:34 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id 381ED4100E; Sun, 28 Dec 2014 07:47:26 +0400 (RET) Date: Sun, 28 Dec 2014 03:47:00 -0000 From: Joel Brobecker To: Thomas Preud'homme Cc: gdb-patches@sourceware.org Subject: Re: [PATCH, ARM] Support for value 3 of Tag_ABI_VFP_args ARM attribute Message-ID: <20141228034726.GA2123@adacore.com> References: <000101d02201$e9b4b430$bd1e1c90$@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000101d02201$e9b4b430$bd1e1c90$@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2014-12/txt/msg00649.txt.bz2 > By mistake a small gdb patch was commited while commiting the binutils > patch to support value 3 of Tag_ABI_VFP_args ARM attribute because I > forgot to split the patch into two parts. My sincere apologize, this > is my first binutils-gdb patch and the combined repository but double > submission confused me. The patch is very straightforward so I hope > it's not a problem but if it is I'll promptly revert it of course. The > following gdb change was commited: No problem. You forgot to provide the ChangeLog entry. FTR, here it is: 2014-12-25 Thomas Preud'homme * arm-tdep.c (arm_gdbarch_init): Explicitly handle value 3 of Tag_ABI_VFP_args. Also replace hardcoded values by enum values in the switch handling the different values of Tag_ABI_VFP_args. Also, I don't think the cast to (int) are necessary, are they? > > diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c > index 43520cc..a917862 100644 > --- a/gdb/arm-tdep.c > +++ b/gdb/arm-tdep.c > @@ -10007,27 +10007,34 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) > OBJ_ATTR_PROC, > Tag_ABI_VFP_args)) > { > - case 0: > + case (int) AEABI_VFP_args_base: > /* "The user intended FP parameter/result > passing to conform to AAPCS, base > variant". */ > fp_model = ARM_FLOAT_SOFT_VFP; > break; > - case 1: > + case (int) AEABI_VFP_args_vfp: > /* "The user intended FP parameter/result > passing to conform to AAPCS, VFP > variant". */ > fp_model = ARM_FLOAT_VFP; > break; > - case 2: > + case (int) AEABI_VFP_args_toolchain: > /* "The user intended FP parameter/result > passing to conform to tool chain-specific > conventions" - we don't know any such > conventions, so leave it as "auto". */ > break; > + case (int) AEABI_VFP_args_compatible: > + /* "Code is compatible with both the base > + and VFP variants; the user did not permit > + non-variadic functions to pass FP > + parameters/results" - leave it as > + "auto". */ > + break; > default: > /* Attribute value not mentioned in the > - October 2008 ABI, so leave it as > + November 2012 ABI, so leave it as > "auto". */ > break; > } > > The definition was added in include/elf/arm.h in the same commit as follows: > > diff --git a/include/elf/arm.h b/include/elf/arm.h > index 34afdfd..e85536b 100644 > --- a/include/elf/arm.h > +++ b/include/elf/arm.h > @@ -319,6 +319,23 @@ enum > Tag_VFP_HP_extension = Tag_FP_HP_extension > }; > > +/* Values for Tag_ABI_FP_number_model. */ > +enum > +{ > + AEABI_FP_number_model_none = 0, > + AEABI_FP_number_model_ieee754_number = 1, > + AEABI_FP_number_model_rtabi = 2, > + AEABI_FP_number_model_ieee754_all = 3 > +}; > + > +/* Values for Tag_ABI_VFP_args. */ > +enum > +{ > + AEABI_VFP_args_base = 0, > + AEABI_VFP_args_vfp = 1, > + AEABI_VFP_args_toolchain = 2, > + AEABI_VFP_args_compatible = 3 > +}; > #endif > > /* The name of the note section used to identify arm variants. */ > > Please let me know if I should revert the patch and sorry again for the trouble. > > Best regards, > > Thomas > > -- Joel