Hi Dave, Hi Florian,
Right - there is a new annobin rpm available - annobin-8.0-1.el8 - which
has these changes:
* Weak symbols are not generated by the annobin plugin
when compiling with -ffunction-sections.
There was no point really. Linker garbage collection will not
discard sections if they have annobin notes against them, since
the code section and the note section are not in a section group.
Really this is a gcc problem. If it created a section group for
sections created by the -ffunction-sections option, then annobin
could add the notes into this group and linker garbage collection
would discard the lot.
Note - annobin does still generate weak symbols for linkonce
sections, since these can and will be discarded by the linker.
The symbols still get into the dynamic symbol table, but they
are hidden. Not sure if this makes much difference however.
* The annobin plugin will now only reference symbols that it
creates, and all of these symbols now have a ".annobin_" prefix
in order to avoid potential collisions with symbols defined
elsewhere in the executable.
I hope that these changes address the immediate issue of libxsmm not
compiling.
Longer term I need to work with the gcc maintainers to get section
groups generated for function sections.
Cheers
Nick