From: Christophe Lyon <christophe.lyon@arm.com>
To: <gdb-patches@sourceware.org>
Cc: <torbjorn.svensson@st.com>, <yvan.roux@foss.st.com>,
Christophe Lyon <christophe.lyon@arm.com>
Subject: [PATCH v4 0/5] arm: Add support for multiple stacks on Cortex-M
Date: Fri, 1 Apr 2022 11:18:09 +0200 [thread overview]
Message-ID: <20220401091814.2782327-1-christophe.lyon@arm.com> (raw)
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.
v4 addresses comments received about v2/v3 from Joel, as well as
others from Luis.
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 | 685 +++++++++++++++++++++++++-----
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, 678 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.17.1
next reply other threads:[~2022-04-01 9:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-01 9:18 Christophe Lyon [this message]
2022-04-01 9:18 ` [PATCH v4 1/5] gdb/arm: Fix prologue analysis to support vpush Christophe Lyon
2022-04-01 9:18 ` [PATCH v4 2/5] gdb/arm: Define MSP and PSP registers for M-Profile Christophe Lyon
2022-04-01 9:18 ` [PATCH v4 3/5] gdb/arm: Introduce arm_cache_init Christophe Lyon
2022-04-01 9:18 ` [PATCH v4 4/5] gdb/arm: Add support for multiple stack pointers on Cortex-M Christophe Lyon
2022-04-01 9:18 ` [PATCH v4 5/5] gdb/arm: Extend arm_m_addr_is_magic to support FNC_RETURN, add unwind-ns-to-s command Christophe Lyon
2022-04-01 9:33 ` [PATCH v4 0/5] arm: Add support for multiple stacks on Cortex-M Christophe Lyon
-- strict thread matches above, loose matches on Subject: below --
2022-04-01 9:16 Christophe Lyon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220401091814.2782327-1-christophe.lyon@arm.com \
--to=christophe.lyon@arm.com \
--cc=gdb-patches@sourceware.org \
--cc=torbjorn.svensson@st.com \
--cc=yvan.roux@foss.st.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).