modules: Strip .llvm_addrsig sections and similar

Currently GRUB modules built with Clang or GCC have several sections
which we don't actually need or support. We already have a list of
sections to skip in genmod.sh and this patch adds the following
sections to that list (as well as a few newlines):
  - .note.gnu.property
  - .llvm*

Note that the glob there won't work without a new enough linker but the
failure is just reversion to the status quo. So, that's not a big problem.

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com>
Signed-off-by: Mate Kukri <mate.kukri@canonical.com>
Reviewed-By: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Peter Jones 2024-10-09 09:16:37 +01:00 committed by Daniel Kiper
parent 246c82cdae
commit 2b79d550f3

View File

@ -57,8 +57,11 @@ if test x@TARGET_APPLE_LINKER@ != x1; then
@TARGET_STRIP@ --strip-unneeded \ @TARGET_STRIP@ --strip-unneeded \
-K grub_mod_init -K grub_mod_fini \ -K grub_mod_init -K grub_mod_fini \
-K _grub_mod_init -K _grub_mod_fini \ -K _grub_mod_init -K _grub_mod_fini \
-R .note.gnu.gold-version -R .note.GNU-stack \ -R .note.GNU-stack \
-R .note.gnu.gold-version \
-R .note.gnu.property \
-R .gnu.build.attributes \ -R .gnu.build.attributes \
-R '.llvm*' \
-R .rel.gnu.build.attributes \ -R .rel.gnu.build.attributes \
-R .rela.gnu.build.attributes \ -R .rela.gnu.build.attributes \
-R .eh_frame -R .rela.eh_frame -R .rel.eh_frame \ -R .eh_frame -R .rela.eh_frame -R .rel.eh_frame \