From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by sourceware.org (Postfix) with ESMTPS id DAAAE3858D20 for ; Fri, 4 Feb 2022 08:41:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DAAAE3858D20 Received: by mail-wr1-x42a.google.com with SMTP id k18so9896043wrg.11 for ; Fri, 04 Feb 2022 00:41:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=gzDb8ra1dNqa6EcgUJ+9snryHS9Wxgiu8zF/TKZmeTs=; b=pnWRvpOXvOzldQhfWB35xvpVy+OLeY4Ten6MDFq+rdMRVidsb5TCJ6CiYpJO3S8mii FXcAqz3kWFKI4+qG/C5jgbtsZ9lJS+Fv+cvX8N/hH1P+F3TTnsCYQCDfm4IRw6tHYNz9 jFvy7Wlq1LRyONzg1kAyUajqwLujD5gjJ9TQv8pdDqq78pO6vjGUHvVToMcBl07CVQgi WWTOuy59tL71ZkPjAG8xDDE8mygNEmZ95Snw2zkW6vn2eQMHNTZzuEIy7bVDQYVEVMSm Oj8TQmyo6cFN4BdhJe7Z4zb+Ai99jWHYp8joJLJv1lMNLAs4LHTlkbreJRTguTzmaLky WA0w== X-Gm-Message-State: AOAM532cRXHl0f0Ol4do6myRtkq2EewVPMhItPTy0YfhEZ2+ypMQ/wnJ 6xoeDlyxRWROtjG1fbmcbBWjmy1Y1gDryQ== X-Google-Smtp-Source: ABdhPJzKVoY/IICoNkUSd/LqiKS3uFcdWa0jWVcFpwWEwnmGOspQyi9f+iXIu/ZQcXkVb2K/INuPFQ== X-Received: by 2002:a05:6000:186a:: with SMTP id d10mr1484740wri.621.1643964117910; Fri, 04 Feb 2022 00:41:57 -0800 (PST) Received: from babel.clyon.hd.free.fr ([2a01:e0a:203:b210:afd3:bde6:6149:fc73]) by smtp.gmail.com with ESMTPSA id y7sm1198617wrr.74.2022.02.04.00.41.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Feb 2022 00:41:57 -0800 (PST) From: christophe.lyon.oss@gmail.com X-Google-Original-From: christophe.lyon@gmail.com To: gdb-patches@sourceware.org Cc: torbjorn.svensson@st.com Subject: [PATCH v3 0/5] arm: Add support for multiple stacks on Cortex-M Date: Fri, 4 Feb 2022 09:41:46 +0100 Message-Id: <20220204084151.14480-1-christophe.lyon@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org 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: , X-List-Received-Date: Fri, 04 Feb 2022 08:42:00 -0000 From: Christophe Lyon This patch series introduces support for the multiple stack pointers on v8-M architecture (MSP_S, MSP_NS, PSP_S, PSP_NS). This enables to unwind through Secure vs Non-secure context switches. Along the way, the first patch adds support to detect vpush instructions in function prologues, which in particular is used in the CMSE trampolines. v3 fixes two small silly mistakes in patches 4 and 5. Christophe Lyon (5): gdb/arm: Fix prologue analysis to support vpush gdb/arm: Define MSP and PSP registers for M-Profile gdb/arm: Introduce arm_cache_init gdb/arm: Add support for multiple stack pointers on Cortex-M gdb/arm: Extend arm_m_addr_is_magic to support FNC_RETURN, add unwind-ns-to-s command gdb/NEWS | 5 + gdb/arch/arm.c | 6 + gdb/arch/arm.h | 1 + gdb/arm-tdep.c | 698 +++++++++++++++++++++++++----- gdb/arm-tdep.h | 10 + gdb/doc/gdb.texinfo | 10 + gdb/features/Makefile | 1 + gdb/features/arm/arm-m-system.c | 15 + gdb/features/arm/arm-m-system.xml | 12 + gdb/features/arm/arm-secext.c | 17 + gdb/features/arm/arm-secext.xml | 15 + 11 files changed, 691 insertions(+), 99 deletions(-) create mode 100644 gdb/features/arm/arm-m-system.c create mode 100644 gdb/features/arm/arm-m-system.xml create mode 100644 gdb/features/arm/arm-secext.c create mode 100644 gdb/features/arm/arm-secext.xml -- 2.25.1