I bisected binutils and found the significant change that avoids the
problem to be:

commit d1bcae833b32f1408485ce69f844dcd7ded093a8 (HEAD, refs/bisect/bad)
Author: H.J. Lu <[email protected]>
Date:   Thu Jan 7 06:42:00 2021 -0800

    ELF: Don't generate unused section symbols

Now, this doesn't appear to be a bug fix per se, more of an
optimization. I'm guessing it is just avoiding the underlying issue as a
side-effect.

I found this commit[*] in GRUB which purports to fix an arm64-specific
issue with a patch we are carrying, and describes issues with section
sizes:

  util/mkimage: Fix wrong PE32+ section sizes for some arches

  The commit f60ba9e5945 (util/mkimage: Refactor section setup to use a helper)
  added a helper function to setup PE sections. But it also changed how the
  raw data offsets were calculated since all the section sizes are aligned.
  However, for some platforms, i.e ia64-efi and arm64-efi, the kernel image
  size is not aligned using the section alignment. This leads to the situation
  in which the mods section offset in its PE section header does not match its
  real placement in the PE file. So, finally the GRUB is not able to locate
  and load built-in modules.

While I'm not setting those exact symptoms (memdisk modules *do* load),
I tested it to see if it addresses this issue. Unfortunately it does
not.

[*]
https://git.savannah.gnu.org/cgit/grub.git/commit/?id=c0e647eb0e2bd09315612446cb4d90f7f75cb44c

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1934192

Title:
  regression between 2.04-1ubuntu44 and 2.04-1ubuntu44.2 breaks netboot
  on arm64

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2-signed/+bug/1934192/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to