On Fri, 24 Nov 2023 at 06:01, Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote: > > Dimitri John Ledkov <dimitri.ledkov@xxxxxxxxxxxxx> writes: > > > I was working on how linux-libc-dev headers are shipped in Ubuntu and > > stumbled upon seemingly unused and useless linux/a.out.h header. It > > seems like it is an accidental leftover at this point. > > How do you see that they are unused? > > Are they never exported to userspace? > > Are there any userspace programs that care? > > Performing a quick debian code search I see chromium, qt6, ruby-rogue, hurd, > bazel_bootstrap, aboot, cde. > > I can imagine all kinds of reasons old code could be using headers for a > historical format. Some of them are quite legitimate, and some of them > are quite silly. If it is old code like aboot it may be that it is > difficult to test any changes. If memory serves you have to flash your > firmware to change/test aboot. > > Because showing userspace does not care about the definitions in a file > is a completely different problem then showing the kernel does not care > about the definitions I left them, last time I was working in this area. > Keeping headers that will never change is not cost to the kernel so it > doesn't hurt us to be nice to historical userspace. > > My quick debian code search suggests that there are pieces of userspace > that still use linux/a.out.h. Are you seeing something I am not? > Do all of those pieces of code compile just fine with a.out.h missing? > I will recheck the above mentioned things again, but as far as I could tell up to this point, is that things mostly use a.out.h provided by glibc. Separately, I can do this change in a test-rebuild of ubuntu archive of all packages on amd64,. as that's the only Ubuntu arch that ships linux/a.out.h. As far as I can tell, the legacy userspace access to linux/a.out.h can use glibc's a.out.h instead. But yes, it would be pain, if code changes are required to things. > Eric > > > > Dimitri John Ledkov (5): > > alpha: remove a.out support from tools/objstrip > > alpha: stop shipping a.out.h uapi headers > > m68k: stop shipping a.out.h uapi headers I think above three patches still can be merged in m68k & alpha trees. > > x86: stop shipping a.out.h uapi headers > > uapi: remove a.out.h uapi header > > And these two need further validation now, based on Eric's input. > > arch/alpha/boot/tools/objstrip.c | 52 +----- > > arch/alpha/include/uapi/asm/a.out.h | 92 ---------- > > arch/m68k/include/uapi/asm/a.out.h | 21 --- > > arch/x86/include/uapi/asm/a.out.h | 21 --- > > include/uapi/Kbuild | 4 - > > include/uapi/linux/a.out.h | 251 ---------------------------- > > 6 files changed, 6 insertions(+), 435 deletions(-) > > delete mode 100644 arch/alpha/include/uapi/asm/a.out.h > > delete mode 100644 arch/m68k/include/uapi/asm/a.out.h > > delete mode 100644 arch/x86/include/uapi/asm/a.out.h > > delete mode 100644 include/uapi/linux/a.out.h -- okurrr, Dimitri