From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 100154 invoked by alias); 6 Jun 2018 15:16: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 100137 invoked by uid 89); 6 Jun 2018 15:16:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-12.5 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Parts, H*r:200 X-HELO: EUR02-HE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr10071.outbound.protection.outlook.com (HELO EUR02-HE1-obe.outbound.protection.outlook.com) (40.107.1.71) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 06 Jun 2018 15:16:53 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; Received: from C02TF0U7HF1T.arm.com (217.140.96.140) by AM4PR0802MB2132.eurprd08.prod.outlook.com (2603:10a6:200:5c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.14; Wed, 6 Jun 2018 15:16:49 +0000 From: Alan Hayward To: gdb-patches@sourceware.org Cc: nd@arm.com, Alan Hayward Subject: [PATCH v2 00/10] gdb/gdbserver support for aarch64 SVE Date: Wed, 06 Jun 2018 15:16:00 -0000 Message-Id: <20180606151629.36602-1-alan.hayward@arm.com> MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: CWLP265CA0083.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:50::23) To AM4PR0802MB2132.eurprd08.prod.outlook.com (2603:10a6:200:5c::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-TrafficTypeDiagnostic: AM4PR0802MB2132: NoDisclaimer: True X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-MS-Exchange-SenderADCheck: 1 X-Forefront-PRVS: 06952FC175 Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Office365-Filtering-Correlation-Id: 9fc6e957-53d5-4116-ffbb-08d5cbc086fd X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2018 15:16:49.9089 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9fc6e957-53d5-4116-ffbb-08d5cbc086fd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2132 X-IsSubscribed: yes X-SW-Source: 2018-06/txt/msg00145.txt.bz2 This new set of patches builds on the previous set. Patches 1-5 are new versions of previous patches (now split into smaller parts). They (hopefully) address all the review comments from the initial set. Part 6 adds dwarf support for sve. Parts 7-9 add gdbserver support for sve. Parts 10 stops core file errors on sve. Given there are no working SVE systems available today, this was manually tested on an Aarch64 SVE emulator running Ubuntu. In addition I've run make check on X86 and Aarch64 builds for both unix and native-gdbserver. Latest docs for SVE are here: https://developer.arm.com/docs/ddi0584/latest/arm-architecture-reference-manual-supplement-the-scalable-vector-extension-sve-for-armv8-a GNU cauldron talk giving a summary of SVE changes for Linux and GDB (regcache changes are out of date): https://slideslive.com/38902367/supporting-variable-register-sizes-for-the-arm-scalable-vector-extension-sve-in-gdb Summary of how to program with SVE: http://developer.arm.com/hpc/a-sneak-peek-into-sve-and-vla-programming Alan Hayward (10): Aarch64 SVE pseudo register support Add Aarch64 SVE Linux headers Add reg_buffer_common Add regcache raw_compare method Ptrace support for Aarch64 SVE Add Aarch64 SVE dwarf regnums Increase gdbsever PBUFSIZ Enable Aarch64 SVE for gdbserver Ptrace support for AArch64 SVE gdbsever Remove reg2 section from Aarch64 SVE cores gdb/aarch64-linux-nat.c | 54 +++++- gdb/aarch64-linux-tdep.c | 7 +- gdb/aarch64-tdep.c | 145 +++++++++++--- gdb/aarch64-tdep.h | 5 + gdb/arch/aarch64.h | 5 +- gdb/common/common-regcache.h | 9 + gdb/gdbserver/Makefile.in | 1 + gdb/gdbserver/linux-aarch64-ipa.c | 9 +- gdb/gdbserver/linux-aarch64-low.c | 68 ++++++- gdb/gdbserver/linux-aarch64-tdesc-selftest.c | 2 +- gdb/gdbserver/linux-aarch64-tdesc.c | 30 ++- gdb/gdbserver/linux-aarch64-tdesc.h | 2 +- gdb/gdbserver/regcache.c | 57 ++++-- gdb/gdbserver/regcache.h | 23 ++- gdb/gdbserver/server.h | 2 +- gdb/nat/aarch64-linux-ptrace.h | 150 +++++++++++++++ gdb/nat/aarch64-linux-sigcontext.h | 129 +++++++++++++ gdb/nat/aarch64-sve-linux-ptrace.c | 271 ++++++++++++++++++++++++++- gdb/nat/aarch64-sve-linux-ptrace.h | 53 +++--- gdb/regcache.c | 15 ++ gdb/regcache.h | 30 ++- 21 files changed, 963 insertions(+), 104 deletions(-) create mode 100644 gdb/nat/aarch64-linux-ptrace.h create mode 100644 gdb/nat/aarch64-linux-sigcontext.h -- 2.15.1 (Apple Git-101)