From patchwork Fri Feb 7 01:20:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Brennan X-Patchwork-Id: 13964180 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 242E62417EF; Fri, 7 Feb 2025 01:21:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738891284; cv=fail; b=bCVQvS6MHZjIi5668mrqGw+RjgESaWZxdH+a3PWtzuC641N6dxEtXzyWfvP3KWqBvMZwR5uPA7ie6s3IdXdmAWMn8ca26+LiuftbDKGpHKj0CNs8pdJey5Nj+obwH7aEJznnmAXkdgqzWYoFXUKhYaK4rBU3hlIGsH1DpvJcBRg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738891284; c=relaxed/simple; bh=QUYfgGRhi0TwTGaKy5Al6N+Nv7sVotDNO65l4atUT14=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=JBzioL4OFXivGoABWEuFfi/BhmACZxqBp7aAuQ0XYrF1vpSEoeYrHlJznl5AG0z2TP9OcJrufqju84ENtya/6x7aqMQ27xdT9sg/H2jiAUwCHaEXhi91ZGPR3FpoXzAv19riKazGiuI67DOzLjwm6RN29Yl4v2BBpYpQj/OxWXs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=euX4Um3p; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=oreDiCHr; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="euX4Um3p"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="oreDiCHr" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5170MrUg029083; Fri, 7 Feb 2025 01:20:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=GAleTSn3aKbMSnrtGtVDgfhp/Kp68OP4sIdwgjJzvf8=; b= euX4Um3puM733thMGUL1RIsefm0DjQgkhU6F6zGDi2yKhlegZOztKmcihGII0w+p qKCS0UBSH6Abu+VDkjzwcSpyUPOEOuoc/MQgArb2urREhhx41ylHE8E6vkCxDWzD vyhG8tRXiWPOnnOXJVU9Kjvs4qPxft+F10paijb0Uh0I+/TbpWJcykI3xTsSXuqf +tcya0PXtRlDwA5PbQ5t8tWzRfCw3Bky8M3SsydZcABHtgo6Z1PiUr/+z8AQLDjB +vV1JFKJ81SPAKH2pVf+UITIieJLD//9DZPkdYWY3wJxy4YsDYQg3KAob2ekr6XD o4ivII+XjKb8Y0ru6LXCEQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44n0nb0ukj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Feb 2025 01:20:57 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5170p70T028002; Fri, 7 Feb 2025 01:20:56 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 44j8dqx72n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Feb 2025 01:20:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QevvI01JgpbiSkrpfBDlBTKSkg7cBauNoLLS8hAGiSag8eTejhSerXY+D7rWBzNPxyYGkwNhjeMiXicd04PQJTOk67XIRxwV1OS3XA9CKUIE4IJGpGnt9tgfHkyaIVIFMseuGRecDebsYB9SyrEld/4XxVzEt9Jw0sv2mBzdqWTJ9Rb8vD76Eb06dApWbyGcQPk+/BGmxXiOR/TpHq5+PiWYp424LccDqSZNeIeO1NHdqprlbuTVeBMiwXBUxC2URCd8RsDCmuy7Mjo5ezeY8ZnykSc69t2ezTxM26DGKUWLvQwclI+SPlhyuwcbXEcI8RP70MLR5bZ8NpHbe/rOQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=GAleTSn3aKbMSnrtGtVDgfhp/Kp68OP4sIdwgjJzvf8=; b=EDE9Ka//drlBnPwep4Gfnrg/6VWVAkyP2PgBt1mHGzPL5I4ccOt+E9xyM4A2s/sLeZhp2DNs4F6a8Y2G21kJd9chkDwkbqcDmB1LlhAcouBoeHe7q1h5zwDkE9tck4QcPIQz6plhn79yLyeclZPeWMxMdqWGl0z3YaK66XTqwR0DwrYmjHQ08b4MQVfl1EKYQB2R0Y9Z8rKfspOTSjUzrMTPhlr7V9UfbJrqhW5Wf32HPBPyojF4eBSHJydJ10ZOgLvWd8yx1aDt7YDGUYHO/ZmBS5IJqUzhyRCRtxBY3+JRyNzcBf0Gmx3kQkZVXnb7N9nBulYNZc2DOOjSSxV0VA== 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=GAleTSn3aKbMSnrtGtVDgfhp/Kp68OP4sIdwgjJzvf8=; b=oreDiCHrYLgcv56Ruq7chhlvyw6B9o8NnbX3xE8I665IY0jgyAfxR/xgYktnlnHaQFwhhwHJy1wZ/5wqiTMRaZKmi0QZmvq0nkt16BX6v+XIB76fN9f2mwIDbxp4K0ieR3jQ30tP1Q9k1hYse/4TsAZqfKvg/K0goj1RzrkiOdg= Received: from PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) by MN2PR10MB4319.namprd10.prod.outlook.com (2603:10b6:208:1d0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Fri, 7 Feb 2025 01:20:54 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca]) by PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca%4]) with mapi id 15.20.8422.010; Fri, 7 Feb 2025 01:20:52 +0000 From: Stephen Brennan To: Arnd Bergmann Cc: Masahiro Yamada , Andrii Nakryiko , Nicolas Schier , Kees Cook , KP Singh , Stephen Brennan , Martin KaFai Lau , Sami Tolvanen , Eduard Zingerman , linux-arch@vger.kernel.org, Stanislav Fomichev , Kent Overstreet , Pasha Tatashin , Jiri Olsa , John Fastabend , Jann Horn , Ard Biesheuvel , Yonghong Song , Hao Luo , Andrew Morton , linux-kbuild@vger.kernel.org, Daniel Borkmann , Nathan Chancellor , linux-debuggers@vger.kernel.org, Alexei Starovoitov , Song Liu , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH 1/2] kallsyms: output rodata to ".kallsyms_rodata" Date: Thu, 6 Feb 2025 17:20:43 -0800 Message-ID: <20250207012045.2129841-2-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250207012045.2129841-1-stephen.s.brennan@oracle.com> References: <20250207012045.2129841-1-stephen.s.brennan@oracle.com> X-ClientProxiedBy: BY5PR17CA0017.namprd17.prod.outlook.com (2603:10b6:a03:1b8::30) To PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) Precedence: bulk X-Mailing-List: linux-kbuild@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6597:EE_|MN2PR10MB4319:EE_ X-MS-Office365-Filtering-Correlation-Id: 48fdc792-7f05-4f7f-4dc0-08dd4715a9f1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: f7l82P8RuQKfoOnSF0DCr1TJgNLdHzi84aDUchOkphPUP5nc+s4sYit4EtQ1asQSRBKw0t22BrrHvbu7ux7KdhYpNKw0lV4hS628bjfmnS8CsYMqYY443zciyYBApHDl3nG1ynSX8NKr3gB5gn7HURYl0KTTnqPweXJujJg5IA6bFmlZb8JzyYcu/z+A9sdsrbaldaz0LC49+EERmSt6PtAL4wcelJhWayrOVzdxGG6izUeJd1eqI3gs5pOhciODi8OlD6fh64qko5BeCUPn7lrNgDIOYODAfGwCt5HJwMCLrT1rWnoVBIiwKXJwgd5VsK+luxxwlJQcrbOS+Q4d41smcJpk7h7GZvlvtapX7+x8sm6gte/wdSF+aB7w17OfcX/rxlo+G8lacmBqXMJa3A8VEZLAzMjVRQZCGa00yFiyV8pe5Rqz9Wf3HrzDvxXzduM6afJd2YoJv5LVKNcMa71ugWiDFpK1WaGmdgQxpcwc9FsbP2tWjh2fzTnWTncNUyin7k5YpA9QeMF/j+GHHky2QOBMFR4WhbdxmJE5yv7rVO5K0Rwel5NvRsbb+CgdN2Gm4meEry9lElls5y7yGih+XAEr2CXlkTAw8TZQekNHPcjrHIKGBlhKMfXlPECTzctKp2M4JlXLE5F7xJdB3MCjvo2GsUtdVVa88OQ7OD2qQLlHyL7WZhzHCaReQBbDstzW7uiMYLqIcCpQrEEoBN84bcYwcXF/20iYiNSQ6/U8WN/auGDvWYpqxXrDqG2clbHBUePaunoP1Lhm5Z2zffeNkiRweiT7QHRvQ5k4jQJ6+KRn2B+KxmdiLBYIRzYZwnu4/vwx+SLdWyw9kvHfG/XaHfF6fM0qdoL/0mZMhnhbuAa5ouu5TY9ifjRviYzDnmcf3PpnJ5XKGJ/7OkWU0BSsJYjYDCJU/BU7IB5C+lKzLJL72444y/SZZZkTT7GtGaXLbc86XYFXYkHA1FahusWP3oNwtdGZF6vPkXBSp/+iH9g+80pw/eE3q3fjixWecFUMcbvUpiTvlpWvYm1p4GJskxlnYHEdY8JF/okS8wN+KtM+fBoMYeDBGmnuHO2C/8ui8Zy6xGPILiQGLcaFuti5Tqn5bIQuDD76qF/zmr/N0hlWgtQU+xrarX7EfZFBPsmvHoS5aa5Q9XBlo8GlK6bkBm25dZ6zQOVhal+FQPIWrcimfylg90MT5aMWXYCHDTc+AhBjbxMBbi33wVKW+JXL+As/tlAWhrAICpHIc2nTEZTcBt6/qw9hM1n4FiVrZ/cOjh/Y7Xxjqwd+fgAt9joGuTCU5wonA00p6OkS2vtN+aA3/PJLjxH2OXgIr5/Xr0I0S5o8qj8lrD6ivvLxISPmivJPnQasA/frWL9iRmJvMUgtnBkMJMufwwrMIoZl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR10MB6597.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AFBMhxM4mlUFqAgenheiP8WQ3djy1sX6R4ffmhfDyEMNi/0fxf7nEV5rwEmLvrQaar6JkfQXmG//b6kv2s5U8bApJYVVunWC+BTnXYvHttT+tCxAjYAmydhfOQSNow89IhbCsi9+x1sCsTStbJogT+4vRGI5SL+C+Tk9BHQLojRWqGtYjfkfwnxVVG3n+XQaQxj5aysAC3T3seLrC6R4xEKCuwqyYFvt984QFvJ62DkftMSB8/pUXMjTRckpSOOrn0bylm4Th5H75ni2rxtkYy8UPzn1paRRSLnyIId9UDPMJp2Dinw0ER/zTOJGyAorzugorsFahPn5YrgHrWqGemwdti3wPJO1CKoqhBR48WXAKnj3WNCydZzF0DKVs1w3SbnASc5NJNSe1V11KpJ68cFzGVk3s8Qdofu3BOkEiAZojAiWmgGgOYVkGrme9qsFC5IGubb0lk5c0dV/0t67qcIX2Q3cGhUymzkmzpr+txjpYmQW57HgIU4d6UI5gr2dJo4NgkwjWDHvDqC6h+NZTYVYI+JrSw7xqTSUSEpSGSyRVTncd/v4W5+qNigq3KvHUqQdjWDQVYJhgYeGCA4eOU3dE80BuWnUWVk+1jp0PW2B1nh3VnYskgZWfDG6+LZuCrZC1OmmkMigTOsS8MlOKfB0P/veHvOeR7jj7FcFyMWxVco97ahePFp3YIPW7MHEBpVCtaMMsnTh32Na5300dd0bZnbtbgHTV4IQLXdo05x7aoSVYjtBRncVS80L0CjrWiXhpd0yNgNt7N60+TF9lPYugz1q1uc6hoGuxJMDqJQvDJNlKPhhMNP6nHjWcyWS4vXHR2oBcXa9WsseNotRnM+oa88a7tF21qEI9F+b7JnZoX8gj+PBBYLWb7tFo3sEI2myQIbnX1xn4ogcDWwXGONNlCedGeDf3PhS8++GYe0fJyHuKdt5G7m+vEuVOuR7O9Iu8f7lu67wE9yGwvY4Q++sBiXdEB2m65mO0CkmuK4WUqvxJOH7xUfMp8EsT8sFOhdo/fNvNNDFd4Fypp56WUxqT6/9ZPNRYC8lXD3jgMqFOpyh7eyn41zf/+6KE+KydpAgazfFNyD44r2BuI7TY8xLd92IqepCtxEQCFZna2sNX0OaESM4uc+Ff6Fo10no6OjevzGn9++isxXG/6gb5j4vxw+77h2cM4v6ztRDjT2vxx/WD+cAGTlxy+wu/aQXuJsYCIQCgJQ+A2/i1Bt8qufS1ZwCsHHhaD8ToLeyuKDzgTk6PEH26IrL9pInYX9XF/CrRwL5y0n6jAvIHyNNNR9DZ/KlHPITVPxvSTdCn189Ny98rW+cuNsmUTFI+LPmABC/I49gY5m6TW36cEdKF4AV+t54JQVMRFbPAewKC3+Gv8sRGqjBGZp4CQe7//Kxcn9d7V94F+xE4aFJBG59FKHgLmrRKHx6c1QwCOsAMsn3e8OwUQ/8AgnrqDRRdIb0sGcjCKcCobkizoYc6RC4VUiEkDXbS0OhgSJhVjWOj2XVg14JSLuTGoooYaYbo1Z4i+er6LmTEvkjJNNG2QHHTOiUi/K5U+wEI1dmjCMrnTOlcIamoU5Oaq71fhVDTMI+KL5tAcIbVZXWtrK/r2uqmQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: zdBQcZJfVF3ETO8q7jnIaFSFmrTh5c6E9E1lNM4mFiYdQXOIoUvPxLC2gR7dIwnHKXAdKG/aYSs5BXc0FSMcIEpEKjKkfxxCvwOoCi/cXKJOUevdPFOBAS7/SKHD8kdHEw7h0Ui3zUUhu0SklZFtnDPePEcz17oK8FofE7AzBebc7SxUYV/bpw0bPMS308YrfJD6tssyWqGYBAGawBSTa26x0CcPPXgkQoMKt7QMKbY/mkAX9LzV/qZKi02YIyLXN69Jkty8FXmy2xBQ6zL5CdzAQXi/qa6itFnRZLcfRaDoQFPxk17SHnLHCrHjZioPKHEnEFS+v0lUmtl3N5eOO0kRqqwlLwKzr4KUV/ai60EgY1A2ZzVL7uBig1LBl9Ou9gwRcjJ4xzD9fYfuibPNJix6gdn2NPocb+kDVQuQos5XxBEkFoFWQFvpS9zwL06nDzi96XsKLjZZdXdcJTWuy2I5M0flNDBzSffhGZT1G/2QzFNME2BgTMvTRmetUv3K/03ob7t0bXVbuTnGzrWbT9qQGdZ0uYIg24QF5pFfAogr5e0A9BBjN1kuycIEq0jNJEbyF53PVy//d+qRcwSX4tuLd6tN8tFMmzQnKn3osDA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48fdc792-7f05-4f7f-4dc0-08dd4715a9f1 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6597.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 01:20:52.9252 (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: jvzsLgNPlLYVH07OKREUr+l0SMYRo2L/af1sB76Shzyt4HNn6vOWPGeGeX6X2yb2ANLxJySE9ewA2uJv6M7xkzwfQQY4pQ7A/8IQwux0edw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4319 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-07_01,2025-02-05_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2501170000 definitions=main-2502070008 X-Proofpoint-ORIG-GUID: ErVYL6PWoVJstQGf2dcMD_LFEPzO5hyl X-Proofpoint-GUID: ErVYL6PWoVJstQGf2dcMD_LFEPzO5hyl When vmlinux is linked, the rodata from kallsyms is placed arbitrarily within the .rodata section. The linking process is repeated several times, since the kallsyms data size changes, which shifts symbols, requiring re-generating the data and re-linking. BTF is generated during the first link only. For variables, BTF includes a BTF_K_DATASEC for each data section that may contain a variable, which includes the variable's name, type, and offset within the data section. Because the size of kallsyms data changes during later links, the offsets of variables placed after it in .rodata will change. This means that BTF_K_DATASEC information for those variables becomes inaccurate. This is not currently a problem, because BTF currently only generates variable data for percpu variables. However, the next commit will add support for generating BTF for all global variables, including for the .rodata section. We could re-generate BTF each time vmlinux is linked, but this is quite expensive, and should be avoided at all costs. Further as each chunk of data (BTF and kallsyms) are re-generated, there's no guarantee that their sizes will converge anyway. Instead, we can take advantage of the fact that BTF only cares to store the offset of variables from the start of their section. Therefore, so long as the kallsyms data is stored last in the .rodata section, no offsets will be affected. Adjust kallsyms to output to .rodata.kallsyms, and update the linker script to include this at the end of .rodata. Signed-off-by: Stephen Brennan --- include/asm-generic/vmlinux.lds.h | 1 + scripts/kallsyms.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 54504013c7491..9284f0e502e27 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -463,6 +463,7 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG) . = ALIGN(8); \ BOUNDED_SECTION_BY(__tracepoints_ptrs, ___tracepoints_ptrs) \ *(__tracepoints_strings)/* Tracepoints: strings */ \ + *(.kallsyms_rodata) \ } \ \ .rodata1 : AT(ADDR(.rodata1) - LOAD_OFFSET) { \ diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 03852da3d2490..743d3dd453599 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c @@ -365,7 +365,7 @@ static void write_src(void) printf("#define ALGN .balign 4\n"); printf("#endif\n"); - printf("\t.section .rodata, \"a\"\n"); + printf("\t.section .kallsyms_rodata, \"a\"\n"); output_label("kallsyms_num_syms"); printf("\t.long\t%u\n", table_cnt); From patchwork Fri Feb 7 01:20:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Brennan X-Patchwork-Id: 13964184 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79A8EEAE7; Fri, 7 Feb 2025 01:26:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738891585; cv=fail; b=EWGqyaD68YAfa/jy0Ryl+AigJSHRILNQe1UMoBEyWwsCSzChWAAvpX/Ul66pmatcI3RildDMvOnsZNq8+BVqXAq1iHskPF2o67ZZab3fcHCGN0KZ00pbUrbZdeERkF/O08W8ZlZZTlAquvlK1SLkkicHfziLIjh9wTbsGCsB6nU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738891585; c=relaxed/simple; bh=hz4VRirex91+1rnir8uMyiNGI9KFBegb+PgT+OrrPPs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=gOj39JEiD/lmwUCxtFZuSbRGi1rwx93mTQg2Ey3gtApyxIp0t6fU9b3VskGlaKXoPytWsu03wdLTWDtsbShdkgxp91zINO+Fa+ByKVVCAKT4OfpoXX9er0d6juE13++jvDW+6lHcvib1QG9hgGkjJhiBRv8x4mzF7INq2+pfWTk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=ez5EJ0Fh; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=xucQzS6o; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ez5EJ0Fh"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="xucQzS6o" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5170MrIK028581; Fri, 7 Feb 2025 01:20:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=EP2Hn/sXtrQW0bAJVVC0x2JYgmzmC82Aum6zXqoz0Ag=; b= ez5EJ0FhXhGknxF7uahe8xvPiMTWXyo42DnYLSl2YmM+0yK9WAzp+84BaTt4WkyZ L3+lMKVPKLwW9fHpKvxjPjoTTw31IPxvIUN85PsIEVjeu9D3N6ZBVlmUtcvPNxGx 2/M8bpkABcA4A4C0lOM9WSld3Q1yu/qQPKY7FG7NUPclyrd25SyhjxFcRE75UtOf ikDpbDAghTqIR7jnflnLwGRUZEgphAUQUrS5nmfQLk1asgp38C0p0eN5/Uhncavc +O60X8X9FoSBVVOVaNJlcG1B9j73tgoBoDpBr+eoABKzdnUDtAbwA2OCCw8UfSvl fnuhmZ/+E92WUXqIsuPyow== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44kku4wses-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Feb 2025 01:20:58 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5170p70U028002; Fri, 7 Feb 2025 01:20:57 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 44j8dqx72n-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Feb 2025 01:20:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=x0E47fV3bU8dcY2aqWlGdxIiy+/YldDpc4KJZEjIXYRjksJLJHJtq/lufA3VWC6Ph5+UOHEPG4T9O4SSZRdFjMb0Vm8sEkr+sbPdAIvxHGJpYK28SyKuZgdqhLGonochh2I9VBRuEt78mtuld5KXd8LlNZ+FPirHOgcmSZxhmbCXJ6iVt693BzCOG4+0gSy/16WFtAbkdtyt5D/XMIpTeDLnRT2GwgOFzPISKm/yzokIuBmTJ7zsq59WNaM0Z+UEQT0TiN+E4D9OZq7rTdCN6MIbcH7ZIpF0EcAazixJcUOScaGKN94H+/Kt0WWUE/7E/F+xkDvX5oGLKA8yhrJLbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=EP2Hn/sXtrQW0bAJVVC0x2JYgmzmC82Aum6zXqoz0Ag=; b=utMYLZni2Ptb2qnDOodesnr+YgTga1YwGzoeZj0MXGepY2dYj1YCqF+4DAP3N9IhZcx6bM3+61KRvha9plDS1ATf2Isr4hAEtYZRkgVGZ5hwUkHge9TA6JqOQN1IsjX4xDopAcxE33fJ4SQ9vSp0OZrsF4FQ9B8xI3nxF73CGh+wLkh8ivWEQ17rbEitCrbNGXhOH0E/Dggnmm6cX/cs3EfPBCuDxQ0p5TLp4RSOwzctd9VmDztpTCNvQghuehzhBakY8OkDLUUgbwkDuwaxYcqfmRxTborLyCNDBLqINA4uqB/UX8sJhgH5xnXbTO4JRq6UUDyG2xbn3CeblTSIpA== 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=EP2Hn/sXtrQW0bAJVVC0x2JYgmzmC82Aum6zXqoz0Ag=; b=xucQzS6ocEl0fw8B0cdISgVx79PikqS9B0Xz26byyNoaoAxd3CdgosTB6g7zkkIEzZQYOvEL7bTZiKScTlmP155K2V1OFAXr8QRJPHIwm0t+fowaF0qDzL6OI61w3FEKxKVqYUDCXC6YtebUt5u69zjLSa+ksRlKb74b2BD9BEo= Received: from PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) by MN2PR10MB4319.namprd10.prod.outlook.com (2603:10b6:208:1d0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Fri, 7 Feb 2025 01:20:54 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca]) by PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca%4]) with mapi id 15.20.8422.010; Fri, 7 Feb 2025 01:20:54 +0000 From: Stephen Brennan To: Masahiro Yamada Cc: Andrii Nakryiko , Nicolas Schier , Kees Cook , KP Singh , Stephen Brennan , Martin KaFai Lau , Sami Tolvanen , Eduard Zingerman , linux-arch@vger.kernel.org, Stanislav Fomichev , Kent Overstreet , Pasha Tatashin , Jiri Olsa , John Fastabend , Jann Horn , Ard Biesheuvel , Yonghong Song , Hao Luo , Andrew Morton , linux-kbuild@vger.kernel.org, Daniel Borkmann , Arnd Bergmann , Nathan Chancellor , linux-debuggers@vger.kernel.org, Alexei Starovoitov , Song Liu , linux-kernel@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH 2/2] btf: Add the option to include global variable types Date: Thu, 6 Feb 2025 17:20:44 -0800 Message-ID: <20250207012045.2129841-3-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250207012045.2129841-1-stephen.s.brennan@oracle.com> References: <20250207012045.2129841-1-stephen.s.brennan@oracle.com> X-ClientProxiedBy: BYAPR04CA0029.namprd04.prod.outlook.com (2603:10b6:a03:40::42) To PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) Precedence: bulk X-Mailing-List: linux-kbuild@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6597:EE_|MN2PR10MB4319:EE_ X-MS-Office365-Filtering-Correlation-Id: e7c335a4-4aad-491d-cd83-08dd4715aab8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: ubLKzUphzFU6PFB9V8JOZErU31Qs2fs20J9lMFCxXjhFBjXIl11gagisPKRU/KY95MFIMC2dk4zZep9HgaNYZfNcdI/MdCxqtKjhB6XIIyKPm05lVfboivEcoXkXhuoTCN55QKVhaKELlnCOz6O10kTCyIX/R6lje70LH0gSAGvnLmr4i7IZJAmFrwnY33LbmTAELEygYe+oDErscpvduZnQsgtaC2sulyR/PSsi8KNvHT7J0E4Z78+bGPsWziqZHISc9nuYvC7O4P48/w8ef0ODgBNDG2S/l1KadQZn+vVHpQJGNypb8vYXsgjiaESEP520/yE5Zldfo7Zse62GBX+wkOlPMqNXLhrScGYm6xW9DioIkIc3L4xjsippP9/2hm9VMSNivHauuzPKKo3J9gYtR9MkRHUc/G1HSmK9tT13pfaAf/zFtgztS1C6vr0DGE9XkpNgfB6IwGfg4oS20oEt7YMBl1g+URqUSHT4GjvlCdy8taKmXSM5tu5IR7m6M0472YBQ1MarWKa1fLF+bmIbQ3qnZ2xmNi9TcgLBXcuGUWtBF3kNtDk0SUKPqTtXLznmRgVUglImPd8iG3S7dCH4QkC69spEMj+G/M5ZsT+LGyZvP962zxeuwp3UmNAk0NiXWJRacLvbGn2N4YZN5lg68gY59MimvsZ9THIT3aB8t68+jZqv2sPHBvICv9nH6PBR1mtjrqVXW+wVEF0gmmttiL3S1ZjfLBtd/PC9QPr/og9BGlthkLWXg8uoSEmdEE2vjh2dStu1e7aSwN8wCahmVdEdt7p/CaxM7bRvwS3VTVtIzq9BqPULCGQ/Oe0Ihd2yg4rFbxuvJH0hSGnNP5MHuVBzXFFAlpGoVGu9nfCh3agNL6UpBt6l0XRy+BUqMGcbgCq6YWorNE12IOf1sQ+1l+O6Lvest2BQjoBFZGDPP7WoBNVR/F/JPHvTkmlgVkrgQlJ7ONZra6ub4LU+XA7TY30TXjYO+UawW7E5zH3lyf8O5ykR3KjBo18UngHhQjBNDVwQYwjIIKa9DbhShMetdVZbsHLaXsIq4mYDN4owKvnzDBQuQtw7j+ogcdakq1RDQav+tRg5ENd3bB+Z0Xjhab9DLlwsw3Oy2MtESiglxcGYoTZhDSR6eC7QlaypR3pYEC58kY5XxHN8BBjZbSkY7angx43XPDfC53J5Va1iqQE0AkDt/GLSfMc7+S2AYKyjd8flyfnlxADL+/R3ALMnWHqrCdiaQgm0aO7h80YQHtBk802hfTJ4vjdjEgM2Au27fQkZzKHut1HiqHOWCYdWW+KFiTqPRcJ5gpnuNIElq4oSq8sutS2SwWIBQH4fEVXKTw1yMx3RdUu8MX9Mob9XHUi0NXy2ajTyQzEKQ/eBcFHkICggiBfzCBLOv3rBunpS/QZQDJAYZ57NA9C2Lw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR10MB6597.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: doOCtRuXLDH3PJggYdzdapfKUR1k+dWCC0t3n0cTJMtw1mXYBpOglyPkCv/D672QHlLZkVCmhRxjO5hIaRGGQBij4/K6CW9Qle27hKLW/TjZ7b64pLGuyozW0DpITDEc1OAsUFQ/cV6XJdhTyGg4YzVTbw93GFH0c29XN6hkf2iY4ka5o3v5epEZOAjLwo187915TzgjxxnzfE5RIA9K9vjHzPS9Lto5SDNvI6crTwRpOpIjldwnp6WEj2E/pDXwowGDLD0hdDnEYmhrrcmU2Zcqldo2fdZht5UQn+hHDVuZLlJ1B8PLjeLIPfaoyImLqGSH4MiprJcDZMlokkFOdXp0+ofpfk9PMWXn79qXzSmr9wed01B6BVwK9DHIy3lEFIkj/ni/RoCKEi6wAK+XDz5mp/fullW3U3O2vwGvqcm0vmEOo0b77EJZiL3D8bvg064J/pR3tq927jedYrk1T8j9NWhwa+Vb+epzbxgimGIQ2ckkR+Xk7CUl/WDwf8P7i4O4xdjLSCbjbdVAtMXExU0JDejkd6LtgNX/3d7oWqsqBXSznVeJN7W5eToP00ETr8RwyA67gCsT9YMFAezPzg6q5eTOkkc53uFdS0XOStvcPP8QkJOUaDUuykYtwxHrWjQMEx1x/n8aXlPdv1se6ccN+PV7NdyCoSkyfVLht9aVVXUye3Th5NbXog2plfL72k/jr9OLoTYY8UnoYsCY9Y6yUEKKxAfceAvQVlrFynLXDtVrjiPuVp84V/to7rT6/hBbZGrztsE4niEzvBoycpfgx3u5i4QDFowrky8cuVa7KA9V2E4w6vk4JomQN7eRJDHWUoUVI4SPBUD6YdTaBSNwJEq00DEGd9LRr5V5SByzrvdspe1oVKgMrNrcINhkdmRjCdeTZvNj4VTcKj086adA/+TBrqtpGSvKRuOCNeGqy3gcf9r6sqmAFv0GKf3n+PZNgdqaMPe9T7jIXUb38QdHln6JTaMXA72/5lE5R0e5M701A+p1wr06yphlL8qnyD4Hjk9TlOV4EGuNaH7Lyz1f9ucApFZYexWAlBDWMKgsriujqYxs9wvK8Ho+WHZ/1PhoHkW3LA2VAt2B1TMEimFpxNeKD7TQ11feNmlueekpDxTRMehDV2LTcgu6Fe0eEEw5XmCBifSmwQKG74bAEiVLm7EP61Kh6shlQi/TdoxJ46Q7eHkrJ1OfqtBrEX4iD///kC1IxTSg/BTZ1zLykprfeGpxytna5nmhTD5WcY83Eu7SL+Xv0TYPj/PuW5ebfD8j4KDvehQKXmW0Erz1qnGpKnbdeu9TxSY06eiwfKiyDsq4O93ivVlppow1t7+iizvoJVWW1h2ClcGqRa32yrx+FaR9FlTAcX2s4v1ud3HT4bys+HtzYPV/O8nZ6RInJPXOh3mMhYGVLVCccs0FCSodqsyRjmB1zh2VOPQMGDtKyAhOMQOlb1ozCYRr+QBmmG9zu+ef0rdDwRqA2YreuzwkEn2R53NHg5mW2z5ZP1WtJUXeSMBoYopRGWxDwhGrOUtPpwWomOZ3t2Weg/G2vw9EffPrb7mOW5EAEtGSBe1444Ie/ZHnwCGqVyHpTTWEGWX7ypW37kYdJGnK+UnK4g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Zfgm/vDnlqsrrYPJwQsp1dB0lZuAVBeP1Q13YPIl6KyUvsCiC/gnDZ3kKdSByvbp7jxKzW+uMZRPDnh7kk6u3loZbXHKMFLNFwr5SAj+NYxtwQuyL2u8kfG5qQat0HS6X1hLlUwai6+MZBUdhrJWMb++1MRxfefw9/ZiaIsmzBOhMkdi/UQHKf8hcvlxYlXCHekYVuD/Ula1sjlgVikPQEIlcTeyfsywGk99+mqRdrkGkZ11I+10fpP7mN/lVgjCXWdNbol0gxthemb9atHc6BUcPCN4frpf1t17wHrgKewXxXW3/WAwEFdfvUueq5CgFcunczpsCqac7fFtoiSf57qvxzdjKA8QoxsGCzU/fxgZ6KOcErlOy1vNS3ozlTwMsorxo2gIevoh5jOv53Kist/+z7IBBjCVVukcOX3UypB38z1QY9q55Vv12MGt2QXXcrYHpPNVFpqGSX2SHFdW6DFW7ncSrELsFCA2A4DpKkJxiKRce/C9rKbLcuttSTIcy1ikpST6QaYLzm29stwVz8Yx9QS7jNJ7HHGTFIHv+FugcELPNpqVnABhY45kTf7FGHmmHcQq8KZOBpqDW/abjSZt1KeFFJ9Jz0wapK+YxG8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7c335a4-4aad-491d-cd83-08dd4715aab8 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6597.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 01:20:54.1989 (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: V7GvahJSyX7O64+6xy3eyD3Z5FhB2pE70UJ2A6DCtTnTmw/5Yw3Yfwaf2tY0Em04wLB8FhozvX5HUcQ9D+VMK6m4Ulxgt53kvtME3H7fzUg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4319 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-07_01,2025-02-05_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2501170000 definitions=main-2502070008 X-Proofpoint-GUID: rIbtNf9CUdZ5l7EuMHTwbCPTfpixSnrU X-Proofpoint-ORIG-GUID: rIbtNf9CUdZ5l7EuMHTwbCPTfpixSnrU Since pahole 1.28, BTF can now include types for all global variables. Previously, BTF has only included types for functions, as well as percpu variables. There are a few applications for this type information. For one, runtime debuggers like drgn[1] can consume it in the absence of DWARF debuginfo. The support in drgn is currently implemented and moving through the review process, see [2]. For distributions which don't distribute DWARF debuginfo, or for situations where it can't be made available, the compact BTF, combined with ORC for stack unwinding, and the kallsyms symbol table, can be used for simple runtime debugging and introspection. Another application is verifying types of ksyms in BPF programs. libbpf already supports resolving global variables with "__ksym", but they must be declared as void. For example, in tools/bpf/bpftool/skeleton/pid_iter.bpf.c we have: extern const void bpf_map_fops __ksym; With global variable information, declarations like these would be able to use the actual variable types, for example: extern const struct file_operations bpf_map_fops __ksym; When the feature was implemented in pahole, my measurements indicated that vmlinux BTF size increased by about 25.8%, and module BTF size increased by 53.2%. Due to these increases, the feature is implemented behind a new config option, allowing users sensitive to increased memory usage to disable it. [1]: https://github.com/osandov/drgn [2]: https://github.com/osandov/drgn/issues/176 Signed-off-by: Stephen Brennan --- lib/Kconfig.debug | 10 ++++++++++ scripts/Makefile.btf | 3 +++ 2 files changed, 13 insertions(+) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 1af972a92d06f..3fbdc5ba2d017 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -409,6 +409,16 @@ config PAHOLE_HAS_LANG_EXCLUDE otherwise it would emit malformed kernel and module binaries when using DEBUG_INFO_BTF_MODULES. +config DEBUG_INFO_BTF_GLOBAL_VARS + bool "Generate BTF type information for all global variables" + default y + depends on DEBUG_INFO_BTF && PAHOLE_VERSION >= 128 + help + Include type information for all global variables in the BTF. This + increases the size of the BTF information, which increases memory + usage at runtime. With global variable types available, runtime + debugging and tracers may be able to provide more detail. + config DEBUG_INFO_BTF_MODULES bool "Generate BTF type information for kernel modules" default y diff --git a/scripts/Makefile.btf b/scripts/Makefile.btf index c3cbeb13de503..ad3c05a96a010 100644 --- a/scripts/Makefile.btf +++ b/scripts/Makefile.btf @@ -31,5 +31,8 @@ endif pahole-flags-$(CONFIG_PAHOLE_HAS_LANG_EXCLUDE) += --lang_exclude=rust +# Requires v1.28 or later, enforced by KConfig +pahole-flags-$(CONFIG_DEBUG_INFO_BTF_GLOBAL_VARS) += --btf_features=global_var + export PAHOLE_FLAGS := $(pahole-flags-y) export MODULE_PAHOLE_FLAGS := $(module-pahole-flags-y)