Annocheck: Always look for annobin notes in separate debug info files.

Resolves: RHEL-75778
This commit is contained in:
Nick Clifton 2025-01-22 11:37:54 +00:00
parent 2bf6eee716
commit b3dab16b40
3 changed files with 84 additions and 4 deletions

View File

@ -0,0 +1,55 @@
#--- annobin.orig/gcc-plugin/annobin.cc 2025-01-22 10:16:43.228689446 +0000
+++ annobin-12.82/gcc-plugin/annobin.cc 2025-01-22 10:17:28.453873506 +0000
@@ -3249,6 +3249,7 @@ multiple_annobin_plugins_present (const
return false;
}
+#if GCCPLUGIN_VERSION_MAJOR > 11
/* We used to call plugins_active_p() here but this only lets us know if
there are other active plugins. It does not tell us if they are
different versions of the annobin plugin. So instead we iterate
@@ -3271,16 +3272,16 @@ multiple_annobin_plugins_present (const
return false;
}
- // We have only found one annobin plugin, which must be ourselves.
- // But there is a possibility that there are other, older versions of the
- // annobin plugin installed. We have no reliable way of detecting them,
- // but we assume that if the version string in the plugin's
- // plugin_name_arrgs structure is not filled in then it *might* be an
- // annobin plugin. So we count that as a positive result.
- //
- // If this turns out to be incorrect then the only recourse is for the user
- // to place the annobin plugin earlier on the gcc command line than the
- // plugin(s) that are not setting their version strings.
+ /* We have only found one annobin plugin, which must be ourselves.
+ But there is a possibility that there are other, older versions of the
+ annobin plugin installed. We have no reliable way of detecting them,
+ but we assume that if the version string in the plugin's
+ plugin_name_args structure is not filled in then it *might* be an
+ annobin plugin. So we count that as a positive result.
+
+ If this turns out to be incorrect then the only recourse is for the user
+ to place the annobin plugin earlier on the gcc command line than the
+ plugin(s) that are not setting their version strings. */
if (cbd.num_with_no_version > 0)
{
if (verbose_level >= INFORM_VERBOSE)
@@ -3288,7 +3289,16 @@ multiple_annobin_plugins_present (const
name, cbd.num_with_no_version);
return true;
}
-
+#else
+ if (plugins_active_p ())
+ {
+ if (verbose_level >= INFORM_VERBOSE)
+ fprintf (stderr, "%s: other plugin(s) found. Assuming that they are old versions of the annobin plugin",
+ name);
+ return true;
+ }
+#endif
+
return false;
}

View File

@ -1,8 +1,8 @@
Name: annobin
Summary: Annotate and examine compiled binary files
Version: 12.65
Release: 2%{?dist}
Version: 12.83
Release: 1%{?dist}
License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later
# Maintainer: nickc@redhat.com
# Web Page: https://sourceware.org/annobin/
@ -62,7 +62,7 @@ Source: https://nickc.fedorapeople.org/%{annobin_sources}
%global annobin_source_dir %{_usrsrc}/annobin
# Insert patches here, if needed. Eg:
# Patch01: annobin-strings-no-attach.patch
# Patch01: annobin-plugin-callback.patch
#---------------------------------------------------------------------------------
@ -370,6 +370,31 @@ exit $res
#---------------------------------------------------------------------------------
%changelog
* Wed Jan 22 2025 Nick Clifton <nickc@redhat.com> - 12.83-1
- Annocheck: Remove spurious debugging messages.
- Annocheck: Always look for annobin notes in separate debug info files. (RHEL-75778)
- Annocheck: Support multiple --debug-rpm and --debug-file options. (RHEL-73349)
- Annocheck: Add support for sys-root'ed glibc packages. (RHEL-71296)
- GCC Plugin: Tidy up use of gcc's diagnoatic headers. (#32429)
- Testsuite: Use configured compiler when running tests.
- GCC Plugin: Fix building with gcc 15. (#32429)
- Annocheck: Fix overly long debug messages.
- Annocheck: Rename rwx-seg test to load-segments. Add more checks. Add check for gaps as a future fail.
- Annocheck: Add --no-allow-excpetions to disable exceptions for known special binaries.
- Annocheck: Add --enable-future to enable future fail components in normal tests.
- Annocheck: Fix bug preventing the inclusion of the rpm name in reports.
- Annocheck: Add more exceptions for gcc binaries. (RHEL-33365)
- Annocheck: Add --skip-passes option.
- Annocheck: Add exceptions for gcc binaries. (RHEL-33365)
- Annocheck: Skip property note test for i386 binaries created by LLVM. (#2323797)
- Annocheck: Skip FORTIFY and GLIBC_ASSERTIONS tests for LLVM produced binaries with unparseable DW_AT_producer attributes in their DWARF debug info. (RHEL-65411)
- GCC Plugin: Change type of the .annobin.notes section from SHT_STRTAB to SHT_PROGBITS.
- Clang & LLVM Plugins: Include install directory in binary. (RHEL-54069)
- BuiltBy: Fix seg-fault when comparing language version strings. (RHEL-53497)
- Annocheck: Stop spurious assembler warnings. (RHEL-53213)
- Annocheck: Stop warnings about known gaps. (RHEL-53218)
- Annocheck: Fix stack realign test. (#2302427)
* Mon Nov 18 2024 Nick Clifton <nickc@redhat.com> - 12.65-2
- Spec File: NVR bump in order to allow rebuilding with LLVM 19. (RHEL-66058)

View File

@ -1 +1 @@
SHA512 (annobin-12.65.tar.xz) = ebe4736b4691e4d4846dfd0f0b1d417069a2fb7d6f1d176efb8bacd5f685b534e0045fb956fa656d3f41dda425f5140c81974b07ec22c9ccb1ae493122e42b2b
SHA512 (annobin-12.83.tar.xz) = b0d9e50c52e1175d5ee8656661c20db5d2b14bd1ae4ae527707c9a5810f25f24f4c66997f803be970385382ea6e63627b08e02cff06bed4bacbd88190b48ade1