8d30a46449
reserve some more space for the BSS section than the binary says. This trick was used to leave room after the kernel's image to copy the symbol table following the format required by ksyms_init. (It was also used to workaround a bug in the physical address fields of the binary, but this has been long fixed.) Yes, the MULTIBOOT_SYMTAB_SPACE option goes away; yay! Instead, copy the required data after the kernel in a way that avoids having to reserve space and use the new ksyms_init_explicit function to avoid the need to construct a minimal ELF image. Fixes ksyms when using an "unpatched" GRUB (one that does not contain the fix to honour the "a.out kludge" for ELF images, even when present) -- i.e. ddb and lkms. As a side effect, the new code is much clearer to read and digest. Closes PR port-i386/32865.