From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) by sourceware.org (Postfix) with ESMTPS id A4D033857C51 for ; Fri, 18 Nov 2022 15:53:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A4D033857C51 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=foss.st.com Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2AICUqeP006454; Fri, 18 Nov 2022 16:53:45 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type : content-transfer-encoding; s=selector1; bh=eWDbOhGl0260y12L2S4Bq3J8QRbJZj/p+pqdHBr4YLg=; b=HwvjA61OzpIhCOYsBW+DiNhlPm3XP3/pp7dbdofe5JTTnsX6iyUEHflDvvjLUx6iqRu9 4zi8aokLGTLL7L/nKuAS6cEMKFgz0UEXK1APqCHtGH3tQ4SBxnlxBiKHUcjjDenhDmWd ZBpLGMiV8O+bIO7eby4y9y6jdN0Cdx+BT2TyXkEOI9WhJ3dfHBI+VPVfGJw0Ugv6Lk9y 8U4d48CIV3JalH3hPp3OstkEvvrXjp1r3R77/ECN9tfP7GchDm2bnsc6SnlghXOACOL4 4qiXgrOIfl/eTxHz6JunSIHbbV3TuMBP5Vjz5ydyp7KL0o6nYI3HjZN0z5ewmkAQQoZx Hw== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3kx0qecs1s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 18 Nov 2022 16:53:45 +0100 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 2A832100034; Fri, 18 Nov 2022 16:53:40 +0100 (CET) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 04EE423C68D; Fri, 18 Nov 2022 16:53:40 +0100 (CET) Received: from jkgcxl0002.jkg.st.com (10.210.54.218) by SHFDAG1NODE3.st.com (10.75.129.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.6; Fri, 18 Nov 2022 16:53:39 +0100 From: =?UTF-8?q?Torbj=C3=B6rn=20SVENSSON?= To: CC: , , =?UTF-8?q?Torbj=C3=B6rn=20SVENSSON?= Subject: [PATCH v2 1/4] gdb/arm: Update active msp/psp when switching stack Date: Fri, 18 Nov 2022 16:52:50 +0100 Message-ID: <20221118155252.113476-2-torbjorn.svensson@foss.st.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221118155252.113476-1-torbjorn.svensson@foss.st.com> References: <20221118155252.113476-1-torbjorn.svensson@foss.st.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.210.54.218] X-ClientProxiedBy: EQNCAS1NODE3.st.com (10.75.129.80) To SHFDAG1NODE3.st.com (10.75.129.71) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-18_04,2022-11-18_01,2022-06-22_01 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: For targets with secext, msp and psp can be seen as an alias for one of msp_s, msp_ns, psp_s or psp_ns. When switching active sp, the coresponding msp/psp needs to be switched too. Signed-off-by: Torbjörn SVENSSON --- gdb/arm-tdep.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 7cb3f5f3050..124a94dc87d 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -504,8 +504,23 @@ arm_cache_switch_prev_sp (struct arm_prologue_cache *cache, gdb_assert (arm_is_alternative_sp_register (tdep, sp_regnum)); if (tdep->have_sec_ext) - gdb_assert (sp_regnum != tdep->m_profile_msp_regnum - && sp_regnum != tdep->m_profile_psp_regnum); + { + gdb_assert (sp_regnum != tdep->m_profile_msp_regnum + && sp_regnum != tdep->m_profile_psp_regnum); + + if (sp_regnum == tdep->m_profile_msp_s_regnum + || sp_regnum == tdep->m_profile_psp_s_regnum) + { + cache->active_msp_regnum = tdep->m_profile_msp_s_regnum; + cache->active_psp_regnum = tdep->m_profile_psp_s_regnum; + } + else if (sp_regnum == tdep->m_profile_msp_ns_regnum + || sp_regnum == tdep->m_profile_psp_ns_regnum) + { + cache->active_msp_regnum = tdep->m_profile_msp_ns_regnum; + cache->active_psp_regnum = tdep->m_profile_psp_ns_regnum; + } + } cache->active_sp_regnum = sp_regnum; } -- 2.25.1