cosmopolitan/libc/x
Justine Tunney 14e192e5ba Introduce --strace flag for system call tracing
This is similar to the --ftrace (c function call trace) flag, except
it's less noisy since it only logs system calls to stderr. Having this
flag is valuable because (1) system call tracing tells us a lot about
the behavior of complex programs and (2) it's usually very hard to get
system call tracing on various operating systems, e.g. strace, ktrace,
dtruss, truss, nttrace, etc. Especially on Apple platforms where even
with the special boot trick, debuggers still aren't guaranteed to work.

    make -j8 o//examples
    o//examples/hello.com --strace

This is enabled by default in MODE=, MODE=opt, and MODE=dbg. In MODE=dbg
extra information will be printed.

    make -j8 MODE=dbg o/dbg/examples
    o/dbg/examples/hello.com --strace |& less

This change also changes:

- Rename IsText() → _istext()
- Rename IsUtf8() → _isutf8()
- Fix madvise() on Windows NT
- Fix empty string case of inet_ntop()
- vfork() wrapper now saves and restores errno
- Update xsigaction() to yoink syscall support
2022-03-18 18:07:28 -07:00
..
bingblit.c Change license 2020-12-27 17:18:44 -08:00
filecmp.c Import some Lua documentation 2021-08-22 15:03:04 -07:00
makedirs.c Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
replaceuser.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
rmrf.c Improve system call support 2021-08-25 21:36:17 -07:00
tunbing.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
unbingbuf.c Change license 2020-12-27 17:18:44 -08:00
unbingstr.c Change license 2020-12-27 17:18:44 -08:00
utf8toutf16.c Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
utf8toutf32.c Make numerous improvements 2021-09-28 01:52:34 -07:00
utf16to32.c Make numerous improvements 2021-09-28 01:52:34 -07:00
utf16toutf8.c Make numerous improvements 2021-09-28 01:52:34 -07:00
x.h Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
x.mk Productionize new APE loader and more 2021-10-02 08:27:03 -07:00
xasprintf.c Change license 2020-12-27 17:18:44 -08:00
xbarf.c Improve Libc by making Python work even better 2021-08-18 22:16:23 -07:00
xcalloc.c Change license 2020-12-27 17:18:44 -08:00
xdie.c Change license 2020-12-27 17:18:44 -08:00
xdirname.c Change license 2020-12-27 17:18:44 -08:00
xdtoa.c Improve signal handling and math 2021-02-25 18:33:33 -08:00
xdtoaf.c Improve signal handling and math 2021-02-25 18:33:33 -08:00
xdtoal.c Make pow() conform to standard definition 2021-03-03 09:21:27 -08:00
xgetline.c Improve backwards compatibility with GNU Make 2021-05-02 07:48:59 -07:00
xhomedir.c Improve linenoise and get it working on Windows 2021-08-15 14:34:05 -07:00
xjoinpaths.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
xload.c Productionize new APE loader and more 2021-10-02 08:27:03 -07:00
xloadzd.c Productionize new APE loader and more 2021-10-02 08:27:03 -07:00
xmalloc.c Change license 2020-12-27 17:18:44 -08:00
xmemalign.c Change license 2020-12-27 17:18:44 -08:00
xmemalignzero.c Make numerous improvements 2021-09-28 01:52:34 -07:00
xreadlink.c Improve system call support 2021-08-25 21:36:17 -07:00
xreadlinkat.c Improve system call support 2021-08-25 21:36:17 -07:00
xrealloc.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
xsigaction.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
xslurp.c Update curl example to support ssl / https 2021-07-06 13:39:18 -07:00
xspawn.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
xstrcat.c Improve Python tree-shaking 2021-09-06 19:24:10 -07:00
xstrdup.c Change license 2020-12-27 17:18:44 -08:00
xstripext.c Make numerous improvements 2021-09-28 01:52:34 -07:00
xstripexts.c Experiment with making Python go faster 2021-08-18 21:57:11 -07:00
xstrmul.c Change license 2020-12-27 17:18:44 -08:00
xstrndup.c Change license 2020-12-27 17:18:44 -08:00
xvalloc.c Change license 2020-12-27 17:18:44 -08:00
xvasprintf.c Make Cosmopolitan ANSI C89 compatible 2021-02-03 17:48:59 -08:00
xvspawn.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
xwrite.c Change license 2020-12-27 17:18:44 -08:00