From patchwork Fri Mar 1 17:22:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 86662 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 15AEB3858C66 for ; Fri, 1 Mar 2024 17:22:26 +0000 (GMT) X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id B1CA23858C5F for ; Fri, 1 Mar 2024 17:22:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B1CA23858C5F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B1CA23858C5F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709313742; cv=none; b=dOHs/O9ltLA89F+ID8jxAzeB7BoNIw7y2px16ce9OGniaybRzdQD+xuF1rymzFwhlfLKzxUCXTr/UN+ddsEIEq/hL5VoDjQ47Y4j2BXThLTflku7ubFUteAkFWanCUlNaaZGFM73Oh/YW/hChhsq7ZM/0tCHGsCR56sDQpIYO5I= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709313742; c=relaxed/simple; bh=mGbOImkzV6PZH899YS4vTpTvlo2FJzm2NZXTS+UMZoY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=HKOGp5BEZRPG644zXIVrsp37O2ReXH1nc113Tbo7N1CVJ5qulXrS4OgVs3WGVRxA5xP8ancnD4nTKbqrL8TTYUs4nDyTxOxUX1dZNIa4D4hlCWN+ptmpLsKA73BG0rtEobXx7sjmbW1VdjuApEXRT/VAjiqG98PTI6yzG1z8g4Q= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1709313739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=820vK/uOq2o5vggFu11x2QBcP24X3OKAnKOWFCqvAtU=; b=K+Tq6zVZhgRUKFMuZdmCf8XB2GB39FFUK83umTOGgFb3U5hfWRjQMVRTqexeGfqynWuuap Qj3tc5TXqfMaGAXfXqTbLkkKgeRdvf7GxNbMmwMzwxj86SSkSFGXwRqCbBosieL9tKDIsF H+CCEtlKLb6oUWm3noRRUSXoa8VZMGo= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-68--x2TsrrXPt2XBEqie2TDbA-1; Fri, 01 Mar 2024 12:22:18 -0500 X-MC-Unique: -x2TsrrXPt2XBEqie2TDbA-1 Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-42ed291a0a2so4397151cf.2 for ; Fri, 01 Mar 2024 09:22:18 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709313737; x=1709918537; h=mime-version:user-agent:message-id:date:organization:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=820vK/uOq2o5vggFu11x2QBcP24X3OKAnKOWFCqvAtU=; b=p5Bf2d1m9J6mZTxYhukXKtANyBereqIrO3kZDmLOtQpOx7mP74oUluqe08mQDMPMpq lbOkGzPaZ3IEfyYmZh6kHnULl0/oLSmNA1XXd9OkuPBSwIEHnMrNyj1WokPEh77PPylL dvU3v34zXvC3wSCtkp39tX9O8HXfso1/5pSOsZhzZpfBVvdQYJq6kHMXFAaU2ygJ2WSj NSPNVcDi7/oC5QqthE6fQZKwwkG2mTs5jgqDS5eAKAOa0WH/oxqmslf3BD0XXEdlU3yS W78gSpVzl+RaqN+/O/0WjaF3TB5shdYUjs1zkzgn80acQgRfj3XlRKs+93D5M7LIPxZZ o8dw== X-Gm-Message-State: AOJu0YzM/Y/uDvQXWg02DRfbNai7r1+mIaQ37E/VPxIm8holTE92m+B2 j0BWkU4LsLE2Be3wcTWLEPBJuXo41A6HD3qiTyHLkHzS2eMBq+sMW8l0dNWUwZSw3h4AdZFzizf 5j1UzYZH7v5Echp6v5j+EJv+C4jo6tmFnOORtWQS2KYNRiQiYRKB5u6qpusOHxtCAuA== X-Received: by 2002:a05:622a:47:b0:42e:c782:6ed9 with SMTP id y7-20020a05622a004700b0042ec7826ed9mr2380611qtw.60.1709313737562; Fri, 01 Mar 2024 09:22:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IGh16/kIXohT3Cbxor8MZ/NHz3UZvFMvm9PhYRUCLG+8cBD89ZsrxI+uVEwLN5oSWPEorcQvA== X-Received: by 2002:a05:622a:47:b0:42e:c782:6ed9 with SMTP id y7-20020a05622a004700b0042ec7826ed9mr2380599qtw.60.1709313737326; Fri, 01 Mar 2024 09:22:17 -0800 (PST) Received: from localhost (88-120-130-27.subs.proxad.net. [88.120.130.27]) by smtp.gmail.com with ESMTPSA id wi4-20020a05620a570400b00787c19c51b1sm1816325qkn.9.2024.03.01.09.22.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 09:22:17 -0800 (PST) Received: by localhost (Postfix, from userid 1000) id 843D95071022; Fri, 1 Mar 2024 18:22:15 +0100 (CET) From: Dodji Seketeli To: libabigail@sourceware.org Cc: dodji@redhat.com Subject: [PATCH] abicompat: Port this to the multi-front-end architecture Organization: Red Hat / France X-Operating-System: AlmaLinux 9.3 X-URL: http://www.redhat.com Date: Fri, 01 Mar 2024 18:22:15 +0100 Message-ID: <87msrh7tq0.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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.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 Hello, I forgot to port abicompat to the multi-front-end architecture that was put in place a while ago. Namely, all the other tools now use abigail::tools_utils::create_best_elf_based_reader to create the best elf-based reader depending on if they are given DWARF, BTF or CTF debug information. This patch make abicompat use abigail::tools_utils::create_best_elf_based_reader too. * tools/abicompat.cc (read_corpus): Use abigail::tools_utils::create_best_elf_based_reader to create the right reader depending on the debug information at hand. Signed-off-by: Dodji Seketeli Applying to the master branch --- tools/abicompat.cc | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tools/abicompat.cc b/tools/abicompat.cc index 9e264b0e..c1e658b2 100644 --- a/tools/abicompat.cc +++ b/tools/abicompat.cc @@ -53,6 +53,8 @@ using std::ofstream; using std::vector; using std::shared_ptr; +using abigail::tools_utils::create_best_elf_based_reader; + using namespace abigail; using abigail::tools_utils::emit_prefix; @@ -672,19 +674,21 @@ read_corpus(options opts, break; case abigail::tools_utils::FILE_TYPE_ELF: { + corpus::origin requested_fe_kind = corpus::DWARF_ORIGIN; #ifdef WITH_CTF if (opts.use_ctf) - { - rdr = ctf::create_reader(path, env); - ABG_ASSERT(rdr); - - retval = ctf::read_corpus(rdr.get(), status); - } - else + requested_fe_kind = corpus::CTF_ORIGIN; #endif - retval = dwarf::read_corpus_from_elf(path, di_roots, env, - /*load_all_types=*/opts.weak_mode, - status); +#ifdef WITH_BTF + if (opts.use_btf) + requested_fe_kind = corpus::BTF_ORIGIN; +#endif + + rdr = create_best_elf_based_reader (path, di_roots, env, requested_fe_kind, + /*load_all_types=*/opts.weak_mode, + status); + ABG_ASSERT(rdr); + retval = rdr->read_corpus(status); } break; case abigail::tools_utils::FILE_TYPE_XML_CORPUS: