Rebase to 12.98.

Resolves: RHEL-105574
This commit is contained in:
Nick Clifton 2025-07-25 13:23:42 +01:00
parent 75a10565b8
commit 3bf681598f
3 changed files with 6 additions and 92 deletions

View File

@ -1,55 +0,0 @@
#--- 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,36 +0,0 @@
--- annobin.orig/gcc-plugin/annobin.cc 2024-01-17 14:00:26.889983192 +0000
+++ annobin-12.31/gcc-plugin/annobin.cc 2024-01-17 14:01:27.517055850 +0000
@@ -3261,18 +3261,24 @@ plugin_init (struct plugin_name_args *
target_start_sym_bias = annobin_target_start_symbol_bias ();
if (annobin_attach_type == not_set)
{
- /* Choose a default attachment type. Link ordering is preferable
- as it is more resistant to changes in compiler section building.
- But it can only be used if the target assembler supports link_order sections
- and the target linker is sufficiently new that it implements them correctly.
- For now we use a test of the GCC version as an approximation to the binutils
- versions that are needed. (Note - 2.35.2, as used by RHEL-9, is insufficient).
- See BZ 2016458 for an example of where this solution is needed. */
+ if (annobin_note_format == string)
+ /* String format notes do not need section groups. */
+ annobin_attach_type = none;
+ else
+ {
+ /* Choose a default attachment type. Link ordering is preferable
+ as it is more resistant to changes in compiler section building.
+ But it can only be used if the target assembler supports link_order sections
+ and the target linker is sufficiently new that it implements them correctly.
+ For now we use a test of the GCC version as an approximation to the binutils
+ versions that are needed. (Note - 2.35.2, as used by RHEL-9, is insufficient).
+ See BZ 2016458 for an example of where this solution is needed. */
#if GCCPLUGIN_VERSION_MAJOR >= 12
- annobin_attach_type = link_order;
+ annobin_attach_type = link_order;
#else
- annobin_attach_type = group;
+ annobin_attach_type = group;
#endif
+ }
}
annobin_inform (INFORM_VERBOSE, "Attach mode: %s", attach_mode_name (annobin_attach_type));

View File

@ -1,7 +1,7 @@
Name: annobin
Summary: Annotate and examine compiled binary files
Version: 12.96
Version: 12.98
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
@ -374,6 +374,11 @@ exit $res
#---------------------------------------------------------------------------------
%changelog
* Fri Jul 25 2025 Nick Clifton <nickc@redhat.com> - 12.98-1
- Rebase to 12.98. (RHEL-105574)
- Improve configure and meson files for consistent builds.
- Annocheck: Delete the temporary debug info directory after the tests have finished.
* Tue Jun 10 2025 Nick Clifton <nickc@redhat.com> - 12.96-1
- Annocheck: Fix bugs in debug rpm location code. Add more glibc exceptions. (RHEL-95216)
- Annocheck: Improve performance with multiple debug info files and multiple files to scan. (#2366180)