From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 105071 invoked by alias); 28 Aug 2018 09:39:57 -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 105062 invoked by uid 89); 28 Aug 2018 09:39:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=topic, extends, H*M:4EAD, Aarch64 X-HELO: EUR02-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr00060.outbound.protection.outlook.com (HELO EUR02-AM5-obe.outbound.protection.outlook.com) (40.107.0.60) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 28 Aug 2018 09:39:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=B5j4GMJ6ypTRibUI5XRWq9Czp5KATibJDPRe3cTeJAA=; b=bbmujfkY4MmaGjldO6bfu859OW1etcGfC9O0mV+kl0z/Z9Fcc6szwzyXPbvH70vdIZaeO/2sv0+jMzxn5IX69abVk5JeVDo2h06g7+L0oSns2kzx70Djc3ys6gshL853GiZJmG/hGdP/WyTDQ7T9n78+jQ6i6R62MtVqLkz39Zo= Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.226.148) by DB6PR0802MB2262.eurprd08.prod.outlook.com (10.172.227.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.15; Tue, 28 Aug 2018 09:39:51 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::d961:4d5b:5082:1a78]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::d961:4d5b:5082:1a78%4]) with mapi id 15.20.1080.015; Tue, 28 Aug 2018 09:39:51 +0000 From: Alan Hayward To: "gdb-patches@sourceware.org" CC: nd Subject: [Ping][PATCH 0/4] Aarch64: Correctly support args passed in float registers. Date: Tue, 28 Aug 2018 09:39:00 -0000 Message-ID: <6B15D318-4EAD-4FEB-8277-EF7D9D52C7C7@arm.com> References: <20180820092933.83224-1-alan.hayward@arm.com> In-Reply-To: <20180820092933.83224-1-alan.hayward@arm.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2018-08/txt/msg00680.txt.bz2 Ping. > On 20 Aug 2018, at 10:29, Alan Hayward wrote: >=20 > GDB currently does not adhere to the AAPCS spec when passing structures t= hat > contain float arguments. It works for simple structures but does not corr= ectly > detect nested structures. > This is shown by the failing tests in the recently added > infcall-nested-structs.exp. See PR gdb/22943. >=20 > Patch 1 contains a new function for correctly detecting float args. > I wrote this by taking the equivalent function in GCC and modifying it un= til > it fit into GDB, then simplified and cleaned up. > Patches 2 and 3 then use this function. >=20 > Patch 4 extends the infcall-nested-structs test to cover structures with 4 > and 5 fields - 4 fields is the maximum number of fields that can be passed > via float args. >=20 > For the full spec see: > http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.= pdf >=20 >=20 > Alan Hayward (4): > Aarch64: Add function to detect args passed in float registers > Aarch64: Float register detection for _push_dummy_call > Aarch64: Float register detection for return values. > infcall-nested-structs: Test up to five fields >=20 > gdb/aarch64-tdep.c | 444 ++++++++++++-----= ----- > gdb/testsuite/gdb.base/infcall-nested-structs.c | 168 +++++--- > gdb/testsuite/gdb.base/infcall-nested-structs.exp | 5 +- > 3 files changed, 366 insertions(+), 251 deletions(-) >=20 > --=20 > 2.15.2 (Apple Git-101.1) >=20