cosmopolitan/libc/intrin
Justine Tunney 98254a7c1f Make pledge() and unveil() work amazingly
This change reconciles our pledge() implementation with the OpenBSD
kernel source code. We now a polyfill that's much closer to OpenBSD's
behavior. For example, it was discovered that "stdio" permits threads.
There were a bunch of Linux system calls that needed to be added, like
sched_yield(). The exec / execnative category division is now dropped.
We're instead using OpenBSD's "prot_exec" promise for launching APE
binaries and dynamic shared objects. We also now filter clone() flags.

The pledge.com command has been greatly improved. It now does unveiling
by default when Landlock is available. It's now smart enough to unveil a
superset of paths that OpenBSD automatically unveils with pledge(), such
as /etc/localtime. pledge.com also now checks if the executable being
launched is a dynamic shared object, in which case it unveils libraries.

These changes now make it possible to pledge curl on ubuntu 20.04 glibc:

    pledge.com -p 'stdio rpath prot_exec inet dns tty sendfd recvfd' \
        curl -s https://justine.lol/hello.txt

Here's what pledging curl on Alpine 3.16 with Musl Libc looks like:

    pledge.com -p 'stdio rpath prot_exec dns inet' \
        curl -s https://justine.lol/hello.txt

Here's what pledging curl.com w/ ape loader looks like:

    pledge.com -p 'stdio rpath prot_exec dns inet' \
        o//examples/curl.com https://justine.lol/hello.txt

The most secure sandbox, is curl.com converted to static ELF:

    o//tool/build/assimilate.com o//examples/curl.com
    pledge.com -p 'stdio rpath dns inet' \
        o//examples/curl.com https://justine.lol/hello.txt

