K. Lange
a24baa2b58
libc: more useful stub pow() for aarch64 so Quake plays
2022-10-26 17:39:35 +09:00
K. Lange
bb1c30d1ef
libc: stub tgamma for kuroko
2022-09-04 19:23:12 +09:00
K. Lange
bbd609086a
libc: make pthread_t scalar
...
While POSIX.1-2001 says that pthread_t is allowed to be
"non-arithmetic", earlier revisions did not allow it, and
many things still assume the original rule and either
complain loudly or fail completely if pthread_t is a struct.
In glibc, pthread_t is typedef'd to 'unsigned long int', but
in musl, it is a pointer type to an opaque struct. We'll go
with the latter option here.
Note that while this breaks ABI combatibility for the libc,
nothing in the x86-64 or aarch64 package repositories uses
pthreads, so this probably doesn't matter too much. If you
are one of the handful of souls brave enough to be maintaining
your own downstream software for ToaruOS and you use pthreads,
it's time to rebuild.
This is an initial change that will be followed up with more
thorough internal changes to our pthreads implementation.
2022-08-27 15:53:37 +09:00
K. Lange
5651875d4b
libc: qsort_r
2022-08-26 05:32:00 +09:00
K. Lange
908dbb0553
libc: strsignal
2022-08-18 19:20:56 +09:00
K. Lange
745bc29a26
kernel: rudimentary sigwait
2022-08-18 16:56:43 +09:00
K. Lange
37bd4e08cb
kernel: add sigsuspend
2022-08-18 15:09:23 +09:00
K. Lange
083ab387f3
kernel: more signal functions
2022-08-06 18:19:27 +09:00
K. Lange
2906476825
kernel: Add sigaction
2022-08-06 18:03:39 +09:00
K. Lange
9e44d08ed7
ld.so: Possibly incorrect dynamic TLS implementation
2022-05-26 08:58:49 +09:00
K. Lange
06f0c6f9cc
libc: fix conversions of negative timestamps (eg., 0 in western timezones)
2022-04-17 18:36:38 -04:00
K. Lange
e20689f1d8
aarch64: atan2() by polynomial approximation
2022-04-13 16:19:56 -07:00
K. Lange
0f8184bc9e
libc: make srand repeatable and better for seeding with time
2022-03-27 16:48:02 +09:00
K. Lange
58a1b6e999
pthread: Remove magic thread exit; pthread_exit() is just syscall_exit
2022-03-12 18:46:28 +09:00
K. Lange
b67800fa1f
libc: ioctl sets errno
2022-03-07 18:06:37 +09:00
K. Lange
992d805f25
libc: use munmap sysfunc in free() for 'big bins'
2022-03-06 15:58:59 +09:00
K. Lange
3852646174
kernel: Restart some signals, fix up suspend to work with new signal management
2022-03-04 18:39:38 +09:00
K. Lange
b3f6728339
date: add rudimentary support for setting date/time
2022-02-25 21:16:30 +09:00
K. Lange
89ba900988
libc: fix terribly broken mktime
2022-02-25 21:07:53 +09:00
K. Lange
e90278b04b
libc: aarch64: tan() can be expressed as sin()/cos()
2022-02-14 09:37:51 +09:00
K. Lange
07e97e2784
aarch64: A better memcpy for arm
2022-02-03 08:15:02 +09:00
K. Lange
18a4e78336
aarch64: More cleanup
2022-02-02 12:08:44 +09:00
K. Lange
2c1f2b942d
x86_64: Put TLS data after the self-pointer, like we started doing in aarch64
2022-02-01 07:55:11 +09:00
K. Lange
f0409ff120
aarch64: couple of less bad math functions in libc
2022-01-31 21:06:17 +09:00
K. Lange
b53a56fe72
aarch64: begin work on new target
2022-01-30 21:25:27 +09:00
K. Lange
2f59fa9336
libc: More bad (and a couple good) math functions
2021-12-07 16:24:07 +09:00
K. Lange
c7429e9055
meta: purge most instances of vim hints
2021-11-26 12:59:02 +09:00
K. Lange
f3759daadf
ioctl: request should be 'unsigned long'
2021-11-15 21:51:33 +09:00
K. Lange
f110f0b215
libc: Update wcwidth with latest data
2021-10-27 19:23:05 +09:00
K. Lange
44eefc2e43
libm: Add two missing functions
2021-10-07 07:20:50 +09:00
K. Lange
51f0ef4e03
libc: Fix bad logic when looking for IP address
2021-09-28 18:36:53 +09:00
K. Lange
59e0c80b3c
ld.so: Expose some internal data for use by debugger
2021-09-24 00:13:04 +09:00
K. Lange
6899683bb4
strace: Initial support for a ptrace() mechanism, strace tool
2021-09-22 15:33:02 +09:00
K. Lange
8bca4ee6c8
libc: cleanup, some missing things
2021-09-18 13:55:13 +09:00
K. Lange
8269614da7
net: Maybe allow udp binds?
2021-09-09 20:03:58 +09:00
K. Lange
c0cb37f971
net: ongoing network work
2021-09-09 19:42:19 +09:00
K. Lange
fd10920585
net: e1000 receive fixes?
2021-09-08 19:11:28 +09:00
K. Lange
6510dd73bd
time: Try to figure out some sensible timezone names from the TZ offset, and collect that from ip-api
2021-09-08 11:38:31 +09:00
K. Lange
01d29b92e6
libm: Hyperolibc trig functions
2021-09-04 13:41:27 +09:00
K. Lange
efec80cb38
times: rudimentary support for process times
2021-09-02 23:08:18 +09:00
K. Lange
98bcb40671
nproc: Expose processor count and use it to pick between yielding and non-yielding spin locks
2021-09-02 17:27:21 +09:00
K. Lange
0d71c98cc2
localtime: rudimentary, incorrect support for timezone offsets
2021-09-02 16:09:28 +09:00
K. Lange
64bfcce029
dhclient: fallback to /var/resolv.conf if /etc is read-only
2021-09-02 15:26:11 +09:00
K. Lange
8984cc8f71
groups: First pass at support for supplementary group lists
2021-08-31 20:46:48 +09:00
K. Lange
8775a28209
groups: Initial support for gids.
2021-08-31 19:47:04 +09:00
K. Lange
76befad991
libm: must implement sqrt() or it can loop in gcc
2021-08-30 19:33:43 +09:00
K. Lange
7925346edf
libc: that xor-swap is silly and probably also slower
2021-08-28 19:55:43 +09:00
K. Lange
7975697786
libc: Implement an actual quicksort for qsort...
2021-08-28 19:50:54 +09:00
K. Lange
4d68b0bc4a
text: bring back shm-stored fonts provided by compositor
2021-08-28 14:50:52 +09:00
K. Lange
607b64ada2
libc: only elide fractional parts in g/G, not f/F
2021-07-13 19:21:51 +09:00