Re: [PATCH 0/5] remove the last bits of a.out support
From: Eric W. Biederman
Date: Fri Nov 24 2023 - 01:01:04 EST
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?
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
> x86: stop shipping a.out.h uapi headers
> uapi: remove a.out.h uapi header
>
> 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