mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 06:53:33 +00:00
For this to work, a loader has to be able to tell the difference between an ‘old’ and a ‘new’ binary. This is achieved via a repurposing of ELF’s e_flags field. We previously tried to use the padding in e_ident for it, but binutils was resetting it to zero in e.g. strip. This introduces one new ELF flag for cosmopolitan binaries. It is called `EF_APE_MODERN`. We choose 0x101ca75, "lol cat 5". It should now be safe to install the ape loader binfmt registration with the `P` flag. |
||
---|---|---|
.. | ||
public | ||
aarch64.lds | ||
ape-m1.c | ||
ape.h | ||
ape.internal.h | ||
ape.lds | ||
ape.S | ||
apeinstall.sh | ||
apeuninstall.sh | ||
BUILD.mk | ||
idata.internal.h | ||
launch.S | ||
loader-macho.S | ||
loader.c | ||
loader.lds | ||
macros.internal.h | ||
mz.ansi | ||
notice.inc | ||
relocations.h | ||
sections.internal.h | ||
start.S | ||
systemcall.S |