25 ms·
This is true for ELF, not just Linux. And it need not be true for a.out (IIRC it's not true for a.out executables on Linux or any other Unix or Unix-like OS th
by cryptonector 6y ago
This is true for ELF, not just Linux. And it need not be true for a.out (IIRC it's not true for a.out executables on Linux or any other Unix or Unix-like OS that supports a.out executable formats).
There are a few auxiliary vector keys that are standard per-ELF, and others that are platform-specific. The original purpose of the auxv was to provide the ELF interpreter (ld.so) with information it needs in order to bootstrap.
- skissane 6y ago> IIRC it's not true for a.out executables on Linux I was surprised to discover a.out support is still there in the kernel [1]. There has been talk on LKML about whether to remove it [2] – apparently it has accumulated regression bugs (particularly in the area of core dumping) which nobody has noticed and fixed, which is the inevitable fate of code that hangs around for decades after everybody stops using it – but it still hasn't been removed yet. [1] https://github.com/torvalds/linux/blob/master/fs/binfmt_aout.c https://github.com/torvalds/linux/blob/master/fs/binfmt_aout... [2] https://www.lkml.org/lkml/2019/3/5/389 https://www.lkml.org/lkml/2019/3/5/389