A weird corner case needed to be handled when resolving symbolic links
during the unveiling process, that's arguably a Landlock bug. It's not
surprising since Musl and Glibc are also inconsistent here too.
2022-07-19 21:33:49 -07:00
..
_spinlock_yield.S Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
addvdi3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
addvsi3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
addvti3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
asan.c Make some minor fixups to bug reporting, etc. 2022-07-11 05:58:24 -07:00
asan.internal.h Make some systemic improvements 2022-05-18 16:52:36 -07:00
asancodes.h Make improvements 2022-03-16 13:40:10 -07:00
assertdisable.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
assertfail.greg.c Write some tests for unveil() 2022-07-18 02:27:26 -07:00
atexit.c Improve memory safety 2021-10-13 17:27:13 -07:00
bcopy.c Add finger demo to redbean and fix regression 2022-06-23 03:42:05 -07:00
bzero.c Make improvements 2022-04-24 10:06:05 -07:00
closehandle.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
cmpxchg.c Improve locks and signals 2022-04-12 05:20:17 -07:00
cmpxchg.h Improve locks and signals 2022-04-12 05:20:17 -07:00
cmpxchg16b.internal.h Improve locks and signals 2022-04-12 05:20:17 -07:00
createdirectory.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
createfile.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
createfilemapping.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
createfilemappingnuma.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
createnamedpipe.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
createpipe.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
createprocess.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
createsymboliclink.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
createthread.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
cxaatexit.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
cxaatexit.internal.h Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
cxablocks.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
cxafinalize.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
cxalock.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
deletefile.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
describeclockname.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
describedirfd.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeflags.internal.h Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
describeframe.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describefutexop.c Make more fixes and improvements 2022-06-13 11:02:13 -07:00
describefutexresult.c Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
describehow.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeiov.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeiovnt.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describemagnums.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
describemapflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describemapping.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentconsolemodeinputflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentconsolemodeoutputflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentcreationdisposition.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentfileaccessflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentfileflagattr.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentfilemapflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentfileshareflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentfiletypeflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentmovfileinpflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentpageflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentpipemodeflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentpipeopenflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentprocaccessflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentsecurityattributes.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentstartflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describentsymlinkflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeopenflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describepersonalityflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describepollflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeprctloperation.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeprotflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describeremapflags.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describerlimit.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describerlimitname.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
describeschedparam.c Improve system calls 2022-07-08 06:42:03 -07:00
describeschedpolicy.c Improve system calls 2022-07-08 06:42:03 -07:00
describeseccompoperation.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describesigaction.c Write more redbean unit tests 2022-07-08 23:10:02 -07:00
describesigaltstack.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describesigset.c Write more redbean unit tests 2022-07-08 23:10:02 -07:00
describesocketfamily.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describesocketprotocol.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describesockettype.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
describesocklevel.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describesockoptname.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
describestat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describetimespec.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
describetimeval.c Improve system calls 2022-07-08 06:42:03 -07:00
deviceiocontrol.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
dos2errno.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
dos2errno.internal.h Improve synchronization 2022-04-15 15:31:55 -07:00
exit.c Improve upon the new pledge command 2022-07-14 04:39:45 -07:00
exit1.greg.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
fatalbuf.c Make numerous improvements 2021-09-28 01:52:34 -07:00
findclose.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
findfirstfile.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
findnextfile.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
flushfilebuffers.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
flushviewoffile.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
formatint32.c Make improvements 2022-05-12 06:45:36 -07:00
formatint64.c Make improvements 2022-05-12 06:45:36 -07:00
ftrace.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
futex.internal.h Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
futex.S Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
futex_wait.c Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
futex_wake.c Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
g_fds.c Make improvements to locking 2022-06-19 01:30:12 -07:00
g_fds_init.S Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
generateconsolectrlevent.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getenv.greg.c Make improvements 2022-05-12 06:45:36 -07:00
getexitcodeprocess.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getfileattributes.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
getmagnumstr.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
getpid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
gettid.greg.c Always initialize thread local storage 2022-07-19 00:21:46 -07:00
intrin.mk Make some minor fixups to bug reporting, etc. 2022-07-11 05:58:24 -07:00
isatleastwindows10.greg.c Make exciting improvements 2022-03-18 03:02:00 -07:00
isdebuggerpresent.c Refactor some code 2022-05-28 14:09:21 -07:00
isrunningundermake.c Make exciting improvements 2022-03-18 03:02:00 -07:00
isworker.c Add seccomp bpf sandboxing to redbean 2022-04-18 08:54:42 -07:00
kclocknames.S Make fixes and improvements 2022-06-25 21:09:09 -07:00
kdos2errno.S Write tests for new APE loader and fix bugs 2022-05-22 05:45:38 -07:00
kerrnodocs.S Make pledge() and unveil() work amazingly 2022-07-19 21:33:49 -07:00
kerrnonames.S Make pledge() and unveil() work amazingly 2022-07-19 21:33:49 -07:00
kipoptnames.S Make fixes and improvements 2022-06-25 21:09:09 -07:00
kntisinheritable.greg.c Improve synchronization 2022-04-15 15:31:55 -07:00
kopenflags.S Make some systemic improvements 2022-05-18 16:52:36 -07:00
kprintf.greg.c Simplify TLS and reduce startup latency 2022-07-18 04:10:54 -07:00
kprintf.h Make some more fixups 2022-06-12 09:37:17 -07:00
krlimitnames.S Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
ksignalnames.S Make fixes and improvements 2022-06-25 21:09:09 -07:00
ksockoptnames.S Make fixes and improvements 2022-06-25 21:09:09 -07:00
kstarttsc.c Make improvements 2022-03-16 13:40:10 -07:00
ktcpoptnames.S Add tcp syn packet fingerprinting to redbean 2022-07-17 02:43:49 -07:00
lockcmpxchg.c Improve locks and signals 2022-04-12 05:20:17 -07:00
lockcmpxchg.h Improve locks and signals 2022-04-12 05:20:17 -07:00
lockcmpxchg16b.h Improve locks and signals 2022-04-12 05:20:17 -07:00
lockcmpxchgp.h Make fixes and improvements 2022-05-19 16:57:49 -07:00
lockxadd.c Improve locks and signals 2022-04-12 05:20:17 -07:00
lockxadd.h Improve locks and signals 2022-04-12 05:20:17 -07:00
lockxchg.c Improve locks and signals 2022-04-12 05:20:17 -07:00
lockxchg.h Improve locks and signals 2022-04-12 05:20:17 -07:00
macros.h Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
mapviewoffileex.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mapviewoffileexnuma.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
memcmp.c Fix build flags for kprintf() 2022-03-17 13:54:16 -07:00
memmove.c Improve memory safety 2021-10-13 17:27:13 -07:00
mempcpy.c Make numerous improvements 2021-09-28 01:52:34 -07:00
memset.c Make improvements 2022-04-24 10:06:05 -07:00
mmi.c Make improvements to locking 2022-06-19 01:30:12 -07:00
mmi.init.S Make improvements to locking 2022-06-19 01:30:12 -07:00
movefileex.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
mpsadbw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
mpsadbw.h Make minor improvements 2020-12-23 23:42:56 -08:00
mpsadbws.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
mulvdi3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
mulvsi3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
mulvti3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
negvdi2.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
negvsi2.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
negvti2.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
nocolor.c Make exciting improvements 2022-03-18 03:02:00 -07:00
nomultics.c Make improvements 2022-04-28 09:57:07 -07:00
nomultics.internal.h Make improvements 2022-04-28 09:57:07 -07:00
nopl.h Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
ntconsolemode.c Improve locks and signals 2022-04-12 05:20:17 -07:00
ntgetversion.c Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
oldstack.c Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
onarithmeticoverflow.S Make improvements 2022-04-24 10:06:05 -07:00
once.h Write some lock contention tests 2022-06-16 09:06:09 -07:00
openprocess.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
pabsb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pabsb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pabsd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pabsd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pabsw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pabsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
packssdw.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
packssdw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
packsswb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
packsswb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
packusdw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
packusdw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
packuswb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
packuswb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
paddb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
paddd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddd.h Remove undefined behaviors 2021-05-16 11:16:28 -07:00
paddq.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddq.h Remove undefined behaviors 2021-05-16 11:16:28 -07:00
paddsb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddsb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
paddsw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
paddusb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddusb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
paddusw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddusw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
paddw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
paddw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
palignr.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
palignr.h Make minor improvements 2020-12-23 23:42:56 -08:00
palignrs.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
pand.c Change license 2020-12-27 17:18:44 -08:00
pand.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pandn.c Change license 2020-12-27 17:18:44 -08:00
pandn.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pavgb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pavgb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pavgw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pavgw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pcmpeqb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pcmpeqb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pcmpeqd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pcmpeqd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pcmpeqw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pcmpeqw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pcmpgtb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pcmpgtb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pcmpgtd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pcmpgtd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pcmpgtw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pcmpgtw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pdep.c Change license 2020-12-27 17:18:44 -08:00
pdep.h Make improvements 2020-12-01 03:43:40 -08:00
pext.c Change license 2020-12-27 17:18:44 -08:00
pext.h Make improvements 2020-12-01 03:43:40 -08:00
phaddd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
phaddd.h Remove undefined behaviors 2021-05-16 11:16:28 -07:00
phaddsw.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
phaddsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
phaddw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
phaddw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
phsubd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
phsubd.h Remove undefined behaviors 2021-05-16 11:16:28 -07:00
phsubsw.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
phsubsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
phsubw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
phsubw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmaddubsw.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
pmaddubsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmaddwd.c Change license 2020-12-27 17:18:44 -08:00
pmaddwd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmaxsw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pmaxsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmaxub.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
pmaxub.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pminsw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pminsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pminub.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
pminub.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmovmskb.c Change license 2020-12-27 17:18:44 -08:00
pmovmskb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmulhrsw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pmulhrsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmulhuw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pmulhuw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmulhw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pmulhw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmulld.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pmulld.h Remove undefined behaviors 2021-05-16 11:16:28 -07:00
pmullw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pmullw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pmuludq.c Change license 2020-12-27 17:18:44 -08:00
pmuludq.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
popcnt.c Make improvements 2022-05-12 06:45:36 -07:00
por.c Change license 2020-12-27 17:18:44 -08:00
por.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
printsystemmappings.greg.c Make exciting improvements 2022-03-18 03:02:00 -07:00
promises.c Improve pledge() and unveil() 2022-07-18 07:58:20 -07:00
promises.internal.h Make pledge() and unveil() work amazingly 2022-07-19 21:33:49 -07:00
prot2nt.greg.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
psadbw.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
psadbw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pshufb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pshufb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pshufd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pshufd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pshufhw.c Change license 2020-12-27 17:18:44 -08:00
pshufhw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pshuflw.c Change license 2020-12-27 17:18:44 -08:00
pshuflw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pshufw.c Change license 2020-12-27 17:18:44 -08:00
pshufw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psignb.c Change license 2020-12-27 17:18:44 -08:00
psignb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psignd.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
psignd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psignw.c Change license 2020-12-27 17:18:44 -08:00
psignw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pslld.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pslld.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pslldq.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
pslldq.h Make minor improvements 2020-12-23 23:42:56 -08:00
pslldqs.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
pslldv.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psllq.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psllq.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psllqv.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psllw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psllw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psllwv.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psrad.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
psrad.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psradv.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
psraw.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
psraw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psrawv.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
psrld.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psrld.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psrldq.c Comment out psrldq_fuzz test 2022-05-04 21:43:38 -07:00
psrldq.h Make minor improvements 2020-12-23 23:42:56 -08:00
psrldqs.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
psrldv.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psrlq.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psrlq.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psrlqv.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psrlw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psrlw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psrlwv.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubb.h Make terminal ui binaries work well everywhere 2020-10-19 06:38:31 -07:00
psubd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubd.h Remove undefined behaviors 2021-05-16 11:16:28 -07:00
psubq.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubq.h Remove undefined behaviors 2021-05-16 11:16:28 -07:00
psubsb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubsb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psubsw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubsw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psubusb.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubusb.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psubusw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubusw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
psubw.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
psubw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pthread.c Make locks more reliable 2022-06-11 02:07:20 -07:00
pthread.h Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
pthread_mutex_destroy.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
pthread_mutex_init.c Make some minor fixups to bug reporting, etc. 2022-07-11 05:58:24 -07:00
pthread_mutex_lock.c Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
pthread_mutex_trylock.c Write some lock contention tests 2022-06-16 09:06:09 -07:00
pthread_mutex_unlock.c Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
pthread_mutex_wake.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
pthread_mutexattr_destroy.c Make improvements to locking 2022-06-19 01:30:12 -07:00
pthread_mutexattr_gettype.c Make improvements to locking 2022-06-19 01:30:12 -07:00
pthread_mutexattr_init.c Make improvements to locking 2022-06-19 01:30:12 -07:00
pthread_mutexattr_settype.c Make improvements to locking 2022-06-19 01:30:12 -07:00
pthread_once.c Make locks more reliable 2022-06-11 02:07:20 -07:00
punpckhbw.c Change license 2020-12-27 17:18:44 -08:00
punpckhbw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
punpckhdq.c Change license 2020-12-27 17:18:44 -08:00
punpckhdq.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
punpckhqdq.c Change license 2020-12-27 17:18:44 -08:00
punpckhqdq.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
punpckhwd.c Change license 2020-12-27 17:18:44 -08:00
punpckhwd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
punpcklbw.c Change license 2020-12-27 17:18:44 -08:00
punpcklbw.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
punpckldq.c Change license 2020-12-27 17:18:44 -08:00
punpckldq.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
punpcklqdq.c Change license 2020-12-27 17:18:44 -08:00
punpcklqdq.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
punpcklwd.c Change license 2020-12-27 17:18:44 -08:00
punpcklwd.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
pxor.c Change license 2020-12-27 17:18:44 -08:00
pxor.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
quick_exit.c Add support for symbol table in .com files 2022-03-23 06:34:46 -07:00
releasefd.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
releasefd_unlocked.c Add torture test for zipos file descriptors 2022-06-15 16:29:49 -07:00
removedirectory.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
reopenfile.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
repmovsb.h Get address sanitizer mostly working 2020-09-03 05:44:37 -07:00
repstosb.h Make improvements 2020-09-14 00:02:34 -07:00
restoretty.c Make some touchups 2022-07-15 18:07:34 -07:00
restorewintty.c Make some minor fixups to bug reporting, etc. 2022-07-11 05:58:24 -07:00
sched_yield.S Improve system calls 2022-07-08 06:42:03 -07:00
setcurrentdirectory.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setjmp.internal.h Get threads working on all platforms 2022-05-13 03:59:09 -07:00
shufpd.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
shufpd.h Fix bugs and have emulator emulate itself 2020-08-31 05:17:31 -07:00
shufps.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
shufps.h Fix bugs and have emulator emulate itself 2020-08-31 05:17:31 -07:00
sigaddset.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sigdelset.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sigemptyset.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sigfillset.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sigismember.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
somanyasan.S Scrub double-conversion and add quick wrapper 2022-06-26 05:03:25 -07:00
spinlock.h Make improvements to locking 2022-06-19 01:30:12 -07:00
stpcpy.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
stracef.greg.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
strcpy.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
strerdoc.greg.c Make fixes and improvements 2022-05-19 16:57:49 -07:00
strerrno.greg.c Make fixes and improvements 2022-05-19 16:57:49 -07:00
strerror_wr.greg.c Make fixes and improvements 2022-06-18 01:46:12 -07:00
strlen.c Make fixes, improvements, and chibicc python bindings 2021-10-08 08:41:57 -07:00
strsignal.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
subvdi3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
subvsi3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
subvti3.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
sys_gettid.greg.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
syscall.S Improve memory safety 2021-10-13 17:27:13 -07:00
terminateprocess.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
timespec2timeval.c Improve system calls 2022-07-08 06:42:03 -07:00
tpenc.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
ubsan.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
unmapviewoffile.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
vforked.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
virtualprotect.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
wait0.c Use futexes on OpenBSD and improve threading 2022-07-17 19:59:49 -07:00
wait0.internal.h Make fixes and improvements 2022-06-25 21:09:09 -07:00
waitformultipleobjects.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
waitforsingleobject.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
winerr.greg.c Improve system call support on NT 2022-04-07 20:30:04 -07:00
wsarecv.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
wsarecvfrom.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
wsawaitformultipleevents.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
x86gradenames.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
x86marchnames.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00