Fix bugs and make improvements

- Get clone() working on FreeBSD
- Increase some Python build quotas
- Add more atomic builtins to chibicc
- Fix ASAN poisoning of alloca() memory
- Make MODE= mandatory link path tinier
- Improve the examples folder a little bit
- Start working on some more resource limits
- Make the linenoise auto-complete UI as good as GNU readline
- Update compile.com, avoiding AVX codegen on non-AVX systems
- Make sure empty path to syscalls like opendir raises ENOENT
- Correctly polyfill ENOENT vs. ENOTDIR on the New Technology
- Port bestline's paredit features to //third_party/linenoise
- Remove workarounds for RHEL 5.0 bugs that were fixed in 5.1
This commit is contained in:
Justine Tunney 2022-04-20 09:56:53 -07:00
parent c3fb624647
commit ae638c0850
181 changed files with 2994 additions and 1367 deletions

View file

@ -24,11 +24,11 @@
#include "libc/nexgen32e/rdtsc.h"
#include "libc/nt/thread.h"
#include "libc/rand/rand.h"
#include "libc/runtime/internal.h"
#include "libc/runtime/runtime.h"
#include "libc/sysv/consts/auxv.h"
#include "libc/thread/create.h"
extern int __pid;
static int thepid;
static uint128_t thepool;
_Alignas(64) static char rand64_lock;
@ -36,10 +36,10 @@ _Alignas(64) static char rand64_lock;
/**
* Returns nondeterministic random data.
*
* This function is similar to lemur64() except it'thepool intended to
* be unpredictable. This PRNG automatically seeds itself on startup
* using a much stronger and faster random source than `srand(time(0))`.
* This function will automatically reseed itself when new processes and
* This function is similar to lemur64() except that it's intended to be
* unpredictable. This PRNG automatically seeds itself on startup using
* a much stronger and faster random source than `srand(time(0))`. This
* function will automatically reseed itself when new processes and
* threads are spawned. This function is thread safe in the sense that a
* race condition can't happen where two threads return the same result.
*