cosmopolitan/tool
Jōshin 7d31fc311a
Loaders rewrite argv[0] for old binaries (#1170)
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.
2024-05-07 20:42:18 -04:00
..
args Make ... optional in .args (#1086) 2024-01-15 16:20:50 -08:00
build Loaders rewrite argv[0] for old binaries (#1170) 2024-05-07 20:42:18 -04:00
cosmocc Release Cosmopolitan v3.3.4 2024-05-03 09:25:02 -07:00
curl Implement proper time zone support 2024-05-04 23:06:37 -07:00
decode Implement proper time zone support 2024-05-04 23:06:37 -07:00
emacs Implement proper time zone support 2024-05-04 23:06:37 -07:00
hello Stop using .com extension in monorepo 2024-03-03 03:12:19 -08:00
lambda Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
net Implement proper time zone support 2024-05-04 23:06:37 -07:00
plinko Implement proper time zone support 2024-05-04 23:06:37 -07:00
scripts Stop using .com extension in monorepo 2024-03-03 03:12:19 -08:00
viz Implement proper time zone support 2024-05-04 23:06:37 -07:00
zsh Stop using .com extension in monorepo 2024-03-03 03:12:19 -08:00
BUILD.mk more modeline errata (#1019) 2023-12-16 23:07:10 -05:00