On Sat, 16 Sept 2023 at 11:11, Ingo Molnar <mingo@xxxxxxxxxx> wrote: > > > * Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > > So, the first 8 patches broke the x86-64-defconfig-ish Qemu bzImage bootup, > > > > due to the 8th patch: > > > > > > > > 988b52b207a9fe74c3699bda8c2256714926b94b is the first bad commit > > > > commit 988b52b207a9fe74c3699bda8c2256714926b94b > > > > Author: Ard Biesheuvel <ardb@xxxxxxxxxx> > > > > Date: Tue Sep 12 09:01:01 2023 +0000 > > > > > > > > x86/boot: Define setup size in linker script > > > > > > > > I've removed it for now - but this side effect was not expected. > > > > > > > > > > No, definitely not expected. I tested various combinations of i386 / > > > x86_64 built with GCC / Clang doing EFI or BIOS boot. > > > > > > I'll rebase the remaining stuff onto -tip and see if I can reproduce this. > > > > This is actually quite bizarre. x86_64_defconfig has > > CONFIG_EFI_MIXED=y and i tested that this change produces the exact > > same bzImage binary in that case. > > > > Could you send me the .config and the QEMU command line perhaps? > > So the patch below is the delta between v2 and v3 - that is expected > to fix the bzImage boot crash, right? > Yes. ld.bfd does something unexpected [to me] here, and the resulting value turns out not to be a multiple of 512 at all. With this tweak, my claim that this patch does not affect the binary bzImage at all actually holds for ld.bfd as well (provided that CONFIG_EFI_MIXED=y and CONFIG_LOCAL_VERSION_AUTO is disabled) So if this still does not work in your test, could you please disable CONFIG_LOCAL_VERSION_AUTO and compare the md5sums of the two builds? Thanks, > --- tip.orig/arch/x86/boot/setup.ld > +++ tip/arch/x86/boot/setup.ld > @@ -41,7 +41,7 @@ SECTIONS > LONG(0x5a5aaa55) > > /* Reserve some extra space for the reloc and compat sections */ > - setup_size = ABSOLUTE(ALIGN(. + 64, 512)); > + setup_size = ALIGN(ABSOLUTE(.) + 64, 512); > setup_sects = ABSOLUTE(setup_size / 512); > } > >