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 3B6E03858D1E for ; Wed, 13 Jul 2022 23:25:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3B6E03858D1E Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26DJDmhd023348 for ; Wed, 13 Jul 2022 23:25:15 GMT Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3h71scbqsw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 13 Jul 2022 23:25:15 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 26DNO3N4001785 for ; Wed, 13 Jul 2022 23:25:14 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3h7045nd54-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 13 Jul 2022 23:25:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yz8g3ZZ5f1qojjBB9CikfnM97tMftduM9iZXGdel0r4/PJ4HvgRyqA9/xAwxpRMSsJBEILGdQ18UL1mWToKky8zLxvIxQoyOy8t8aqluvFxhnT3psTp/LfpqwGBpP7R0YbU6fZjMjUhFSXPPPVVv5vtTtc+tePPskKGsDxVLKWT9Zd1dQ6aepCzyRvhvK0QnDaSeJs5Qk0flHtPhynr6mPEjefaRZShLHfF2OQ8auIa69mLK82abn/QFknxQDSuH0ibYgqVMF3JUXISMbIEIm8RmD6SufgM8U65YjlTkmdnkvCmLrny4A0LWF86jVRD/8z65oThA6NQMYUi65InBQg== 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=m8SWX0bhH2xieGLGNuzyJef4HrgsL6H4FS42AKmPvAI=; b=lLopAB+NAAgSBP/ntg/UBJUsTqgeDjPvwEJOiGjxSos2d44AQEjltFsxZrNbparMbrSN1FrOOZtAKYc2Vfsr352lG5mk86qdT/5CUur4oHHAIBfoMO71A1h+jtb4SSxpoYs+BIrBxxtMJs1Kq3fFCyQMBBm/9cA/D1ET6LOfhhw5a6Pu0ZM6qe0aT3y7fXzBQ89BhkgakNdgpHedk5J0Un9U0k+T6llztwNwPB9WoGHFlLt95+IirfT7pmOU6nhkdGB1ZuwrCuwWIHh9UfjX1H2Cca+/r+all3FmVBukns5NkbAnIJdZLtLh0pncgH3eZKJwIIo4d5y8403YTkHrrA== 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 Received: from MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) by CY4PR10MB1752.namprd10.prod.outlook.com (2603:10b6:910:10::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.25; Wed, 13 Jul 2022 23:25:13 +0000 Received: from MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::40f0:f59d:aca7:92ea]) by MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::40f0:f59d:aca7:92ea%3]) with mapi id 15.20.5417.026; Wed, 13 Jul 2022 23:25:12 +0000 From: "Guillermo E. Martinez" To: libabigail@sourceware.org Subject: Use CTF as a fallback when no DWARFs debug info is present Date: Wed, 13 Jul 2022 18:25:09 -0500 Message-ID: <21824871.EfDdHjke4D@sali> Organization: Oracle Corp Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-ClientProxiedBy: DS7PR05CA0058.namprd05.prod.outlook.com (2603:10b6:8:2f::11) To MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 66dd274f-ddb0-4f4d-ef73-08da6526ef2d X-MS-TrafficTypeDiagnostic: CY4PR10MB1752:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8aQeW4xyrVbp+2sL9/5JERJzK+l5Dv6699aKzXSCecERF0xn7/RG/ynSmgCqntUEftE9bsEDTaocBIs6zD+cIAl0qkMvU68UFS5iEhqP1TBYrKsvwzhDhfNhV4lXhNU/DYu+EjrvjFPqTEWZ+HBRmOZBucaCFB2EK93XL2+9805B+5PXcwyCfXmP4fGUP9EPvw7uNk4XTxoZZXkDjXCw7EHxzAqLn1+WkVeVFlf6adgLt0iYKkWjZxoIfMloIsUT3rf5jwaZKk9ey/NcqRyGj4d070NykOwwqgdhfcvBPUpnhcx6nGqkv2q16Ig8JsjUo7xuR5uRej5Ls2FlPkUmjwGY3mFBMMRARBVHnQtp7cBEj5DfoexH18uy20Pe6nC8YfWLhnidzKF4C68K7aAFnP4ZWaJgdtonOkbVY84CG0cINJljkXt2Uy7zIFFe1qKWelu1leT23FW1gIhZIeRH8uEnzpUoYypHbf6Q7DCbO91NaJhFQlF0QY0wlMC9xy5SWNZUL2sukAa+d7LgG+1LyRxaMWy8JNhHjfcSqBK2/fK9YjdKN5QV6Bst8We1SX0SNYbZ8FQq02UoNgD7H7fEnReEs09HjE3DbqhYRvocVEhoQAAnXtAJFCdNeHtDt4ouLgC4+lnNZT+qWpEEYVt5A6loyoTedoQ1mk43eyj8bVHTUTHXpiikwVfopH+h3B3IlUl8kTwBmxZKr8PM2cimHLmC4xnBGqnj5a2TW653aY4RQgIzdvJOyCpkn4MUcqsdMVhvynIUv39juoPkVW3a2/EzyZ0TY+tqiy5V2WczTtE= 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:(13230016)(7916004)(376002)(346002)(396003)(136003)(366004)(39860400002)(4326008)(316002)(6916009)(8676002)(33716001)(186003)(66946007)(66476007)(36916002)(6512007)(9686003)(107886003)(41300700001)(38100700002)(52116002)(86362001)(478600001)(5660300002)(6506007)(2906002)(8936002)(66556008)(6486002)(6666004)(39026012); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rR3qdpgR2RY2Vn2zm0Qd64BJjxDpG6Mb4+HUsz3m5EpwGaKjdHnwhs51nsla?= =?us-ascii?Q?RGh6yOIPqdjq+/AvLhYCC4/V7XshcRkllnElCJfOgCXqUkTWAgRLyC0C7TcA?= =?us-ascii?Q?SEStvi4mSt2pDG3KwEHFFSo6oaiiJWYCmviAL5ezeT/lYeLZScCcaCFDReVI?= =?us-ascii?Q?7O2Ojm1I2ugGTyIHhL089JZ9omTq+LivKTiHLF975F+lWgUbx+YURIDzAjB1?= =?us-ascii?Q?GaVOllvfP+FKPrctxrN3TnUbibXWbEEu6f6FqQHzy8qOpAwxok0tPZoJf8T3?= =?us-ascii?Q?DMCai3NbVLXdnKo7o/TaQd+7JiANL4mrLxYnWdF0/CXT2/Md+liqdzB4UM4E?= =?us-ascii?Q?ZUzW42+sQzHjpqUafH3TqleDzj9Ytu7OKipXpykZ2PEFOFfgiirqWRhNAwKP?= =?us-ascii?Q?M7FOl3AygWuwg7MmpgIcyOi/jnzzIE+XiICtbSDwkw1dybCEeGu3YP5x6+5E?= =?us-ascii?Q?wFlLZrzBzJeXzC1JBRfdT7VAUuq/B3L5+kkJRMbSMxX4mWVj49z1dP8o1kWN?= =?us-ascii?Q?10N61tiIgOVSEL0TwivHGEV6fWnXjEZuQmiSWh40R/ZnEghFzwpg519fShGi?= =?us-ascii?Q?q9lnu/J0yQErQiJj3/6sYk79Mq1gAfupUpjiJwp264w8+JH+2YjgWiA5kAUz?= =?us-ascii?Q?p0prrUzc+/Z1CW/RV68zyHdMgOoMWF6Z7Ea++/D87zb5HxrgQydzkXcWYxeK?= =?us-ascii?Q?hzSspQ9R+t3aMV4rOWHUWBx/QL6sv5HOTfMHovN1qX1mPMto2I69bifOosiq?= =?us-ascii?Q?eANWto6Lr5lYEIjyKV7IeWWrVfuSYCyUf4PVBtCmGPRR1PE42MZPeb7ZaRgx?= =?us-ascii?Q?++3zKz5CAooo7Wynjka/SZKkjPMJS75mPAUifudOIkeg/3S50x5gCLF31N9N?= =?us-ascii?Q?TTi9cxidRasJSklRFbsLxyHNNvfvtPyy9gXZVe2CRanqwACV5/FzcgqSI9k+?= =?us-ascii?Q?cnbB+v+WFlc+FO8iyPJlrJ92YqpK43gwHvsTpxD9/fe+sKMAHUFNQC0m/0bD?= =?us-ascii?Q?IzCYlcoTGNj2ajGQyMXn9avqkFv16+QSulpgORpCHNCRBqlj6pBYrwLRjzWO?= =?us-ascii?Q?O15A2CSn77uLxSAMVd+uZ7WDlmGiveGJnyTd50YN/FXQi9Vy5Kiv2C/88ZeJ?= =?us-ascii?Q?6QBEhAS6CyNfepreFPJE7hNvJgmxn2X5qPKn7Y2XqDjiJPU6T0sTUh2eeOC1?= =?us-ascii?Q?18cEsGcYZ2PxP7lbE9X66+1fJivhV6rdrfICthDcjSDrtUWlRx3OddcyoxOe?= =?us-ascii?Q?WoBlXkyTk+2Gxf5cw6Tgo9VYI+b6WGD/8zIlREsdt/Wlngt63Iu1Jeg/j6o3?= =?us-ascii?Q?8LFkuE/FPAOf9OGQrL74vMvHzXDLDGbPzfOnNy7UBF2MVR4NfJGZge9BjWe5?= =?us-ascii?Q?oVf/NXXdIVcLtgvaBQlnuiujS0/GZMxeBMMbh+KpclWlwi6Dng0uhm4I3jYi?= =?us-ascii?Q?8DCWp0Edccx209w4L5PE6ZO2QfuOU2hMf9Nkf/iyOEbl3Okh4/SziNGgwoxB?= =?us-ascii?Q?eGqkdfgOg1BkWaX/r6Rk/waa5o0VHAsBzjiOcU/Pugf4W7OigozowAenZpoY?= =?us-ascii?Q?yGccOHKWMzjTzZdKFPelFWJzJeixamUmX+b47pG0g3iOmMdCOSfIy5d++MXi?= =?us-ascii?Q?L/WNOI16i9vajsixJ3AMNAU=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66dd274f-ddb0-4f4d-ef73-08da6526ef2d X-MS-Exchange-CrossTenant-AuthSource: MWHPR10MB1407.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2022 23:25:12.3680 (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: X6/O72GroskwiAWC/E4FtzXPau1pw+rM6ukM4gKIggA/055E5nIfTKgeMB3qBQTwiwo3PAnXXAv7xCOuEFJHTzaciYfjttTs3cG1aTjOYT0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR10MB1752 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-07-13_12:2022-07-13, 2022-07-13 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 spamscore=0 adultscore=0 suspectscore=0 bulkscore=0 mlxlogscore=593 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207130094 X-Proofpoint-GUID: 4RkvGTAdu12bmkdDN0N-h1PwjMBaEdyV X-Proofpoint-ORIG-GUID: 4RkvGTAdu12bmkdDN0N-h1PwjMBaEdyV X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE 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.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2022 23:25:19 -0000 Hello libabigail team, Talking with my colleges Jose E. Marchesi and Nick Alcock about of the user interface provided by abidw, abidiff and some other tools in libabigail, we think such tools should be looks for DWARF debug information, and if it is not present fall back for CTF even without --ctf option, this behaviour is used by GDB (looking for .ctf and .debug_* section, but in libabigail is done by the symtab class), so I did some minor changes in abidw and abidiff setting the corpus origin depending of `opts.use_ctf', trying to build the copus with DWARF debug information, but if it is not possible (`STATUS_DEBUG_INFO_NOT_FOUND') looks for CTF info. corpus::origin origin = opts.use_ctf ? CTF_ORIGIN : DWARF_ORIGIN; ... if (origin == DWARF_ORIGIN) { // Build corpus with DWARF } if ((status & STATUS_DEBUG_INFO_NOT_FOUND) || origin == CTF_ORIGIN) { // Build corpus with CTF } if (status & STATUS_DEBUG_INFO_NOT_FOUND) { // lets to know the user that no debug info // was found in DWARF neither CTF } Doing in this way, seem to work, however there are functions to notifying the user about of missing debug information (e.g `handle_error') that use an specific DWARF `read_context' reference, so if we want to reuse it, then we could split common functionality/interface for both readers in a base class: class base_read_context { ... virtual const string& alt_debug_info_path() const; void exported_decls_builder(corpus::exported_decls_builder* b); ... }; class dwarf_reader::read_context : public base_read_context { ... }; class ctf_reader::read_context : public base_read_context { ... }; // Now reusing refers_to_alt_debug_info for both readers bool refers_to_alt_debug_info(const read_context& ctxt, string& alt_di_path) { ... } Please let met know your feedback, I'll really appreciate! Regards, guillermo