Commit graph

1335 commits

Author SHA1 Message Date
Paul Kulchenko
f5be9bd3cf Add fix for GCC 11+ (reapply 06f9a5b6) 2022-11-24 10:33:42 -08:00
Paul Kulchenko
d5f6ad13cf Update icu paths in SQLite (reapply 367d06d9) 2022-11-24 10:33:41 -08:00
Paul Kulchenko
823ed34464 Improve chibicc support (reapply 61257d48) 2022-11-24 10:33:41 -08:00
Paul Kulchenko
9018a16e9f Update SQLite to configure fsync() at runtime (reapply 997ce29d) 2022-11-24 10:33:40 -08:00
Paul Kulchenko
b382e4b93a Avoid clobbering errno in SQLite (reapply 91e167ca) 2022-11-24 10:33:40 -08:00
Paul Kulchenko
a4d8dcbec5 Disable mremap for SQLite (reapply 80b211e3) 2022-11-24 10:33:39 -08:00
Paul Kulchenko
5e90ac3dd4 Update SQLite to use pread()/pwrite() (reapply 98909b13) 2022-11-24 10:33:38 -08:00
Paul Kulchenko
95595c1d5a Update SQLite to use rngset and bzero instead of memset (reapply 39bf41f4) 2022-11-24 10:33:38 -08:00
Paul Kulchenko
58d70269f0 Add /.args feature to SQLite (reapply 4499f98e) 2022-11-24 10:33:37 -08:00
Paul Kulchenko
526e2276b0 Change the defaut command prompts (reapply 82f2e758) 2022-11-24 10:33:37 -08:00
Paul Kulchenko
dd14ec87da Fix SQLite include paths 2022-11-24 10:33:36 -08:00
Paul Kulchenko
1d2bc5c99e Fix gnuc/llvm warnings for SQLite (reapply 5144c221) 2022-11-22 20:43:04 -08:00
Paul Kulchenko
923f8f7875 Fix SQLite home directory discovery on Windows (reapply 29cb5388)
See #193
2022-11-22 20:38:42 -08:00
Paul Kulchenko
132f85d184 Add *.shell.c files to SQLite shell build (reapply 8b469389) 2022-11-22 20:32:15 -08:00
Paul Kulchenko
d32abc777a Update SQLite shell to build 2022-11-21 20:27:00 -08:00
Justine Tunney
1c6488c741 Enable sqlite zipfile module in redbean (reapply 34e39ad0)
This change also breaks out a bunch of extension files that the SQLite
authors inlined into a shell.c amalgamation.
2022-11-20 22:14:27 -08:00
Paul Kulchenko
c5f58111ef Update SQLite to build
Renamed geopoly.c to geopoly.inc to avoid its processing, as it's
included at the end of rtree.c and is not compiled directly.
2022-11-20 22:14:26 -08:00
Paul Kulchenko
21a4640ad2 Upgrade SQLite to 3.40 2022-11-20 09:57:51 -08:00
Justine Tunney
b850b14300
Improve cosmocc / cosmoc++ toolchains
They'll now automatically create empty static archives for system
libraries that are provided by Cosmopolitan Libc. This helps make
configure scripts less confused. Musl does the same thing.
2022-11-14 13:45:57 -08:00
Justine Tunney
a277170c9a
Make kprintf_test resistant to limbo 2022-11-13 14:26:19 -08:00
Justine Tunney
711bd095db
Import exuberant ctags 2022-11-13 13:26:28 -08:00
Justine Tunney
d55b019284
Fix the build 2022-11-11 11:13:21 -08:00
Justine Tunney
f2af97711b
Make improvements
- Improve compatibility with Blink virtual machine
- Add non-POSIX APIs for joining threads and signal masks
- Never ever use anything except 32-bit integers for atomics
- Add some `#undef` statements to workaround `ctags` problems
2022-11-10 21:52:47 -08:00
Justine Tunney
b46ac13504
Introduce new jartsr=' ape prefix
Files beginning with "MZqFpD" are Actually Portable Executables,
which have a printf statement in the first 4096 bytes with octal
codes that specify the ELF header. APE also specifies `jartsr='`
as an alternative prefix, intended for binaries that do not want
to be identified as Windows executables. Like the \177ELF magic,
all these prefixes decode as x86 jump instructions that could be
used for 16-bit bootloaders or 32-bit / 64-bit flat executables.
Most importantly they provide a fallback path for Thompson shell
copmatible command interpreters, which do not require a shebang,
e.g. bash, zsh, fish, bourne, almquist, etc. Please note that in
order to meet the requirements of POSIX.1, the single quote must
be followed by a newline character, before any null bytes occur.
See also: https://www.austingroupbugs.net/view.php?id=1250
2022-11-10 21:18:32 -08:00
Justine Tunney
cee6871710
Make detached threads work better
This change adds a double linked list of threads, so that pthread_exit()
will know when it should call exit() from an orphaned child. This change
also improves ftrace and strace logging.
2022-11-09 03:58:57 -08:00
Justine Tunney
b74d8c1acd
Remove unnecessary STRACE() statement 2022-11-08 15:33:16 -08:00
Justine Tunney
fc595a7111
Fix build
libc/integral changes aren't checked in the build dependency, due to
being explicitly listed in .UNVEIL, which is how this breakage ended
up accidentally slipping through the cracks.
2022-11-08 15:24:17 -08:00
Justine Tunney
bf7843833f
Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
Paul Kulchenko
251dcb07eb
Add redbean sqlite session support (#680) 2022-11-08 12:53:37 -08:00
Justine Tunney
b407327972
Make fixes and improvements
- clock_nanosleep() is now much faster on OpenBSD and NetBSD
- Thread joining is now much faster on NetBSD
- FreeBSD timestamps are now more accurate
- Thread spawning now goes faster on XNU
- Clean up the clone() code
2022-11-08 10:11:46 -08:00
Justine Tunney
aee50b1327
Fix test breakage 2022-11-07 06:31:30 -08:00
Justine Tunney
4de2cf34e6
Allow HTTP range past EOF
Fixes #683
2022-11-07 05:52:24 -08:00
Justine Tunney
52f1db7220
Release Cosmopolitan v2.2 2022-11-07 02:29:47 -08:00
Justine Tunney
c995838e5c
Make improvements
- Clean up sigaction() code
- Add a port scanner example
- Introduce a ParseCidr() API
- Clean up our futex abstraction code
- Fix a harmless integer overflow in ParseIp()
- Use kernel semaphores on NetBSD to make threads much faster
2022-11-07 02:26:06 -08:00
Justine Tunney
539bddce8c
Fix regression in documentation page 2022-11-06 01:16:29 -07:00
Justine Tunney
002df0f16c
Fix regression in MODE=asan build 2022-11-06 01:05:13 -07:00
Justine Tunney
be16bcdcd3
Fix missing Makefile dependency 2022-11-06 01:01:34 -07:00
tkchia
cb9a0466f1
Work towards zipos / open(argv[0]) on metal (#667) 2022-11-06 00:29:47 -07:00
Danny Robinson
543c93f623
bestline keybindings and redbean definitions (#678)
* Add ctrl-left/right keys to bestline
* Update redbean API definitions
2022-11-06 00:28:08 -07:00
Justine Tunney
3f0bcdc3ef
Improve cancellations, randomness, and time
- Exhaustively document cancellation points
- Rename SIGCANCEL to SIGTHR just like BSDs
- Further improve POSIX thread cancellations
- Ensure asynchronous cancellations work correctly
- Elevate the quality of getrandom() and getentropy()
- Make futexes cancel correctly on OpenBSD 6.x and 7.x
- Add reboot.com and shutdown.com to examples directory
- Remove underscore prefix from awesome timespec_*() APIs
- Create assertions that help verify our cancellation points
- Remove bad timespec APIs (cmp generalizes eq/ne/gt/gte/lt/lte)
2022-11-05 23:45:32 -07:00
Justine Tunney
0d7c265392
Fix backtraces on cancellation points 2022-11-04 20:22:13 -07:00
Justine Tunney
022536cab6
Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
Justine Tunney
2278327eba
Implement support for POSIX thread cancellations
This change makes some miracle modifications to the System Five system
call support, which lets us have safe, correct, and atomic handling of
thread cancellations. It all turned out to be cheaper than anticipated
because it wasn't necessary to modify the system call veneers. We were
able to encode the cancellability of each system call into the magnums
found in libc/sysv/syscalls.sh. Since cancellations are so waq, we are
also supporting a lovely Musl Libc mask feature for raising ECANCELED.
2022-11-04 01:04:43 -07:00
Justine Tunney
37d40e087f
Ignore SIGSYS on BSD by default 2022-11-03 09:32:12 -07:00
Justine Tunney
179e048bba
Make some small fixes to recent changes 2022-11-03 05:45:33 -07:00
Justine Tunney
c2590cf7a0
Make cosmo.ftrace() in Python easier to use 2022-11-03 01:12:25 -07:00
Justine Tunney
89d1e5b8f2
Rearrange code and make a faster sha256sum program 2022-11-02 23:19:16 -07:00
Justine Tunney
5e60e5ad10
Release redbean v2.2 2022-11-02 09:52:54 -07:00
Justine Tunney
6b06a8176d
Fix some glitches in redbean
This change includes a fix to Fetch() where an out of bounds memory read
could happen, when the reverse proxied endpoint omits the content-length
header. This caused a bunch of NUL chars to appear on TurfWar's /statusz
since it wouldn't actually overrun the buffer, and if it did it would've
been caught by MODE=asan builds.
2022-11-02 09:46:34 -07:00
Justine Tunney
14d036b68d
Add WSL to test fleet
All tests pass now under WSL2. They should pass under WSL1 too, but only
WSL2 is integrated into the test fleet right now. This change also fills
in some gaps in the error numbers.

Fixes #665
2022-11-02 06:49:42 -07:00