From nobody Tue Dec 16 23:27:13 2025 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.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 3698D219E8; Fri, 7 Mar 2025 23:22:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741389746; cv=fail; b=e2q4wYQ6rP3x0K3v/F+uBZp5/fo8I2F62zgNvOI6whxgPJWRQjeSohtvQtN/YiPlv/XQc/ijAVocnVBqFrbPOJQiXzI9nlikeN9nvu81U0E3UiY3SE5R+/vfJE44QctHfDGg5yJv2DLPkjPPFo0C0Uki7EW6B5A2QK7jUZtamKA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741389746; c=relaxed/simple; bh=UMVjE4pSuCTVl22qA+zwJq8sI5oyXnQzpYh9IHXKnio=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Irop/g6J0kZbDBZrn5Mi4G6CywXoPIda/XyVePxUwkmY3XDhvyOO0+zeos5AUoIAie16hMVk+zzfsltWTNRpfS4FPjIASLz7/jhoTplRNptQteT7Aju1EjAGCE8S3ot+LMbQw8uQ97ixG0VYrVOA/8dnZib6Kcw0E+AeGbn6i0M= 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=HmrmCXMp; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=uCjwL4Mv; arc=fail smtp.client-ip=205.220.165.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="HmrmCXMp"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="uCjwL4Mv" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 527LIIgu005623; Fri, 7 Mar 2025 23:22:13 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=pEa1dw5MDETTosTwvhNK4x+tyZH7/LIkglqdzqtQSOA=; b= HmrmCXMpg/DY/YdCHvXDOp6kWaYv/U0kkAy4yuU9B70A8AI8ovhhr5RzLR1NLBwx H+1MsN6ejIi5Bh78qz8ZuzqmIwr/l7BFEZlBbz5iPiwPzriulUb8lnaH2WQaKY6l m5xbWVOo694Irn9EXHECgTDqQ4d2TCp+OEdOPbnh92oA5+a5m8VYDjvXem1Y0G2Q n71zEMYNjMIg9SfzdY6HNYJ8FvMCJ/DkQCuEtb9MuX3oGs4InOCwhmsXJK/WTPYd soiv3ajgKItv5FfdfIwaRe1w470UcEyqFSH18n5Ywqp5cy/Og8sUEOzJxcchXAJm WWcuEOMFqs5kHuhgiOWYqg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 453u9qnctk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Mar 2025 23:22:13 +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 527LCVOC003191; Fri, 7 Mar 2025 23:22:12 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2049.outbound.protection.outlook.com [104.47.70.49]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 453rpe547m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Mar 2025 23:22:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rxBL2P9V1PVnvJtzibxTeVg/81uQGuUoryRdE+DFu8TVjhlcXZu1ftK9huI9xeTItQe8Qw3jZGRo83KKU8F8MUIHefrs+3tnNmTTpcSdbrQKwgn+FzFAdY9ZVvDDEhqEUvZpLxL2obfDHUfzcs7ljHCdEea+SvIMuusYCoxLJ4pZoHY87gfkot4Jkd9YYp1Wvd1Oc2S6J+u/czfqSgBnpg9ZpsrwVqXjh9RTXSsfgtCT9P6YqAG3HJlENMH+ifwvdEB0dc3Ef+l0ja1nrAAijiw+fdGJPDh78252uUjJQZFUYlwSGkHrKIbSYRlhEE91QidF4YwFgMJLPOMttGo2OA== 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=pEa1dw5MDETTosTwvhNK4x+tyZH7/LIkglqdzqtQSOA=; b=al2svjDDo+SVHi7fW/pnwoWN4DAupasHNfzVTEJfK3zl/RdBsbZicvsAnfc5WPq9U8LzH6Z+/hMjaZgq6WlAJBWZLK+uAYuR3DaX5GL4kCG7IWo/nUOYi3y7zp6f5yuQK+YmD//wGgV7q5EzGA5pMx8sT+SBBZ/NX2Oc2Du+cgyEvUmXmoBLbxWF2ocOg/b6aVOdQlAzuzx50LXwmiPpwLTxl579Ytz37L+nIiTv3JODLrwSB6LAH20ke2T/CJ3f0yQM89JWrJhQ0yJpYzT9Glarf13NpDYS90u/u3nJ2YuJBV3G6YbIWDbd+xuqhOCJUrI4fnt6Ehq1buYIT3I0WA== 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=pEa1dw5MDETTosTwvhNK4x+tyZH7/LIkglqdzqtQSOA=; b=uCjwL4MvcJy/S35DtbzgY8etPqw447PmQ7ZShuPqx16VTASZMZZAzK7e2vyL3Vb3syamF26bouye9IPt20Ii7EODDU22OsIA6qTKPSOK2y3CnAEu7YsWlIEOX9gZMQzx0aG4sfT+AMphM+BJiaP8OVKZMsE8n0lkivLMfR7YrMo= Received: from PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) by MW4PR10MB6462.namprd10.prod.outlook.com (2603:10b6:303:213::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar 2025 23:22:09 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca]) by PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca%6]) with mapi id 15.20.8511.017; Fri, 7 Mar 2025 23:22:09 +0000 From: Stephen Brennan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Namhyung Kim , Ingo Molnar Cc: Mark Rutland , "Liang, Kan" , linux-perf-users@vger.kernel.org, James Clark , Stephen Brennan , Ian Rogers , Alexander Shishkin , Chaitanya S Prakash , linux-kernel@vger.kernel.org, Jiri Olsa , Adrian Hunter , Athira Rajeev Subject: [PATCH v3 1/3] tools: perf: add dummy functions for !HAVE_LZMA_SUPPORT Date: Fri, 7 Mar 2025 15:22:01 -0800 Message-ID: <20250307232206.2102440-2-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250307232206.2102440-1-stephen.s.brennan@oracle.com> References: <20250307232206.2102440-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR02CA0011.namprd02.prod.outlook.com (2603:10b6:a02:ee::24) To PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6597:EE_|MW4PR10MB6462:EE_ X-MS-Office365-Filtering-Correlation-Id: c67fc6d9-0101-4bae-68e0-08dd5dcee1c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?otSp0Rz7ZemzFvVi3lVY4gdinXRXg4m4ameC6dbl2d3albpXPQujy4MRJjny?= =?us-ascii?Q?6L/S0zsHXi6A0wA4EtVD/WmctjmEbwXtqOtop1WpuFwcC9JjdRG0l0EQgtzU?= =?us-ascii?Q?++TRPJq+N02Uqig23TfxlWuyUAD+8dPkCHaVn9roixCVbcTixv41dV/gte8G?= =?us-ascii?Q?Jjmg3W836QnssCIL6cP5zURnS6shjCYNsePc7J76audqtZYTmTOmpbgs5pS6?= =?us-ascii?Q?V64atkM7gjrVoAZorbik9uwiOhKPk/+1n3/yxu2Ka+DASD13JAoF3kkTQC0a?= =?us-ascii?Q?8s1yHmyv563aJrDab8fdEep1iJVJ8+0NfIDJtP4CxEUkTflrVEb095CVOyz3?= =?us-ascii?Q?8x0TEvqKYohwJJPTc0PBj+Zks0qKYhOv76ahwpjSQF2kzJeW/QsjCx6V/zea?= =?us-ascii?Q?4HoKdj1zCFDNyIJDdOTtHl3HV3d3hhjnfNWu+54z3uPnizgHI7W4Vo7Re8G8?= =?us-ascii?Q?ZfUAZtN3u8ucOpftA9hjgdLUz6qDbpyLgxqWrmdYpTmDcELfLk/W434rK4uu?= =?us-ascii?Q?0J3mH1l9J1bMGgNc9QGbSOgJqjOv0A/rwdD55stgYFe6FtRqdRQol8vvXnH4?= =?us-ascii?Q?D0eVbEHzt8ygvqfkE7+S8rAJXg+a02rIporOOXu+pGhdxn0RHyT5A7ggDjbc?= =?us-ascii?Q?hPRvxPbS6Nc3kw2aXWhC0+F8srhDOfGBrWCjMasXjp7x4C4ehq6JJhDh3zAx?= =?us-ascii?Q?K8gZpLWZRSnDI2znq8qnBwrsQiW+MhS9jFaMP9OhRq7+JbE4wv2x//UBAvTv?= =?us-ascii?Q?DuX50ynOblex9dLn5jLhuYBsjElJTHImuCYXK5ZgucU21WuifPkm3i1L1Bxm?= =?us-ascii?Q?GgYr5J8dLiQcjzIbTaKkJHJmzfBdQt0fW6IbqXKEZZ4ZYyjS19W3d1dr25We?= =?us-ascii?Q?Oc5C9Hs7BDtPxEphcitEntLtlQKFISDVdpOzePp1V3ZwwlmFyx81IGyXcpG/?= =?us-ascii?Q?9N2IYo4Fd5si65184tvjNzXnvWTJZ9GOmSRlt9O8KIz+D1eIGEw/4yB/0Otj?= =?us-ascii?Q?lHTOT6ts+dwsoAH2tlI0Ho7djtpGiuOyX4BLAKc2U9y+Kcppqitg0VKD4FiR?= =?us-ascii?Q?b9l3unAJYVgZnzAc14JBXne7G46AFFxkboEXhQHkcmM5rZJHk2CeDuYisJxE?= =?us-ascii?Q?jfBxk+WAkm409gMkRFFFWbRHPLGC2LHZYfFTHJvP2XjbABlroIcNbxxhYn4Y?= =?us-ascii?Q?L6jnRK8f3E7Bn3vkf9dlOpUkicQyD+FBPdSKPM/q5pR7AP/UtKQa3SHenp2y?= =?us-ascii?Q?OZoPCeHP/C/IXSwXPyYcdaVrMdS1WAKCy3uqPg0LuTViXuIBPIYXh9OdhOo5?= =?us-ascii?Q?rr6SQr8L/8Rha1VZFYJOkt1bXuVM372fQr1XDDQRI8iszB37a8WDvrZJqNG9?= =?us-ascii?Q?q2puqul4MpD+HM06OQ09j9Sc3suV?= 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FAzPk4h6HTlbDuhRKl/xdn8c1hd0/vEEelkcGliGC8nq+mzOtNLX2N3Rhs5V?= =?us-ascii?Q?kld2taB7TlS2vo5nPoysHRMOPEvJhRcIeI2HTCf1/475FMMJH+fmv9lr0Kw+?= =?us-ascii?Q?oNVLGUQ8FpFktymsHnLdpb5nTAfm/rilOXUvOJuXY+PsxTS0n/B8UUKL32hO?= =?us-ascii?Q?JhYb1IncoTTx2oGbiQ3zXGDKPKxsCt+mrh/cgKEgtHOibgtkXiwEI7NXg8ZI?= =?us-ascii?Q?cFp5N/P8ZZJlpUEaMZhLCB5zO1nVjFCzYqs5vVJ1ZwVGLOZ9TYdDOqfoCE81?= =?us-ascii?Q?rTaxd8DFkDMx5ZILI7s2/BU0wrCXl4vI03kqjanlfcgXtXuGEc+yrWvw9nfJ?= =?us-ascii?Q?rO/bFvQ5IFvtEVIn0XJhF0xBeHcEPX/TKWK7u23GzVCElaUXmnA/S6gGg1pi?= =?us-ascii?Q?NGavwty7jZ3PfmyT3rmXeb3guH6HEL4VcYy6As4Ep7405E06A7puwtWYwIXw?= =?us-ascii?Q?O/2MAcCyTel7MiXviLZ5rywUB7ZpDYPyF5XfSduGnaIUFpK9rEGCLE887T4Y?= =?us-ascii?Q?LmeBWC7RqfyHQOjknQ0TkMkGowAQ22PL4tc7RXzOMaDoCAYpgwhxKrwb0/vI?= =?us-ascii?Q?NIVESFp20sgaFw5coofjUTj0vN1xWRWn//XSCqo7X9nrnjI0gRgo686qnTT4?= =?us-ascii?Q?2BeATLMliRSnyrJOSE/NNmftWeY+ece9BhvU4fm1GbevDZxAKWE6Gw3TlI6j?= =?us-ascii?Q?EnZqF9ugXvDAjEGWTNiCMSxIGLhvQtGv5OD/psP2sYqGVL/MDfxLEdG1oAP9?= =?us-ascii?Q?JAovY2hDfj6liwjWbEQbOVydwb1OMbVYN7HECVu7ALrBFTMZ4Zi3bRft176r?= =?us-ascii?Q?+CuZ9dvuEybSniTf1FL5ULVk2VzzX4HjIwqNoAN8ogvnc1a1gP3DcX76VZ+9?= =?us-ascii?Q?TMeCpYm3GKLNGJnAVa8i0gUsPjczjydjw82EbqHhbZrmmXFmVZmaRFwhiDxS?= =?us-ascii?Q?Vs18rBK9rlUdQ2pHV1qjA1w4dYIOJkIh1Q762Ls/zqLbeF328QLV3Bab0wRR?= =?us-ascii?Q?NjSYeZHjj6Lvol7KMsEhvjKaN4UMS7SWO63ci/r4K2GMNZ2wurtYorzj6EGD?= =?us-ascii?Q?GS5gccIvv53JXCqxDspL/DQTfwBUE4FER0918+MKULOVWgLbSzRexh5UAkAQ?= =?us-ascii?Q?Smf7HA1Qkb8BmIGam+cA3oxX5SoKfKbNGEQWKNr8ujVvTciyG4uC2e93ZUZJ?= =?us-ascii?Q?h4+pRyV192cYyLYr93/PwmHk+Ul+4g+Rl4DDoNOIMx37zf7WHejDKzTzfOTJ?= =?us-ascii?Q?kGz//1tH7GdzJfNvCclK+qmP0Z/Oo2R+UlWUNU6qsX3E1bVMJUrR80XxTkvE?= =?us-ascii?Q?+llEWp37rKeJgEzReRMfQcZ5y1iHDAZZvrAz9Rft7mk6TEahxeESoK2yHkE1?= =?us-ascii?Q?HbUoQNg3xRVHB0ccYs568dO9UobMalZEYd0cmaNekiAKCKs0bYbG+OZMxyZd?= =?us-ascii?Q?eJBiGgys3oza1UUGcI+ep++drU8Y9aa6FpkWL38rzWs54akXStKb5gZFSFRE?= =?us-ascii?Q?0lmYGqUk3VyZ8Hqgyt9N8gNUBP+98vcSnQOhUgk6MOFFYx3BFojmzEFeNSbK?= =?us-ascii?Q?/Z4SpQXKJhpMLohlBQmxdPS9anmWPBnsYmDFyvuTRRsF4rnvcZXoTIoZrcMm?= =?us-ascii?Q?bQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EHADdvugkvnMrXhzk4fn9XFNupUQKRvzPjG0pkkgRJ18legpt4I1cPsWx6xUAQCUUGoEwqnJnqMgU4W1GaUqxF+6gf1hgsAHQkSTeERIh/TETBKz2nCSeDm8xJbfLOEQGUGhzly6hgngcwDhMEVYOA1KjFyGgyRPsYNM4VZuafDzqlMgUigJ1vHNtC9ASQyFpN0EezHD8He7z/i91k8Km3xU6DbqCPaQhFU4oliwxtF6z0riG8YfTCKRYcYhKVOKogz7XSndR7Ggm/Rn9qtQf77cxVsfCDqMfbavhb9EyjTDqvE5/W4Eftr1PtV8ys1PIvLXPOywlcGwUFUaayOHQ71icjlxH+KUZrzDAQZ6fGa3E5cvtsUMmvmuE0OrR3TlqzZCr5Xt0YOVBV9G+4QDX7SPOSfT0CqSvrQXVdDqiZTde+g23xZee9g8UVsL1ELhmC64CZ69U+Ae1p2XQsSmeA+eGC2WwNpGsTjWkhbTwSciLuKJN+Q8JuT9GDjNVAJSEfTJwQS1c5q36MxBzMC1SKzKI/VvtwYirXUNPO4+D5wfaUb8SubDo2Hj+FmsELc/WRfrtoOlsvuDTF4IYc5tg5meJE2Bu/Vg9qdjabDMx/k= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c67fc6d9-0101-4bae-68e0-08dd5dcee1c7 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6597.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 23:22:09.0719 (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: qL4NBzP3hAldk0yoPY+zLywciF7bNnngXgoM2CwOB1AdwDjj9F8DYTpdJC0y50n9Fx1mKeyc6FuA15AR+/S2xkLhPFNUPAc411xpEw+75WQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6462 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-07_08,2025-03-07_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2503070173 X-Proofpoint-ORIG-GUID: 7djFb8VTcXdcOwZ4yx_Z4O1zEWF_syLZ X-Proofpoint-GUID: 7djFb8VTcXdcOwZ4yx_Z4O1zEWF_syLZ Content-Type: text/plain; charset="utf-8" This allows us to use them without needing to ifdef the calling code. Signed-off-by: Stephen Brennan Reviewed-by: Arnaldo Carvalho de Melo Tested-by: Arnaldo Carvalho de Melo --- tools/perf/util/compress.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/perf/util/compress.h b/tools/perf/util/compress.h index b29109cd36095..a7650353c6622 100644 --- a/tools/perf/util/compress.h +++ b/tools/perf/util/compress.h @@ -5,6 +5,7 @@ #include #include #include +#include #ifdef HAVE_ZSTD_SUPPORT #include #endif @@ -17,6 +18,17 @@ bool gzip_is_compressed(const char *input); #ifdef HAVE_LZMA_SUPPORT int lzma_decompress_to_file(const char *input, int output_fd); bool lzma_is_compressed(const char *input); +#else +static inline +int lzma_decompress_to_file(const char *input __maybe_unused, + int output_fd __maybe_unused) +{ + return -1; +} +static inline int lzma_is_compressed(const char *input __maybe_unused) +{ + return false; +} #endif =20 struct zstd_data { --=20 2.43.5 From nobody Tue Dec 16 23:27:13 2025 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 1974625A2A7; Fri, 7 Mar 2025 23:22:29 +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=1741389751; cv=fail; b=uMmraPas2a3LpdO+WJl7+ji7MAAGMNwqOPMfs9BqjpBBdQZEqYXA1Hde+DHZ0A5W/CyGqa9Xvy16LNhQV4UflusA/4e7V0lZPyRRm7QD6m7FcBp/doHCfftMhCMwQjJp0x4gGH7DYTl+blpFEf/8moAAxPx/9LanQun6JcJAAnk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741389751; c=relaxed/simple; bh=ACxDIzlyWKX/SCqt+4yCoyNVjV2JPvhv+c6Np3sdCUg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=IWvz7zrUjdxAgyFfvS/LoMLf34BqL+3fRoBezX+kp6Ldkt7l62gx+8JO8vcfJVt0oxpnyBu/cFpn2Cy6hjbAOS2memxahT9xuG3ERZJQOE5Z5HKg0LOHepDNjMPLjjSRGYXN9A8BY3qAzoOqxR2a/vcHiZIr860+zfryns/Po1I= 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=fnMaoIiz; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=XsfHgqPV; 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="fnMaoIiz"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="XsfHgqPV" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 527LJGat012269; Fri, 7 Mar 2025 23:22:14 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=M/5/VgEZCijeurYxNwPAXZhUuis+hKZc9TPXfdPQtdY=; b= fnMaoIizqVEk0raTchFpvW6tMFGozZa+uyHZOZAFnOnhjPY8ERBpMhpqSqg/Fp4d 0kuNpkHDKvvlGtHxaQB90Fjae4YWKKqpBOUzuZ8/lGbIwkligsSvciCafdeeD9nH pyUqSOfEAYzqBk0BeYQuuyIVtY/FXALPA5CJxnAJ1Dtbe5rg6NQrJLl/T0wWxhXE RHyKdmFhlhqGLNGpwvONtpcvjV7xZcmScyYxtqxRvaak0PKb5MerW7coWn/GKtxO yDOtABQeocwArS9vRd79AYg2WX6dGn8OyjMxdpb4Ow7pqXeY4+BwfdU7SqyPvAYQ BAnu4G2yWU8OUXLQoAu+cQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 453u8ww1h4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Mar 2025 23:22:13 +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 527LCVOD003191; Fri, 7 Mar 2025 23:22:13 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2049.outbound.protection.outlook.com [104.47.70.49]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 453rpe547m-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Mar 2025 23:22:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HcqKT85vCube94o3cIIKexc/UH130NR7+qrl2pUi/KGK2uDaX0RfJI4tywPXnbEUkWwS+jTPbp0Q1CcjNpHA2OdaSZ/im5HD8oMj4qqmyvgq/Eigjt79RTvueQ9gg2CqS6ST3auqIRIHqdEkcOlX5E0F+WW9voAZzUNpbqXP/8jxOtt44+49QldaS9xgkXy0sxCWDrQT/2HkInx5Z+5hVyPcHUioU8LB3ZjG/PqKhnVaNlOHwNxNJGbsA1mNHi1ppYxa7+CfU08qIVMAhgralZW+lxrkw3av2TwwU/JtvVNPwDM4xCTU4XHt/LeGFKmUU/+lRPJGgHeIWeQWzUAbeQ== 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=M/5/VgEZCijeurYxNwPAXZhUuis+hKZc9TPXfdPQtdY=; b=oVY96BYM6gQgh1TDXo49koYY8rqQwfMvmNvJbdHU9jgekOlzTv2MwvOe5snsddy4Wx++rNvjjaydey0XMXUxkTOYzPCJjQz1cYMgTKNqowRzPCccCPhNi+vCNzq7Py2jxYzS/4QRCs5fTFQew98KlwCSjxOUBrRLB+7utj4ORaWmoLIRKgLK/nQvQNXWVZQqc9ssmcJsgajgpyu+GcEnlX5O1UMkAqLM+KlEs3kTnDKjpBLl4P12S8HHQsoK+kHfITFrrvGYRtVp7LShDpPVkxz0MPacFKMZNIhp1JXGnJNpTedWMWcPeqOlu/MFKM49u4CFZmdbaERoXs0U6KXNUg== 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=M/5/VgEZCijeurYxNwPAXZhUuis+hKZc9TPXfdPQtdY=; b=XsfHgqPVgnr1gO4IM5uvV5+2lLm68hdoIcrPfueQZ5yqJRhpA2vGTaoCkhCweqtDjuDRHhVLSFeCpIvz6gTusATQIZcGSwLSlcBTFajXR3xuY01si+WgankQ8mRH9m9/Ie/ziboHlvSQRo/EcTuwyfQpu3oU3fX4llaovk3St00= Received: from PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) by MW4PR10MB6462.namprd10.prod.outlook.com (2603:10b6:303:213::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar 2025 23:22:10 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca]) by PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca%6]) with mapi id 15.20.8511.017; Fri, 7 Mar 2025 23:22:10 +0000 From: Stephen Brennan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Namhyung Kim , Ingo Molnar Cc: Mark Rutland , "Liang, Kan" , linux-perf-users@vger.kernel.org, James Clark , Stephen Brennan , Ian Rogers , Alexander Shishkin , Chaitanya S Prakash , linux-kernel@vger.kernel.org, Jiri Olsa , Adrian Hunter , Athira Rajeev Subject: [PATCH v3 2/3] tools: perf: add LZMA decompression from FILE Date: Fri, 7 Mar 2025 15:22:02 -0800 Message-ID: <20250307232206.2102440-3-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250307232206.2102440-1-stephen.s.brennan@oracle.com> References: <20250307232206.2102440-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR11CA0049.namprd11.prod.outlook.com (2603:10b6:a03:80::26) To PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6597:EE_|MW4PR10MB6462:EE_ X-MS-Office365-Filtering-Correlation-Id: 68409b24-f746-42d9-a3a4-08dd5dcee280 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?lmvPR3atsiAouBwEBg3RBjqgq49FtY+Uao1lu7Z801msrg2NWzjVEXcSegUa?= =?us-ascii?Q?G+ZgrNLx4HhV/0f0w91MH9ZnjX97qhNZVdzeot1XUOOP/uBpOfuG+f3arSsV?= =?us-ascii?Q?SHE/2kLz2/lBaCRFh0LkVWkA944fHUmg1m6WhXO/AOnnANAIuzKZaPCBuYq+?= =?us-ascii?Q?nrKU4JROfRsUklcCj/7gcsXnOQv2ksORyZ0zicm51Y4/Q+LiEKa8IbhfXrLv?= =?us-ascii?Q?qOfr2e5Nb1Xex7Y2iNk3LlHNlwr6CWFc4VzM/IAKYgECpNIKUB8mDmkpiYC1?= =?us-ascii?Q?BTOsomWy8httLEYFcXAfGT//a0MtR3Izxregw764+ESQWNcFXbPdm3LGtsKt?= =?us-ascii?Q?Re6O7oMnGgAB5yrK8G/ALiVxEYe1LiV6Wyo2HZFshi6JFhFVqZoXgOM8pQdv?= =?us-ascii?Q?qISfEp0/rpvNX+GUlBSA4awywD7VAyhxBTtv19Xdcw/FQqJxoQWMOo+TC3xI?= =?us-ascii?Q?xkm7AMEQTp+ntRSkXrqXi+6N50UOOxVCj1eoKkrKYwi2G32ndpWOw1C06+aJ?= =?us-ascii?Q?XtE0UhxA6svXxDpQhfo1r94og/jv+IodNdw/EIn7emo12qg35fc7sh41UtGk?= =?us-ascii?Q?AraWKKCBimCu0noTBe0D4ieSRsrkV9xMvgJjOTvoB+jv/Q/Uhf4SoytigZB+?= =?us-ascii?Q?/MRc1eRjHsyMxzm3HQRROc0IO32ibMKM9s4eQoKpMByYV9UIxYdrKorEMeZY?= =?us-ascii?Q?4piHln+TrRny2kdv5ziw/eCV2yj7c5cSuLxkJDm+DDApwKL0PwTSe0BNxZ3I?= =?us-ascii?Q?F2dhR9zInQzeKh0eEXMKzTx53SpUAAXfkBS+aeKeDDQ6YEg5qL6ZNIOybEwc?= =?us-ascii?Q?z4CivFWyhCYS7njqHoi/nTCZF3DVjBorOMjKkgm51IayXckfD42NWTm2V96Y?= =?us-ascii?Q?/34pDUX+GY7Bv00gT6HG3Y4XH+vig4psI/NFm3CgHju17tbulFqe154sAMY3?= =?us-ascii?Q?UmIv+iGNa6cIrsy3oVvmDVzo7eda+4Cr9VRi1tgZkm3pXOf5aSpMA7rIeXxI?= =?us-ascii?Q?Fj8qScb3l18VT6LTRhueHIfQhyrTs6IB+/6TMZ8rQ9pbOI3wXxS4tg/eSFE0?= =?us-ascii?Q?zWtQ1AestA54EZ/VRYBQ/NnY96iRHIm8Uo+3NEQRzvzMSj+fJuZae/7dvfR5?= =?us-ascii?Q?uir3yI101uSBc7r2A69/7kIGa5Qqe7Jh5ymV3bX4Wm9gQ9+l7d9P8syse3XW?= =?us-ascii?Q?lE4S9kVkSDsobYyR0Y0BGHiCTqcvPtsM5yuUNn6DeSP0fSmZhly5RBXo2uN8?= =?us-ascii?Q?rKn/Yosa6ucufJSYee1VZoGj3DQawJU0rF8RufGEv1GxBPwgXFxknlmGWkjT?= =?us-ascii?Q?PwCWDZ6on4ts2XP9Ug6FOd/49ui3UiDSeNN6xtyK0MQoWHrcM719AQnI+B6v?= =?us-ascii?Q?nScQYdPOnSBXxrzMNFOCo/jrYwJJ?= 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fhnBSOVu0QvT/3dnqbjWqB2BzlovWr/DxHM664r9R2YKKm99dX/yMQkZN9Mt?= =?us-ascii?Q?XF9HtoAvIsuNHMW2tHE2kBav9Q7Tq8+6VX3YYm9mv4KCUudkxjq2Ui8LF5TD?= =?us-ascii?Q?BLsNOqcN2YtA4T6TW7eBsHb0Z3uZCBKqy09RqSJT2oGniCErU0VzklMqXbIl?= =?us-ascii?Q?V/oOon92LU4e2IITuUnliBKGYGquSgYozIcLJHk+oJPUE+u0Pu2v31qEZZre?= =?us-ascii?Q?fYwK5P1xjHL57teqsZKxwKizWXJqe24osiFJhDQUGruM4UsglR2/hwfqe8sU?= =?us-ascii?Q?Q7uy1JhBXuVOJr7kyatqunElKK3uMjxjsWFV2MAc82+d3FJt9iCyq0dkMF2K?= =?us-ascii?Q?OdRkmehLz4yYqKfeKO4yHq9Svw0fXEvcn7/iIhkQ0LnA72FXHdQZxgYSPCU2?= =?us-ascii?Q?SNNkebBnxvbGoT89sYekjv9CwRzLoE3Iq9fP+GqLp3RaalQHyQOOrkwYsF7h?= =?us-ascii?Q?CJXX65j3MeM/dpgS1zsDiZ/c6du96BN7alf071KbdZYsQTvCg3nHpWF8QWDx?= =?us-ascii?Q?c7QzL4km2INn0SjJze5FUAjvW37YKe8GcuECNCEaUCgnwudLOFiKqCjqJr5t?= =?us-ascii?Q?gIX9GIKjQ57AVvCyCcyyH4ILlzc5csaHP3SHlt+fsf8mFNtrAEWVDpwem5VX?= =?us-ascii?Q?D4NpepbKJBWq9yXJ2GQeCwYgQURMhJAJJY+8d6+e+XaEpHa/bd7QpIhGX8P/?= =?us-ascii?Q?meB5WKpZ7eTwjJXQtsKsFcJRI3hbFq5mzXSVmJl8dA7NJKiKyqF7th0myBx4?= =?us-ascii?Q?KygdLJ2PBdAaKdpeffsesk23bsKiEvP0XkrIp0d9cgvr+nIgbdcNRxuLXzcV?= =?us-ascii?Q?fvtpcw2FxGcYYMLwTubZ9dNsdG6Jy8oKYyYoTBW360j1mNmUfKtnEH4BOOsw?= =?us-ascii?Q?LQf3LeWZDrlYpfXV9xj+2N/La0Y18qIfc8VT9fhk40pAQFDA4rZ8pXeWVieA?= =?us-ascii?Q?DaQ5h2N2habO03Rv5o2MP5+Owo5IXitQ1B6yd6RY4mZ70fm+PFxnYyKobr1D?= =?us-ascii?Q?FIWeR0ULSzd7GUjOfC78OAJxtFMbKymakeL9tsLIqQKujDDbyFq6r9GVFDy6?= =?us-ascii?Q?Ce3dh0P0vIUAZuEpXF/NPvo6tN+2KZI/1nQx3qq+1qLpzfCZ5meefvh1ZeRR?= =?us-ascii?Q?aLgtK5Cmni0QZtjQu+UnoWk0olhImOIV8SkkM9nc8pzUJ8hRTVBFVKFDXr12?= =?us-ascii?Q?DI6RaScXcTsYf9T+cWhNg7cNVKvw9Yjxzi8b5a1ivb1crCoS6LbuNxb36CoK?= =?us-ascii?Q?uvQ5K769xy7Mi8kfFVBd6cQt7F0rmWxTqWK4Dce7kHF7yNa7Jauu0E8gcL2Z?= =?us-ascii?Q?idYwCNSnBgNOmyLOa92AJJ7OPf7bqj5ty8IPbX0WJduf88fYUq32zcF31x/M?= =?us-ascii?Q?voyNx8HyQeLvAs5MAr8IE0375MRcMq4uzi0KtAZXYacc2btBTiNeazhIN8pU?= =?us-ascii?Q?vDngX9CjMs6DnjWknqxJlxbggtaGIMWOHhvhtA0IBIhaJoolKWSdnz1FHgIZ?= =?us-ascii?Q?CbJPZEHB9SE+zE/rSbIk3wPMRB3G624mxBwLkOXlY+iKQeE1seCYeyhvemEy?= =?us-ascii?Q?93cwUJUr+z45nKzK8wCfe39kLNLIjfZSwPsGqTCh7GAcsqeFDA3SZ4tfhl01?= =?us-ascii?Q?9A=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NqdklG4VeFgne5P1cq7tjtvP9U1fL0GyUeQIk3kZjTNKuR61QY26CSNTyP+q18X9QCgmBRZkwr9S9hEdSRFzomL70v0JuvnBozSj8NEaWMY9dG5cm8qGqvO1w8fVO9MGqNHx8SkHvKFHc1HUh499b5lhd4UnUsYrDPt+EdOEEiewJ5BFUBtTZkBFGYoHSTosxeyPd/60zRUPgqZb9tZXGuRfop747dWOfnLGh9EWzypW46OCJeG8ARRi+WtWYhOTofKkiDO5GDx1mEzlUvBDmmYaKQkspaKcf7i/Hi0pPcXDv5J9ynYWcUrNIK01+FpjOMWf5tTvI0HwKmeOGvCxLxB2xtTvRFUZXFcF7K6edluk0J5daArcoFKh2roE4ZaaHC6Fha6vL8zpYx0OXgiDCDx86uspn2fqNcSXUHSgZB27rP58dwaMi1lmNGpxSnuhj0ZPTquN5bcl7hBwK5L2owTnIBq/IfXfrMeLpIJemEnrjfhoeCnHgBVIzXbshsar0hHVigaLqPP3XVQrmRLLnpR0H7kZ45a5wec0vUivUFelVJgJn78QLvAigA7hFxOfAfGN6jRa6PlFPP0twzgrctRTAsqVXbLPJmWmiptez/A= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68409b24-f746-42d9-a3a4-08dd5dcee280 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6597.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 23:22:10.2942 (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: hr5Dk63YEWG1ZGty9oxgaScm65aAq+M9o2zpipAeooewF8vGFw2WObzfCaGNUquo2UCkRp777C+s6+HzDT/FuSqDo9zxiPOBAoFGUfMVkLQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6462 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-07_08,2025-03-07_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2503070173 X-Proofpoint-ORIG-GUID: 7ZHnD0cJNSPTSkI2Vqm-f7wocPYt9mfO X-Proofpoint-GUID: 7ZHnD0cJNSPTSkI2Vqm-f7wocPYt9mfO Content-Type: text/plain; charset="utf-8" Internally lzma_decompress_to_file() creates a FILE from the filename. Add an API that takes an existing FILE directly. This allows decompressing already-open files and even buffers opened by fmemopen(). It is necessary for supporting .gnu_debugdata in the next patch. Signed-off-by: Stephen Brennan Reviewed-by: Arnaldo Carvalho de Melo Tested-by: Arnaldo Carvalho de Melo --- tools/perf/util/compress.h | 8 ++++++++ tools/perf/util/lzma.c | 29 ++++++++++++++++++----------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/tools/perf/util/compress.h b/tools/perf/util/compress.h index a7650353c6622..6cfecfca16f24 100644 --- a/tools/perf/util/compress.h +++ b/tools/perf/util/compress.h @@ -4,6 +4,7 @@ =20 #include #include +#include #include #include #ifdef HAVE_ZSTD_SUPPORT @@ -16,10 +17,17 @@ bool gzip_is_compressed(const char *input); #endif =20 #ifdef HAVE_LZMA_SUPPORT +int lzma_decompress_stream_to_file(FILE *input, int output_fd); int lzma_decompress_to_file(const char *input, int output_fd); bool lzma_is_compressed(const char *input); #else static inline +int lzma_decompress_stream_to_file(FILE *input __maybe_unused, + int output_fd __maybe_unused) +{ + return -1; +} +static inline int lzma_decompress_to_file(const char *input __maybe_unused, int output_fd __maybe_unused) { diff --git a/tools/perf/util/lzma.c b/tools/perf/util/lzma.c index af9a97612f9df..bbcd2ffcf4bd1 100644 --- a/tools/perf/util/lzma.c +++ b/tools/perf/util/lzma.c @@ -32,7 +32,7 @@ static const char *lzma_strerror(lzma_ret ret) } } =20 -int lzma_decompress_to_file(const char *input, int output_fd) +int lzma_decompress_stream_to_file(FILE *infile, int output_fd) { lzma_action action =3D LZMA_RUN; lzma_stream strm =3D LZMA_STREAM_INIT; @@ -41,18 +41,11 @@ int lzma_decompress_to_file(const char *input, int outp= ut_fd) =20 u8 buf_in[BUFSIZE]; u8 buf_out[BUFSIZE]; - FILE *infile; - - infile =3D fopen(input, "rb"); - if (!infile) { - pr_debug("lzma: fopen failed on %s: '%s'\n", input, strerror(errno)); - return -1; - } =20 ret =3D lzma_stream_decoder(&strm, UINT64_MAX, LZMA_CONCATENATED); if (ret !=3D LZMA_OK) { pr_debug("lzma: lzma_stream_decoder failed %s (%d)\n", lzma_strerror(ret= ), ret); - goto err_fclose; + return err; } =20 strm.next_in =3D NULL; @@ -100,11 +93,25 @@ int lzma_decompress_to_file(const char *input, int out= put_fd) err =3D 0; err_lzma_end: lzma_end(&strm); -err_fclose: - fclose(infile); return err; } =20 +int lzma_decompress_to_file(const char *input, int output_fd) +{ + FILE *infile; + int ret; + + infile =3D fopen(input, "rb"); + if (!infile) { + pr_debug("lzma: fopen failed on %s: '%s'\n", input, strerror(errno)); + return -1; + } + + ret =3D lzma_decompress_stream_to_file(infile, output_fd); + fclose(infile); + return ret; +} + bool lzma_is_compressed(const char *input) { int fd =3D open(input, O_RDONLY); --=20 2.43.5 From nobody Tue Dec 16 23:27:13 2025 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.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 81433259CB4; Fri, 7 Mar 2025 23:22:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741389751; cv=fail; b=SG72sZIAjWTkyBrj+EaFQHFqvJ6tCOxq4Epi32tCYmiygfj7QqxfXM9M4aov/6DqHT0D82wsbqIc3ai0wfrEdTQI3RhbpLI7zJ1yH0b63X0igc+Zmjp4pB7Uc2crqcywtuJcl7C/r8HLeDi7HUhQhkKVAmfI+Kes1RH0rGzOOEM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741389751; c=relaxed/simple; bh=lgAkZu8Y9I3XBJQC7HGfMFPPkoIFI9SERAwMcIDwCw4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ttRqVSiMVngEohz6ficlewVSg2xsejwPIAVd+mgJIozdr3uhKMpyn3Ay4izuaBXXN/khSDsPW1kqJ/Rsj2hybUE3s/O3ve7Nr7u8AaTdACaJ6jxAVxgOsPIvPujoqGcB7YxJQxrH1VyzAzH/ofx681G1q5QeCO5zIDlHpYI/l6k= 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=QOAea93j; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=da3FGXya; arc=fail smtp.client-ip=205.220.165.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="QOAea93j"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="da3FGXya" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 527LIIgF005629; Fri, 7 Mar 2025 23:22:16 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=qFFA7imQc2KpMM0GpAwts6DflnOl/2JTTizJggAM3ec=; b= QOAea93jBxzZ9MLsZ8lFluglOG7YiINhl/fzYwDQ76OL2I/ebGCrDssUFlVaQggw qeRyz0traCkxh/Jf4ChnebL/srg9M8cm06ARaYmU/Gr01Gey+hdsvUxJyFQdZSKU FwTLbX4I6kcb+Lw1O8KV/B//KUHKnq22+j/l5bXKNdJdw4s4BMkgdvoYWrG1My38 1qHLS0lXMo3XWYZ1oKe6LuGSEZjognDMvV46+sOTk+W8FuaXw2aOSeGchcvXetUm AS2H5qQF1uNkS+nJTkABbUyx4aPKF+3DSOXNjPnvkPI4h2aaF1jfD+wx0KCCXCEY Vg7zpCGINmprQzoJim9MNQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 453u9qnctn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Mar 2025 23:22:15 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 527Lc5si022516; Fri, 7 Mar 2025 23:22:15 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2049.outbound.protection.outlook.com [104.47.70.49]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 453rx13gvc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Mar 2025 23:22:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SUgZ6jtkdMj7/5cEy0cMjnpP5V/PhPCsjr7UnHM4/mX4J6txJjqsIu+9+9ic2oRgcla/16JbOEUhc/6vUm2LdETEUEwuBaWuM3Ob/SctOfiB8kjDMA63CLLp93I/4O4JTXctlTVZQx0ZqGabav8thgJjWCklrHMGuGk1K0JkdhsseqhF1ANsb/gFZsKUwFsGk1XDf9gtDxaWeSguHDVdQeDQUeX99olLMzdtXpS1wG7GmLjSKmGx9SoBs5bWQ+dermb/Sd35iK4TN9N2FCr3Uflz2XQZdenX+0wjLRoPQAMl2tGn5Mk5WZjNH+0alnJd0SnyFX6k/MgpGjqdie8g8A== 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=qFFA7imQc2KpMM0GpAwts6DflnOl/2JTTizJggAM3ec=; b=T4ul8Dp2pSkv3ODLsp0B+GDUXu97dCcLEr2H1ZcYXAN/+ASoPmRxsowF6xv3hFNKUaJKuVz5fiF5sj+tKIzNN3L/S+AaDyVFxVkiozWQCKNu2NelY4D62rkLuvsETetkSBYfiQclVl9bsSl5ezMGHtsm35p0rPx/mFfQfheyVwFleqOVIAX0HCEeIgJZdgkw++eXrouDdJX+az2Ydu7SPa7d3MGsgq5p4DB85/MegOGIFaP4JWfySFKQPFTWe2P+406Qp6Lprjx7AaBoiVG2VSvonaBnRkHUWQr+DGGkNTaW1tG/4kY83dzxahKKU+2hGPxKvSUV9VDZoXpxfaO23A== 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=qFFA7imQc2KpMM0GpAwts6DflnOl/2JTTizJggAM3ec=; b=da3FGXya68/v2oSCU5JeCTzXTsqoBw9Zo8XtjjjuwxwwHYhSx9idOAf4r3DMNQtagsxomYxpExpnGhnLe/oU/plJ8/BqCqFnnweU24tdhvK2Ggq5h6lb8VfPjM5oD0g4q/XvHZAUJJZ3s0g7R81+J+Be5CuMfhPZWABClrblICU= Received: from PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) by MW4PR10MB6462.namprd10.prod.outlook.com (2603:10b6:303:213::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar 2025 23:22:11 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca]) by PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::6874:4af6:bf0a:6ca%6]) with mapi id 15.20.8511.017; Fri, 7 Mar 2025 23:22:11 +0000 From: Stephen Brennan To: Arnaldo Carvalho de Melo , Peter Zijlstra , Namhyung Kim , Ingo Molnar Cc: Mark Rutland , "Liang, Kan" , linux-perf-users@vger.kernel.org, James Clark , Stephen Brennan , Ian Rogers , Alexander Shishkin , Chaitanya S Prakash , linux-kernel@vger.kernel.org, Jiri Olsa , Adrian Hunter , Athira Rajeev Subject: [PATCH v3 3/3] tools: perf: support .gnu_debugdata for symbols Date: Fri, 7 Mar 2025 15:22:03 -0800 Message-ID: <20250307232206.2102440-4-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250307232206.2102440-1-stephen.s.brennan@oracle.com> References: <20250307232206.2102440-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR02CA0024.namprd02.prod.outlook.com (2603:10b6:a02:ee::37) To PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6597:EE_|MW4PR10MB6462:EE_ X-MS-Office365-Filtering-Correlation-Id: 250c7af5-02da-4e6a-1b1a-08dd5dcee328 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Moy1E0bFc2ISFZ2bmCx18wz43fk4ors4u03+fBYlZGTiHLsijm/ST+Hj9JSg?= =?us-ascii?Q?2nuDMgCJ775BTQ2InGloApTEZ3O8Y5EOwLONS5YK9ySM6oO7IikN3xP4gbjc?= =?us-ascii?Q?1z3DBywwhUfvyhAl3WfiQ3JEzRRHtic+1PO6wvcrmyPtMGTlL6b/9iy7K1dU?= =?us-ascii?Q?EDWSroI0dYjFgibMXNE1jLHq6+1EywAk2r4c+PdyQ6eltwWEBffWMGN7Pm9v?= =?us-ascii?Q?TeCNAldg0gYiQ9NgMf4KC3kWsIovhh8JwSi16oGrNf9ZWF32MVl6L1bkn0SJ?= =?us-ascii?Q?afAKvuJBL3TCO3xi380KIU+ope+JG03cgCRinmYSEQPEE8O8BItB+e+mNL6z?= =?us-ascii?Q?Io7/sh3YYqI2yzLgZMjh68nBttbKqMflUUUTedQCDoMj3hhHavoyTVMOOLKV?= =?us-ascii?Q?rZPpSJrwFwWEIc2GfFUxHzZ7nz/fD5xuD6mN6+6A++zYH3BYm7IDo2vWjgT2?= =?us-ascii?Q?LLu6ccplBoLvtyofbMk8kTkL7a726vfZ/l/xVHWSicumd30CXcp8uvI/41T2?= =?us-ascii?Q?+tlRWSKsvN2HAzI+YlRpoJS2PWrBHnpK9KDaiMWO3orEYhy32+USYxkogcdp?= =?us-ascii?Q?kGxKJ3kcxy9eUvS3zz2D3bQ200YOOBZZGZAgrpYg9Ys4LQw4KU7B3tutmF57?= =?us-ascii?Q?CTWstVJWwvegyKl0nyqQjHExGTVxyrC6jzeBNC5u6E/Ot0hYBvo99bgqqwmG?= =?us-ascii?Q?g9f4i6lDxQdBlHB0XTSmZ0+554bcrVyWbxp7jPiO0X6FNmuZhS3cx3eZFl0Q?= =?us-ascii?Q?rapMqBMKin3tG/wWXd54n1tCI1dyjVecH8+qAgfGz7V0YrkjwYQCioUT3Oje?= =?us-ascii?Q?x0hlkkt/hiMGDmQhg2n0ETVO3HXdfk19SoWofvS7mnZfpN11HlNonBpQoSqw?= =?us-ascii?Q?nIxajfa8ox/x/SVQTZMtJ5mpnNDArQqiCbVh4P0a7fpOINO5hfm5eqdkRyGj?= =?us-ascii?Q?DOtjYyPrz2ve/QY9Z3u8RPZT2CbgTWmtRUC7qiMV0WiVdXOoeuf24ASu/tkS?= =?us-ascii?Q?wxZyCrIp5F0ZVNoU5On5ZjZWah42TQwtoPjbjnJJKoF7s7JVU62F/sd57e/y?= =?us-ascii?Q?hjVeKuD7WM4MtwCXNJm+M98lPCuQw+VrLtr3BdqyeJmmxYd8Tb4Zohy5sBio?= =?us-ascii?Q?p/SNtVI80XfphyT6LCyKHovt3+t/f73XH7hcGZZJgCLDYjzJ+2eBegmd0lkf?= =?us-ascii?Q?5t5P6WgfiOdWAaCvbc1GeNttRdq2kCn6vwueD8N2OmLdhfOFMarOBMyk8QuF?= =?us-ascii?Q?bWPNqLj8d3a5WlHn3GAlrtY0bUuyvz/mn+Q0tngfphoTLjXPPj1qjfCMH1KD?= =?us-ascii?Q?MHHkumS7KnDl2C3Xwt7GUiFIqigd2P/eO9Z0DI5KBAQl2268GSXfb0t+hsXU?= =?us-ascii?Q?LoV9xsxT90dknziLZi7hSEOP1VUr?= 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+C/EmTaz0ZSXz9WZCf3vXwuNRwM0vhGTyNeEuN0tgtRMvwHLqIOIPKTrwgru?= =?us-ascii?Q?gsXYh1zEfY2fLY5eOc1i983Dh0liTNrIcC8Cw/8VH7UGTjLDni1YJ5/tONjs?= =?us-ascii?Q?uJ1QXcjq8LKp/JRgm8QGMq8Xd8MYD1vfKz37c1sfBEqENOEcMjdnlQAMiyPY?= =?us-ascii?Q?U99yi6ciqjZhSTOZ9wcu8GSgDPisgkhEn6Hq5wcYxRv6weI8++B/MKtGrQ5Y?= =?us-ascii?Q?AnBcfpV/kDCYXr8gJUW6wQPapECOrBH2cWOjz1EiKsqF1NhsBzbq7y4sBe+e?= =?us-ascii?Q?fBDnNlyvuQDVmFWuQBINWJQyhXSdgLdbm4B0IMt3H0u8DVGVONuAHDLpIj2+?= =?us-ascii?Q?qzf2C+DEe7tjFYHTDQ9jwXrZ8q81lJZPm2XtrwWcfTjbznK7shpXdeBGWS72?= =?us-ascii?Q?dVEXApoCQlEwS6Fbd+2n6jIoJAoaUxMo1+tIpec02o8Un3EiRUYMZMfFeJpH?= =?us-ascii?Q?4odpVRLC4vmd1UqHc5yG38hhjlxxWLh1ZBrLhlnJok2UbIxakpaIOx2s+ATi?= =?us-ascii?Q?F8nj1Y/eW5M9iSJQGfMbm0CSQtebGyyQ93ai1dWTcduaNPNNiGC0vo27bi7U?= =?us-ascii?Q?kqr/YQkYWdX0NRZ266WWu5B7Gldc8dlNAma6X6LTac0XZb4lR/UodeNdZ04/?= =?us-ascii?Q?POyf/2KQ5IP4eJG2RKGoDiCPFkmOgsL+MNedlaaC/oj9ApLudoCr82zQlUWE?= =?us-ascii?Q?hNZHerWHQ3LhGN+KOMUvPmkPkGILEkLfe6VyJm2ADBfFrQwxvnEMzRkLYyIC?= =?us-ascii?Q?MWsxaBNLOXninHNyNN3pdTRCWMHzkRBVPos8wxmVpDjGd33m0dnua6345fyE?= =?us-ascii?Q?X3Pd+Atcc/OPkxSbOhElY/5g9nbgi7bM1+nbo1kDIucejTxVUdcRDFzfcIba?= =?us-ascii?Q?uxKq+Ts4WQKU9QDj35yLZVEK6wS6whE+cvQ7F+tI1/y5L82Jhb0V4tv0vaR6?= =?us-ascii?Q?QAlmp5wrIgumo1nlsTvohQFOX9fOTSOP3P3+u35h2bhh/ye58NfWD/zP36T6?= =?us-ascii?Q?TaVaHleL0Cw7FGgOCYIcw70LOO+sUbZ4huz3aX4uWbYfGXVsMB4c1/SuUZRE?= =?us-ascii?Q?reL9/LNCnJiGI0OJPUfA2CuZgURzW7Oy0c0/dObs94xMSgdb/622RbWy8ueM?= =?us-ascii?Q?Lc4kyazD3fEqvgXUYs/IBfukolSmPRkL+B0laOYn3I2UemCypWKxA/XE8w+0?= =?us-ascii?Q?9RI49m039v8tRNJwLavPUF7VVuEBU3azIoq8N6K1JuuxKfyOh2/mkyICCUNj?= =?us-ascii?Q?tUNMBPC4N/VJo5liRzYM+ksYGaRScTiYTpv5gHQVmimEjN9pxjuSMUHexm/p?= =?us-ascii?Q?EX/aZ5k9VDBuqVSEsiQ43uuivQveS6A8L8hzv/jVmXaBku6UBLgzHpNC1IGi?= =?us-ascii?Q?iyS6ErRKSVexfr5sL2P7OxUM90YjQAwdi0HxPz1tyunYDqzVRv7HVhTV4Bjx?= =?us-ascii?Q?qhSDOgZRRNBNu6NIIxo2OBXf1l+mCc9jCVTtPsTf/ogGTkmK8NraddPUyFfz?= =?us-ascii?Q?TkyS+RmwyhREgm3rhIBVptk55DDFCY+WsuqnR5xrl+hrznHZOAlD1OIM7kgf?= =?us-ascii?Q?PLpiKLXCeeYMeVesl6t+TeZhZh6tFlxiZRLo6YsMkHV2YXbuyU3U2xU2rhV4?= =?us-ascii?Q?Aw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7oLvPCXXoJrMxO7RQU8uCIuWg+lfE1Gq3j5bokuSDhCI1M7RhLE6QACrYSJrxBuQc6bEzlXlg3d5y2q43wasdfdDiDR7ogLQOyE5x0IFanq1yx4vqELHlh3Z46F71yUSO/zdqWnWKXp7ns7GqNn08+4Ctip/c4UFYhv+136XDKwAgl6WtuClwvcCiZers6te+nVul/r7gMzNnSccmVTuY6HSRM46ImYwcYm9IaVQPdh+fPMgqFQMStH8EMTUwLftEHXboUYeZGv1fUhQ4f8HAaY+1T7Q7eaBp/+2Q+L21ltBfhKloRaUTxDWWEn/pLs7PPO0xB6l5ufKRaFySa4HnChVKqTL8F9r/a1sIe5bVHyExjMOIR1PeX+kT3GIHmcct2+UnPzQLUZ7G+zhj5gEajKPjiR45Flo8LgFRRrzMPeWJ8/AF4C8FktAHrVeuHKdB8MNMBqvGVphXD4WfXyXeYDdg8oOYvSGhmp/9sRVt1x43TKx7u+tMO4jdB9nUt9tJVWe/o2pSkvw5Q4vJPlJw7V/K/nAH97VwkXCoK59vufwONh9C61LmHJIP0Bo2eXcbN6NrnPvEmrzntgHKtLi1rTL+fcSBd90RbLKCNdylLA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 250c7af5-02da-4e6a-1b1a-08dd5dcee328 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6597.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 23:22:11.4264 (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: Orvbkk3Kd1aINN7Cn4tR0lH5icLmhJ9t06nvDIw0T1fRl9Ar3iE25SZVPfjGQjfau7ybDoBu5umDg+KrkWplbBbWyVlOq0VFl8zoRzaVN4E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6462 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-07_08,2025-03-07_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2503070173 X-Proofpoint-ORIG-GUID: Q-Gk7uSAFeTC2YUjmlXeZsbqtiVHMYl5 X-Proofpoint-GUID: Q-Gk7uSAFeTC2YUjmlXeZsbqtiVHMYl5 Content-Type: text/plain; charset="utf-8" Fedora introduced a "MiniDebuginfo" feature, in which an LZMA-compressed ELF file is placed inside a section named ".gnu_debugdata". This file contains nothing but a symbol table, which can be used to supplement the .dynsym section which only contains required symbols for runtime. It is supported by GDB for stack traces, but it should be useful for tracing as well. Implement support for loading symbols from .gnu_debugdata. Signed-off-by: Stephen Brennan Reviewed-by: Arnaldo Carvalho de Melo Tested-by: Arnaldo Carvalho de Melo --- tools/perf/util/dso.c | 3 + tools/perf/util/dso.h | 1 + tools/perf/util/symbol-elf.c | 106 ++++++++++++++++++++++++++++++++++- tools/perf/util/symbol.c | 2 + 4 files changed, 110 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index 5c6e85fdae0de..7576e8e248386 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -67,6 +67,7 @@ char dso__symtab_origin(const struct dso *dso) [DSO_BINARY_TYPE__GUEST_KMODULE] =3D 'G', [DSO_BINARY_TYPE__GUEST_KMODULE_COMP] =3D 'M', [DSO_BINARY_TYPE__GUEST_VMLINUX] =3D 'V', + [DSO_BINARY_TYPE__GNU_DEBUGDATA] =3D 'n', }; =20 if (dso =3D=3D NULL || dso__symtab_type(dso) =3D=3D DSO_BINARY_TYPE__NOT_= FOUND) @@ -93,6 +94,7 @@ bool dso__is_object_file(const struct dso *dso) case DSO_BINARY_TYPE__UBUNTU_DEBUGINFO: case DSO_BINARY_TYPE__MIXEDUP_UBUNTU_DEBUGINFO: case DSO_BINARY_TYPE__BUILDID_DEBUGINFO: + case DSO_BINARY_TYPE__GNU_DEBUGDATA: case DSO_BINARY_TYPE__SYSTEM_PATH_DSO: case DSO_BINARY_TYPE__GUEST_KMODULE: case DSO_BINARY_TYPE__GUEST_KMODULE_COMP: @@ -224,6 +226,7 @@ int dso__read_binary_type_filename(const struct dso *ds= o, case DSO_BINARY_TYPE__VMLINUX: case DSO_BINARY_TYPE__GUEST_VMLINUX: case DSO_BINARY_TYPE__SYSTEM_PATH_DSO: + case DSO_BINARY_TYPE__GNU_DEBUGDATA: __symbol__join_symfs(filename, size, dso__long_name(dso)); break; =20 diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h index bb8e8f444054d..84d5aac666aa1 100644 --- a/tools/perf/util/dso.h +++ b/tools/perf/util/dso.h @@ -33,6 +33,7 @@ enum dso_binary_type { DSO_BINARY_TYPE__UBUNTU_DEBUGINFO, DSO_BINARY_TYPE__MIXEDUP_UBUNTU_DEBUGINFO, DSO_BINARY_TYPE__BUILDID_DEBUGINFO, + DSO_BINARY_TYPE__GNU_DEBUGDATA, DSO_BINARY_TYPE__SYSTEM_PATH_DSO, DSO_BINARY_TYPE__GUEST_KMODULE, DSO_BINARY_TYPE__GUEST_KMODULE_COMP, diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c index 66fd1249660a3..3fa92697c457b 100644 --- a/tools/perf/util/symbol-elf.c +++ b/tools/perf/util/symbol-elf.c @@ -7,6 +7,7 @@ #include #include =20 +#include "compress.h" #include "dso.h" #include "map.h" #include "maps.h" @@ -1228,6 +1229,81 @@ bool elf__needs_adjust_symbols(GElf_Ehdr ehdr) ehdr.e_type =3D=3D ET_DYN; } =20 +static Elf *read_gnu_debugdata(struct dso *dso, Elf *elf, const char *name= , int *fd_ret) +{ + Elf *elf_embedded; + GElf_Ehdr ehdr; + GElf_Shdr shdr; + Elf_Scn *scn; + Elf_Data *scn_data; + FILE *wrapped; + size_t shndx; + char temp_filename[] =3D "/tmp/perf.gnu_debugdata.elf.XXXXXX"; + int ret, temp_fd; + + if (gelf_getehdr(elf, &ehdr) =3D=3D NULL) { + pr_debug("%s: cannot read %s ELF file.\n", __func__, name); + *dso__load_errno(dso) =3D DSO_LOAD_ERRNO__INVALID_ELF; + return NULL; + } + + scn =3D elf_section_by_name(elf, &ehdr, &shdr, ".gnu_debugdata", &shndx); + if (!scn) { + *dso__load_errno(dso) =3D -ENOENT; + return NULL; + } + + if (shdr.sh_type =3D=3D SHT_NOBITS) { + pr_debug("%s: .gnu_debugdata of ELF file %s has no data.\n", __func__, n= ame); + *dso__load_errno(dso) =3D DSO_LOAD_ERRNO__INVALID_ELF; + return NULL; + } + + scn_data =3D elf_rawdata(scn, NULL); + if (!scn_data) { + pr_debug("%s: error reading .gnu_debugdata of %s: %s\n", __func__, + name, elf_errmsg(-1)); + *dso__load_errno(dso) =3D DSO_LOAD_ERRNO__INVALID_ELF; + return NULL; + } + + wrapped =3D fmemopen(scn_data->d_buf, scn_data->d_size, "r"); + if (!wrapped) { + pr_debug("%s: fmemopen: %s\n", __func__, strerror(errno)); + *dso__load_errno(dso) =3D -errno; + return NULL; + } + + temp_fd =3D mkstemp(temp_filename); + if (temp_fd < 0) { + pr_debug("%s: mkstemp: %s\n", __func__, strerror(errno)); + *dso__load_errno(dso) =3D -errno; + fclose(wrapped); + return NULL; + } + unlink(temp_filename); + + ret =3D lzma_decompress_stream_to_file(wrapped, temp_fd); + fclose(wrapped); + if (ret < 0) { + *dso__load_errno(dso) =3D -errno; + close(temp_fd); + return NULL; + } + + elf_embedded =3D elf_begin(temp_fd, PERF_ELF_C_READ_MMAP, NULL); + if (!elf_embedded) { + pr_debug("%s: error reading .gnu_debugdata of %s: %s\n", __func__, + name, elf_errmsg(-1)); + *dso__load_errno(dso) =3D DSO_LOAD_ERRNO__INVALID_ELF; + close(temp_fd); + return NULL; + } + pr_debug("%s: using .gnu_debugdata of %s\n", __func__, name); + *fd_ret =3D temp_fd; + return elf_embedded; +} + int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name, enum dso_binary_type type) { @@ -1256,6 +1332,19 @@ int symsrc__init(struct symsrc *ss, struct dso *dso,= const char *name, goto out_close; } =20 + if (type =3D=3D DSO_BINARY_TYPE__GNU_DEBUGDATA) { + int new_fd; + Elf *embedded =3D read_gnu_debugdata(dso, elf, name, &new_fd); + + if (!embedded) + goto out_close; + + elf_end(elf); + close(fd); + fd =3D new_fd; + elf =3D embedded; + } + if (gelf_getehdr(elf, &ehdr) =3D=3D NULL) { *dso__load_errno(dso) =3D DSO_LOAD_ERRNO__INVALID_ELF; pr_debug("%s: cannot get elf header.\n", __func__); @@ -1854,10 +1943,23 @@ int dso__load_sym(struct dso *dso, struct map *map,= struct symsrc *syms_ss, kmodule, 1); if (err < 0) return err; - err +=3D nr; + nr +=3D err; } =20 - return err; + /* + * The .gnu_debugdata is a special situation: it contains a symbol + * table, but the runtime file may also contain dynsym entries which are + * not present there. We need to load both. + */ + if (syms_ss->type =3D=3D DSO_BINARY_TYPE__GNU_DEBUGDATA && runtime_ss->dy= nsym) { + err =3D dso__load_sym_internal(dso, map, runtime_ss, runtime_ss, + kmodule, 1); + if (err < 0) + return err; + nr +=3D err; + } + + return nr; } =20 static int elf_read_maps(Elf *elf, bool exe, mapfn_t mapfn, void *data) diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 49b08adc6ee34..a0767762d4d73 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -84,6 +84,7 @@ static enum dso_binary_type binary_type_symtab[] =3D { DSO_BINARY_TYPE__FEDORA_DEBUGINFO, DSO_BINARY_TYPE__UBUNTU_DEBUGINFO, DSO_BINARY_TYPE__BUILDID_DEBUGINFO, + DSO_BINARY_TYPE__GNU_DEBUGDATA, DSO_BINARY_TYPE__SYSTEM_PATH_DSO, DSO_BINARY_TYPE__GUEST_KMODULE, DSO_BINARY_TYPE__GUEST_KMODULE_COMP, @@ -1716,6 +1717,7 @@ static bool dso__is_compatible_symtab_type(struct dso= *dso, bool kmod, case DSO_BINARY_TYPE__MIXEDUP_UBUNTU_DEBUGINFO: case DSO_BINARY_TYPE__BUILDID_DEBUGINFO: case DSO_BINARY_TYPE__OPENEMBEDDED_DEBUGINFO: + case DSO_BINARY_TYPE__GNU_DEBUGDATA: return !kmod && dso__kernel(dso) =3D=3D DSO_SPACE__USER; =20 case DSO_BINARY_TYPE__KALLSYMS: --=20 2.43.5