Commit Graph

249 Commits

Author SHA1 Message Date
K. Lange
5e9efbac4b libc: fix wrong argument order to bsearch comparator 2023-04-22 08:19:14 +09:00
K. Lange
491849427b libc: aarch64 setjmp, untested 2023-04-22 08:19:14 +09:00
K. Lange
0621fa81b6 libc: add asprintf, fix vasprintf return value 2023-04-21 15:55:17 +09:00
K. Lange
ed2a59dc41 libc: update wcwidth 2023-04-20 13:12:37 +09:00
K. Lange
a2c5a4ab87 libc: only print debug info in poll with __libc_debug 2023-04-18 19:40:52 +09:00
K. Lange
df25724fcc net: Support getsockname, getpeername for tcp 2023-04-18 19:40:52 +09:00
K. Lange
05b52800a0 libc: poll: handle POLLOUT better 2023-04-18 08:58:10 +09:00
K. Lange
cc2fb582e9 libc: host entry list should be null-terminated 2023-04-18 08:57:50 +09:00
K. Lange
e234aa7593 libc: Fix float formatters showing '0.10', etc. 2023-03-27 17:13:39 +09:00
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