From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 4E63A3858C5E for ; Thu, 23 Feb 2023 16:04:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4E63A3858C5E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31NAECxX022697 for ; Thu, 23 Feb 2023 16:04:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : subject : message-id : references : content-type : in-reply-to : mime-version; s=corp-2022-7-12; bh=0jd5YGoQzwE062ldBDkmXUtC0p6i+zO/CD8H2tEJHzE=; b=nLoNKdoF5VCy28B3gguvJpAN2OqzrsbfmvL9f2M9fDXKo6mnty2qa15py38i9uX0BAN4 BEgPGcfLjeK0UIPbwXTKXPybGaVwRXVFLb9c+Ih6D0pebUrxXMovkKsAHIwW5kb/Zcwd aHxKlrSpX2LwyCsmLAO7bBhuprYL//FXSYvjl4dG0FtjCY/B8bLZNzak1LS150zTeV31 RYvPLt/shcZI6ZRkIP4nmQp3eenJQYQ2yWUMQ7pRirXRWLa4Vt6lc2cHsCKkNg3ACaXE 1hgr3BPypu7KdJdKd1ObN+Ry93BYKmzqhSIpIl3OxU7MdvPu3W6TkUmoSxA9BAttGn9t Og== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ntn3dtwsg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 23 Feb 2023 16:04:51 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 31NF3W7H033936 for ; Thu, 23 Feb 2023 16:04:51 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3ntn4fk2fg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 23 Feb 2023 16:04:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JMpPVTQkZyhjJey2Xb9i2Kn7PV+bAgkl4cZ/NoMUyMOgXNOLSmp+FZYp34m3CzL6XPaB2rH1iuZ3xdGwGGslGrMyBvDHzk1mntxTEx1YUZRxuPH4l9LWtXbSjNp4pbhbSkgu1G9Ahr97iOCd+FZl2nH23LQvC/GYA2NApm+jdqH3d5zkUItCPBS2dt2sLS4iJK6Eu70MgSmaqtnhsQqNTCyg3ciTpVY9lHMJNbTDBXI9oTin4rkAC2kpyiIUOK9Fx9QjzqSsyaHNITSIZeVM3ivi2WWQ4Eu2zkMakD3uiJFuZIOaNT1ZxkwpDcXLBGtCbgtA5OV/ULhOiEXq3wBcBg== 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=0jd5YGoQzwE062ldBDkmXUtC0p6i+zO/CD8H2tEJHzE=; b=GdtBMOOyysxaBkbscu11XAxyeywhtlUUAk4NazqpdNy46M4/QKSA6WNB6TtjBXayKc7OTlssxDtZLpxFCzkRK58o5yrU3MgzTm0df5mvOtT5peeEjIh1QIj1TRvViMnkRhpCWG5pkMZS+1kAI5B2Xa/OP0xWaP9J/JlCO1NyRsiNZWj8LSmkhpkcamWEo+0OZ44RQNbmjOTahxAhD1Z3hcoepdkdfxDkDqMncipZlgrya9dWDI6jJw9GVyI4ZDKONg8jp8ZIrKDl3M6j3S+WOxcvaW2Ob+No23C1sfMDdI8afVIuwWmjs9gpvmyqG2XwcHa5OgVeQEAJUerdSX0IFw== 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=0jd5YGoQzwE062ldBDkmXUtC0p6i+zO/CD8H2tEJHzE=; b=axCTppGfWEWjTgG2H/XGh8Z86Kb5LeZcrhWSj8Bckai+nPRUV9d0ZbkWisX4/kvShiVHqqlfIXNQx1f+vIjNEHbTN/sHFKuD2M4Di/JpB0Artnwao2XYT5oXvhug/haKATBoMDZqBJJ+Xx6Dn4635yfmsWgal8TVEWwWS02P/38= Received: from MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) by CY5PR10MB5914.namprd10.prod.outlook.com (2603:10b6:930:2e::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.7; Thu, 23 Feb 2023 16:04:48 +0000 Received: from MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::480f:b0b1:2e28:546e]) by MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::480f:b0b1:2e28:546e%7]) with mapi id 15.20.6156.007; Thu, 23 Feb 2023 16:04:48 +0000 Date: Thu, 23 Feb 2023 10:04:39 -0600 From: "Guillermo E. Martinez" To: libabigail@sourceware.org Subject: Re: [PATCH] abipkgdiff: Fix comparing CTF kABIs using Oracle Linux RPMs Message-ID: <20230223160439.phw2qz4l6khwdkmf@kamehouse> References: <20230217005743.2607886-1-guillermo.e.martinez@oracle.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230217005743.2607886-1-guillermo.e.martinez@oracle.com> X-ClientProxiedBy: LO2P123CA0029.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::17) To MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR10MB1407:EE_|CY5PR10MB5914:EE_ X-MS-Office365-Filtering-Correlation-Id: 7bc1d215-07be-45f5-d0fb-08db15b7b01c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9zUki1vS1i2eLf9m6TU8zS8ulb/EWBd0SMlJLn4SQgCE873//qzXdnrCa7+1OA+JrFG6u2JeCyQJp3D1WxingEOdb38qZScuSZKs3VZoe498yJY5JXrvo1JLPiY29aCj2g650B+UgjFQJlZLV0WGZZrA1CZFzik4UNirUtAgWcmcpn1cwHeBYWCH7IbZyKRP1+yr4ZibFGm4YmdFQUQeCZ7uHkdkJCAqt3GShQZb6TykI3xbHTFQ7Ch6kk0IvURetmSi91VsY2Oa2YcYk82S5YmQUzNQCye/+BTfF6Wz7hdNvA4WruqBlE7VIiqWkZnbTLuPF0PDfpy0IMd7VZtY3PA6iBAZo5FV3ip0KaR8GIwLlvy+VRkyDzVcnfOSXkgB2CCYKoBKORutR1YlBMeqt9/6gM7MLWi6DlvWSGX8nQLf1N0+AZlmc4u6s3Rbm4Fq8QbFVgcmKb9MOlVJsMq2YY+AnLxnNwfBlfVxnBBp6pVrduTl+u0I2C/gFjrXOWafKrQe1ChZr8D7okPUzl6tTlYuGYJ1IOf0OvkuCTafLyZDqnjIvRSi6bUTYjBtbLenU0PVyCeQ4gcW5HcWd3kcU6RakpJ4O6/2+uvyHjSJ/fLyeCSgOUy73lhbDirEdkQZgPvM8zWP+3BGow9pZVwgTw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR10MB1407.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(396003)(39860400002)(346002)(136003)(366004)(376002)(451199018)(2906002)(66476007)(316002)(6486002)(66556008)(6666004)(41300700001)(6512007)(1076003)(6506007)(66946007)(33716001)(5660300002)(478600001)(9686003)(83380400001)(8676002)(6916009)(8936002)(26005)(186003)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?481GBSLq4v/2qarr0lFQCd3d8LMA8c0hxVs5MdTLGSHGpV3aIUAShTibwQVn?= =?us-ascii?Q?FWkD8IO8OHJFPOcoJdt0zp6yk4Whv9g1hPrJFKbRwiI2utAHaigYdqfljk6o?= =?us-ascii?Q?kefN/zoMiMeTl7TAbrvPRUe4ddQZC4tqBk7qHQ/R9KCmN01zZy6smQo2BxTB?= =?us-ascii?Q?hiVuCKL4UQR7Mir5JmGlpqmtl7HtHw8wIM7N+ZEddSZNvhDVh4sGcC8ssXZ/?= =?us-ascii?Q?8ZNNEUhvmLOcC9qx5oq25Fcrdyq0jutB87eG8yBLDFNV/Vn6Ewu8cEEzhucH?= =?us-ascii?Q?0PCfOtViQDk82C524GJVhGp31LvtFhIhCwL8OZycDEhACYZZyjetJsrC8Aig?= =?us-ascii?Q?ZM5vtyluwL0ewrMsVkaO6OkIACAEiQDp0QWD4QnpMXmWiWjJPOnD1U2L9/F+?= =?us-ascii?Q?7yUxWtmaU/2ugkLNtbdpYbStpJlZIKnf/thGl+SXJlsUnf5XkXgvcsWHipTq?= =?us-ascii?Q?Am2RhtWUfULoJ1+GslwxHXe+twKqmgMh8Cmnh3IQf2VebBeNkHt/uoh+1nVW?= =?us-ascii?Q?W2Zwmm4RuS4ZfclQVQWQIZN8vdYQqxdBAcuOM5NSX1XuNpA8m5D57gyktb3Q?= =?us-ascii?Q?OPEPGgZNtDA9V80pvEaz/7DRR3c/xYGHRJn4GdyjFLQkoy+mjGdqkNrNIfTK?= =?us-ascii?Q?sYAbfDEXG+J+w+M93sJIiiNPUU1rOi1FaiXPBysBsNVH0UqXFBohM/Q6hCC5?= =?us-ascii?Q?NNFWTA7RZtEDlu6apDZzmdk/Oh5m1/KcMlTrOsoqNGwKa+gFiJvPSljCAJMH?= =?us-ascii?Q?sK1jUGPEQ/65plf269PzU7GHEBi1TzS0wxMeLKYG6iEabbkZRSBQaJYi4Q/K?= =?us-ascii?Q?vVEmXFE8ThccMnXMzfW0oeNhHiT5fnyvphJiA1+bFgk0WHhcXx/yhqqMX7vd?= =?us-ascii?Q?bnqgBon4WwBbp2zxa2cPAp3jNqXAG+fRNpUFmIDg/f7YrcttquPuiEdI5YOh?= =?us-ascii?Q?rlVBo/Dm98cTQmsy5jG+EdH5uvPnqdkiS/g8QRgO0797SFcuezpDutjCIoOp?= =?us-ascii?Q?SdVKOX77YZA5ujfg62697T/vCPa6FkoTzs7e0nqLqQOZrzVnoB/2TeneCyN3?= =?us-ascii?Q?O0zTdxiGgMOdJgsxJyYOrT3vwst+2yff1/6ehKsqBRz9eA3pDEqdkPyxtEqt?= =?us-ascii?Q?ejAMO2Sb6KvO+nRslA3GP2AhTxkUb/uzfr3zHX+Mpi2FoZoS542pDlKyXTsa?= =?us-ascii?Q?dNBV+sUQWDcdnCW92NqTUKkPWavuNG0CrLTcpdvFgs5XQScYBU09vg6U2r+g?= =?us-ascii?Q?qtzTGmY0Hete4XKBZJmANyqhd90zm339EagZNB/uePCMHkc4Y98O0cQy7ybZ?= =?us-ascii?Q?jrFWJLoVXAJ9QmlNBFVJnsbo6/zmgqr6wc3QWp+H+tcvk8Wa9MxGeYxSO7GB?= =?us-ascii?Q?CBf4c+i+7ZGd0TuNAuN87+fiB0DXHgz7RbVXAibJn/1bpKIb1gbQFTiK1Uy3?= =?us-ascii?Q?346SrDzUMRnrFlrQYUre0NVW56+RrPcAXz3T0gPuscSE1AcvHqQNyxkV16s8?= =?us-ascii?Q?kEhtuTR02g7LbB4f3vboqSS21Vk5+dv/RI0Mn0sHW0mWtBL+axQApK67Sqk3?= =?us-ascii?Q?41g8ntobI3HhvwH0FZhimQb20ggSbxsRKfkPnY7pXgfHhcEBJrBl+AfPd1JS?= =?us-ascii?Q?P6JAf1ADFlTXJd8HWXymX/I=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0GQqDjCdIJlJu3zuOZfti81PCTZycGf5OqNnalWg+bioZ6fSHTN3hAFRT7ZePyZWjk3rFwdixs2CQ9GTCVX1Ln72UuXzttCMeNlKUBYy2JL8TG7Ii51W+RQ7UR/xJ7pJdvIRJocbc/mpIQ5Ry25FRLNTiog72JuoG62c9tLdcEJaDq4zcmkkK8NUXeAnekXWCOlyA2wbIpNWtnPWsE8NS4eBYmT6VW8JWpJKJVBrBCfk9nHiXLj3G0m5RYyDAzAMjk1G1G6Gj0TCtnx80ApkYNfDHFQEY8N1cZuqWnmcXHR570thdU+AKKcQuqiZ5U8Ltrea92OHcFj9+VL4guOm6lnAIf+kZD5R5LbXNDwgJSspJ+juc70xGOCEhQFz+BGOh6Qz+o+a8TLAJgxuhBkA8FR5v2Nleignjib0uDDCxzqAItALFmP3DPrKjaHX22Dk3wvRW0YLksz34oo+uo1aFoHHPUJQCoszNLGIcSA+RvBoE/YAj1qkWfT4wxl/k3ek/Xzem4u//+/YSZL6zNUBymgyMZV0NJUtjKAle93n6NV7k8ispmwoCU/iUcqHSCk5eo1pVjEqhCTuC2mt6VkUCWaqPEZOqtE6gep1X9CZ3jKp8OpeVu0NyaCXeKTQdNAMW/4NETjLJlReX2XTH/5AHU6CBXFAJLFGADkik1Fl5m/yvHwZ/Wj/Z/byCtVCk3LK0vjRFpa4TNXHx7JrkvK8S8N2mH3gbTr1FH+RtcoOPdK8YgFc6EKgW0Tuar8fjuhw X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7bc1d215-07be-45f5-d0fb-08db15b7b01c X-MS-Exchange-CrossTenant-AuthSource: MWHPR10MB1407.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2023 16:04:48.4683 (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: 551AAVddWEd5k+lhJ+JSVUlehTJGXPxol5c7bUMisFc7GOUmz5Faot9apJ18xHqpwTafnfdlur4ZI3NLr074hSv/cgdxdwMcwNKdB6+auIg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5914 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-23_10,2023-02-23_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 phishscore=0 suspectscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302230132 X-Proofpoint-GUID: kudf3KjZgBrhrdtDAtkTvzBIviNLetI9 X-Proofpoint-ORIG-GUID: kudf3KjZgBrhrdtDAtkTvzBIviNLetI9 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello, Any comment of this patch? Thanks!, guillermo On Thu, Feb 16, 2023 at 06:57:43PM -0600, Guillermo E. Martinez wrote: > Hello, > > This patch is meant to fix how `abipkgdiff' using CTF origin is looking > for dependencies to analyze kABIs. IMHO `file_is_kernel_package' > function is relying on package name, so when `--ctf' is provided, it only > will work with executables under uncompressed directories and it never > will try to find `vmlinux.cfa' because it is just needed by KABIs. I > think that an option to force handle a packages as kernel would be nice > regardless the package name. > > Please let me know your comments, > Thanks in advanced!, > guillermo > -- > > Using abipkgdiff to analyze kABIs from OL packages with CTF debug format > is not able to identify kernel packages, so the analysts is done as user > space RPMs, `file_is_kernel_package' function uses package name to > identify if the package contains kernel information, in OL distribution > the those packages are named as: `kernel-uek-core-*', then a wrong flow > is executed, additionally `vmlinux.ctfa' ship in a non debug package, so > the expected location is not satisfied . > > * src/abg-ctf-reader.cc (ctf::reader::find_ctfa_file): Use `find_file_under_dir' > utility function to locate `vmlinux.ctfa' file. > (ctf::reader::process_ctf_archive): Adjust dictionary name > according to module name, removing characters after dot. > * src/abg-tools-utils.cc (file_has_ctf_debug_info): Use `find_file_under_dir' > utility function to locate `vmlinux.ctfa' file. > (file_is_kernel_package): Adjust package name identifying a kernel package. > (build_corpus_group_from_kernel_dist_under): Add `root' package directory > to debug info array. > > Signed-off-by: Guillermo E. Martinez > --- > src/abg-ctf-reader.cc | 16 ++++++---------- > src/abg-tools-utils.cc | 14 ++++++++++++-- > 2 files changed, 18 insertions(+), 12 deletions(-) > > diff --git a/src/abg-ctf-reader.cc b/src/abg-ctf-reader.cc > index 7159a578..ac0d3104 100644 > --- a/src/abg-ctf-reader.cc > +++ b/src/abg-ctf-reader.cc > @@ -336,12 +336,8 @@ public: > // for vmlinux.ctfa should be provided with --debug-info-dir > // option. > for (const auto& path : debug_info_root_paths()) > - { > - ctfa_dirname = *path; > - ctfa_file = ctfa_dirname + "/vmlinux.ctfa"; > - if (file_exists(ctfa_file)) > - return true; > - } > + if (tools_utils::find_file_under_dir(*path, "vmlinux.ctfa", ctfa_file)) > + return true; > > return false; > } > @@ -428,10 +424,10 @@ public: > && corpus_group()) > { > tools_utils::base_name(corpus_path(), dict_name); > - > - if (dict_name != "vmlinux") > - // remove .ko suffix > - dict_name.erase(dict_name.length() - 3, 3); > + // remove .* suffix > + std::size_t pos = dict_name.find("."); > + if (pos != string::npos) > + dict_name.erase(pos); > > std::replace(dict_name.begin(), dict_name.end(), '-', '_'); > } > diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc > index 81f9aa75..d7f8b71f 100644 > --- a/src/abg-tools-utils.cc > +++ b/src/abg-tools-utils.cc > @@ -501,7 +501,7 @@ file_has_ctf_debug_info(const string& elf_file_path, > > // vmlinux.ctfa could be provided with --debug-info-dir > for (const auto& path : debug_info_root_paths) > - if (dir_contains_ctf_archive(*path, vmlinux)) > + if (find_file_under_dir(*path, "vmlinux.ctfa", vmlinux)) > return true; > > return false; > @@ -1780,7 +1780,7 @@ file_is_kernel_package(const string& file_name, file_type file_type) > { > if (!get_rpm_name(file_name, package_name)) > return false; > - result = (package_name == "kernel"); > + result = (string_begins_with(package_name, "kernel")); > } > else if (file_type == FILE_TYPE_DEB) > { > @@ -2812,6 +2812,16 @@ build_corpus_group_from_kernel_dist_under(const string& root, > vector di_roots; > di_roots.push_back(&di_root_ptr); > > +#ifdef WITH_CTF > + shared_ptr di_root_ctf; > + if (requested_fe_kind & corpus::CTF_ORIGIN) > + { > + di_root_ctf = make_path_absolute(root.c_str()); > + char *di_root_ctf_ptr = di_root_ctf.get(); > + di_roots.push_back(&di_root_ctf_ptr); > + } > +#endif > + > abigail::elf_based_reader_sptr reader = > create_best_elf_based_reader(vmlinux, > di_roots, > -- > 2.39.1 >