toaruos/libc
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
..
arch aarch64: atan2() by polynomial approximation 2022-04-13 16:19:56 -07:00
assert libc: __assert_func should exit 2021-06-18 19:57:59 +09:00
ctype misaka: initial merge 2021-05-31 10:54:11 +09:00
dirent libc: opendir should not set errno, it's set by open 2019-01-03 20:21:32 +09:00
dlfcn ld.so: Expose some internal data for use by debugger 2021-09-24 00:13:04 +09:00
errno Use subdirectories for libc based on headers 2018-05-02 11:59:30 +09:00
iconv libc: support for building libstdc++? 2018-10-12 10:35:28 +09:00
ioctl libc: ioctl sets errno 2022-03-07 18:06:37 +09:00
libgen dirname: add command and libc function 2018-11-18 09:56:43 +09:00
libintl libc: stub libintl implementation 2018-12-08 18:45:19 +09:00
locale libc fixes 2018-06-25 18:15:02 +09:00
math libc: More bad (and a couple good) math functions 2021-12-07 16:24:07 +09:00
poll libc: implement poll with fswait3 2019-12-05 17:49:36 +09:00
pthread libc: make pthread_t scalar 2022-08-27 15:53:37 +09:00
pty Add libc wrappers for some syscalls, remove unused syscall.h imports 2018-08-02 13:13:27 +09:00
pwd meta: purge most instances of vim hints 2021-11-26 12:59:02 +09:00
sched Add libc wrappers for some syscalls, remove unused syscall.h imports 2018-08-02 13:13:27 +09:00
signal kernel: rudimentary sigwait 2022-08-18 16:56:43 +09:00
stdio libc: only elide fractional parts in g/G, not f/F 2021-07-13 19:21:51 +09:00
stdlib libc: qsort_r 2022-08-26 05:32:00 +09:00
string libc: strsignal 2022-08-18 19:20:56 +09:00
strings libc: strncasecmp that more closely matches strncmp 2018-10-12 15:55:18 +09:00
sys libc: Fix bad logic when looking for IP address 2021-09-28 18:36:53 +09:00
time libc: fix conversions of negative timestamps (eg., 0 in western timezones) 2022-04-17 18:36:38 -04:00
unistd libc: cleanup, some missing things 2021-09-18 13:55:13 +09:00
utime libc: cleanup, some missing things 2021-09-18 13:55:13 +09:00
wchar aarch64: begin work on new target 2022-01-30 21:25:27 +09:00
main.c nproc: Expose processor count and use it to pick between yielding and non-yielding spin locks 2021-09-02 17:27:21 +09:00