diff --git a/annobin-plugin-callback.patch b/annobin-plugin-callback.patch new file mode 100644 index 0000000..0063f29 --- /dev/null +++ b/annobin-plugin-callback.patch @@ -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; + } + diff --git a/annobin.spec b/annobin.spec index 4334f99..be86a77 100644 --- a/annobin.spec +++ b/annobin.spec @@ -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 - 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 - 12.65-2 - Spec File: NVR bump in order to allow rebuilding with LLVM 19. (RHEL-66058) diff --git a/sources b/sources index b6842bd..b3e2c0c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (annobin-12.65.tar.xz) = ebe4736b4691e4d4846dfd0f0b1d417069a2fb7d6f1d176efb8bacd5f685b534e0045fb956fa656d3f41dda425f5140c81974b07ec22c9ccb1ae493122e42b2b +SHA512 (annobin-12.83.tar.xz) = b0d9e50c52e1175d5ee8656661c20db5d2b14bd1ae4ae527707c9a5810f25f24f4c66997f803be970385382ea6e63627b08e02cff06bed4bacbd88190b48ade1