From patchwork Thu Aug 7 15:17:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Zissulescu X-Patchwork-Id: 118022 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E6F5A3858418 for ; Thu, 7 Aug 2025 15:18:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E6F5A3858418 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2025-04-25 header.b=YjqMCQ10; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=g1hjClwS X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id B5238385840B for ; Thu, 7 Aug 2025 15:18:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B5238385840B Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B5238385840B Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1754579912; cv=pass; b=oFJojokywriHd+LQnmOwKSavX0riUq7R9RsMnQ8FtQyLZWsAesgxdF6Oo36IameM6+R6RdTToHZ11r3RBeB27+UyLtWKCtSSUm8FA2YD4WSHDoSTLD2yvXhns7cMaV/1N/qoj+7afkSOAaYvfgA1d7qU9/W2X9pxYjdoaxpWDuQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1754579912; c=relaxed/simple; bh=lChdR85Q6y+QcijhmsK9gTtlmQWn+cV9vpatIYRnN58=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=jHrBzispqfkPzda0Hb9y5dXhEqXd7uagORoiKZdzXNfkCGJ6o0XukT7jLXAcWnJDnPHseBmkbGS721JlhmTTtWtv8KWEE3R+OPv32t3dn1zJaYVrVdHrOjVTRGFvXWSKHxWaPS0FRT/9iPlUSG4aVEUgWsef3dXT+o8ZTHXWTxQ= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B5238385840B Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 577F5a2F010901 for ; Thu, 7 Aug 2025 15:18:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=corp-2025-04-25; bh=0HygsFInKqOmxS85 uLWFJq+E5RgEmYzzRhwNQRwySrA=; b=YjqMCQ10TpiOFUTmEjAnt8KK+wInXqve 4nuAi5hp7i+vkcThPf1qnolwwnwZwf803uEk0O/f6aB+e1AKHoueOKhT+vh5K9yH 1MGP5eDZ6rK+0SHdwJO3Xz8jS1FeCwQIfXS9UI5wgHOjmvLaL9BgyMNYbHc5c8Fu vhybY476vMtz08o8VE+PSPphqZhkNHgLHFckn7jSYTzNDI0gv68ZrUPml4kGG92F qnOiNRlqtx3yJ2T38EetH6vCjs69jKRXH0JFrpWseuHefFeTROJMCSzt2wPmQR86 atM7HOidmouiAliPsr3tHriym5PyDC7QC9sp/wBOBg9IGePg3rkMEA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 48bpvg4cee-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 07 Aug 2025 15:18:31 +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 577EPCfn005767 for ; Thu, 7 Aug 2025 15:18:30 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2050.outbound.protection.outlook.com [40.107.102.50]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 48bpwykbrn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 07 Aug 2025 15:18:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jMkCz+PbgVT+F29EbxyUkOy8Y/HgYPs/qcQcDmJnUZo+Bm9DM2gvCHXjCXxl9efu3gvMGC9sE+QE70BJCRQqzmCJFSPlxT+fnjjFq4+C4fknouz4U5wNgyIOwU7Mg08O3uX065n8+8d8bAqDj1+j1iB7qQtyD8AoearIuJG3ny1F2EALvP5Y+p4B3ohrxXzOmR5BvfmhRyPh+wXlwc1hjYJfCUFb1rU2O2ZNPiesR8pMLnacWQokgzBmpm76BFE8hDUCKaeYsF3/fvP5Ji2mw492u6VSXB9G8sOVoNZFbTOKd4oK+h0C1r4Ce7r9Y25x5lqREXWjPYTUmVZM0hSHtw== 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=0HygsFInKqOmxS85uLWFJq+E5RgEmYzzRhwNQRwySrA=; b=obQoTMlmE5UIVgUy1+oo8YkUhezxSs1sfxXa9V59WGL5flAHD81FbCekQspiI1tpzXi6bZGyl+kNpC47u3uBp/tgQFE5z5jycRzGwtCgq8lggrRIKukxLLnLQyTk5IFlTqyvyY05l0l0ahZiwqzVYXeIlAOpRE/A0v8rr1d51bRqthwp8pIfwkDs0zyKlEgxDXCoieZa+LYQH7y4q26vXlWOjkVEu9btoI1XJMRMVlQnw5Lw/SZY8gDugvUABPAmxnxJIQN216zs2/HmZ6sv1M0aiJ0D5f0g7Y7qnO+v7ZNBhVt0jH8bn1LHLFpqone8YY0FkylGwhB+qfFDPz6Kvw== 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=0HygsFInKqOmxS85uLWFJq+E5RgEmYzzRhwNQRwySrA=; b=g1hjClwSSTyTMPK05IJiXWIP5yAdtqMX3diC4YHFLqNMOQ9vqTZzgU66B1GkHoGI6v/9OwR3mkvKto9XVzNVd7UTmGYgrz/d7jXOBqysdNe7t5VWvApC9rNEALybqsHawWyA8x0t68HDY0WkVLS8dV+/M3I7ng/X4hxbfnmXX5w= Received: from CY5PR10MB6011.namprd10.prod.outlook.com (2603:10b6:930:28::16) by DS0PR10MB8078.namprd10.prod.outlook.com (2603:10b6:8:1fd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9009.13; Thu, 7 Aug 2025 15:18:28 +0000 Received: from CY5PR10MB6011.namprd10.prod.outlook.com ([fe80::3aca:a3f6:e92f:782e]) by CY5PR10MB6011.namprd10.prod.outlook.com ([fe80::3aca:a3f6:e92f:782e%6]) with mapi id 15.20.9009.017; Thu, 7 Aug 2025 15:18:27 +0000 From: claudiu.zissulescu-ianculescu@oracle.com To: libabigail@sourceware.org, elena.zannoni@oracle.com Subject: [PATCH] abicompat: Add the ability to process abi corpus group Date: Thu, 7 Aug 2025 18:17:57 +0300 Message-ID: <20250807151822.107760-1-claudiu.zissulescu-ianculescu@oracle.com> X-Mailer: git-send-email 2.50.1 X-ClientProxiedBy: BE1P281CA0188.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:8d::7) To CY5PR10MB6011.namprd10.prod.outlook.com (2603:10b6:930:28::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY5PR10MB6011:EE_|DS0PR10MB8078:EE_ X-MS-Office365-Filtering-Correlation-Id: 732a2474-a65f-4a93-43a6-08ddd5c5a8de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: 15sTjtwagZEW5TSs8r5TjRgNIvpUpJlmrDHpy+sR08GaNOTvJlO08KEZC7UDbnexF1/CZD31HQ+shR2VZlCJArC2ygnytBLthQ9amSCXb8FbLyk2wnBMG1jqYyUTN3ghhZ4LQZeCnM98B+OKDJglRIyW5R2d1VtP5tzjczQEMOiLqlj1lRBUfckLaqCEXzBkm50r01ppKCLWcWE9Ezc25BOOVRVSSUv1bf8Jt+WiKN1sSKW/H/NKTXX2+HRX940kLHr8k0ETtYLyFHXCZDeqywRE2dmI9pkYCylZoMthgJTtt8G6UENpZP1XncLE6PpQhLKLH62pgwa13FAbRJ1TIYwg/G5EfGoDRhe2OFrEf39K4mEPQhch8R+rVzMjWLUY9QYZlQHZ9SOKaexhYx9BLkSeZ5u68oDPptQuoLjJ8UlO9d6fLIrEFy0dfMCHiXSpLtHqxpwLHgWc7P+/Xh8EoH/6+FIr+jx0VSSPViciCgu0E8pDsA3j3+eym8Vf9BHic4tg/K/qxJInSoaVo5gSPp36VqWXtF7d1iB3cw+nduIhtOYiEHAD0HfUKaMu4T9zhR44WL++A1EeA+HqgSrunBe/rx7Ae/V/wO6SVQAHQg79jk2L6+qCUR9m9tMckNjjz4CJI6J2vgtDj5dUyeFnumT1iWEwYJZk1Ctg3/VwS2Sczv9S8k6lj8eUsl9lLPQTzQW3KfBvxHL9VhiRbs3ueeu3W9+eQubqk9cTf3NMsGdYy6hXH/qR3IuS7yH8uzBUIFqTgsxeJZpLbZsIcYa07ARXxHxQWsqoTJbbz5nGZEc9zDGqPd9N/ERBZpeBEU90MYv9yI838GoTZRC6mdPMrINhO+O4EbURkLKK2k4i3aIgDOkWviVrpmEyqHcw+4pD2iiZDUn70BDK4TcakwIqpfoeGG0jFb9/dIcvABdEvvr+LTcoYpnmY9tHe/DJbT1DpYG2gdryHXCH2DLdjtLi6BLPkwLufMmHH1H+O4OM05o+gmncdupG7xXUQDtTli1Qj1Z/tXDw1hBgaPzchQHj0bxu5OydGL7NZHKdK3BlzhIKYrg1ZZWdwfkN+tPx6KxTw0kGqNrvkW6HRL2hoJLcgvOsjhW0QfhkT28BGsAt1NaVOpIbhJ6qf397zzAVRQstdWaOwRaOsoaQfKfCEQHnRXKfM0GeYf4Pp9jvsvKMUq/BO76I283zSuiwooc5hOd6fWg4IhDfDCS1ISBF1oXPjH2EYp8dmA9LeQukBf2DTnHdKElYlK0PAKucdLO6UZolzFkk1BIhwPdJMXabYmp+REQo+HU7Tcv1qT7X1Nv7pnSlKe21ZaNhQQu6q9rzQxDXwllukJw1x7bRmNnpaGmIxoguePfD6661lkcihYPTTPFCG3OyCZvQy7aBTB6jqyLB4EaG73MmSYcETDyEZDI4ro7fMaxf/9kanCMJ/U8BobY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY5PR10MB6011.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 60CfCvQuRumtUV0hV6Lz9YzxAcNpGFza9Kl80gvNkreJigHC0PrGfkZKW3vNrZAOE/e1gmt3j5R862YrmqKCRjKzxh9L7p07e2Z0MoImT5/ubYBlzXL1hgl8glwXuKWdeCJKwD0mFDdHfHVidh7RJukbt3PQksm4aqBjUCz/BeBfqQzydpwmvQiO+u7mssKBgxlzxVyz6pJUPPEB22S8kfsPmGE3DkO16xdTv1Psi43vhOfQ4XmHmX/H5Q//7MaW3FU46d3rT9SJtz2QbQvXrDlEndcZ/LmgVG4ml/tPFzQcx7G8bwnpp4Vp+kZPZy207DYYyO0bCSLMzrIsY8o/Rw9afR4gCmeL9Faj2+oNxrTlie3eCBcCJyucMup0srJafv39ADddCz4Hbq+3OahZTFa42H3udae23PhpWXC64MGxjvF08EvBb+jRA2iZnjeJP9vbN8b0pt5J03lZnYrdRQtwiRu9KSwQbOE81InCxBTqXJWnaKi4S3hNhC4U0v03/sW+nNRIDhtAgnBau2M8Fh3odTJgLeDoaO/Bz3pSZQHaqsaB1xT/dNsr91I52KZHq6lkNlfcAzyRQ1SnMZRnEHwsH9vO3wWmPvLFnpj7g3pXW0HPgv53iwMk2wuTX/TbYhMdPJdr9zI4vDN0YXnfz805wsi2weGEV3Y3Hlt2GUKD3gDO26Fp+F2t+efvjRFKW2JFrmbrkySb0ylyI2mAMfc3BZDZCK95qm/DFv7sa6QNy3aC+C7pl5qjL+8iRtR4s7qNufn0UZn9CGQ9/mF+fMoqlvUw3gaKdVjmaZcnqcdBvJenN+AcP2GpBa1sRoIUaR6Kt04SCOgGxPeuF7PTY+Egn8tp/y0Rh+b+w64mO9Aeou3kVWYhcT6ekwF2EO0oS7Z8bcXNyzHQf9oquw2jMG3Hf8n9u64e2n5tGrfYIzrERJl2baKrHMPAwqgKPqkDFrSVwRjBwviWSCgOl+Js2MsAlloUeCGKSXOnpkx7nFw81ghUM05wPJROqGzc07Awd5qp+qjQhTFA+cUhXb0cfpBr1NYChcBCZBlKBUT6xE8kMeTk8ekHnuYQ/RyMZevxdTHSvTCMi0R3H8qdjQuqW6CErn+BjRt67Syp9r/yzsKci8pF1i9cFXLcg4IWdjYIIPIcG+qKc16DZiwcWA4LvUGYch5xaEZ9l9WYHApmxJ0nF16YOX6VCgJXYPWPnKKlcmzWucG/hA9o/eJdZyDVN12Kv3l8j/MM6PO9DYlXXB1pqdOlAQzrPFyPMlWeoaJjq8bcEfU4MTluOM+rNHyt5x1MzSdiFM9xlhC8Sm/i2v8VkWMUlGv6c2Jf8fObzDKnATWyO+/AtgwkA4kzm3NTtsvftXZSbC9g0pcUh0dm6ljhSin4rz4nCLIMNbPCFxCV0H75qPQjGtr37tElDg2nRJcaeNLMu5sTVChQs8A6Wp/lahMuwyFw6VpJs4bWVsrGmFjJlHL0wbPk78Y4e/yKM2MWlNE9eQPxUp5piRkT2b3tQ19HCQhKybPSmmq19Vvo8qzPA3H4c8+t5svcaAfTTyCaUNbMwyl0aVU1T/9yuM7ZNm5CcI+2FMvA4NwjlBnXuD9+wB3Qk/gwT2FBnppbd3AbAxIct8te6Mny/q5n2tw= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: p5ZekFUZMIRSn9tuO3kCFE/2ZDzVBYetOmVrKNkb4+VYOB/TKPC5QRfK1k/dHkJPGKymXrFE2bM4ZVzWYMp/XpO5W/vgS546gEaZJh4igsPbz34M5tHvwgE6ltxB7qf/7hXRIhVq8gnTvunjS4i612y5SBjaSPSg156I6HgxO0K0xAr1ihOS0cutmZ0nvVCLpH9j3oANEPRXIyYF0xwJ+FVgZ5/AxOwOB9RRhY1M0CFHylyNhMUjcFaBE93wh8ZoArxeuOeyXW8pXii0IqqnNnkQhTaDv8cSqDXLM3TLQ6pAZhhGTZUfZf5ZrwkpXA7P8hCdb+kLl0q/FOY1S/LhQYfPnam4MoXM3/NksPwtDBmQFO1QLn/yWcCcq4d7FzG2iGPC3jwrIaryljvoErwXCruQ9yhpQtupQUZuE5H0ZoqB5HffW4eD5bO/46vB8Gna0/iLEVIK8yLf2NfqJdgNDmr/6yl+tLSfnIlSPzrs3lx+oipdlICuJ0Z3/rd/72ZG1ORE6fBC0R66DwxIf/VV6XhNvqeryo386bdqZV/FfInDh8+EjOPucCZrxKlhfQSRMu730kDS7DeHLVYX8InB4jYLLXlyY0vIGYtPfZ2ZuYo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 732a2474-a65f-4a93-43a6-08ddd5c5a8de X-MS-Exchange-CrossTenant-AuthSource: CY5PR10MB6011.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2025 15:18:27.8197 (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: AOc/MIVZtgnMHdMf9Zt0mugjAY1q4gXtgMEY0hHGZ7NxH5mI/FtOF0KUSVImZN6k3rE0xRKCo5IwFobIdU041hMG1UsWrAC2yut/19j1yhhuU5yjqz3NlkijhOXVPyRyuXIKc/mpYxQJ73M9QsS0Aw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB8078 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_03,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2507300000 definitions=main-2508070124 X-Proofpoint-ORIG-GUID: tAYwV8SrHA8e5TXHjleCAgXOSYXdw5hk X-Proofpoint-GUID: tAYwV8SrHA8e5TXHjleCAgXOSYXdw5hk X-Authority-Analysis: v=2.4 cv=QORoRhLL c=1 sm=1 tr=0 ts=6894c3c7 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=nZy4kqdQPQYob5C66YMA:9 cc=ntf awl=host:12069 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA3MDEyNCBTYWx0ZWRfX2iyOdaM3TLU3 Q6IS10ffe2TwxJNP/UwaHoLH1JtcQK5feuz933qrtBxb1d/IhbIuUhf+ZcB9Mz7FHZkC2t5p1ez qspGI0PTInA4qhlKAW/YzjOnU3RbqhxFz+AhckGjM9ONFChsHKF3eoT7LzoPAzpPepvT3LfvEhD t/M6ufrCFuuRZCv2ApSsasoGvdcapp9wuU6y0ZhY+YvHPyQJUA/SOH4Q7znZGpR5b48mDKPXpAi ged4eLC8sLVNRlsvmgI7knzmsIJxXQ8Tgjm6h6GCuBa8tSx/Z2QbGc9g8fWqM6giEr450wyQopy AlY2W4HlfkKxmJIgytdtm/M4NLeugO60nD36taMWKiOWGGKxBn3R239s1IZtiRFxVTDPPeP1qiw u5g3ZPY65Rao7G8FGtTxV7avvrq97LiKMSxhMcoA+YD2J+8midKbU0me4DqQ1Aeeb7m2zb1R 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_H4, RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, 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 X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libabigail-bounces~patchwork=sourceware.org@sourceware.org From: Claudiu Zissulescu This patch introduces a new option `--soname` to the `abicompat` tool. This new option allows users to specify a shared library name when comparing ABI XML files that contain groups of corpora. This is useful when dealing with multiple shared libraries that have their ABIs stored within a single XML file. This patch also adds a new test case for this functionality, and updates the documentation. Signed-off-by: Dodji Seketeli --- big-tests | 2 +- doc/manuals/abicompat.rst | 8 ++ .../test-abicompat/libtest10-fn-changed.xml | 86 +++++++++++++++++++ .../test-abicompat/test10-fn-changed-app.xml | 45 ++++++++++ .../data/test-abicompat/test10-fn-changed.txt | 15 ++++ tests/test-abicompat.cc | 10 +++ tools/abicompat.cc | 41 ++++++++- 7 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 tests/data/test-abicompat/libtest10-fn-changed.xml create mode 100644 tests/data/test-abicompat/test10-fn-changed-app.xml create mode 100644 tests/data/test-abicompat/test10-fn-changed.txt diff --git a/big-tests b/big-tests index e772c1e6..bcec65b5 160000 --- a/big-tests +++ b/big-tests @@ -1 +1 @@ -Subproject commit e772c1e67aba14141dd16735ecdf19368b0cb29e +Subproject commit bcec65b53b8332710f8d74adf4d6a060a91ab5ee diff --git a/doc/manuals/abicompat.rst b/doc/manuals/abicompat.rst index 8f19c433..99e41896 100644 --- a/doc/manuals/abicompat.rst +++ b/doc/manuals/abicompat.rst @@ -131,6 +131,14 @@ Options application but that are removed from the library. That is why it is called ``weak`` mode. + * ``--soname`` + + Specify a shared library name. When the shared libraries versions + are given as ABIXMLs and those XML files contains groups of + corpora, then the shared library name is used to select the right + ABI corpus to be used when checking the ABI compatibility between + the application and the shared library. + .. _abicompat_return_value_label: Return values diff --git a/tests/data/test-abicompat/libtest10-fn-changed.xml b/tests/data/test-abicompat/libtest10-fn-changed.xml new file mode 100644 index 00000000..097af2af --- /dev/null +++ b/tests/data/test-abicompat/libtest10-fn-changed.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/test-abicompat/test10-fn-changed-app.xml b/tests/data/test-abicompat/test10-fn-changed-app.xml new file mode 100644 index 00000000..8e5b2728 --- /dev/null +++ b/tests/data/test-abicompat/test10-fn-changed-app.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/test-abicompat/test10-fn-changed.txt b/tests/data/test-abicompat/test10-fn-changed.txt new file mode 100644 index 00000000..357b9d75 --- /dev/null +++ b/tests/data/test-abicompat/test10-fn-changed.txt @@ -0,0 +1,15 @@ +Searching for soname libtest-1.so ... found. +functions defined in library 'libtest10-fn-changed.xml' +have sub-types that are different from what application 'test10-fn-changed-app.xml' expects: + + function foo* first_func(void): + return type changed: + in pointed to type 'struct foo' at test1.h:1:1: + type size changed from 32 to 64 (in bits) + 1 data member insertion: + 'char m1', at offset 32 (in bits) at test1.h:4:1 + + function void second_func(foo&): + parameter 1 of type 'foo&' has sub-type changes: + referenced type 'struct foo' changed at test0.h:1:1, as reported earlier + diff --git a/tests/test-abicompat.cc b/tests/test-abicompat.cc index 051cfba4..02ca97c3 100644 --- a/tests/test-abicompat.cc +++ b/tests/test-abicompat.cc @@ -334,6 +334,16 @@ InOutSpec in_out_specs[] = "data/test-abicompat/test10/test10-fn-changed-report-4.txt", "output/test-abicompat/test10/test10-fn-changed-report-4.txt", }, + { + "data/test-abicompat/test10-fn-changed-app.xml", + "data/test-abicompat/libtest10-fn-changed.xml", + "", + "", + "--show-base-names --weak-mode --soname libtest-1.so", + abigail::tools_utils::ABIDIFF_ABI_CHANGE, + "data/test-abicompat/test10-fn-changed.txt", + "output/test-abicompat/test10-fn-changed.txt", + }, // This entry must be the last one. {0, 0, 0, 0, 0, abigail::tools_utils::ABIDIFF_OK, 0, 0} }; diff --git a/tools/abicompat.cc b/tools/abicompat.cc index b3e556dd..9b28d9ad 100644 --- a/tools/abicompat.cc +++ b/tools/abicompat.cc @@ -100,6 +100,7 @@ public: string app_di_root_path; string lib1_di_root_path; string lib2_di_root_path; + string soname; vector suppression_paths; bool display_help; bool display_version; @@ -246,6 +247,7 @@ display_usage(const string& prog_name, ostream& out) << " --redundant display redundant changes (this is the default)\n" << " --weak-mode check compatibility between the application and " "just one version of the library.\n" + << " --soname specify the search so name (only for xml corpus groups)\n" #ifdef WITH_CTF << " --ctf use CTF instead of DWARF in ELF files\n" #endif @@ -274,6 +276,14 @@ parse_command_line(int argc, char* argv[], options& opts) else return false; } + else if (!strcmp(argv[i], "--soname")) + { + if (argc <= i + 1 + || argv[i + 1][0] == '-') + return false; + opts.soname = argv[i + 1]; + ++i; + } else if (!strcmp(argv[i], "--version") || !strcmp(argv[i], "-v")) { @@ -887,8 +897,37 @@ read_corpus(options opts, retval = rdr->read_corpus(status); } break; - case abigail::tools_utils::FILE_TYPE_AR: case abigail::tools_utils::FILE_TYPE_XML_CORPUS_GROUP: + { + if (opts.soname.empty()) + { + cout << "No SONAME provided.\n"; + return NULL; + } + + corpus_group_sptr grp; + rdr = abixml::create_reader(path, env); + assert(rdr); + grp = abixml::read_corpus_group_from_input(*rdr); + cout << "Searching for soname " << opts.soname << " ..."; + for (corpus_group::corpora_type::const_iterator i = + grp->get_corpora().begin(); + i != grp->get_corpora().end(); + ++i) + { + corpus_sptr c = *i; + if (c->get_soname().compare(opts.soname) == 0) + { + cout << " found.\n"; + retval = c; + break; + } + } + if (!retval) + cout << "not found.\n"; + } + break; + case abigail::tools_utils::FILE_TYPE_AR: case abigail::tools_utils::FILE_TYPE_RPM: case abigail::tools_utils::FILE_TYPE_SRPM: case abigail::tools_utils::FILE_TYPE_DEB: