Dear Maintainer, a.out support has been dropped in upstream kernel. However a.out.h header is still being using by abootimg tool via objstrip.c. It has support for both a.out image types and ELF. I have blidly dropped a.out.h support and made ELF support mandatory in https://lore.kernel.org/all/20231123180246.750674-2-dimitri.ledkov@canonical.com/ but I have no way to build it for alpha or test if everything still works. Upgrades, installed systems, and cd-boot. Could you please consider the attached NMU, build it and test it, and let me know if everything still works. Cause then a.out.h header can be removed from upstream linux kernel on all architectures. Regards, Dimitri.
Hi Dimitri! I have actually already looked into patching aboot myself to deal with the aout.h issue since I want to make the bootloader fully cross-buildable [1]. I will most likely just copy the relevant definitions out of aout.h, both the generic and the alpha-specific stuff in order to both be able to drop reliance on aout.h in the kernel as well as make the package fully cross- buildable. I would also prefer to get all relevant changes upstreamed. Thanks, Adrian
On Tue, 2 Jan 2024 at 17:48, John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote: For cross building, as far as I can tell one needs to build the tool twice - once for the BUILD architecture and once for HOST architecture, use one during the build and package the other one into the deb. But why? as far as I can tell, the a.out code path is never executed as it seems like Debian has been using ELF based vmlinuz since like before 2009. Are you sure that the a.out codepath of objstrip.c is needed or executed at all? Or am I missing something, and like objstrip.c portions are executed against some other a.out formatted things which are not Linux kernel? Should I provide a patch that adds printfs during a.out codepath block, to see if it actually is ever executed? Upstream has policy of not carrying dead code, which in this case its what it is for kernels built in like last decade.
That's correct and I am currently pondering over a clever way to do that. I think it's still reasonable to keep a.out support in the tool because users might use it for a.out binaries generated from other tools. Besides, it's just a matter of copying a few header definitions, so not really a blocker unless I am missing something. I was talking about aboot upstream which is maintained by Matt Turner from Gentoo these days [1]. Adrian
On Tue, 2 Jan 2024 at 21:00, John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote: Which tools? given that support has been dropped to execute any binaries like that everywhere. This still sounds very hypothetical, given that code path is specifically for vmlinux kernel only. Ok, and I'm talking about linux kernel copy of aboot at https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/boot Can you please test the debdiff I have attached, such that I can confirm with linux kernel upstream that I can drop a.out.h support there? I do not have access to alpha, and currently this is the remaining piece holding up a.out.h in linux kernel upstream on x86 alpha m86k mips. Which would be nice to drop.