37 lines
1.8 KiB
Diff
37 lines
1.8 KiB
Diff
|
--- 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));
|
||
|
|