From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 08DBFC77B7A for ; Fri, 26 May 2023 05:32:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233085AbjEZFcg (ORCPT ); Fri, 26 May 2023 01:32:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229999AbjEZFcf (ORCPT ); Fri, 26 May 2023 01:32:35 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4770C194 for ; Thu, 25 May 2023 22:32:33 -0700 (PDT) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34Q5Pnjh026899; Fri, 26 May 2023 05:32:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Yb0MIrnJvnLUDvfT/YZ8sqPZ3Y7mInZ7PKNJF+vUHj8=; b=vvAEvvZ2JtGI/p6Sshm3pX7sPNKhB+uPLV0TOZ0Vl42l2Tx17OsuTFqzKg5QBllyHXCs 37MSFsl2Q6CmPAYORGt+HmBTQlN1ByugnMbwLVJPNDEuhPkOiFmwe7us2z6GmywJV2Tu K64fH5uAacWjViPMHRi+58AwnbG595Z+0ld7gdNWertu5d659NvIaieJFXjsOos0ej7F DBtONXa6fFS6n1g6/7tH9UXEbkCYCJzzYBlGYEh1OhD0YMHMQBZnbmGUhaxBEEfJW51/ 2R5j+eOO1lGdpKz58Wb6kZ08JaOMt6IihKRAqsRKdwumUvdltOMZXiTwTi4aXxomp8JF zQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qtpkm007n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 26 May 2023 05:32:27 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34Q5VfAM029349; Fri, 26 May 2023 05:32:26 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qqk2ush9e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 26 May 2023 05:32:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c97+2MLgezvsOomCkf+fwC+Dc1SaVqeCepZORVExrTFXsVg+eIxKmwoCRzsSg3vniMdSBu5Kyd3MBWb0bsKCbX7gu9N8GZBGa9rv9M3n/NynkHJPhEwzeA3512Jyw+STm03kPSnUlvD31o6K2EDy1KSuXFztV16VmwxFu/niL0px7jWp32K2Sgsvu50ngDRGnoXS7va9N4/Q3DlGlRFb/QufYYrxwTqSvtRTxxWkfxHpAQYEsffcrmGy1QN/Yzu1nYJGPT7BqfStLkqaQVLM781ln2HaAb2oDcFCkKJBzSd6xxj1fjKwEsxfOFgMg9q+sPIbre2C1MMWV48Qft/Bdw== 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=Yb0MIrnJvnLUDvfT/YZ8sqPZ3Y7mInZ7PKNJF+vUHj8=; b=MLjy8J3Xlm2ymu/2YvSs7ceO+sG1SGIYwUL5AGdT61DlzngCT79jLPSeiWqGQQfchTmisNYOVqwRfvd31I6Pvf/6rDvmQhS34N3vjQecq8A8xvJgNkOc0w+i1IRFjRNqT+XHZuWx3u+SLucwywFQrEGmnO/OBHMC+oEeahce8x+WIifMThYoAZnHfbL6oyMi4bgFSDMv+I+tH9r9ot2QAmmML9o3onBWUACdusmKd9FWL8L3ZXH8sZo78sZKhNIFoAqqbRqCCaXS6A4CoIuH/jZT7POZbga9/B+7xwnQYs1Gr4Nh2hvrePFmRGvZj0QB5hXmMfM6HNhsLaKWUNvuFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Yb0MIrnJvnLUDvfT/YZ8sqPZ3Y7mInZ7PKNJF+vUHj8=; b=KJiy2KKQUnNk2KFv9LHSZBoZnF3RwF96Z5ZdQpnkVprOIEuE0E3pq6ZCrhnvN6sPy3xgMxrSX48w9mfu71I78XSodyYcEBMtkseaHdO3eJyNhO+Y7JSfbZIE9z9ytvGYAx7X1BzOvySDUQBYsiOtAAWsWPn3hIzLpauiNms9L3Y= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by MN2PR10MB4288.namprd10.prod.outlook.com (2603:10b6:208:1dc::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Fri, 26 May 2023 05:32:24 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fdbb:b921:1ef:2d44]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fdbb:b921:1ef:2d44%4]) with mapi id 15.20.6411.025; Fri, 26 May 2023 05:32:24 +0000 From: Indu Bhagat To: linux-toolchains@vger.kernel.org, rostedt@goodmis.org, peterz@infradead.org Cc: Indu Bhagat Subject: [POC,V2 1/5] Kconfig: x86: Add new config options for userspace unwinder Date: Thu, 25 May 2023 22:32:11 -0700 Message-Id: <20230526053215.3617580-2-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230526053215.3617580-1-indu.bhagat@oracle.com> References: <20230526053215.3617580-1-indu.bhagat@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MW4PR03CA0020.namprd03.prod.outlook.com (2603:10b6:303:8f::25) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|MN2PR10MB4288:EE_ X-MS-Office365-Filtering-Correlation-Id: eb91c920-3f23-4740-e5ff-08db5daa95d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H5/rGL1kWZ4FLzNvSsZQP9rW/6XrBUTTQM+KsXWgTzxXXwiDjHTc/XvORzD92lSlu3ArNYAg3KGD3JfQsgRmIx8wUD9utgU7jdFZcCKlz8xFqGlHqpaq6M7V+FM4OVPvWRTYVoRiNuU0ghR/rZ+Ez8iM9jK09UKiIOaij47JrpLzMVfX+FbLUDXYjjLSxOHOPdelITsHlTV8EgZXGw6kSUDNPWPSFAcwSyNXGojQs6v7ZeCjNqb/ED4TOesQj9nJ9A+HgrxGPznNfYEdU8YFCJRMKOYOYfPpPx3idl1rmwFyikmn322CR/RFFEZuYlLxkSegZ5saNikezhjXqvWMYgtc57JSjSQLrMpSQgi5eKCd46MEcN2IYpzCxxnCrOBF0jjKdZlxGfOcmbq3+LmewTbL0kkZWmHvn0HqBPai06ot3bJA62PDej8X0poGks+/IgCHs4JB74NEozYBcqoFUwJw+Ax473lcgT+91TGwg7Wm8+of9V22AQ3OIdxMPwQH6heyiaZSDYBrLITYzOdMq0FB+cnXPL4/LLBU7eIxrqwbCylU/OjhpM0yuKPw6Bcn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2158.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(366004)(39860400002)(376002)(346002)(451199021)(38100700002)(6512007)(6506007)(1076003)(26005)(107886003)(44832011)(36756003)(2616005)(2906002)(186003)(66556008)(316002)(4326008)(66476007)(66946007)(6666004)(41300700001)(478600001)(6486002)(8676002)(86362001)(8936002)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?D1p6aeau2QLTLCqUMimTXY4fd1/NZNIdhBHHhwti/Ick/Oj33hbLQb1JXXwc?= =?us-ascii?Q?kdHIpNycpQC57z0Ynj8VNonPwT6bvgOxzQZZA5I06Oj3fvIJDy3iZloofqMh?= =?us-ascii?Q?73Ovy4/bToscl0OK+ujl5HzYDdoyXJzbP0dRoW0wMN4uPPPG1bNoF8FIR6Oq?= =?us-ascii?Q?vgyuXWPyTJs1oIGXdVfcSB8qf0aFV7sSpdspY8TkQxO92InF9Dq0C88ifC1e?= =?us-ascii?Q?AJEv5+f97b1H/5QhxtCKFTBNXAtKig2TPjFAUhYHYbFi9XYQStaQHkId77si?= =?us-ascii?Q?yVapnbQLBvmUblfxYkHr4uOUI8u7QP1w1t7pAOdh8RWJ7luhJEH/e/IqmkqY?= =?us-ascii?Q?Bb4WRtyIFlMU4ssjTIR8sK1ezDpdCgVd1BNdbraARlCk6gXpmDj+QFQg2rtg?= =?us-ascii?Q?m6CC67azdInEIjcz8es753W2dWhz/MMjz6sLwjLX6RhPbQZOXCcle3PBIjN1?= =?us-ascii?Q?AEGMSUNWkdOoaSFawf6qqaN/4IVkWWZ2QlTE/ZALHMTD1yPwfbic/j77eZr2?= =?us-ascii?Q?2s6dp0m5nRzLiHYX12+2H9dZau7CZrX/g+y6mw3gEb0JS3+5IdMmwtLzOber?= =?us-ascii?Q?i0RGI7YrmsCN3yUGgEZJxjiewuqjL8Rhu4S9LH6S+bm4cDthXtxHadZC2EOw?= =?us-ascii?Q?qUPJc60wsA876LdRdLkNkPR75v0vcg2UZvWA298pIyF24KYBmgqbGG+iDhOE?= =?us-ascii?Q?mx+rCrQLonRqnl0Gf5qJOaKz66UxYcIIro0nUcK8M7BXDbqUBovyDy0MiDxR?= =?us-ascii?Q?3vzRwOCeHlW4DmdfQwjr/AfJEt1KVAMEfXg9tBZFJXt0smgZvbqEpWF+Cd+O?= =?us-ascii?Q?tO6C9zJceUs8mCd8/wQAcTJe6TBCa5haUbYi4tCSNywZOQwKqicOaicc3EHq?= =?us-ascii?Q?zzFBvw6BFgfzMmnoGSLzKvxkuQgHfTbtSM2CoOU18W9GCk+F/r/rVQsk7EbX?= =?us-ascii?Q?y4gXgB8fNkK50XiWJgDJC43HCdbd729tAeIsDYtSfe1OvaUhkfgXCN7OygC/?= =?us-ascii?Q?dLLe8Cll3XQnCaRzJ9nQ3lqf+1Bu7eFQsgaXkzHKIlpdEoL3k8QuYBUqSfD8?= =?us-ascii?Q?Fgn0IJFNA+xULWssY9MFb+ovdXlFdMj+myqudmduJ5WmcA5ZfOoYg+sefd/b?= =?us-ascii?Q?FAVwPcW4+ysAg+uLZ3T1zMbGJnqApebCqPGRMmflPeqtz7nBajoSUkbzWHS3?= =?us-ascii?Q?zID7dgoj6glAmAfw3eNX25TvNOxltFhXUxPSNSuUjumLBVnDFD/2WAnZBY0s?= =?us-ascii?Q?IsXagB92n6nwPz8ZJCqZrM17/sldOzGp4+vvl9VrzTr+b8Um1k3DJFBUrUvN?= =?us-ascii?Q?DYokpUIsCoVjpi5eCnT8ffVJoULbQnlfxyS2SZNhIE+igYRFLIJn3+/WZGSX?= =?us-ascii?Q?5QA8DV+F8U/++foLTjdzgPhgpcmNb25S1ThZVYQ2yS0f7HNAuUinBTdLxMxx?= =?us-ascii?Q?c157zMUZe5m9GKf1eKPQg+E/+BG/khnIRn7b9zwgJ5GHrr6wpC0QlBNXP4n2?= =?us-ascii?Q?HKStRQqCJEbpWtLW2iRZDHywo3vcHkLJkqN6L/cXUc2yKtz9vXp27RDToDR/?= =?us-ascii?Q?gUVZNnALpuLhMmu1sUvnH8mMWnoGz8SvKyxNJoP3?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bJ3pcipBwqDipnc1tjp6yc+MVLoL1ze1H+asYvNHpkMUFwzfyzg0xnVR2FMMeb8vXIJH+icu+piDjVlP6LN+GQiafjPqEjcUBWBDAIHBaIVpbSZuV0nKNgArbBkMxmKsb4CXllyw27mR6JPPoACFzAfyuDPF844gOVZWVeLfbI0mzhhYR7blzycR0M8PVpLrcohylLxkbK6asIwMc7AL0JeaMLrizdN0Sw57MYX64EZ8MksQ4z6Z91UcaAA9a8HKmRLeHuiMy5MK6hASv4pctSuSqIMJA9DqoUgLZMUKEHO0SRLmZE+k/67QLZHZ6NXIiCctub+Xg+2Pz4/hE+Mg18oFOdsyVpdywVKOYIIuFgULxbIbA7rqtRsfbOYFJyUnm87xRgFtT1hJzMFgXFivN+AzN650+qFVfN4bpBlekXXYB2565Vx2zSbeSAelLrJXJC3hWir9dwc8jm4eew3GxwG6n9di8zOcJd5j6t2tC1a/pfuadjmpdM2HUJPLCsUSRSnBCyMlS0QwKuxrLIzC736bMNuwwHYVAdovFBr0n5Cvqq0LvwOkey/E6xKB9KZqUwyQ/Yl4jLbe57qQh6WOCptufnCadcXep2gK2DsE6ITLvF+cac8zB4zMiiASZSwq/Qb+YnnBuZ5yy6p3hq0uPzI/DKSuoYy2pD98jOT3/659bx/h78gphCUpzEjLRZW4HiLYMXASnc8lKIUTXxZdeUOZZhM9t/tgn1PlMlvL4cEyHKMpB5lcN8M4XQjs/Zl2nqXOLKFucSD273VlKyot9GiQWzCanbJQdMfts6ZA2Ud+Jn6BA8eWNLEXILB6fyXhuDHb3D0PFGXv/RXzq41e/w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb91c920-3f23-4740-e5ff-08db5daa95d3 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2023 05:32:24.4919 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HMnyehmLFu7Gw0mGaSqpEyM3YhoKzIWQYdHiFKWAFO9Ko1DPDmZQiHYfKfiruvAz2ka6f94WG/S9Id5tJkxizA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4288 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-05-26_01,2023-05-25_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305260045 X-Proofpoint-ORIG-GUID: vWFKfJTtVamDZ3Wg0n1sgiyw-NfCvPUG X-Proofpoint-GUID: vWFKfJTtVamDZ3Wg0n1sgiyw-NfCvPUG Precedence: bulk List-ID: X-Mailing-List: linux-toolchains@vger.kernel.org [Changes in V2] - No changes. [End of changes in V2] Add two config options for userspace unwinding: - config USER_UNWINDER_SFRAME to enable the SFrame userspace unwinder, - config USER_UNWINDER_FRAME_POINTER to enable the Frame Pointer userspace unwinder. As users may still compile their applications without SFrame sections, the userspace stack tracer falls back on the frame-pointer based approach (if SFrame section is not present for the user program). If an SFrame section is absent for a subset of the running program (e.g. a DSO), a best-effort SFrame section based stack trace is returned. TODO - may be rename the existing CONFIG_UNWINDER_FRAME_POINTER etc. for the kernel space unwinder to CONFIG_KERNEL_UNWINDER_FRAME_POINTER? WDYT? Signed-off-by: Indu Bhagat --- arch/x86/Kconfig.debug | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug index c5d614d28a75..e7f928dc8d9f 100644 --- a/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug @@ -275,3 +275,34 @@ endchoice config FRAME_POINTER depends on !UNWINDER_ORC && !UNWINDER_GUESS bool + +choice + prompt "Choose userspace unwinder" + default USER_UNWINDER_SFRAME if X86_64 + default USER_UNWINDER_FRAME_POINTER if !X86_64 + help + This determines which method will be used for unwinding user stack + traces. + +config USER_UNWINDER_SFRAME + bool "SFrame userspace unwinder" + depends on X86_64 + help + This option enables the SFrame unwinder for unwinding user stack + traces. + + User programs must be built with SFrame support. If not, no SFrame + section will be present in the user program binary; in such a case, + the userspace unwinder defaults to frame pointer unwinding. + + +config USER_UNWINDER_FRAME_POINTER + bool "Frame pointer userspace unwinder" + help + This option enables the frame pointer unwinder for unwinding user + stack traces. + + On some architectures, user programs must be built with + -fno-omit-frame-pointer to ensure useful stack traces. + +endchoice -- 2.39.2