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 99E6DC77B73 for ; Mon, 1 May 2023 20:05:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229627AbjEAUFG (ORCPT ); Mon, 1 May 2023 16:05:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50768 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232434AbjEAUEm (ORCPT ); Mon, 1 May 2023 16:04:42 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AC2E1170E for ; Mon, 1 May 2023 13:04:40 -0700 (PDT) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 341JmsWL008382; Mon, 1 May 2023 20:04:36 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=adf5sYViL0ZX3HV6C49M3J7bZioKk5pk7v5gr/EtrHQ=; b=LR9yum+WmZLIrqRq3dnafm2A4vap5eAvUDZ5iVvkNndZDJ1DHq2RT3NgNR5BTl2ok1ET 2XT29KF4WfCtk3bncU7q7cDnJcae9bqlC9DGtQk2Xn2NaVnkQDCVsle9yfQeSv4hTSag vI9yJWRcIL+I5IzhUGWnu/tEMx3rJ3kd5fiAyd1r3isbJcm/sv8lQBQb4K/vtlgCY1qD 20S6h9paOTHZRY3hg3gmd4aBKi931fLapk1uRswqYY6uaOGwpaDsV6rLpvtOI1B8RaHi IXcogyLvTGDos1STv5sqXXGfisH9eKwf2v9ecGlp8bEjC+9iSPQwiRItkRMSToLIdBh2 gg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8tuu346c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 01 May 2023 20:04:35 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 341JsUkZ036290; Mon, 1 May 2023 20:04:34 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8sp4uw25-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 01 May 2023 20:04:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=keKoYRiWz3J+jaYyxeQ16/nilZtKOR/vanI8WRp2mPkp2AsQDY+N4GXW0i+AMnvfwjOGyW8ufKbHMYhT3tINjEZQDUWDnPWkSerMECrJkGxh9NfB0rxjsRq1qjr4wCumHfHROJ3hqqoOAq+JajhCEU8WDZPWVWNDnLvosiEChOmznxvzj+r3Qa0EAG9Z72OJReXgDgppl7xTA4C4wzB6T1fqfzwl/k+dq8S3BejFEXZBz3OcDWcYrveKNABZSaJyTHqjJVEVMaA48Y2lyW5+xEuWSrblCSgIrTfyFXQ6aYGqiWmeYN5TdBYKoFRjiJ34KhgvD2rjGjOUbM9xvWKbEg== 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=adf5sYViL0ZX3HV6C49M3J7bZioKk5pk7v5gr/EtrHQ=; b=KxmFl/e38MaGQCB5ylvI0NThBtE0ic2HgEqVVhT1VfjVlGC+Rd8RramJKTefAdvfAHf2g8fOOPgPmpcEENe2ZlnNkPCxcAxenpzD0RtdwS8QAXFl8jytxR11x7L29hk+EZon7UqsC+7sa9p+Bgq6AGsB71Wm42F9tQRuAkaB0WXbcJkWSB0nnu2ss6aeAyUzN3fRIVDHueoMrrRKhSuJI5+A3nFpZ+PbkdtzektG5J+Gmtsk8nfGGHSyDMn03xf/ge/1Blijlzk7QXjxMtvTJV+zzD755uSP46xNkU2iuWs5GtDKtHkh/doz6kxFnAfejeOwRbYvA159nASIvRxl+w== 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=adf5sYViL0ZX3HV6C49M3J7bZioKk5pk7v5gr/EtrHQ=; b=da9431lm+zGl9rph5Yi0iKveD0zAD4N8RB61PZBGzZMoA2aGjtgk71xAdQoQtcUmvElBxVEMXHm3XQTdB8re1kbYlLIxSV7zl8Hu/kq9qwMPmCKxYr64cd5FlPwlmYpDwLT2iujmVFJV7+ykIN1tWDu40B1NitwcQui88dw/3Po= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by SA1PR10MB6518.namprd10.prod.outlook.com (2603:10b6:806:2b4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.35; Mon, 1 May 2023 20:04:32 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::ff1c:f1fb:8db9:22e2]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::ff1c:f1fb:8db9:22e2%6]) with mapi id 15.20.6340.030; Mon, 1 May 2023 20:04:31 +0000 From: Indu Bhagat To: linux-toolchains@vger.kernel.org Cc: daandemeyer@meta.com, andrii@kernel.org, rostedt@goodmis.org, kris.van.hees@oracle.com, elena.zannoni@oracle.com, nick.alcock@oracle.com, Indu Bhagat Subject: [POC 1/5] Kconfig: x86: Add new config options for userspace unwinder Date: Mon, 1 May 2023 13:04:06 -0700 Message-Id: <20230501200410.3973453-2-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230501200410.3973453-1-indu.bhagat@oracle.com> References: <20230501200410.3973453-1-indu.bhagat@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MW4PR03CA0058.namprd03.prod.outlook.com (2603:10b6:303:8e::33) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|SA1PR10MB6518:EE_ X-MS-Office365-Filtering-Correlation-Id: df18a128-818d-4f7b-4b18-08db4a7f470d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2CueIMNqq3oYY5V04uYV7HkKt9uX1pamj8NuG9XBi3h27VEwE+zsZTebk2H78MIc+5QEFw+ZWcEbmYHjVzgknooIJ1Z/aICry5mRPG1Mhr4nYV2J1Vpoom7NrExXAaaaFTUkqgrw7RqE/m37b5sCkNGDjNLke175kV3hHsuLJLW+3LJPRGxC96aUVXOtNUNqvhGfQ0Rim1da7Oqhs4C5k8X+7ZEddJfr3MUlAYYHnbrg7K2rFUmgSEOkMQIEg1N7KZWCuVUj/qWOfe6OO3YgvY4oggYLf/IGX2ICJ5g8YnLYQO+3kYw/iTygZqqfKKl5eG1X/4jLyCnDOqgnCftJrUxd/uUMPD1AHLSYEGu8Yqqzohd+aHHJIJBuz4gMClqNMDH2tkseVIfiCezQkzCwg6MMATYCwpd56JdY43caESmdHnIUahbfuDlLby+60IzE89sSzSUJLdFuq7pYkcx2vnWa9Vv5pGYvfeprFSs5ZJMc7vFl9G7lUh8VR3jKdpgCM32NXIVsP9mrK3IPy/0Q+wj0OJb1/VDwaO2NgLBZvVqZqLzh+CcGIoFFTePkt7P0 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)(376002)(396003)(39860400002)(346002)(136003)(366004)(451199021)(6506007)(6512007)(1076003)(186003)(6666004)(2906002)(66946007)(36756003)(107886003)(316002)(66556008)(66476007)(8676002)(4326008)(6916009)(6486002)(86362001)(44832011)(8936002)(38100700002)(41300700001)(5660300002)(478600001)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TUv29P6xr5JEl5FDoPkSGQ4vTouaUtJr4yMsIV2LKmLJhETwQFGFDAio9P23?= =?us-ascii?Q?UgiD2WMvxI10DJ6/DJ149/fGHDHxmZBKDuPKkEdej6GfBZ/bzn6P+X8u5xad?= =?us-ascii?Q?wKtjMJnwnOe0YkFhgY26Ay12+PeGZmlBqM5gCM/KRmDvAbFGU986hPpmdg3w?= =?us-ascii?Q?oKkG6Z3ofUZGowG+Xw0KbQAkP1V8EZAu8/ZKVtqtm53+OFppx0pBeCaaoqKc?= =?us-ascii?Q?Q/rO8DK84+TkGNnKReSiHLzWP+UbcCVVJ6rxLJ1qVOyhX0zcKjxHEWZa9BBK?= =?us-ascii?Q?3DBdycG/AeEBfe0I4iIieKD0yTGvkBfEcw3LDsZVAVAXb/lH+fQDrmGykTSh?= =?us-ascii?Q?l/Io1CsaNKQMjASQliRjTcEFvJpKt1tKraxjFkhDN6NuJO8G81Zjol2iAqDs?= =?us-ascii?Q?wWGjuao1m0Lvw9erSyjyPEj6b03TedRQO0SwQ19Zu8jocrjcAg94VLVt5umY?= =?us-ascii?Q?WJ46FWvEQN8QXkNqB7s60Lly5QooBmsuZmIrESQh0jEwE988nMUPf4I5lnJd?= =?us-ascii?Q?pMN6Rdd+iuMoKeA0MUFHeXS73R2n94/1XzXYMa+S83cBU45FyvoKFoWLieaR?= =?us-ascii?Q?Gu6z8GiHoeC3eXzbbuCbz1DJuQcXQS95jRH4hmlHJYliZNrpGPGI9EDdlgwQ?= =?us-ascii?Q?WOgdPxILqcpKgu50Dgsz1DJKHivUiZY4URbcal0ojHlmbXC7jJubMOl5IyMp?= =?us-ascii?Q?mL3iGHvL5F96k7s8AX2wDgW+CH/bKs3GI0gm+wuJzp4tzVrI0LFD4pqkZZjU?= =?us-ascii?Q?x2eOUqZiu6ucXaT7P/O/7ZB24gnRzqm854Y3yMWKNDOlsIEHz9stTyzDEYaZ?= =?us-ascii?Q?sIFN79UfElihbWhV0T0nhVYbl46C7LI8FxgMMNYgCKEjAUIm043b4+48tb/w?= =?us-ascii?Q?b/Vfj1HX2sS2FMTgI7JPXh/suKZKa39fdyfcuL6Hv+5lnwGDXq3Ghv9Eerm5?= =?us-ascii?Q?a8idzBmVSpVerGZllCG6sCm3c8GvdLM5kDH2V86y3Ho8VPPPvLJ+SK9D3wr4?= =?us-ascii?Q?qvDwLAG4oqZtLD8PpXzCiJpg7PlO3iQQduVEo/7k1yRInVci08RJIkVvzCBP?= =?us-ascii?Q?siywlv5BCbiixqEEpwPrh67jRdn2AuWhlP6tWii45i8ubW2JR+4/iURpzS+U?= =?us-ascii?Q?WI2yUVLjxiHv/FenrOypOQPAHmD8UhlQcLfa803l4xGPTQXDvRlPI+IajvH1?= =?us-ascii?Q?9kJjs1ol7HHPOaJ+dpEvw+TGt6tTVxO2YKF9WxLO4tOPKAm517VIdj5e5FX0?= =?us-ascii?Q?z7UITAvbil41L7eM8cJSJld3oVkObIsa8HCaNmnzUr3oFl9iJPcNdwnAIOHE?= =?us-ascii?Q?1dq2Re+km8Rw1CaslfPOmMHlMyUnav/+HkJvrA0AlTdA/jM5+0ul/IYm/Fq9?= =?us-ascii?Q?+2e7m4oj9B9yVn/lPEQogSk6PoK7kmzY6nnEuLDTde7Cdp3PGvznRxkNNgqD?= =?us-ascii?Q?VvoSTQwOWEk3ozpLigG8lyDV/kk6FOifmSjEen/SRX7VM9GKbupgkD+MBO/+?= =?us-ascii?Q?C80BOGMLtnqfWSXi10RI6jjIO9aqu2uZeZV7Fg72rrX7PGvI82cqlxbD2JjK?= =?us-ascii?Q?LSqd40iIqSHXi9ETLCjI546kiQLL0BlR60ZgKHgvNIyiVMKaWRqtXwFvOqVU?= =?us-ascii?Q?ZEUlXD1s0874BCG5N26n87A=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: QNQQuOXHAOVaMLCu+dqUMkYNEg/ryqziKUeO1tJW59wAKjfTT1unSWreHnlfOpCqU8NrlNolUFTqZrPu0w79apfYo+I8Ij6NycM81XEbYmiOBMZi9zmeh/baqWdY+BqXikuNHVjOmOrswVYdvJcNubwvm4BP1PwKx417craUtQwiB2l+SRiAPQn7lPmg7Yy6sXuT0tX/XIRsdmL+TSqTuS8B/WxeAu3y1BoP831FdeSw/Ap7OVL76umiWai5yQSyeyfmiid0KFyXUGCrNkDBkyd1fgsUF6HhxINUUVuq87gT87nwKtnoLxZRo4XShk+nDGCV/twAOgh9hKTkRIqGMWtW6IvgU9okkwRGVZDvxOSEm4qDsrJek3VI77SdXT3ku9i6glnfSP+QcmuZrUYw+ITIUib7CTXS/EbnUdBqFF/L5eyFA1Th4zCJiOMW80h7rvJ/ilxSFUN7O5iuEUwH4Fqzy8mL8xMH9qakVU+380UT1kzkXTPwjsWlsB828R8KCjsh7o34tNZNyljtQJTaaGXZaNUf7Jk7n9/MuBOEfLBelTgzt/8ghYFYSI8uGxdVxeuKJaOK4Z+KvhZVCUEPDngNnlhuQHt/IP86aFCfh0JVFMLwkJp6t//taI1G74Iok6oNT1pY/5Ewp+ZmEisQx1g1DckBa1goShuT8VUz4rF5/QaTMkk8cnl5+M4L4L2RILtV4sJB7zNR24pN/pLv+aHdtuctyX5iTWiQpKxpMjzM4fYUdzbnRmVW48sCsWdsj3clAJMfokvuwPMAXAoFwZSe5tM5MmBGKJsz50oY/sB3UbYN2mV40KA7ifnpF3Eb7nfoEPCbtWhEhsxoGGVhng== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: df18a128-818d-4f7b-4b18-08db4a7f470d X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2023 20:04:31.8920 (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: ZXWf7tAdaVAnXeA0KSOA14NEfI+lhIdKjK7vnizks5YaAQer8nvwf33E6ryIkcUbVyYkCOfSaCmW3MOxtjYxnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB6518 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-01_12,2023-04-27_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=927 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305010161 X-Proofpoint-GUID: vrmL4oTX9FeCu4Ba1N4OtO2gXK2VmrwI X-Proofpoint-ORIG-GUID: vrmL4oTX9FeCu4Ba1N4OtO2gXK2VmrwI Precedence: bulk List-ID: X-Mailing-List: linux-toolchains@vger.kernel.org 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 ? Thoughts ? 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