Commit Graph

226 Commits

Author SHA1 Message Date
2bd1e72d5a Remove garbage collector macro from header (#114)
We can put this back the moment someone requests it. Pain-free garbage
collection for the C language is pretty cool. All it does is overwrite
the return address with a trampoline that calls free(). It's not clear
what it should be named if it's made a public API.
2021-03-07 20:23:29 -08:00
5ce83b08c8 Add posix_spawn (#114) 2021-03-07 20:14:07 -08:00
5f088cec23 Rename Lua test folder 2021-03-07 18:22:53 -08:00
a8945714e8 Make gdtoa less tunable (#104)
The -fno-math-errno flag shouldn't impact libraries since it's mostly
intended for permitting the compiler to generate sqrt() instructions.
2021-03-07 16:41:59 -08:00
8a6ac6dd63 Set errno when out of range in strtoimax (#111) 2021-03-07 14:38:56 -08:00
f5da4efcaf Set errno in strtol family of functions (#110) 2021-03-07 14:18:08 -08:00
b16b332539 Get Lua to build with all tests passing
Fixes #61
2021-03-07 13:31:09 -08:00
4d3195f57a Add Lua 2021-03-07 12:50:34 -08:00
aad841610e Fix freopen so it resets stream buffer (#61) 2021-03-07 12:12:02 -08:00
7583b3accc Show better error on bind() error
See #51
2021-03-07 11:31:44 -08:00
06a4e2d29b Disable Travis emails 2021-03-07 08:29:43 -08:00
67b9675c81 Make tgmath.h available (#109) 2021-03-06 22:40:18 -08:00
4d4aa9e791 Add automatic tests for pull requests
Now when you send a pull request Travis CI will build the entire
repository and run all the tests for you automatically. It takes
approximately two minutes to finish so you can get fast feedback
2021-03-06 21:39:03 -08:00
813e11b90b Fix int parsing with base 2 and 16 (#107) 2021-03-06 21:12:32 -08:00
fb7b7c6e21 Fix isystem headers including wrong files (#108) 2021-03-06 21:06:29 -08:00
d769df3482 Fix issues with stdio needed for Lua
See #61
2021-03-06 19:04:26 -08:00
c3ed8d6c7f Make %p consistent with glibc and musl
See #61
2021-03-06 14:36:44 -08:00
937d921018 Add tests for the greatest of all libm functions 2021-03-06 12:59:35 -08:00
bfef17eb6d Add more math fixes 2021-03-06 11:44:40 -08:00
11ec99931b Add Musl multibyte functions
These are standard functions that are needed to help support the Skull
language. Note that normally this codebase uses libc/str/thompike.h

See #105
2021-03-06 09:53:16 -08:00
cfd453d125 Add more real formatting tests
See #61
2021-03-06 08:45:44 -08:00
6fa049c9c7 Add macro for static_assert (#106) 2021-03-05 20:32:25 -08:00
3364fc5b03 Add modf(), modff(), and modfl()
See #104
2021-03-05 10:47:14 -08:00
f064183646 Support proper %g, %f, and %a float formatting
See #61
See #104
2021-03-05 10:31:16 -08:00
e26bdbec52 Make examples folder somewhat more focused 2021-03-05 06:09:12 -08:00
5141d00992 Perform some minor code cleanup 2021-03-04 13:22:32 -08:00
b9f73e6a4d Clarify APE self-modifying behavior in README
See #102
2021-03-04 07:54:41 -08:00
43b2475aaa Handle more pow cases (#61) 2021-03-04 06:14:07 -08:00
1a08594f95 Add honeybadger to ape.S 2021-03-03 15:00:41 -08:00
e55e71ab48 Delete some old build code 2021-03-03 14:30:25 -08:00
3573814e45 Change release process to use default mode
See #101
2021-03-03 13:47:22 -08:00
2134ffe005 Add features needed by Janet language
See #97
See https://github.com/ahgamut/janet/tree/f838e36#compiling-janet-on-cosmopolitan
2021-03-03 13:26:46 -08:00
e3ee3c78e9 Refactor some Blinkenlights code 2021-03-03 13:09:06 -08:00
8af91bcbe7 Make pow() conform to standard definition 2021-03-03 09:21:27 -08:00
754974faaa Remove SOCK_NONBLOCK from Echo Server example
See #102 for further explanation.
2021-03-03 06:17:56 -08:00
9367253b4d Add more libm unit tests and fixes
See #61
2021-03-02 13:57:23 -08:00
32e289b1d8 Add error and gamma functions
Fixes #99
2021-03-02 11:58:00 -08:00
d53a344e18 Remove getc() optimization
This has been reported as causing issues in #61 although it isn't clear
why that's happening. Having a function boundary is bullet proof.
2021-03-02 07:34:38 -08:00
3e19b96ab8 Add more POSIX function stubs
Cosmopolitan currently doesn't support threads and it doesn't do
anything fancy in longjmp/setjmp so this change was simple to do

- localeconv
- _setjmp (same as setjmp)
- _longjmp (same as longjmp)
- strcoll (same as strcmp)
- flockfile (does nothing)
- funlockfile (does nothing)
- ftrylockfile (does nothing)

See #61
2021-03-02 03:27:55 -08:00
1831e3ccf7 Bring life.com executable size back down to 12kb 2021-03-02 01:13:32 -08:00
4651962070 Limit frame size restriction to internal repo
Fixes #91
2021-03-02 01:05:37 -08:00
8a6a1e25b1 Fix redbean daemonization
Fixes #94
2021-03-02 00:43:30 -08:00
7e4021bf82 Put Redbean in uniprocess mode on NT temporarily
The Windows fork() polyfill (which we implement using pure WIN32)
appears to be acting strangely. It's possible a regression was
introduced by recent changes that our tests didn't catch.

This change is workaround so we can upload a new working binary release
to the Redbean website until we can fully fix the problem.

See also #90
2021-03-01 23:45:49 -08:00
2596a59374 Use noasan attribute on XNU signal trampoline
The ucontext_t data structure XNU passes us doesn't appear to be part of
known memory. So we can't use ASAN during the trampoline, which converts
it to a Linux ucontext_t data structure. Please note that this change
doesn't impact the signal handler itself, only the trampoline.
2021-03-01 22:02:27 -08:00
0eaad9dd7b Fix APE error if unable to modify self
See PR #96 and issue #85
2021-03-01 21:13:22 -08:00
f4298f10c2 Generate ZIP files the same way as Windows 2021-03-01 06:24:11 -08:00
d932948fb4 Remove more nonstandard stuff from cosmopolitan.h
Fixes #61
2021-03-01 00:18:23 -08:00
5e069a64d4 Improve limits.h
Fixes #84
See also #61
2021-02-28 20:59:19 -08:00
3c24c12068 Document support vector
Fixes #87
2021-02-28 16:41:53 -08:00
839e2f4cfb Add hyperbolic math functions
See #61
2021-02-28 01:27:50 -08:00