From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80084.outbound.protection.outlook.com [40.107.8.84]) by sourceware.org (Postfix) with ESMTPS id 1ECEE3858C5E for ; Fri, 11 Nov 2022 09:24:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1ECEE3858C5E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=Bh2AfMS7V5QCorb982Nu8YtxniXQVOOEoIEZES74eE928gLTflh96YAqHTrs/rNGOWtqCP10QKxJhIKXk4jGIRBAHHKXbtfa5tXKUSGautfBSQBpVt184Jxif7rK03ErgMdgQup5odN9asWMvFQZLvVzOxRwQnoQLsn0m8Joq/+2WA9JyZx+WA2L+BfodoHzFRQisJlzZp46Jx5mbcSff+3sC+nfPGyU+0Ai2TADDYem3csrLPqCa9OZMoLoUw4aBg3XzsJ3a7QCwgzz/vLmHHu5rspWUS0WOgJPUtuAuPsst/ffUfC/GLLsZdut+YY86knUlVhVU85TTjVeVI44bw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2FK+mHOOcSrtCU91UoXrPo4sFNWWLR/QSPsnZelSTVw=; b=kWW73zTG3TUPDa+sGOtJW4N5b+C8C0UqKtZaMkhxEZi11Y1+kgKl9lAL2DhGL3wMEUWow5+qsoxYnuZLp7pFT2v3LIeOnCE8TYku6KWjxRwcrJGTTpGn/ZX3ZsOkLPX9iLaen3hlCk3NcqCEfngDTbO71VDvVHRu5FGVDGe855d1l4mrza+xce7AmkLPJyv7cUh+0lkNEHCcXbs82OF/k+3H4djbGtBiVMjHvN1HTrP+wWsM7Lc8iFjMvYdyKEH9j4586HpBhEL1jjw2MRB3BEsnWgWKZ5DC13RINo91hlWF2iIwOnuus4/62ESzUYSXtzuqNxV5wcXEOrya/vXElA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2FK+mHOOcSrtCU91UoXrPo4sFNWWLR/QSPsnZelSTVw=; b=AVYSVOp3C4sgnSwJU0nCN0DQbwiuvagglEauEKXTNNGYJ0UOp2cvLvaS5wYKfqxemv7g67BFELOi/PLGKeuRqneQQYVkNk3JnbvguzbsqLXXPXE+MhXyw1Pz5wBzOnGSOjdo1rHOHukBgtaSwxkfVIYHyU2iFCvY20mE9toYIvk= Received: from AM5PR0201CA0012.eurprd02.prod.outlook.com (2603:10a6:203:3d::22) by AS8PR08MB8061.eurprd08.prod.outlook.com (2603:10a6:20b:54a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Fri, 11 Nov 2022 09:24:06 +0000 Received: from AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:3d:cafe::29) by AM5PR0201CA0012.outlook.office365.com (2603:10a6:203:3d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.14 via Frontend Transport; Fri, 11 Nov 2022 09:24:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT017.mail.protection.outlook.com (100.127.140.184) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.12 via Frontend Transport; Fri, 11 Nov 2022 09:24:05 +0000 Received: ("Tessian outbound aeae1c7b66fd:v130"); Fri, 11 Nov 2022 09:24:05 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: f111e4d0a2dbb5e1 X-CR-MTA-TID: 64aa7808 Received: from f5a4b109a4cd.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 34169842-9018-4C56-A22F-99145674D97B.1; Fri, 11 Nov 2022 09:23:58 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f5a4b109a4cd.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 11 Nov 2022 09:23:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YOA655vMvuq4kCvJfvVB14V6ld7k945KuOKS/JszPfS5xxAy+pBal5ia5F6o8Qn1KkQn5cRpje90rLgvcOghTRCOXESSUnjEsroBtwrXDFzrp9YZivnZIxGTsWJRJJ5GKQckzaC5slPw2ywle/FRvi2ngFtLDLdx4tE5hoNo1h7vTUy3fkLKSBsWC5iPFoM5lVwgrZAkCzmYPmeIxoPYKu9bB9k4Yj9ipnMBZ80CX8RntY1gOj9mx3NDNKpjlKSQIjOiNx1TAVIzk/ZX6lGbtnxW9H2VCg75i8tf+CIVqTl7Q43XuERe2tYLri+Ra6l/IjxLLARtnku3t6BhpMVC5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2FK+mHOOcSrtCU91UoXrPo4sFNWWLR/QSPsnZelSTVw=; b=CYVBm04B8y5Iedl0Opu7oNNvwhmwP+wAbQ2KJz+3XDO/7h7kzUPu+N3QPAOh0koW2bMinUkiKhCOzoARBhYGvhypwCxtyppBw4JR2SCw0vXtbXS4IXSzYflQe61mhQ7UdTD7i0WEBIXwW7zyrY12/aaf6akpooeMv2B0jRhaNsbcvjDtTFHchmuxsBhmMmNecNmR43DVnEQUGdxK94A8c/PRjZxF3sDrwT7g9KZiKfqy9wEZ803zKzZ8kEbqhCmy10MuHaaVVdU0Kbpbf7Nix4r9dg/vNefNrUaTbSzAhInq2xefMU/lsKHww0hixiFxMyg9fdWaJivO6FZbV6Mr7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2FK+mHOOcSrtCU91UoXrPo4sFNWWLR/QSPsnZelSTVw=; b=AVYSVOp3C4sgnSwJU0nCN0DQbwiuvagglEauEKXTNNGYJ0UOp2cvLvaS5wYKfqxemv7g67BFELOi/PLGKeuRqneQQYVkNk3JnbvguzbsqLXXPXE+MhXyw1Pz5wBzOnGSOjdo1rHOHukBgtaSwxkfVIYHyU2iFCvY20mE9toYIvk= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by AS8PR08MB9313.eurprd08.prod.outlook.com (2603:10a6:20b:5a4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.8; Fri, 11 Nov 2022 09:23:55 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::f9e6:599b:e673:801]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::f9e6:599b:e673:801%5]) with mapi id 15.20.5813.013; Fri, 11 Nov 2022 09:23:55 +0000 Message-ID: <538abc71-3961-8486-08e0-5d1fdfd6c862@arm.com> Date: Fri, 11 Nov 2022 09:23:56 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: [RFC PATCH 2/5] gdb/arm: PR 29716 Fix FNC_RETURN stack selection in exception unwinder Content-Language: en-US To: Tomas Vanek , gdb-patches@sourceware.org References: <1667641476-31602-1-git-send-email-vanekt@fbl.cz> <1667641476-31602-2-git-send-email-vanekt@fbl.cz> From: Luis Machado In-Reply-To: <1667641476-31602-2-git-send-email-vanekt@fbl.cz> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO2P265CA0211.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9e::31) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB3919:EE_|AS8PR08MB9313:EE_|AM7EUR03FT017:EE_|AS8PR08MB8061:EE_ X-MS-Office365-Filtering-Correlation-Id: 9150d71c-5af6-4f9a-11f3-08dac3c67ae7 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: G0/mTJnkqWk45aU45N9oqoGKWKonddSjfQFLdKcb+4f6P36ZmMY0BUit1+qPP182T6LCkkrqb3T2NLWRkm83iKk+qqpjdnlKLnLc+rTeTeMi0L6nN9ZyKLjGbuzp18sPdA+ZEVUKkAB0LqyoPSHyZqAUzeDP3ilfZdkKSoEKU/Y02+SQeyohwEoxOlj9kUMkYuvZDlYnhwREbWvioJhQ2cQ+Icgr3DzjDlSJ6HK10xK1ByMpBNRcJTeZm80OS9k6vIecbnfQDMD9hFWP5n0tnc/FnKInBEZOhJwnvP/M7oRorDN1s5YBfo+faC5kM1j4GG9rwKiz00uQ64PIihzIBziNUPXPMlGGh0vcX3lf/nsuccV4CJrsbKY/EKTywqTFfC4ZReih+nWdan0ikKyg3dwRFwTfFXGCjKUb+Xd+NLmveqLimJ5zZWNW+keN20bytlahInLB5NQ/8ujurvNZYrh6hx8GYKJ+OfzpfO59Z2rX9M8fZpJbPI7k41uQQ5ttAJ1pR8hspUeLKBRXuJacVqExUACYD0TyuEGclKBRWkri1053GneKDl+mkBoUxb8cvKNw+uRawzOw9y0Uz0W1yZH/QDFKp81wP9ZQIzKwoA3+JZwMqm0hToU22cIeXYMDx/PS6VISgP9hUDGViHvyEhrLNaL0UPuBSmQYyeUP5SQg1WhX/k1+aZJwE59YYqYGL/dwMSGm9Dy/v8PwYHqP/RZ8OvOdkaXKuTsq/eHCxntkQUb8Y/OqYyTqcViuf4ddDcEGr2Uca25KHqR8irlfECcSUAPjyQEG6Ki9mYGL8lc= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199015)(66556008)(86362001)(6512007)(8676002)(26005)(41300700001)(66476007)(66946007)(186003)(44832011)(478600001)(36756003)(53546011)(6506007)(5660300002)(2616005)(8936002)(6486002)(31696002)(316002)(38100700002)(31686004)(2906002)(83380400001)(66574015)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9313 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1b929eed-131d-477d-8a5b-08dac3c6747e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: at57COyksmHAjQ3kv6x876/1TRo03NqDZ9+wZSSzdU21HbK2kjlua1UBdbBJIPV5PAt5xJByW8AbFUh0Oe/kD0lowdNm1BNeX+2/aJiW1IqLG1Auh480Ezv9Q10Mbkt9hLjqwqprXToCFBc+PCiO2lHzBNeFDLosKARXRnQjOJIp/PfkEKdIK7E0go/CPeHEwDmFPtKhv2osN1geTy5y7OFgwzGsZb+L3POalj50Iq8sPkBLZvqWJ2AzQbMkXKuo9ywD565PlK+vBEuZ6idrdX3t5/RNc1Ih/YfjPz4rDIyFmsVjFgIWxicAZDe/lqas2dywINV2s80NH83BY78+6uF/mPeTf+tzTqLcrUN/vnfUYrkLo/QVoVgmEJIQKZXZVD+ZMWyv8dgjWkDWGDKSzEAjllwFxnsirQ3EdKemakjXPnAg2SXEFPc4pYdlP67BbFWmH3mUpdqwjZe1Ej9ikvrNLBU9Y4LMvpqyrfaT2V5bUQ+AH/kWqz8A2rjOaGYWTks3UuZAuuWaf4AQrEPuJDbWXFOydQkbcgwXeyWCyXKU2rxpStBsAckqx8266HwG6BdyLjLOaoJHYeiBXZ+MLoewKK4RzzNajpiGkw8lwD3x3qZGRQ97LgQb7blz+XoCmIEztbe01aYBRG3JvPSrG3yI3I9qoFTMSfnQseA5Js6G8KKuS/0815hZ39obrAXIhDRpZrkqgiX7g2t8g3/iynnKb+NswLfuLXXQ4cK6THWInmz0Tp+dPCOluLM2uI2vzwnH32NtY1uLkmOl9K0AlYVZ2LIe7H3yDlFV8OHYAfCUgYgaXiyAdFKIBFXptgG6 X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(396003)(376002)(346002)(451199015)(36840700001)(46966006)(40470700004)(316002)(81166007)(356005)(82740400003)(36860700001)(8936002)(40480700001)(53546011)(186003)(2616005)(6512007)(336012)(26005)(6486002)(82310400005)(44832011)(70206006)(70586007)(66574015)(31696002)(5660300002)(47076005)(6506007)(2906002)(40460700003)(31686004)(86362001)(41300700001)(83380400001)(8676002)(478600001)(36756003)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2022 09:24:05.8626 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9150d71c-5af6-4f9a-11f3-08dac3c67ae7 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8061 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY 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: Hi Tomas, I'd like to address the performance regression first before we get to these additional improvements. I've been discussing PR 29738 with Torbjörn and have provided some feedback. On 11/5/22 09:44, Tomas Vanek wrote: > Unwinding of FNC_RETURN selected the process stack whenever zero IPSR > indicated thread mode. > > This does not comply > Arm v8-M Architecture Reference Manual > B3.8 Stack pointer > IDMLS "In Thread mode, CONTROL.SPSEL determines whether the PE uses > the main or process stack" > > Check SPSEL bit of CONTROL_S register. > > For simplicity the CONTROL_S is not tracked for changes > in the inner frames, the CONTROL_S value is passed unchanged from > the innermost frame. > > Signed-off-by: Tomas Vanek > --- > gdb/arm-tdep.c | 28 +++++++++++++++++++++------- > 1 file changed, 21 insertions(+), 7 deletions(-) > > diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c > index 564ee43..4180277 100644 > --- a/gdb/arm-tdep.c > +++ b/gdb/arm-tdep.c > @@ -3485,13 +3485,27 @@ struct frame_unwind arm_stub_unwind = { > return cache; > } > > - ULONGEST xpsr = get_frame_register_unsigned (this_frame, ARM_PS_REGNUM); > - if ((xpsr & 0x1ff) != 0) > - /* Handler mode: This is the mode that exceptions are handled in. */ > - arm_cache_switch_prev_sp (cache, tdep, tdep->m_profile_msp_s_regnum); > - else > - /* Thread mode: This is the normal mode that programs run in. */ > - arm_cache_switch_prev_sp (cache, tdep, tdep->m_profile_psp_s_regnum); > + bool spsel = true; > + if (tdep->m_profile_control_s_regnum >= 0) > + { > + ULONGEST control_s > + = get_frame_register_unsigned (this_frame, > + tdep->m_profile_control_s_regnum); > + spsel = (control_s & (1 << 1)) != 0; > + } > + > + bool s_process_stack = false; > + if (spsel) > + { > + ULONGEST xpsr = get_frame_register_unsigned (this_frame, > + ARM_PS_REGNUM); > + s_process_stack = (xpsr & 0x1ff) == 0; > + } > + > + arm_cache_switch_prev_sp (cache, tdep, > + s_process_stack ? > + tdep->m_profile_psp_s_regnum : > + tdep->m_profile_msp_s_regnum); > > CORE_ADDR unwound_sp = arm_cache_get_prev_sp_value (cache, tdep); >