From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id KTkNGdRiQmq4hx0AWB0awg (envelope-from ) for ; Mon, 29 Jun 2026 08:19:32 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=TaISmnN5; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 5A5391E098; Mon, 29 Jun 2026 08:19:32 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 4FD701E090 for ; Mon, 29 Jun 2026 08:19:30 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AC43A4BA2E30 for ; Mon, 29 Jun 2026 12:19:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AC43A4BA2E30 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=TaISmnN5 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 82EA84BA2E14 for ; Mon, 29 Jun 2026 12:19:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 82EA84BA2E14 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 82EA84BA2E14 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782735541; cv=none; b=TWA+6I1MBqrNvHN+H05l/StCgqTuRvej+qdnWkTxfkkgALO4fSSjxI0nWRbt5cJJYNl+VzgP4Nur77OHwtachEvmqjokMQ7OACIFSzNvlwEnlSBesWOJaTdO/GZkJ2WU9L+uTTSMByyp2YvdKKK3jNUIRWo8UDPPft7RKaV0iY0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782735541; c=relaxed/simple; bh=Z4NUjTuSQ3NNFCXcGWhNMYD0SnAwUL5Euw8jcMBlQB8=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=Mv/+BR0OEcA0mvwxC7g+gs59U4vhy98KyuHbhXzfDl9D7WO0mKZxgFV6yvADoMP6R5k6FRG0wLyuqNVG2Rx/n8StgV7aVUV/A1V4T+FXZXUV/7WK1kQ8/p4vWXfY67LYZAdqjMTtIWZLIz2NTMsVy/ubZwHZap6mZqKgHZ0Xuos= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=TaISmnN5 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 82EA84BA2E14 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1782735541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Rd669B9xnY2qggrK7U9cBZS7hGqJV8j0TJW+Y+UkPOA=; b=TaISmnN5Mf0UJvPypfOYhh0ai2cTQtvVuGrFZaxbvHbF08DMg98kCpbHV56an5+lNd3YSM 7ZeLWoarvdy/jpqMcSPFDCaEDMr8ee6uYvZnoaw/u3XsdOz8sjRdmTZuMIlB1XXfegtk5N 7UJ1jNvykiUBhY9F78vSHX1zdXvMrg0= Received: from mail-dl1-f69.google.com (mail-dl1-f69.google.com [74.125.82.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-246-GEBxgEw4NGiyzvNBn_ISbA-1; Mon, 29 Jun 2026 08:18:59 -0400 X-MC-Unique: GEBxgEw4NGiyzvNBn_ISbA-1 X-Mimecast-MFC-AGG-ID: GEBxgEw4NGiyzvNBn_ISbA_1782735538 Received: by mail-dl1-f69.google.com with SMTP id a92af1059eb24-139f5f5eae7so7260783c88.1 for ; Mon, 29 Jun 2026 05:18:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782735538; x=1783340338; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Rd669B9xnY2qggrK7U9cBZS7hGqJV8j0TJW+Y+UkPOA=; b=sWxafR50e7rWKWjF4LzpcznQnFzbOAz83SS+p/PMio+Bs+dTOJkS+uvvhfLSSqv/7I d7bNc/tJ6PIAVGt8aKgIyMcmFZLhQq4lSlhh13R8b/zRNo9jKhrBCGLCQ5wsyMzNH7B0 4Nh8S4YpwYpS20YUrKjnSgBzZ1XluQ09F71iGe5VWO/9o8+7sb2Ef0V0dpmEokruWZFi bhbES+KSfvMCTiSVIflAvFgqkffMEbDre86P1y97Rpj4QWs1VW7f0fAPXLsGYwYnVLJP 34y3sP4+OhtriPZ3pW77JSFKHRcgT/YTrjgezodi1Qr7sIKtqHARjKszmXRrTHjKNrOS awVg== X-Forwarded-Encrypted: i=1; AFNElJ8j/tGNzx2ioFyDJR7hVtFpldi3BLBT8DYYqQcO0A3AA1L3YEmSRC8muQlWb5Pb3pk8chSkP4re8geP8Q==@sourceware.org X-Gm-Message-State: AOJu0Yw4p2PhH01jugAcUz6/FRjdc2yRo6GQQd54xxyfhv783Jm6AS9a c6y3tMLYNuw8Vu0D5NRJ9a1D2l+IEFqLIJ9HhDzWGX50kRGC30qhlucfqQ6SG+x3mbbGymkPSUp m7vCObTl/B/GveoGrR4gYqAukc8uP3EKk00k4Qy7NpywDgDqFzkqFxCO9syzJX3I= X-Gm-Gg: AfdE7cnKNjkKwbD3MtJ5X3rbwJ5OPb53o2s3AwTlMcnCBlZHDG5Wim69Zm4HIh/L80P M3fYlR347Hx0DJKJrg258uPus196ZkkGyBa8UBLY43bGReR4KJBlvD7pW6AUG7wiuNT8dqf+IIj tYXDnq/6Lfkf0A2jL5yTLajGOgpXfRRi6IUamzlpP90WkKKZfoT/u3eCmIViMoJdYOqTKogs2MM 54jmHBhNdTiS9d2Z/wtho7J+/qrpnRZcQczbtH63XSB3QrxPE3ChgDOLixRnaTAbs5GbYNEU71r LKoiiv1OsCZCvhqu8lp2gvJgCYASDRCQvNusNRLpkrp2MGZQjwIwNmtfjmH102nMPnI/DYywc5b gT5/cpxMiF1a1dqDiNpwy X-Received: by 2002:a05:7022:412:b0:139:fb6c:b37c with SMTP id a92af1059eb24-139fb6cb3c5mr3352392c88.21.1782735538351; Mon, 29 Jun 2026 05:18:58 -0700 (PDT) X-Received: by 2002:a05:7022:412:b0:139:fb6c:b37c with SMTP id a92af1059eb24-139fb6cb3c5mr3352356c88.21.1782735537665; Mon, 29 Jun 2026 05:18:57 -0700 (PDT) Received: from ?IPV6:2804:14d:8084:993e::75d? ([2804:14d:8084:993e::75d]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-139d91006afsm57462523c88.12.2026.06.29.05.18.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 29 Jun 2026 05:18:56 -0700 (PDT) Message-ID: Date: Mon, 29 Jun 2026 09:18:51 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 0/7] gdb/aarch64: Add support for FEAT_S1POE feature To: srinath.parvathaneni@arm.com, gdb-patches@sourceware.org Cc: thiago.bauermann@linaro.org, luis.machado.foss@gmail.com, Ezra.Sitorus@arm.com, Matthieu.Longo@arm.com References: <20260626180821.376406-1-srinath.parvathaneni@arm.com> From: Guinevere Larsen In-Reply-To: <20260626180821.376406-1-srinath.parvathaneni@arm.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: rhhTkg2cuWxrywXbHEvGHMzobhn93nMsKfd1Cqv2fDs_1782735538 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On 6/26/26 3:08 PM, srinath.parvathaneni@arm.com wrote: > From: Srinath Parvathaneni > > Thanks Matthieu, Ezra and Luis for the reviews. > > Changes v1 -> v2: > > * Rebased the SIGSEGV diagnostic support on Matthieu Longo's generic > "siginfo_t" changes, using the new "_._addr_pkey.si_pkey" layout > instead of introducing a target-specific "siginfo_t" extension. > > * Split the original series into smaller, subsystem-specific patches: > * GDB register support > * POR_EL0 pretty printing > * SIGSEGV diagnostics > * gdbserver support > * BFD/readelf core file support > * GDB core file support > * Testsuite > > * Separated BFD/readelf and GDB core file support into independent > patches. > > * Retained FEAT_S1POE expansion as "Permission Overlay Extension" after internal discussion. > > * Removed the POR_EL0 permission decoding string (e.g. `por_el0[pkey=] = rwx`) from > SIGSEGV diagnostics, as displaying permissions without also showing base and effective > permissions can be misleading to users. > > * Rebased the series onto current upstream master + Matthieu's patch > "gdb: align siginfo_t with the Linux kernel definition" > > ---------------- > Hi, > > This series adds support for the AArch64 Permission Overlay Extension > (FEAT_S1POE) in GDB, gdbserver, BFD and the testsuite. Hi Srinath! I don't know much about the arm architecture or this extension in specific, but it seems that it at least adds new registers so this seems like a valid question: Do these impact recording of ARM instructions with the record-full subsystem at all? It would be nice to have a gdb.reverse test that exercises some (ideally all) new instructions if there are any, and some other instructions that manipulate those new registers, if needed. This isn't required to get this series merged, of course, but it would be very nice to have it. -- Cheers, Guinevere Larsen it/its she/her (deprecated) > > The series introduces support for the POR_EL0 register, allowing GDB to > read and write the register using the Linux "NT_ARM_POE" regset. It also > improves SIGSEGV diagnostics for Permission Overlay violations and > extends gdbserver and core file handling to preserve POR_EL0 during > remote debugging and core file analysis. > > The series consists of the following patches: > > [1/7] gdb/aarch64: Add POR_EL0 register support > Add POR_EL0 to the AArch64 register set and support reading and > writing the register using the Linux "NT_ARM_POE" regset. > > [2/7] gdb/aarch64: Add custom printing for POR_EL0 > Add custom printing support for the POR_EL0 register. > > [3/7] gdb: Improve SIGSEGV diagnostics for POE faults > Report the faulting address together with the associated > protection key for Permission Overlay violations. > > [4/7] gdbserver/aarch64: Add POR_EL0 register support > Transfer POR_EL0 through the Linux "NT_ARM_POE" regset during > remote debugging. > > [5/7] bfd/readelf: Add core file support for FEAT_S1POE > Add support for the "NT_ARM_POE" core file note. > > [6/7] gdb/aarch64: Add core file support for FEAT_S1POE > Restore POR_EL0 from core files. > > [7/7] gdb/testsuite: Add FEAT_S1POE testcases > Add tests covering register access, SIGSEGV diagnostics, > fix-and-continue, and core file support. > > The series has been tested natively and using gdbserver with > remote GDB on an FVP built using shrinkwrap with a Linux kernel > configured with "CONFIG_ARM64_POE=y" and a glibc version > providing userspace POE support. > > Regression tested on aarch64-none-linux-gnu with no regressions. > > Ok for Binutils-GDB ? > > Regards, > Srinath > > Srinath Parvathaneni (7): > gdb/aarch64: Add POR_EL0 register support for FEAT_S1POE > gdb/aarch64: Add custom printing for POR_EL0 > gdb: Improve SIGSEGV diagnostics for POE faults > gdbserver/aarch64: Add POR_EL0 register support > bfd/readelf: Add core file support for FEAT_S1POE > gdb/aarch64: Add core file support for FEAT_S1POE > gdb/testsuite: Add FEAT_S1POE testcases > > bfd/elf.c | 25 +++++ > binutils/readelf.c | 2 + > gdb/Makefile.in | 2 + > gdb/aarch64-linux-nat.c | 66 +++++++++++ > gdb/aarch64-linux-tdep.c | 72 +++++++++++- > gdb/aarch64-tdep.c | 104 ++++++++++++++++++ > gdb/aarch64-tdep.h | 11 +- > gdb/arch/aarch64-poe-linux.h | 29 +++++ > gdb/arch/aarch64.c | 4 + > gdb/arch/aarch64.h | 7 +- > gdb/features/Makefile | 1 + > gdb/features/aarch64-poe.c | 14 +++ > gdb/features/aarch64-poe.xml | 12 ++ > gdb/nat/aarch64-poe-linux.h | 28 +++++ > gdb/testsuite/gdb.arch/aarch64-poe-core.exp | 102 +++++++++++++++++ > gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c | 52 +++++++++ > .../gdb.arch/aarch64-poe-sigsegv.exp | 60 ++++++++++ > gdb/testsuite/gdb.arch/aarch64-poe.c | 29 +++++ > gdb/testsuite/gdb.arch/aarch64-poe.exp | 44 ++++++++ > gdb/testsuite/lib/gdb.exp | 55 +++++++++ > gdbserver/linux-aarch64-low.cc | 30 +++++ > include/elf/common.h | 2 + > 22 files changed, 746 insertions(+), 5 deletions(-) > create mode 100644 gdb/arch/aarch64-poe-linux.h > create mode 100644 gdb/features/aarch64-poe.c > create mode 100644 gdb/features/aarch64-poe.xml > create mode 100644 gdb/nat/aarch64-poe-linux.h > create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-core.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe.exp >