From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id zYpPDb1CEGBELgAAWB0awg (envelope-from ) for ; Tue, 26 Jan 2021 11:26:37 -0500 Received: by simark.ca (Postfix, from userid 112) id 24AD71EF80; Tue, 26 Jan 2021 11:26:37 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 7F2A21E940 for ; Tue, 26 Jan 2021 11:26:35 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9EC54385EC56; Tue, 26 Jan 2021 16:26:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9EC54385EC56 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1611678394; bh=LIMeYHqxjmjNoxd2rGXhjpXaoDXdKWh8Oe19k+L1LEs=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=fWwfUA3UFhPV7yCYhTmtqwFgENahX7Q0jO6Be/HapL0x3VFzAiH9Nv2CVIzGBcvvF BMJ4Ctso9brlr7lVvEHh7tNiq5/E3ENau1Dp4At/pzVrroYMES3gCQbQN3Lda4dcKi dlrB0JKvvuS0qA7SrFUO9nQq8lnxnK3cgBIW4Wgo= Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id C5456385802B for ; Tue, 26 Jan 2021 16:26:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C5456385802B Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 10QGQPWc007754 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 26 Jan 2021 11:26:29 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 10QGQPWc007754 Received: from [10.0.0.11] (192-222-157-6.qc.cable.ebox.net [192.222.157.6]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 22CFA1E940; Tue, 26 Jan 2021 11:26:25 -0500 (EST) Subject: Re: [PING] [PATCH v4 00/25] Memory Tagging Support + AArch64 Linux implementation To: Luis Machado , gdb-patches@sourceware.org References: <20201230153916.1586725-1-luis.machado@linaro.org> <3ced805e-edef-922a-4181-b15f75e0e59a@linaro.org> Message-ID: Date: Tue, 26 Jan 2021 11:26:24 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Tue, 26 Jan 2021 16:26:25 +0000 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Simon Marchi via Gdb-patches Reply-To: Simon Marchi Cc: david.spickett@linaro.org Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" Just wondering, do you intend to update the settings as suggested here? https://sourceware.org/pipermail/gdb-patches/2021-January/175198.html Simon On 2021-01-26 8:03 a.m., Luis Machado via Gdb-patches wrote: > > On 1/15/21 1:02 PM, Luis Machado wrote: >> Ping? >> >> On 12/30/20 12:38 PM, Luis Machado wrote: >>> Memory tagging improves memory safety by tagging various parts of memory and >>> raising exceptions when the allocation tag (the one associated with a range of >>> memory addresses) does not match the logical tag contained in a pointer that is >>> used to access the memory area. >>> >>> We already have an implementation of such a mechanism for sparc64 (ADI), but >>> it is target-specific and not exposed to the rest of GDB. This series aims to >>> make the infrastructure available to other targets that may wish to support >>> their specific memory tagging approaches. For AArch64 Linux this is called >>> MTE (Memory Tagging Extensions). >>> >>> The series is split into a set that deals with generic changes to GDB's >>> infrastructure (target methods, gdbarch hooks and remote packets), a set that >>> implements support for AArch64 Linux and one last set that implements new >>> commands, updates the documentation and adds tests. >>> >>> The goal is to make it so the architecture independent parts of GDB don't >>> need to interpret tag formats, given the formats are likely different >>> for each architecture.  For this reason, GDB will handle tags as a sequence of >>> bytes and will not assume a particular format. >>> >>> The architecture-specific code can handle the sequence of bytes appropriately. >>> >>> Luis Machado (25): >>>    New target methods for memory tagging support >>>    New gdbarch memory tagging hooks >>>    Add GDB-side remote target support for memory tagging >>>    Unit testing for GDB-side remote memory tagging handling >>>    GDBserver remote packet support for memory tagging >>>    Unit tests for gdbserver memory tagging remote packets >>>    Documentation for memory tagging remote packets >>>    AArch64: Add MTE CPU feature check support >>>    AArch64: Add target description/feature for MTE registers >>>    AArch64: Add MTE register set support for GDB and gdbserver >>>    AArch64: Add MTE ptrace requests >>>    AArch64: Implement memory tagging target methods for AArch64 >>>    Convert char array to std::string in linux_find_memory_regions_full >>>    Refactor parsing of /proc//smaps >>>    AArch64: Implement the memory tagging gdbarch hooks >>>    AArch64: Add unit testing for logical tag set/get operations >>>    AArch64: Report tag violation error information >>>    AArch64: Add gdbserver MTE support >>>    AArch64: Add MTE register set support for core files >>>    New memory-tag commands >>>    Documentation for the new mtag commands >>>    Extend "x" and "print" commands to support memory tagging >>>    Document new "x" and "print" memory tagging extensions >>>    Add NEWS entry. >>>    Add memory tagging testcases >>> >>>   gdb/Makefile.in                        |   3 + >>>   gdb/NEWS                               |  36 +- >>>   gdb/aarch64-linux-nat.c                | 127 ++++++- >>>   gdb/aarch64-linux-tdep.c               | 336 +++++++++++++++++- >>>   gdb/aarch64-linux-tdep.h               |   3 + >>>   gdb/aarch64-tdep.c                     |  40 ++- >>>   gdb/aarch64-tdep.h                     |  12 +- >>>   gdb/arch-utils.c                       |  50 +++ >>>   gdb/arch-utils.h                       |  23 ++ >>>   gdb/arch/aarch64-mte-linux.c           |  73 ++++ >>>   gdb/arch/aarch64-mte-linux.h           |  75 ++++ >>>   gdb/arch/aarch64.c                     |   7 +- >>>   gdb/arch/aarch64.h                     |   7 +- >>>   gdb/configure.nat                      |   3 +- >>>   gdb/configure.tgt                      |   1 + >>>   gdb/doc/gdb.texinfo                    | 233 +++++++++++- >>>   gdb/features/Makefile                  |   1 + >>>   gdb/features/aarch64-mte.c             |  14 + >>>   gdb/features/aarch64-mte.xml           |  11 + >>>   gdb/gdbarch.c                          | 137 ++++++++ >>>   gdb/gdbarch.h                          |  53 +++ >>>   gdb/gdbarch.sh                         |  36 ++ >>>   gdb/linux-tdep.c                       | 378 +++++++++++++------- >>>   gdb/linux-tdep.h                       |   4 + >>>   gdb/nat/aarch64-mte-linux-ptrace.c     | 200 +++++++++++ >>>   gdb/nat/aarch64-mte-linux-ptrace.h     |  50 +++ >>>   gdb/printcmd.c                         | 468 ++++++++++++++++++++++++- >>>   gdb/remote.c                           | 227 ++++++++++++ >>>   gdb/target-debug.h                     |  24 ++ >>>   gdb/target-delegates.c                 |  95 +++++ >>>   gdb/target.h                           |  41 +++ >>>   gdb/testsuite/gdb.arch/aarch64-mte.c   | 107 ++++++ >>>   gdb/testsuite/gdb.arch/aarch64-mte.exp | 369 +++++++++++++++++++ >>>   gdb/testsuite/gdb.base/memtag.c        |  22 ++ >>>   gdb/testsuite/gdb.base/memtag.exp      |  66 ++++ >>>   gdb/testsuite/lib/gdb.exp              |  16 + >>>   gdb/valprint.h                         |   1 + >>>   gdbserver/Makefile.in                  |   1 + >>>   gdbserver/configure.srv                |   2 + >>>   gdbserver/linux-aarch64-ipa.cc         |   8 +- >>>   gdbserver/linux-aarch64-low.cc         |  97 ++++- >>>   gdbserver/linux-aarch64-tdesc.cc       |  10 +- >>>   gdbserver/linux-aarch64-tdesc.h        |   3 +- >>>   gdbserver/remote-utils.cc              |  43 ++- >>>   gdbserver/remote-utils.h               |   7 +- >>>   gdbserver/server.cc                    | 219 ++++++++++++ >>>   gdbserver/server.h                     |   3 + >>>   gdbserver/target.cc                    |  20 ++ >>>   gdbserver/target.h                     |  21 ++ >>>   gdbsupport/common-utils.cc             |  49 +++ >>>   gdbsupport/common-utils.h              |  15 + >>>   gdbsupport/rsp-low.cc                  |  49 --- >>>   gdbsupport/rsp-low.h                   |  19 - >>>   include/elf/common.h                   |   3 + >>>   54 files changed, 3654 insertions(+), 264 deletions(-) >>>   create mode 100644 gdb/arch/aarch64-mte-linux.c >>>   create mode 100644 gdb/arch/aarch64-mte-linux.h >>>   create mode 100644 gdb/features/aarch64-mte.c >>>   create mode 100644 gdb/features/aarch64-mte.xml >>>   create mode 100644 gdb/nat/aarch64-mte-linux-ptrace.c >>>   create mode 100644 gdb/nat/aarch64-mte-linux-ptrace.h >>>   create mode 100644 gdb/testsuite/gdb.arch/aarch64-mte.c >>>   create mode 100644 gdb/testsuite/gdb.arch/aarch64-mte.exp >>>   create mode 100644 gdb/testsuite/gdb.base/memtag.c >>>   create mode 100644 gdb/testsuite/gdb.base/memtag.exp >>>