cosmopolitan/libc/stdio
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
..
__fpurge.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
append.internal.h Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
appendd.c Restart CI for New Technology and UBSAN hunting 2022-03-21 04:32:57 -07:00
appendf.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
appendr.c Correct more typos (#500) 2022-07-21 20:53:30 -07:00
appends.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
appendw.c Unbloat build config 2022-08-10 04:43:09 -07:00
appendz.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
big5.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
clearerr.c Unbloat build config 2022-08-10 04:43:09 -07:00
clearerr_unlocked.c Make improvements 2022-05-28 00:28:09 -07:00
codepages.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
ctermid.c Add ctermid and L_ctermid 2022-07-22 04:39:04 -07:00
dirstream.c Make more libc improvements 2022-08-06 17:18:40 -07:00
dtoa.c Unbloat build config 2022-08-10 04:43:09 -07:00
dumphexc.c Unbloat build config 2022-08-10 04:43:09 -07:00
fbufsize.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fclose.c Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
fclose_s.c Improve locks and signals 2022-04-12 05:20:17 -07:00
fdopen.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
feof.c Unbloat build config 2022-08-10 04:43:09 -07:00
feof_unlocked.c Make improvements 2022-05-28 00:28:09 -07:00
ferror.c Unbloat build config 2022-08-10 04:43:09 -07:00
ferror_unlocked.c Make improvements 2022-05-28 00:28:09 -07:00
fflush.c Unbloat build config 2022-08-10 04:43:09 -07:00
fflush.internal.h Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
fflush_unlocked.c Make improvements to locking 2022-06-19 01:30:12 -07:00
fflushimpl.c Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
fgetc.c Unbloat build config 2022-08-10 04:43:09 -07:00
fgetc_unlocked.c Make improvements 2022-05-28 00:28:09 -07:00
fgetln.c Unbloat build config 2022-08-10 04:43:09 -07:00
fgetpos.c Change license 2020-12-27 17:18:44 -08:00
fgets.c Unbloat build config 2022-08-10 04:43:09 -07:00
fgets_unlocked.c Correct more typos (#500) 2022-07-21 20:53:30 -07:00
fgetwc.c Unbloat build config 2022-08-10 04:43:09 -07:00
fgetwc_unlocked.c Make improvements 2022-05-28 00:28:09 -07:00
fgetws.c Unbloat build config 2022-08-10 04:43:09 -07:00
fgetws_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
fileno.c Unbloat build config 2022-08-10 04:43:09 -07:00
fileno_unlocked.c Refactor some code 2022-05-28 14:09:21 -07:00
flbf.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
flockfile.c Unbloat build config 2022-08-10 04:43:09 -07:00
flushers.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
flushlbf.c Unbloat build config 2022-08-10 04:43:09 -07:00
fmemopen.c Make improvements to locking 2022-06-19 01:30:12 -07:00
fopen.c Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
fopenflags.c Fix issues with stdio needed for Lua 2021-03-06 19:04:26 -08:00
fpending.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fprintf.c Unbloat build config 2022-08-10 04:43:09 -07:00
fprintf_unlocked.c Use re-entrant locks on stdio 2022-05-22 08:28:33 -07:00
fpurge.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
fputc.c Unbloat build config 2022-08-10 04:43:09 -07:00
fputc_unlocked.c Refactor some code 2022-05-28 14:09:21 -07:00
fputs.c Unbloat build config 2022-08-10 04:43:09 -07:00
fputs_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
fputwc.c Unbloat build config 2022-08-10 04:43:09 -07:00
fputwc_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
fputws.c Unbloat build config 2022-08-10 04:43:09 -07:00
fputws_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
fread.c Unbloat build config 2022-08-10 04:43:09 -07:00
fread_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
freadable.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
freading.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
freopen.c Unbloat build config 2022-08-10 04:43:09 -07:00
fscanf.c Change license 2020-12-27 17:18:44 -08:00
fseek.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fseeko.c Unbloat build config 2022-08-10 04:43:09 -07:00
fseeko_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
fsetlocking.c Add raw memory visualization tool to redbean 2022-05-14 04:33:58 -07:00
fsetpos.c Change license 2020-12-27 17:18:44 -08:00
ftell.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
ftello.c Unbloat build config 2022-08-10 04:43:09 -07:00
ftrylockfile.c Apply even more fixups 2022-06-12 11:57:00 -07:00
funlockfile.c Make improvements to locking 2022-06-19 01:30:12 -07:00
fwritable.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fwrite.c Unbloat build config 2022-08-10 04:43:09 -07:00
fwrite_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
fwriting.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
gb18030.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
gcvt.c Make more libc improvements 2022-08-06 17:18:40 -07:00
getc.c Make more fixes and improvements 2022-06-13 11:02:13 -07:00
getc_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
getchar.c Apply even more fixups 2022-06-12 11:57:00 -07:00
getchar_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
getdelim.c Unbloat build config 2022-08-10 04:43:09 -07:00
getdelim_unlocked.c Unbloat build config 2022-08-10 04:43:09 -07:00
getline.c Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
gets.c Change license 2020-12-27 17:18:44 -08:00
getwc.c Apply even more fixups 2022-06-12 11:57:00 -07:00
getwc_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
getwchar.c Apply even more fixups 2022-06-12 11:57:00 -07:00
getwchar_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
hex.internal.h Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
hkscs.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
iconv.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
iconv.h Add more missing libc functionality 2022-08-06 10:50:51 -07:00
internal.h Make numerous improvements 2021-09-28 01:52:34 -07:00
jis0208.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
kappendf.c Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
ksc.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
kvappendf.c Unbloat build config 2022-08-10 04:43:09 -07:00
legacychars.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
lock.h Unbloat build config 2022-08-10 04:43:09 -07:00
mkdtemp.c Unbloat build config 2022-08-10 04:43:09 -07:00
mkostemp.c Change license 2020-12-27 17:18:44 -08:00
mkostemps.c Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
mkostempsm.c Polyfill SIGCHLD on the New Technology 2022-03-22 21:31:12 -07:00
mkstemp.c Change license 2020-12-27 17:18:44 -08:00
mkstemps.c Change license 2020-12-27 17:18:44 -08:00
mktemp.c Change license 2020-12-27 17:18:44 -08:00
paginate.c Release redbean 2.0.8 2022-06-26 17:25:54 -07:00
pclose.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
popen.c Polish recent changes and make improvements 2022-03-19 03:37:00 -07:00
printf.c Use re-entrant locks on stdio 2022-05-22 08:28:33 -07:00
putc.c Apply even more fixups 2022-06-12 11:57:00 -07:00
putc_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
putchar.c Apply even more fixups 2022-06-12 11:57:00 -07:00
putchar_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
puts.c Unbloat build config 2022-08-10 04:43:09 -07:00
putwc.c Apply even more fixups 2022-06-12 11:57:00 -07:00
putwc_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
putwchar.c Apply even more fixups 2022-06-12 11:57:00 -07:00
putwchar_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
revjis.inc Add more missing libc functionality 2022-08-06 10:50:51 -07:00
rewind.c Unbloat build config 2022-08-10 04:43:09 -07:00
scanf.c Change license 2020-12-27 17:18:44 -08:00
setbuf.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
setbuffer.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
setlinebuf.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
setvbuf.c Unbloat build config 2022-08-10 04:43:09 -07:00
spawn.c Improve system calls 2022-07-08 06:42:03 -07:00
spawn.h Improve system call polyfills 2021-03-08 10:07:02 -08:00
spawna.c Improve system calls 2022-07-08 06:42:03 -07:00
spawna.internal.h Add posix_spawn (#114) 2021-03-07 20:14:07 -08:00
spawnf.c Improve LLVM compatibility a little bit 2021-05-16 20:34:46 -07:00
spawnp.c Make improvements 2022-04-28 09:57:07 -07:00
stdbuf.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
stderr-init.S Make improvements to locking 2022-06-19 01:30:12 -07:00
stderr.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
stdin-init.S Make improvements to locking 2022-06-19 01:30:12 -07:00
stdin.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
stdio.h Unbloat build config 2022-08-10 04:43:09 -07:00
stdio.mk Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
stdio_ext.h Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
stdout-init.S Make improvements to locking 2022-06-19 01:30:12 -07:00
stdout.c Add SNI support to redbean and improve SSL perf 2021-07-23 13:56:13 -07:00
system.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
systemexec.c Make improvements 2022-04-28 09:57:07 -07:00
temp.h Add more missing libc functionality 2022-08-06 10:50:51 -07:00
tmpfile.c Unbloat build config 2022-08-10 04:43:09 -07:00
ungetc.c Unbloat build config 2022-08-10 04:43:09 -07:00
ungetc_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
ungetwc.c Unbloat build config 2022-08-10 04:43:09 -07:00
ungetwc_unlocked.c Apply even more fixups 2022-06-12 11:57:00 -07:00
vappendf.c Unbloat build config 2022-08-10 04:43:09 -07:00
vfprintf.c Unbloat build config 2022-08-10 04:43:09 -07:00
vfprintf_unlocked.c Use re-entrant locks on stdio 2022-05-22 08:28:33 -07:00
vfscanf.c Change license 2020-12-27 17:18:44 -08:00
vprintf.c Use re-entrant locks on stdio 2022-05-22 08:28:33 -07:00
vscanf.c Change license 2020-12-27 17:18:44 -08:00