From patchwork Mon Feb 3 15:10:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 105939 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 57B093858C35 for ; Mon, 3 Feb 2025 15:11:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 57B093858C35 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=ChEdJETK 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.129.124]) by sourceware.org (Postfix) with ESMTP id 0AF733858C50 for ; Mon, 3 Feb 2025 15:10:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0AF733858C50 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 0AF733858C50 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738595460; cv=none; b=bHaV3p323uYyyd2+o7Tru8+WaYXHYf2SZD2XrRXzxrpPM3qtEawGirvdO++VtTUbbkb8esdEjhY3iO3hi579TXxCmstz0B/wir8tVqIed0RWUTPH865M1Jy+Nf71zkZX/mvUJVD4XyUjb65fprc2+g33jd8tOVgvZ52GLAFN/oA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738595460; c=relaxed/simple; bh=7YyruYvoV3nuJSHExvpZo+yvuPFGRnfyROIKrQg0srw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=iNakZI6j+VbdF1l3q/RCLcvNS8234p1OYH+YLXiX/ooAWE5LgFMBLdw8s7ewF49lZGsWyAp/FKQN48cHCzj5jk6IZ6qJVaITF+ll+Owhw9DSICVI4Prd736M6ksht3/4oYGP1To13bdQmkJT+74hOW/MrWKXktEk7JGMJn0Vymc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0AF733858C50 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1738595458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=qzrvL7mLAcTSYjHgidutsCKp8DZSwir3tfXWXLt+qe8=; b=ChEdJETKaHLVxv9h5D9GD9cZYVPiA0Japer1wgZd/WyNjjvDyVtKZfmst2jXdclOwY3lj0 Wc4xYJAhJ16bV9YNa6m8t0La1PZ/MMqp+swpJX0ErHVpu1/TMw9nJRc/OeZgfFU5McoTkh JEUArjyU4bPQT0werdDB7LGGMseRmtg= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-195-Bvtye2E3Pt-iTInXYK_kaA-1; Mon, 03 Feb 2025 10:10:57 -0500 X-MC-Unique: Bvtye2E3Pt-iTInXYK_kaA-1 X-Mimecast-MFC-AGG-ID: Bvtye2E3Pt-iTInXYK_kaA Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7b864496708so1344059685a.2 for ; Mon, 03 Feb 2025 07:10:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738595456; x=1739200256; h=mime-version:user-agent:message-id:date:organization:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qzrvL7mLAcTSYjHgidutsCKp8DZSwir3tfXWXLt+qe8=; b=HzGKG5JT/mrZe9EHAlXnsKF+tXbZwEXoENUKuHMyvrA9mBtVtQd2FNPziaAw0UgHZL uEfpKe3wX52WdYJ1Xxek3/JnzJnIPAedP4rPvdbJStPCLGhOu6te5WcG92EpDCAi+XWx Gl+H4+Mp82hUEOPCc6//O7e0aKCi5Iikx4cpnfYI0XXQVksSqxEKHf+ByQ74CUDtuDuz UA6H/BFm/F1bUyJ8oYjdwmn+W2yaWmXZsUb3cThPXqQp4ldQE5HPD0HvrEfMRFglB1Ee sOIyFodQb4zY/5qHw+YS1JrUFhGQnnIY29vnesjJBinHKEly3wasTqrri7h0/1ETWGX8 WuLw== X-Gm-Message-State: AOJu0YxT8cYK4/YhqCvA4CHwqeIES0ULa3jPFWquNZ713PAKwdWEP9w8 v+UM1IU6FtF8o5IcQCVAtJsHz9csmJC8g657eftTs6NAWu9BdjHWbu8CpULB/8ZSyy0pRB9z+Io gV3XTIM+Ujzrnt+PzgzIW8WL+FmKlnatYZTx4owXgCFXnf1J+zLQm/GqoGQw5UId1dG3q08N2o9 LSaC2FnsmFqWlI1fMgCgsaLTK6B+b+0FzmKueEBw== X-Gm-Gg: ASbGncvuHc7rcC0gqZQHsP45kYAqm0i3qd7+6aZ5OCi1tEjZQVYskW4FNujd7gyaPHC axgH7u9/NMOz7eMFL5COziv/LcncPW6D8ZESb+SGEUwAL7YWarRwjuEAu2/0BGRiTQ94ZNu4PVU vgPixnS6n8k825ffYpUqnqRCAXIfXFIZ1dLjl97Loucl2ihzHrlz1zDbaWuieoXmrVld1eAMeH2 U4ZlFZiMPhw1cm5w0FCemaEjA6GuhuJVBA/OWhfmMUKuLzLdy8xpQmDQn0k4voq8Mn/wnLp7pJA t7ctEBEcmB4NU3sqjletYRsuR2g= X-Received: by 2002:a05:620a:3723:b0:7b6:cb66:ad74 with SMTP id af79cd13be357-7bffccdfa82mr3791073985a.18.1738595456363; Mon, 03 Feb 2025 07:10:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IESHZS/VZc97vB8eL7tCC3fVPLxW0KYfR/+OtCpng3i3Kwl3/QQQcOJDxktvMW220HxYDomLA== X-Received: by 2002:a05:620a:3723:b0:7b6:cb66:ad74 with SMTP id af79cd13be357-7bffccdfa82mr3791068185a.18.1738595455957; Mon, 03 Feb 2025 07:10:55 -0800 (PST) Received: from localhost (88-120-130-27.subs.proxad.net. [88.120.130.27]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c00a8d02b1sm532594185a.43.2025.02.03.07.10.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2025 07:10:55 -0800 (PST) Received: by localhost (Postfix, from userid 1000) id AB4545077C4C; Mon, 3 Feb 2025 16:10:53 +0100 (CET) From: Dodji Seketeli To: libabigail@sourceware.org Subject: [PATCH applied] abipkgdiff: Add more verbose logging Organization: Red Hat / France X-Operating-System: AlmaLinux 9.5 X-URL: http://www.redhat.com Date: Mon, 03 Feb 2025 16:10:53 +0100 Message-ID: <87ldunjc76.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-MFC-PROC-ID: M1WvATAfamYpnJ0I3z54hXFZmcsLGdNJxsyzkKL4bTc_1738595456 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.0 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_H5, RCVD_IN_MSPIKE_WL, 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 Hello, While looking at something else, I felt the need for more logs when using the --verbose option with abipkgdiff, especially with respect to building corpora for Linux kernel binaries and gathering their kabi stable lists. * src/abg-tools-utils.cc (load_vmlinux_corpus): Log stable list loading. * tools/abipkgdiff.cc (compare_prepared_linux_kernel_packages): Log building of corpora for Linux kernels and diffing them. Signed-off-by: Dodji Seketeli Applied to the mainline. --- src/abg-tools-utils.cc | 7 ++++++ tools/abipkgdiff.cc | 48 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc index 0de9b797..2f811e7e 100644 --- a/src/abg-tools-utils.cc +++ b/src/abg-tools-utils.cc @@ -3005,6 +3005,13 @@ load_vmlinux_corpus(elf_based_reader_sptr rdr, abigail::fe_iface::status status = abigail::fe_iface::STATUS_OK; rdr->options().do_log = verbose; + if (verbose) + { + std::cerr << "Loading stable lists:'"; + for (auto s : kabi_wl_paths) + std::cerr << s << ","; + std::cerr << "'...\n"; + } t.start(); load_generate_apply_suppressions(*rdr, suppr_paths, kabi_wl_paths, supprs); diff --git a/tools/abipkgdiff.cc b/tools/abipkgdiff.cc index 3db6dbde..602271ff 100644 --- a/tools/abipkgdiff.cc +++ b/tools/abipkgdiff.cc @@ -140,6 +140,7 @@ using abigail::tools_utils::load_default_system_suppressions; using abigail::tools_utils::load_default_user_suppressions; using abigail::tools_utils::abidiff_status; using abigail::tools_utils::create_best_elf_based_reader; +using abigail::tools_utils::timer; using abigail::ir::corpus_sptr; using abigail::ir::corpus_group_sptr; using abigail::comparison::diff_context; @@ -3254,6 +3255,14 @@ compare_prepared_linux_kernel_packages(package& first_package, requested_fe_kind = corpus::BTF_ORIGIN; #endif + timer t; + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "Going to build first corpus group from kernel dist under " + << dist_root1 + << "...\n"; + + t.start(); corpus1 = build_corpus_group_from_kernel_dist_under(dist_root1, debug_dir1, vmlinux_path1, @@ -3261,10 +3270,23 @@ compare_prepared_linux_kernel_packages(package& first_package, opts.kabi_whitelist_paths, supprs, opts.verbose, env, requested_fe_kind); + t.stop(); + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "Built first corpus group from kernel dist under " + << dist_root1 + << "in: " << t << "\n"; if (!corpus1) return abigail::tools_utils::ABIDIFF_ERROR; + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "Going to build second corpus group from kernel dist under " + << dist_root2 + << "...\n"; + + t.start(); corpus2 = build_corpus_group_from_kernel_dist_under(dist_root2, debug_dir2, vmlinux_path2, @@ -3272,6 +3294,12 @@ compare_prepared_linux_kernel_packages(package& first_package, opts.kabi_whitelist_paths, supprs, opts.verbose, env, requested_fe_kind); + t.stop(); + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "Built second corpus group from kernel dist under " + << dist_root2 + << "in: " << t << "\n"; if (!corpus2) return abigail::tools_utils::ABIDIFF_ERROR; @@ -3279,9 +3307,27 @@ compare_prepared_linux_kernel_packages(package& first_package, diff_context_sptr diff_ctxt(new diff_context); set_diff_context_from_opts(diff_ctxt, opts); + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "diffing the two kernel corpora ...\n"; + t.start(); corpus_diff_sptr diff = compute_diff(corpus1, corpus2, diff_ctxt); + t.stop(); + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "diffed the two kernel corpora in: " << t << "\n"; - if (diff->has_net_changes()) + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "evaluating the set of net changes of the diff ...\n"; + t.start(); + bool has_net_changes = diff->has_net_changes(); + t.stop(); + if (opts.verbose) + emit_prefix("abipkgdiff", cerr) + << "evaluated set of net changes of the diff in:" << t << "\n"; + + if (has_net_changes) status |= abigail::tools_utils::ABIDIFF_ABI_CHANGE; if (diff->has_incompatible_changes()) status |= abigail::tools_utils::ABIDIFF_ABI_INCOMPATIBLE_CHANGE;