cosmopolitan/examples
Justine Tunney ae5d06dc53 Unbloat build config
- 10.5% reduction of o//depend dependency graph
- 8.8% reduction in latency of make command
- Fix issue with temporary file cleanup

There's a new -w option in compile.com that turns off the recent
Landlock output path workaround for "good commands" which do not
unlink() the output file like GNU tooling does.

Our new GNU Make unveil sandboxing appears to have zero overhead
in the grand scheme of things. Full builds are pretty fast since
the only thing that's actually slowed us down is probably libcxx

    make -j16 MODE=rel
    RL: took 85,732,063µs wall time
    RL: ballooned to 323,612kb in size
    RL: needed 828,560,521µs cpu (11% kernel)
    RL: caused 39,080,670 page faults (99% memcpy)
    RL: 350,073 context switches (72% consensual)
    RL: performed 0 reads and 11,494,960 write i/o operations

pledge() and unveil() no longer consider ENOSYS to be an error.
These functions have also been added to Python's cosmo module.

This change also removes some WIN32 APIs and System Five magnums
which we're not using and it's doubtful anyone else would be too
2022-08-10 04:43:09 -07:00
..
package WIP: Correct all typos (#498) 2022-07-20 14:01:15 -07:00
pyapp Fix V=0 make mode 2022-06-21 01:32:31 -07:00
pylife Unbloat build config 2022-08-10 04:43:09 -07:00
auto-launch-gdb-on-crash.c WIP: Correct all typos (#498) 2022-07-20 14:01:15 -07:00
auto-memory-safety-crash.c Make exciting improvements 2022-03-18 03:02:00 -07:00
auto-memory-safety-crash2.c Make exciting improvements 2022-03-18 03:02:00 -07:00
auto-memory-safety-crash3.c Make exciting improvements 2022-03-18 03:02:00 -07:00
breakpoint.c Make improvements 2022-04-29 00:42:47 -07:00
certapp.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
check.c Make improvements 2022-05-12 06:45:36 -07:00
compress.c Add malloc logging tool 2022-05-26 23:19:22 -07:00
cosh.c Unbloat build config 2022-08-10 04:43:09 -07:00
cplusplus-stl.cc Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
cplusplus.cc Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
crashreport.c Support thread local storage 2022-05-16 13:20:08 -07:00
crashreport2.c WIP: Correct all typos (#498) 2022-07-20 14:01:15 -07:00
ctrlc.c Improve signals and memory protection 2022-04-12 22:11:00 -07:00
curl.c Restart CI for New Technology and UBSAN hunting 2022-03-21 04:32:57 -07:00
datauri.c Make improvements 2022-04-29 00:42:47 -07:00
date.c Add smoke test for timezone loading (#114) 2021-03-08 11:46:04 -08:00
decompress.c Unbloat build config 2022-08-10 04:43:09 -07:00
defer-statements.c Make mappings unlimited on NT 2021-09-04 13:20:47 -07:00
examples.mk Work around Landlock output inode in compile.com 2022-08-09 07:55:44 -07:00
exec.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
exit.c Make improvements 2022-05-12 06:45:36 -07:00
fastdiv.c Add SNI support to redbean and improve SSL perf 2021-07-23 13:56:13 -07:00
fastmod.c Fix some example code 2021-08-10 13:38:27 -07:00
forkexec.c Make improvements 2022-03-16 13:40:10 -07:00
forkexecwait.c Make improvements 2022-03-16 13:40:10 -07:00
forkrand.c Improve synchronization 2022-04-15 15:31:55 -07:00
generalized-automatic-datastructure-printing.c Initial import 2020-06-15 07:18:57 -07:00
getcpucount.c Do code cleanup use duff device linenoise i/o 2022-04-22 18:56:52 -07:00
getrandom.c Make improvements 2022-04-07 00:15:35 -07:00
gettimeofday.c Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
greenbean.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
gui.c Make examples folder somewhat more focused 2021-03-05 06:09:12 -08:00
hangman.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
hello.c Remove malloc() dependency on pledge() / unveil() 2022-07-24 21:51:37 -07:00
hello2.c Trim down executable sizes 2021-02-11 08:37:18 -08:00
hello3.c Improve performance of printf functions 2021-04-24 13:58:50 -07:00
hello4.c Improve system calls 2022-07-08 06:42:03 -07:00
hellolua.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
hellolua.lua Add Hello World example for LUA C API (#97) 2021-03-08 14:15:59 -08:00
hertz.c Fix bugs and make improvements 2021-05-01 05:11:35 -07:00
hostname.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
img.c Make improvements 2022-04-29 00:42:47 -07:00
ispell.c Make improvements 2022-04-29 00:42:47 -07:00
kilo.c WIP: Correct all typos (#498) 2022-07-20 14:01:15 -07:00
life.c Always initialize thread local storage 2022-07-19 00:21:46 -07:00
linenoise.c Fix bugs with recent change 2022-04-16 10:40:23 -07:00
loadavg.c Fix some win32 definitions 2022-03-22 19:54:36 -07:00
ls.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
lstime.c Add smoke test for timezone loading (#114) 2021-03-08 11:46:04 -08:00
mkhello.c Support Linux binfmt_misc and APE loading on Apple 2022-05-21 09:28:25 -07:00
nc.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
nesemu1.cc Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
nomodifyself.c Make improvements 2022-05-24 10:58:48 -07:00
panels.c Unbloat build config 2022-08-10 04:43:09 -07:00
picol.c Unbloat build config 2022-08-10 04:43:09 -07:00
printargs.c Make improvements 2022-04-24 10:06:05 -07:00
printprimes.c Do code cleanup use duff device linenoise i/o 2022-04-22 18:56:52 -07:00
rlimit.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
rusage.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
seq.c Make improvements 2022-04-29 00:42:47 -07:00
setitimer.c Make signal handling work well across platforms 2022-03-25 07:28:57 -07:00
sleep.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
stackoverflow.c Improve memory safety 2021-10-13 17:27:13 -07:00
stat.c Unbloat build config 2022-08-10 04:43:09 -07:00
statfs.c Improve pledge() usability and consistency 2022-08-07 16:18:33 -07:00
stringbuffer.c Unbloat build config 2022-08-10 04:43:09 -07:00
sysinfo.c Limit pledge.com default virtual mem to total ram 2022-07-15 06:53:01 -07:00
system.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
time.c Make improvements 2022-04-28 09:57:07 -07:00
tls.c Make improvements 2022-07-21 03:36:42 -07:00
ttyaudio.c Unbloat build config 2022-08-10 04:43:09 -07:00
ttyinfo.c Make improvements 2022-03-16 13:40:10 -07:00
ucontext-sigfpe-recovery.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
uname.c Restart CI for New Technology and UBSAN hunting 2022-03-21 04:32:57 -07:00
unbourne.c WIP: Correct all typos (#498) 2022-07-20 14:01:15 -07:00
unbuffer.c Fix NPE in new unbuffer command 2022-07-22 07:31:42 -07:00
walk.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
x86split.c Improve signals and memory protection 2022-04-12 22:11:00 -07:00