Jonas 'Sortie' Termansen
bcf0720a59
Add versionsort_r(3).
2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
12652fe557
Add alphasort_r(3).
2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
71ae173b37
Add dscandir_r(3).
2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
5dbd89d2aa
Delay heap initialization until first heap expansion.
2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
e2526347bd
Fix assertion failure panic message ending with a newline.
2014-11-20 17:24:43 +01:00
Jonas 'Sortie' Termansen
07fd50d5c6
Add wcwidth(3) and wcswidth(3).
2014-11-18 18:10:23 +01:00
Jonas 'Sortie' Termansen
a24ecf4b83
Add getsockopt(2) and setsockopt(2).
2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen
708bcb4735
Add recvmsg(2) and sendmsg(2).
2014-11-18 16:27:19 +01:00
Jonas 'Sortie' Termansen
c428ec4d83
Add fmemopen(3).
2014-11-17 18:47:44 +01:00
Jonas 'Sortie' Termansen
d7c54161b2
Revise stdio implementation.
2014-10-19 17:13:49 +02:00
Jonas 'Sortie' Termansen
f3eb87c3ee
Improve qsort_r(3) run-time complexity using quicksort.
2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
a9cf3cc684
Add qsort_r(3).
2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
d6365e2da2
Add sysconf(_SC_GETPW_R_SIZE_MAX).
2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
b4de9e4399
Add sysconf(_SC_GETGR_R_SIZE_MAX).
2014-09-25 18:20:00 +02:00
Jonas 'Sortie' Termansen
234f186a7d
Ensure system call indices are valid expressions in libc syscall stubs.
2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
01f6606b74
Fix FILE being a macro.
2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
0b085cbcf1
Fix strerror_r(3) range error case.
2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
0b1af77ca0
Fix return value of wcscat(3).
2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
9291dae58f
Fix wcschr(3) family like strchr(3) was fixed.
2014-09-25 17:49:01 +02:00
Jonas 'Sortie' Termansen
86cd065aa7
Fix wmemmove(3) off-by-one bounds error.
2014-09-25 17:47:05 +02:00
Jonas 'Sortie' Termansen
94a7433cf0
Fix atoi(3) out-of-range cases.
2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
87fee95949
Fix setenv(3) error case.
2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
513c5f242d
Fix strtol(3) quality.
2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
228bf52b49
Fix fdopen setting FD_CLOEXEC wrongly.
2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
783c1092ff
Fix readdir() setting errno on success.
2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
ecccf4e1f7
Fix getdelim(2) leaking a freed pointer.
2014-09-25 17:27:53 +02:00
Jonas 'Sortie' Termansen
76577e69f1
Add execlpe(3).
2014-08-24 14:02:42 +02:00
Jonas 'Sortie' Termansen
771dc573ee
Add attribute format to standard library headers.
2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
a298cdde18
Update libc/string/memmove.cpp to current coding conventions.
2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
998208d4d3
Update libc/string/memcmp.cpp to current coding conventions.
2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
ebadcf2c02
Update libc/string/memset.cpp to current coding conventions.
2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
fcf412e54c
Fix mktime(3) and timegm(3) not sanitizing the broken down time.
...
Found by musl's libc-test.
2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
b75678bcab
Fix mkstemp(3) creating files with an insecure mode.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
74fbbb3c78
Fix mkstemp(3) not rejecting bad templates.
...
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
40fd0fa3dc
Fix the environment functions not rejecting the empty name.
...
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
0adfceef87
Fix strtol("0xz", &s, 16) handling.
...
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
88dd70991c
Fix strchrnul(3) and strrchr(3) missing an unsigned char cast.
...
Found by musl's libc-test.
2014-08-23 21:47:04 +02:00
Jonas 'Sortie' Termansen
d880a9a797
Fix memchr(3) missing an unsigned char cast.
2014-08-23 21:46:20 +02:00
Jonas 'Sortie' Termansen
1a99dc5048
Fix <timespec.h> including <stdbool.h> in C++.
2014-08-23 21:30:16 +02:00
Jonas 'Sortie' Termansen
a8b8514272
Fix clearenv(3) leaving internal pointer alive after free.
...
This causes use-after-free and double-free bugs when other environment
functions are subsequently called.
2014-08-23 21:04:39 +02:00
Jonas 'Sortie' Termansen
5f9da2a651
Fix format string problems in error(3) calls.
2014-08-23 21:04:39 +02:00
Jonas 'Sortie' Termansen
b0cbf9d0ea
Fix strlcpy(3) and strlcat(3) being horribly broken.
...
Found by musl's libc-test.
This is just embarrassing.
2014-08-23 21:04:03 +02:00
Jonas 'Sortie' Termansen
395f7b29b4
Fix dregister not being thread safe.
2014-08-04 19:10:14 +02:00
Jonas 'Sortie' Termansen
fdc41cac76
Fix wrong return type of init_stdio().
2014-08-04 19:04:16 +02:00
Jonas 'Sortie' Termansen
30cd318c17
Implement signals.
...
Note: This is an incompatible ABI change.
2014-07-22 13:25:39 +02:00
Jonas 'Sortie' Termansen
f1f272390b
Add ESIGPENDING.
2014-07-20 15:09:16 +02:00
Jonas 'Sortie' Termansen
28d3b1245f
Fix terminology in exec family.
2014-07-20 15:09:16 +02:00
Jonas 'Sortie' Termansen
ff443c9f5e
Thread-secure dregister(3) and dunregister(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
a1ccba00f7
Thread-secure rand(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
3361620d83
Thread-secure setlocale(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
c4e6888fd9
Thread-secure psignal(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
48edf99373
Thread-secure error(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
1ddd404ff9
Thread-secure stdio.
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
e1db06c1c9
Thread-secure exit(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
a96aca09c1
Thread-secure user-space heap.
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
0618b8a68f
Thread secure errno(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
f69b6c845c
Add pthread_sigmask(3).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
c8a3a858b0
Add libpthread.
2014-07-08 17:41:50 +02:00
Jonas 'Sortie' Termansen
b607900a00
Fix <dirent.h> not being C89 friendly.
2014-07-07 17:52:33 +02:00
Jonas 'Sortie' Termansen
1830ab64ee
Fix memccpy(3) being terribly broken.
2014-06-27 16:17:47 +02:00
Jonas 'Sortie' Termansen
874baffd57
Fix wrongly named system call constants.
2014-06-27 15:49:55 +02:00
Jonas 'Sortie' Termansen
9f0e9f2fd4
Fix overlapping socket level constants.
2014-06-17 23:53:26 +02:00
Jonas 'Sortie' Termansen
4ea6aa710c
Add exit_thread(2).
2014-06-12 00:05:40 +02:00
Jonas 'Sortie' Termansen
202cf40881
Fix libc/msr/wrmsr.cpp not containing its own file path.
2014-06-12 00:05:40 +02:00
Jonas 'Sortie' Termansen
8b3e94af38
Fix x86 longjmp(3) not restoring ebx.
2014-06-02 18:56:04 +02:00
Jonas 'Sortie' Termansen
f332cf96d4
Add sched_yield(2).
2014-05-29 17:16:49 +02:00
Jonas 'Sortie' Termansen
af23f7ad5e
Add rdmsr(2) and wrmsr(2).
2014-05-29 17:14:30 +02:00
Jonas 'Sortie' Termansen
1f72c1637c
Maintain fsbase and gsbase as per-thread registers.
...
Note: This is an incompatible ABI change.
2014-05-29 17:07:42 +02:00
Jonas 'Sortie' Termansen
b30878e816
Fix libc files not including <stdalign.h> if using alignas(3).
2014-05-28 22:18:54 +02:00
Jonas 'Sortie' Termansen
bfcd7768d2
Fix libc files not including <assert.h> if using static_assert(3).
2014-05-28 22:18:54 +02:00
Jonas 'Sortie' Termansen
534eb3ddd8
Fix libk being built with -mmmx, -msse and -msse2 on x86_64.
2014-05-28 17:42:19 +02:00
Jonas 'Sortie' Termansen
7db2ea81ab
Fix warning about converting a signed value to an unsigned value.
2014-05-16 15:12:59 +02:00
Jonas 'Sortie' Termansen
73cea916d9
Fix suboptimal heap chunk spliting.
2014-05-16 14:48:27 +02:00
Jonas 'Sortie' Termansen
0f80611403
Fix C++ comments in <sys/types.h>.
2014-05-16 14:31:24 +02:00
Jonas 'Sortie' Termansen
4cc3bd4e92
Fix C++ comments in <fsmarshall-msg.h>.
2014-05-16 14:31:24 +02:00
Jonas 'Sortie' Termansen
bcbc974a05
Fix usage of inline keyword in <timespec.h>.
2014-05-16 14:31:24 +02:00
Jonas 'Sortie' Termansen
f2857047b0
Fix non-portable asm keyword usage in in system header.
2014-05-16 14:21:13 +02:00
Jonas 'Sortie' Termansen
57cddb5cc2
Fix libc files not including their associated header.
2014-05-16 14:21:13 +02:00
Jonas 'Sortie' Termansen
76036892c2
Fix missing parentheses in grp and pwd implementation.
2014-05-16 14:06:36 +02:00
Jonas 'Sortie' Termansen
8591bcef7b
Fix getopt_long(3) not handling invalid options and long options properly.
2014-04-24 00:03:52 +02:00
Jonas 'Sortie' Termansen
01b8acbc90
Fix calloc not erroring on multiplication overflow.
2014-04-24 00:03:51 +02:00
Jonas 'Sortie' Termansen
159d8881ec
Fix files relying on <unistd.h> including <ioleast.h>.
2014-04-06 00:19:05 +02:00
Jonas 'Sortie' Termansen
580418341c
Fix getpagesize(2) visibility in <unistd.h>.
2014-04-05 17:04:48 +02:00
Jonas 'Sortie' Termansen
05b0713bfa
Fix mktemp(3) prototype visibility in <stdlib.h>.
2014-04-05 17:02:49 +02:00
Jonas 'Sortie' Termansen
3c160977bf
Fix wrong allocation failure check in dscandir_r(3).
2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen
8d41d3ceb0
Fix <string.h> including <strings.h>.
2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen
2161a0e0e3
Fix canonicalize_file_name_at(3) not handling file paths correctly.
2014-03-31 19:08:57 +02:00
Jonas 'Sortie' Termansen
e8cfd5bf85
Handle NULL strings in vprintf_callback(3).
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
564f99b3ae
Move O_ACCMODE into kernel headers.
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
f6f5035706
Add tzset(3).
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
8c00a4145c
Refactor kernel PAT, MTRR, and MSR usage.
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
d50e8f1bce
Document gethostid(3) and sethostid(3) as obsolete.
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
4ee83c9466
Refuse to implement broken POSIX advisory file locks.
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
a935148f60
Add statvfs(2), fstatvfs(2) and fstatvfsat(2).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
2fe13d33c9
Add asprintf(3) and vasprintf(3).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
2fe3595feb
Add getumask(2).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
9771f29138
Add syslog(3).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
e677c455d8
Use getdomainname(2) in uname(3).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
c6978d7d6e
Add getdomainname(2).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
02c18f868f
Fix vscanf_callback(3) not ungetcing the last character when stopping.
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
1986bc2ba2
Add vscanf_callback(3).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
e91cde379a
Rewrite getenv(3), setenv(3), unsetenv(3) and clearenv(3).
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
af9ea5df04
Add %m support to vprintf_callback(3).
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
687096ec8a
Add uname(3).
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
f34279cc60
Add ttyname_r(3).
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
a0a8ed61d8
Add pipe2(2).
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
eaf1618537
Add tcgetwincurpos(2).
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
d5241349cc
Move OFF_MIN and OFF_MAX to <sys/types.h>.
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
823d3a3e2f
Add fsblkcnt_t and fsfilcnt_t.
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
0117c4fbc7
Improve ix86 and x86_64 data types ABI.
...
Increase gid_t to an unsigned 64-bit integer.
Increase id_t to an unsigned 64-bit integer.
Increase pid_t to a signed 64-bit integer.
Increase time_t to a signed 64-bit integer.
Increase uid_t to an unsigned 64-bit integer.
Note: This is an incompatible ABI change.
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
1b3f4b36d8
Fix strtol(3) handling negative numbers incorrectly.
2014-03-17 17:00:00 +01:00
Jonas 'Sortie' Termansen
00a3579940
Fix basename(3) and dirname(3) returning incorrect strings.
2014-03-17 16:59:59 +01:00
Jonas 'Sortie' Termansen
2e855f4095
Fix buffer overflow in execvpe(3).
2014-03-17 16:59:59 +01:00
Jonas 'Sortie' Termansen
fc713baba3
Rename libc-sortix to libk.
2014-03-01 14:37:42 +01:00
Jonas 'Sortie' Termansen
512c9d3f08
Improve wchar declarations in <wchar.h>, <wctype.h> and <stdint.h>.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
28f49e53bf
Add C11 static_assert to <assert.h>.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
f13074afd1
Improve basename(3) and dirname(3).
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
d39437966d
Split libc/wctype/wctype.cpp into multiple files.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
ba8557075c
Split libc/ctype/ctype.cpp into multiple files.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
df666103b3
Update libc/stdlib/rand.cpp to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
9cd3cdf79c
Update libc/locale/setlocale.cpp to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
71f9f882d1
Fix readdir(3) not preserving errno in case of end-of-directory condition.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
da933464e5
Add d_namlen, d_dev, and d_type to struct dirent.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
5dd70aa4ff
Split libc/dirent/fddir-sortix.cpp into multiple files.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
ddce6045e0
Split libc/dirent/dir.cpp into multiple files.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
d7467e98be
Move the declaration of the DIR structure into its own header.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
6788f0096e
Preprocess assembly files with the C preprocessor.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
8a49c47742
Include <stdarg.h> in <wchar.h>.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
b08455c4d3
Remove mxmpp.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
98a87fa1e5
Rename Sortix kernel directory to kernel.
2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen
18d2695439
Add libdl and librt to libc.
2014-03-01 14:37:39 +01:00
Jonas 'Sortie' Termansen
4c1d36fd11
Fix setuid(2) calling sys_getuid rather than sys_setuid.
2014-02-23 14:47:22 +01:00
Jonas 'Sortie' Termansen
478db91c3e
Fix setgid(2) calling sys_getgid rather than sys_setgid.
2014-02-23 14:47:22 +01:00
Jonas 'Sortie' Termansen
aa9f642df2
Fix seteuid(2) calling sys_geteuid rather than sys_seteuid.
2014-02-23 14:47:22 +01:00
Jonas 'Sortie' Termansen
3163f4600d
Fix setegid(2) calling sys_getegid rather than sys_setegid.
2014-02-23 14:47:21 +01:00
Jonas 'Sortie' Termansen
142b2c66c4
Fix symlinkat(2) calling sys_linkat rather than sys_symlinkat.
2014-02-23 14:47:21 +01:00
Jonas 'Sortie' Termansen
4227d97f55
Fix send(2) calling sys_recv rather than sys_send.
2014-02-23 14:47:21 +01:00
Jonas 'Sortie' Termansen
31c310036c
Fix lseek changing errno in fdio_install_fd when no real error occurs.
2014-02-16 12:38:04 +01:00
Jonas 'Sortie' Termansen
fd5b40de26
Fix wrong return types in towlower(3) and towupper(3) implementations.
2014-02-13 15:49:48 +01:00
Jonas 'Sortie' Termansen
061eddff91
Silence uninitialized variable warning in wcrtomb(3).
2014-02-06 00:15:03 +01:00
Jonas 'Sortie' Termansen
140dfe22fc
Fix memory leak in getlogin_r(3).
2014-02-06 00:15:03 +01:00
Jonas 'Sortie' Termansen
5c58b65546
Fix range check in sigismember(3).
2014-02-02 23:14:02 +01:00
Jonas 'Sortie' Termansen
6af85a5dd8
Fix negated return value in sigisemptyset(3).
2014-02-02 23:14:02 +01:00
Jonas 'Sortie' Termansen
b5d80ee5d1
Fix %T in strftime(3) being incorrectly implemented.
2014-01-19 22:47:52 +01:00
Jonas 'Sortie' Termansen
187cdf03dc
Fix accept4 ignoring addrlen parameter as input.
2014-01-19 00:32:11 +01:00
Jonas 'Sortie' Termansen
6473d72621
Fix bugs in vprintf_callback(3) and improve %c and %s support.
2014-01-18 16:30:56 +01:00
Jonas 'Sortie' Termansen
021256ad8e
Fix struct kernel_dirent::d_namlen being called d_namelen.
2014-01-18 16:30:56 +01:00
Jonas 'Sortie' Termansen
bfc8570bb8
Fix libc function implementations without extern "C" linkage.
2014-01-18 16:30:56 +01:00
Jonas 'Sortie' Termansen
7c3df4e4f7
Fix <FILE.h> not being wrapped in __BEGIN_DECLS and __END_DECLS.
2014-01-18 16:30:55 +01:00
Jonas 'Sortie' Termansen
a4220d5b5f
Fix incorrect usage of __is_sortix_foo macros in preprocessor conditionals.
...
These macros might not be defined, in which case this usage would have
generated warnings had they not been in system headers.
2014-01-18 16:30:55 +01:00
Jonas 'Sortie' Termansen
7bc8ccd46f
Fix unportable gid_t and uid_t parsing in fgetpwent_r(3).
2013-12-30 20:46:22 +01:00
Jonas 'Sortie' Termansen
ace4a6cc54
Fix unportable gid_t parsing in fgetgrent_r(3).
2013-12-30 20:46:22 +01:00
Jonas 'Sortie' Termansen
ac3928bfc8
Fix unportable pid_t printing in calltrace(3).
2013-12-30 20:46:22 +01:00
Jonas 'Sortie' Termansen
f47cb98b97
Fix wrong return type in getpgid(2) implementation.
2013-12-30 20:19:00 +01:00
Jonas 'Sortie' Termansen
4cffc6b77b
Add fnmatch(3).
2013-12-19 17:42:08 +01:00
Jonas 'Sortie' Termansen
500d3bb38b
Add symlink(2) and symlinkat(2) stub.
2013-12-19 17:42:08 +01:00
Jonas 'Sortie' Termansen
48931408f4
Make FILE a macro that expands to FILE.
...
This solves a compatibility problem with libgmp that erroneously attempts to
detect whether <stdio.h> has been included, but doesn't know what the include
guards for Sortix libc are.
2013-12-19 17:42:07 +01:00
Jonas 'Sortie' Termansen
6a9eee3238
Add brand.h.
2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen
c833b054d5
Add <argp.h>.
2013-12-17 14:30:46 +01:00
Jonas 'Sortie' Termansen
33bf0d93ad
Avoid libc conflicts with libstdc++.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
2302350d78
Remove <sortix/kernel/platform.h>.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
0d3e35bd82
Add symbol size to SYSCALL_FUNCTION macro assembly.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
dbd07b6ade
Update <sys/syscall.h> to current coding conventions.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
d43a044575
Refactor assert(3).
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
9d4bc2a15f
Grow kernel heap upwards.
...
Previously the kernel heap grew downwards for historical reasons. There is no
reason for this and it simplifies the heap implementation if it only grows
upwards. This also rearranges how the kernel virtual memory is allocated to
suit an upwards-growing heap.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
b9e463965b
Split libc/stdlib/on_exit.cpp into multiple files.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
8018a85a30
Fix wrong base parsing in strtol(3).
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
db185ece7d
Add <ar.h> header.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
e31b98c5a1
Improve standards conformance of asctime_r(3).
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
011ea58176
Rewrite vprintf_callback(3).
2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
30a95dfa1e
Split parts of <features.h> into <sys/cdefs.h>.
2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
8961a99280
Add AF_LOCAL and PF_LOCAL.
2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
3166413eef
Properly implement memmove(3).
2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
ca2de62ea7
Use the <pwd.h> API in getlogin_r(3).
2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
3785beb7f5
Implement the <grp.h> API properly.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
a7e1207e0f
Implement the <pwd.h> API properly.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
69f2a3ef91
Add ENOGROUP.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
dd269e9d51
Add ENOUSER.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
396765eaba
Remove getdtablesize(3).
...
This interface has been replaced with sysconf(_SC_OPEN_MAX). Note that this
implementation currently reports this as 0x10000, but there really is no
such limit in Sortix at this time.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
bae68066eb
Add struct iovec to sys/socket.h.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
5933ac5210
Rename O_CREAT to O_CREATE.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
e901ad8105
Move the declaration of the FILE structure into its own header.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
a212ec0ee3
Split libc/unistd/ioleast.cpp into multiple files.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
8c0e0235d6
Refactor fcntl(2) ABI.
...
This is an incompatible ABI change.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
4e520c8c36
Remove sortix_gets(3).
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
b399ece14b
Add dup3(2).
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
9700623737
Remove obsolete __SORTIX_SHOW_UNIMPLEMENTED feature macro.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
69eb2f0e5f
Update <errno.h> to current coding conventions.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
ad1c6e0ed7
Remove <sys/__/types.h> inclusion from <features.h>.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
5b6d49b060
Remove useless extern keyword from libc header function prototypes.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
f79508fbc9
Remove __POSIX_OBSOLETE feature macro.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
52f67b436d
Provide the full <stdint.h> in all system components.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
8044afc7e8
Provide the restrict keyword in all system components.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
bea3ed6f50
Detect internal system component build macros in <features.h>.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
798554f21c
Update <features.h> to current coding conventions.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
ad84bc75c8
Change kernel internal build macro to __is_sortix_kernel.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
3a30ba57ef
Change libc internal build macro to __is_sortix_libc.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
c24b162ef3
Add __sortix_libc__ feature macro.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
fd4b35f986
Add mkstemp(3).
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
f105c8f3be
Add wmemset(3).
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
9039553c15
Add wmemmove(3).
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
329881f38d
Add wmemcpy(3).
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
3c3bb32431
Add wmemchr(3).
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
f32e1c7951
Add wcsstr(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
2e46a6ce8c
Add wcspbrk(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
b944052a2e
Add wcsxfrm(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
2db8bc088d
Add wcsncmp(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
adb3bf543f
Add wmemcmp(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
efc0eb2829
Add getrusage(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
7a5e549612
Add getrlimit(3) and setrlimit(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
13f09cc515
Add prlimit(2).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
a6f38947f2
Add getpriority(2) and setpriority(2).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
1469c89b87
Add id_t to <sys/types.h>.
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
04019cab9e
Add mmap(2), mprotect(2) and munmap(2).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
930be00966
Don't write errors to stderr in dlopen(3) and dlsym(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
30d35a98dd
Add sigandset(3), sigisemptyset(3), signotset(3), and sigorset(3).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
d5a7901b25
Add getopt(3) and getopt_long(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
bb2a1b3e73
Add dprintf(3) and vdprintf(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
91eb5f3af9
Split libc/stdio/sprint.cpp into multiple files.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
edce6b9c2b
Split libc/stdio/print.cpp into multiple files.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
2f49694031
Add flockfile(3), ftrylockfile(3), and funlockfile(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
405173fc04
Add strftime_l(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
070a319006
Split stdlib/abs.cpp into multiple files.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
02013158e7
Add imaxdiv(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
a9d8712435
Add wcscoll(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
8d674a43e1
Add wcsto{l,ll,ul,ull,imax,umax}(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
cba75809fe
Declare wchar_t in inttypes.h.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
5a127a429c
Add overflow support to strtol and clean up the code.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
1df749498a
Refactor strtol functions.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
cdc5a9673e
Add strtoimax(3) and strtoumax(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
d79808f85f
Split gnu_error(3) and perror(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
0c43765bbf
Add strdupa(3) and strndupa(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
fdbcea19dc
Add ffs(3), ffsl(3), and ffsll(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
6ea9a0d509
Merge strings.h into string.h.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
bc20ef464c
Split pread and pwrite into their own files.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
12d6f1fd73
Add killpg(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
f1888f9e8b
Add strlcat(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
a1655ca43b
Add strerror_l(3) and strerror_r(3).
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
4ac3c313ae
Add strlcpy(3).
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
2518e4fc40
Add strxfrm_l(3).
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
5bda12c8fc
Add strcoll_l(3).
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
e6a23c5365
Update libc/dirent/fddir-sortix to current coding conventions.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
290ee1a6a6
Update libc/dirent/dir to current coding conventions.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
8707a0d309
Update libc/stdio/fdio to current coding conventions.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
2fa4df7576
Update libc/stdio/stdio to current coding conventions.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
878dbd819f
Update libc/ctype/ctype to current coding conventions.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
5980be9b3c
Add Sortix Math Library.
...
This work is based in part on code from NetBSD libm, libc and kernel.
The library is partly public domain and partly BSD-style licensed.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
14c32c3433
Move libc initialization functions into their own directory.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
89a2c44493
Move stdio.h functions into their own directory.
2013-12-17 14:30:39 +01:00
Jonas 'Sortie' Termansen
a329235397
Move timespec.h functions into their own directory.
2013-12-17 14:30:39 +01:00