mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 11:37:35 +00:00
7d31fc311a
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. |
||
---|---|---|
.. | ||
struct | ||
BUILD.mk | ||
def.h | ||
elf.h | ||
findelfsectionbyname.c | ||
getelfprogramheaderaddress.c | ||
getelfsectionaddress.c | ||
getelfsectionheaderaddress.c | ||
getelfsectionname.c | ||
getelfsectionnamestringtable.c | ||
getelfsegmentaddress.c | ||
getelfstring.c | ||
getelfstringtable.c | ||
getelfsymbols.c | ||
getelfsymboltable.c | ||
iself64binary.c | ||
iselfsymbolcontent.c | ||
link.h | ||
pf2prot.internal.h | ||
scalar.h | ||
tinyelf.internal.h |