From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 9B32B389EC67 for ; Fri, 7 Oct 2022 14:13:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9B32B389EC67 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 (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 297BxACo002187; Fri, 7 Oct 2022 14:13:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=1DH6EuOAq26kFpfyQs4eXlDEY7VlIJCAWAt4yEYvimE=; b=2g35X8sjc2B11pdHTai7zX7a1lJwaBOfoRtjsrZNFADwudW7kbDccn1zMvvMpd27Rqes SGuoZFUiHLDaGsI6wVFrkN516snaFG6bLzUZV/PDtXIUcE+ntxFW2ximXb97rH0T/6/r GJSDQY+szNWaTa4nS80oEEmJXH090uc/kfZ40J92HzEu115kk5Fx3YmoHmqEHHZfLDXe EaMCRtdQYJZvD48dW7Gg2uPWL8wCdOwIN8SnDZFpLsAlD5V+A9fsDb0vgMMc/tav9vQa dW8Rg9CbTuHUmB3tFSgol4tRFfRNaJV756oBXkFsGs+WkeeDhsbryUb88tp9fs4XiZGS Iw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxdeafa4q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Oct 2022 14:13: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 297CGn1T020648; Fri, 7 Oct 2022 14:13:50 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2174.outbound.protection.outlook.com [104.47.73.174]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc077eu9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Oct 2022 14:13:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cVMbb22dBz5D/VjkVNTnco878ohNADZHf4mJC/sxugx1vxPfmGhcd07iWYK6gtMekpMni9jafyC/lMxXvBCXxV/jk52GbDIfvKTLYB2RgyYzCL3KHIHq4fxjqUiMgHaO8IrJ+FFzGf+e9fh/DqhTsjq1YE9ZPWAJUdubNeC1y2mFRd5yDpBD6SHPLhGZfExsyCPY0oL6o2Z6G+tIns3TDTtpXh2Czq2353mg+OFbvheo5Hjs0tb0LihxEtx3zIHcwln9CcdGe9NQEUV2v/PlTpk0szn0CerU6oL+Z6oU5EmF6GJLrCK6q/epSr21QXHczJM5TAjKiY9Gi4fKMOJClw== 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=1DH6EuOAq26kFpfyQs4eXlDEY7VlIJCAWAt4yEYvimE=; b=PsBr3Hw2QQwfmUuD0NdClCIbjxDJlqDrOn6yBu7iqSt2wExskQaUcFPSs38zT8vfv95Av/mgJDga+uVYrdCY2e+KoSkVvs0t5UnpBntrIQpIt5PYB8cFIIKhfkWc77wJGq2ZRoaRmrlWLaPs9GvyJjpCIWVcPM7IStoryyRIWdZt3TlfnX4rgAvoCazqQfZPVGDKMmBZKBcxdA3DZp4B96U37Qz+7kPGaSu6S5h2oxHOliVqFWYtkfC4jnsDslF0hjmLLBSZfK7TiAloPxxfPgiTBzE+w4mOl4ErJADpe8YQ+bjkkRmrxJcFVcY4Ck2z3cS7uVxe50jJWoM/GgqQ/g== 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=1DH6EuOAq26kFpfyQs4eXlDEY7VlIJCAWAt4yEYvimE=; b=l99i9pc+1FYlHMu8ZVwdbaHL31bwAkF9WIRC4bMg3uPv1r+PcSGuIgolah1g3NkNn+MdaoVnQeCUREQUjqQu/jjvolPPKU90hmTu3FHVMFZOKG4bf6d3+xsqUwmi2uYA8vjmdJDaZtUz67XyxslM36D9uc5lVc9atS+/vb4IYig= Received: from DM5PR10MB1401.namprd10.prod.outlook.com (2603:10b6:3:f::15) by CH0PR10MB4956.namprd10.prod.outlook.com (2603:10b6:610:c9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24; Fri, 7 Oct 2022 14:13:47 +0000 Received: from DM5PR10MB1401.namprd10.prod.outlook.com ([fe80::a8af:6a3c:fd82:5d30]) by DM5PR10MB1401.namprd10.prod.outlook.com ([fe80::a8af:6a3c:fd82:5d30%9]) with mapi id 15.20.5709.015; Fri, 7 Oct 2022 14:13:47 +0000 Message-ID: Date: Fri, 7 Oct 2022 09:13:45 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Subject: Re: [PATCH] CTF as a fallback when no DWARF debug info is present Content-Language: en-US To: Dodji Seketeli Cc: "Guillermo E. Martinez via Libabigail" References: <20221001001544.210234-1-guillermo.e.martinez@oracle.com> <877d1g2c52.fsf@seketeli.org> <568fe730-3bb9-0267-00bc-2873e94e502f@oracle.com> <86mta9bdpm.fsf@seketeli.org> <86h70havmm.fsf@seketeli.org> From: "Guillermo E. Martinez" Organization: Oracle Corporation In-Reply-To: <86h70havmm.fsf@seketeli.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SA9PR13CA0088.namprd13.prod.outlook.com (2603:10b6:806:23::33) To DM5PR10MB1401.namprd10.prod.outlook.com (2603:10b6:3:f::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1401:EE_|CH0PR10MB4956:EE_ X-MS-Office365-Filtering-Correlation-Id: e221e1b3-a57d-4e19-3d04-08daa86e26c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wJo5x/SwUOm7wBmBDHTJwA4XX6EG4mgC519bGxwMg2p8qkdwvFKWWlnQQTKm9b11eWY702fZr5K+eTQBDIuQFbBiSxJp6Hwvz8XZIr5szk3hjQXplHPV1TZscZtf12h4bW1LxfE1EmiFhorXL/e06qE4G/kziw6pFtYCN2kRx54CosvnwWty9K8C5OZTiuxmbCQkl5uYhxea5Y1wJ44YuJcC1QhSBN71NMwsYcuwvvk8ZN6ArzCZpKOS/34rY2e8RZ+hzVTVTFdKKVRgCuCirKxf64d7R8MFtHIbyGDH54oOCYWhY8KYjzRPv/Aktm+FTB/DdymTJWtNqMIJqP5rLO87945p30DywC6TpPKC8fJq2Ry3j6a6+cLnXJmZuvJkFPCvRUZAJOr50Ew5CyuBE2Yeu8An1PkH5+mhKQsuEt+KJY6cCO5zQ5I/XcYktuh3ifyHMMuNasAmysluxRPjNSZK4glvKIEq+qC9b5bRcKPZ6wkBzneArGQstrcrK9o779EA4SrduHqZcvlpg17rzMuXD+/Y4So/UaC1fApyLl/49GQFGh+ylmxxOYWjoIm1LZiqzKt6PHjDpgiJIcEVRRzyl1pF0GydRR80WygMoQwlk0mfsHKfxdZBIWT7CV7lhvPizkCTCoYRCV3xGlxWZ3s4XK0Ekb73BXsIam7WO4Jqa28W963h+W8Uo6UBzY8bBc7w7aCibsmrpW1MdKcCwMM8IViwfxct8J8G3VUoyQsuqzZbFsymmcxyc54ilo/s7VotyZwrBh34yGkaCbBmV8W1NejeTUJP5OVu5aO2pX4ZkqECD8HXLG8bJofx887bORPJFU4FApdgFiLoqTxep2eyr2EtkmTuU8kiJV9dgoM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1401.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(376002)(366004)(39860400002)(396003)(451199015)(38100700002)(5660300002)(2616005)(86362001)(36916002)(66556008)(66946007)(41300700001)(8936002)(66476007)(53546011)(36756003)(31696002)(4326008)(6506007)(6486002)(8676002)(6512007)(6916009)(2906002)(316002)(186003)(478600001)(31686004)(83380400001)(966005)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aWNUdmgwL0U4V0hscDc0dHJseG9wdGlhNlBldUdLVldrQXZyMHlEZXJ2dHZ6?= =?utf-8?B?UGlheHBBVmhaZ0dOcWV4RG0yOGRIZytoL2djS3drOUp6bVBFMlAxRnk2YkE1?= =?utf-8?B?Rm0zTENrWlJRbCsrb2JBZHpqbFliZEQxTFlicE5GbC81a1E5OG9mYjZCVURy?= =?utf-8?B?LzRXQUZPVk4wWUxBeFZMSmIrQVUwczNvQVZlT0NRNXFuTXM0MmM0OHNJaVh2?= =?utf-8?B?TWdBYWVKdy81d1c1aVZXUi85Nm9lU3J3VjFnWnNrcXFEaCtHV0I1dklXbmVu?= =?utf-8?B?RGpPOWpXek9ubXpYbW9HRjV3cU1udWIxTHlrSVRzUVJGcUVRZEphNDJOQ0l3?= =?utf-8?B?N0dQak93NElXcHBQd2FuQzV2Mnh4YkU0ZG16T0d4a0IwK3VxN1UvcG9FYXl1?= =?utf-8?B?NVkxeTZsRmxuaTRITmYraEdCcDRJYTZHWFV2RUNDQjlTc3BWT09WU0YwVXFw?= =?utf-8?B?RjZ5MU8vTHozZGU5SFdmMjZWSWJNM3liMXVmZjJhdGw3dEt0Q25XaS9GM2pj?= =?utf-8?B?NE1oMnJaQmRzcGQ5Nnp6aE8wcG5XeEwvaHNUa3I1Q09HdjZCZDZjNFpaMEFN?= =?utf-8?B?cU5PRXRHVXBKR1lrZ1Q0WjJLemNFNSs5QXFCUTFIbXg1QnVoOVZTT1doWVk1?= =?utf-8?B?VVU0NGlpK09ENGpTM2FlTjRRbWp2dHVsVlhlWnMzVWtLRWJLOTBCdjQvTnRQ?= =?utf-8?B?VjRLYmpCZ2pYeFF2cmZiaW1vaU5IbjA4dWZNd0NQaFgrZm03eHFpQmRrdUY0?= =?utf-8?B?ZDVERWNnN0k5R2F2UUhMR1JFZzhERWJpZU91c3M1cmtMUlpMdldEbzhRSnk5?= =?utf-8?B?bzlMOVJWak4rRlRJTHgxZTZ3TGhuMVo1SjFBeDdtcit1N3BsQmlGckpDcDdU?= =?utf-8?B?b0FvbnBpN2hmQ21oL1M5OERGYTNqTkozMzEyNjhHRXZtK09XaTB0Wlc5Z2Ey?= =?utf-8?B?L1pMYnFqMk9ORXNITW9Wb28wTUJPKzJCbGZoTkw5L3VSMVJIN3lwdXhWZzNw?= =?utf-8?B?cUNMcW1kSjdSNFRlaHB3MERpekR3UmhPUnRzSE5aZmhpamUrYnlPVzVpNTVh?= =?utf-8?B?ZGc4R1hQWmR2azF1T1hmNW9Yd09oUkpyalJtdEtJOUx0cUdYVC9TSXZrc3BM?= =?utf-8?B?Wlk0aFJSQTgyOTVSOXVlNHRybGRjVDF0Rkhid0lKOS9DaXIxYUZMcXdsZ01Q?= =?utf-8?B?d0xSaWh1WHMvajl0NWphZFpoRTZlK1FWRXhSMjBEL2NWMmQyaldJRktlcC90?= =?utf-8?B?ZFpQUkhPcnNsTEEzbnY3NVJNWVcvOXRYM3F6TTluMUVqblkvOEtjK1ZsRTVK?= =?utf-8?B?SzQ5YVU3Y293M1FFSEhVWnJBUUN3L0M0clhGb0ptQ2FJeU1xek44YVdabEUx?= =?utf-8?B?blFZMmpFbk9LN2Zjb1F5c0twMTBweDRFU0RwM2N4d1MxcHhOcWJvTW96eUZ1?= =?utf-8?B?aDh0d1MrNnFhbFVQd1NsajJwSWJ2Z3VyRThYczFhejFXdzhTOTFwaTNTR3kz?= =?utf-8?B?WFBFOVJXL1gvTEFIdkY1dEU1U1NUV2REZ2RoV1dydmVzSEdOOWtMQU5MMHZL?= =?utf-8?B?QzVSREx6THc2MTJDN0ZkejcwVmNiNjN3QzBXVFFRdk1jdENSWnBNK1B4MW1h?= =?utf-8?B?cnlhTFQ3T2MxOUR2ckx1MnV3VUlLcjlWVVJ2OFFGdjhRSDludHFPNzFwMEx4?= =?utf-8?B?aU92Q0orUEQ1TFVoUS9BNW13U05jNEVDN2FnZ2c0TUxYQytwQ095bVY3aTBw?= =?utf-8?B?Q0h0aXVzeXJSUlBoTWswRFhEUEd0VzRkelpNd2dLTVhDNUdKWFhMcFJ4Y1VD?= =?utf-8?B?QmlwcThFMndNMzVtUFlaS2UrdWpjWmJaUWhCS3ByNC9ySjlKUXhtdlNYMWtD?= =?utf-8?B?YlEvYTViSk5LNVpHaS91RkdCNUhrcTdGNi9NdHdIZHE5ektiUjVYTS9yOWJ4?= =?utf-8?B?Vmd4eVA2K0tYOXVTTmtZRTdiWnBLUGxSMWl3Y3lndnM5cHRuQjY4N0xaNUhk?= =?utf-8?B?OUFVd1NLQUtRU3hQSlhnWFdrOFZkTG1BQnRVVTRkVU5yYzJPQzNsZEVuOEgr?= =?utf-8?B?VlZTa1lFdHRGNnFiTG5JRUMxWXlEbkQxSmU0NEd2ZmgxYWdhOTcyWElnODRV?= =?utf-8?B?eDZwY2UzYXRYRTlOZEcxMTU3MXVLd3VyU3JuVVpYd3MvcGMzUEs5bS9WN3ZS?= =?utf-8?B?aXZEY2FJQnBHRmV0UXdoZS84dGIvYXhTQlpjSWhaNU9zU2RlL3pkcVJpaElq?= =?utf-8?Q?4+xCklaeL2MumGgGB5NVRelmgPtisk8TqXfRTX9j5k=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e221e1b3-a57d-4e19-3d04-08daa86e26c3 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1401.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2022 14:13:47.8419 (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: +/8o5ia7eOqUaW5rnyRdMlH5XNNjcLlf8Qc6iX9ZoY7KUEATIkVuNAeQ0d0WFmspocXIkPF2jgYzqdPAJPqw78EL1jIYFUrQ5aF3tY0He0s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4956 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-06_05,2022-10-07_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210070086 X-Proofpoint-GUID: cYsR6NlatquRhMsOT9XPuIdBOcbLeMRK X-Proofpoint-ORIG-GUID: cYsR6NlatquRhMsOT9XPuIdBOcbLeMRK X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,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: On 10/6/22 09:12, Dodji Seketeli wrote: > Hey again Guillermo, > > So, even before you sent the patch, I was "playing" with the idea of > re-organizing the code of the readers to make front-ends/readers be > first class citizens in libabigail. > Ohh, cool. > The idea is to have all the front-ends share/implement an abstract > interface: the Front End Interface, named abigail::fe_iface. So there > would be abigail::elf_reader::reader, abigail::dwarf_reader::reader and > abigail::ctf_reader::reader and abigtail::abixml_reader::reader > front-ends, all implementing the abigail::fe_iface. They would all have > to grok their intended input, build the IR as a result and pass it to > the middle-end. > OK, perfect!. > Most of the craft of analyzing the ELF part would be of course in > located in the abigail::elf_reader::reader type. > > The abigail::{dwarf,ctf}_reader::reader types would just have to use the > elf_reader::reader type to handle ELF stuff. > OK. > An example of what that would look like is in the > "users/dodji/front-end" branch at > https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/users/dodji/front-end. > > The interface of the new elf-reader type is at > https://sourceware.org/git/?p=libabigail.git;a=blob;f=include/abg-elf-reader.h;hb=refs/heads/users/dodji/front-end. > > The abigail::fe_iface interface it implements is at > https://sourceware.org/git/?p=libabigail.git;a=blob;f=include/abg-fe-iface.h;hb=refs/heads/users/dodji/front-end. > > It's not yet documented, but after the discussion we had on your patch, > I tried to implement a helper function > abigail::tools_utils::file_has_dwarf_debug_info() using the new > abigail::elf_reader::reader type. > > You can see it at > https://sourceware.org/git/?p=libabigail.git;a=blob;f=src/abg-tools-utils.cc;hb=refs/heads/users/dodji/front-end#l423 > > So, that function file_has_dwarf_debug_info() can be used to determine > if an ELF file has debug info (even taking into account split debug > information). Based on that information, the tool could chose the right > front-end to use. > Perfect!. > This is still work-in-progress, but the branch passes "make distcheck", > for what it's worth. > > If you are interested, maybe you could base the subsequent versions of > your patch on this branch? What do you think? > Totally agree. > In any case, I'll keep exploring this topic on that branch and I'll send > a message to the list a bit later to present it a little bit further. > Thanks!. > Cheers, >