Commit graph

813 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
524a028a4f Forward compatibility with future rename of _start to __start. 2014-12-28 20:18:58 +01:00
Jonas 'Sortie' Termansen
06cfd44323 Change BRAND_KERNEL_NAME to Sortix. 2014-12-28 20:18:58 +01:00
Jonas 'Sortie' Termansen
d14a9fff72 Update documentation for the upcoming 0.9 release. 2014-12-28 20:18:58 +01:00
Jonas 'Sortie' Termansen
d890d3082d Add umount(2) and unmountat(2). 2014-12-26 21:45:29 +01:00
Jonas 'Sortie' Termansen
f0ae50e35d Warn on mktemp use. 2014-12-09 15:33:29 +01:00
Jonas 'Sortie' Termansen
26f4000983 Warn on rand and srand use. 2014-12-09 15:23:27 +01:00
Jonas 'Sortie' Termansen
3917f4fee3 Use PWD in get_current_dir_name(3) if correct. 2014-12-04 17:56:47 +01:00
Jonas 'Sortie' Termansen
bbf454e164 Rewrite program loader. 2014-12-04 16:14:17 +01:00
Jonas 'Sortie' Termansen
261b95e0a6 Add reallocarray(3). 2014-12-03 23:55:55 +01:00
Jonas 'Sortie' Termansen
5143f01b0a Remove sbrk(2).
Note: This is an incompatible ABI change.
2014-12-03 23:55:55 +01:00
Jonas 'Sortie' Termansen
74247eb71e Rewrite malloc(3). 2014-12-03 21:32:50 +01:00
Jonas 'Sortie' Termansen
52abb4d899 Refuse to implement gethostent(3). 2014-12-03 14:19:58 +01:00
Jonas 'Sortie' Termansen
3ad7ab4fc3 Add gethostname(2) and sethostname(2). 2014-12-03 13:58:29 +01:00
Jonas 'Sortie' Termansen
117a7cda95 Update strndup(3) to current coding conventions. 2014-12-02 19:21:47 +01:00
Jonas 'Sortie' Termansen
1032530ebf Update strdup(3) to current coding conventions. 2014-12-02 19:21:47 +01:00
Jonas 'Sortie' Termansen
fb7db21a1b Update memcpy(3) to current coding style. 2014-12-02 19:21:47 +01:00
Jonas 'Sortie' Termansen
163ecfcf55 Update stpcpy(3) and wcpcpy(3) to current coding conventions. 2014-12-02 18:23:43 +01:00
Jonas 'Sortie' Termansen
9d3bf0f164 Update wcsspn(3) to current coding conventions. 2014-12-02 18:23:43 +01:00
Jonas 'Sortie' Termansen
7911b5c66c Update wcspbrk(3) to current coding conventions. 2014-12-02 18:23:43 +01:00
Jonas 'Sortie' Termansen
b4c7a6aa4a Update wcscspn(3) to current coding conventions. 2014-12-02 18:23:43 +01:00
Jonas 'Sortie' Termansen
6b0060f2ec Update strspn(3) to current coding conventions. 2014-12-02 18:23:43 +01:00
Jonas 'Sortie' Termansen
0bb2ac34ec Update strpbrk(3) to current coding conventions. 2014-12-02 18:23:42 +01:00
Jonas 'Sortie' Termansen
8f30b923ee Update strcspn(3) to current coding conventions. 2014-12-02 18:23:42 +01:00
Jonas 'Sortie' Termansen
ba0d5b3a09 Update memmove(3) to current coding conventions. 2014-12-02 18:23:42 +01:00
Jonas 'Sortie' Termansen
51f25b0b65 Update iswcntrl(3) to current coding conventions. 2014-12-02 18:23:42 +01:00
Jonas 'Sortie' Termansen
cc43c96acc Update string compare family to current coding conventions. 2014-12-02 18:23:42 +01:00
Jonas 'Sortie' Termansen
2bbbc11246 Update strcpy(3) and wcscpy(3) to current coding conventions. 2014-12-02 18:23:42 +01:00
Jonas 'Sortie' Termansen
8ce7f2f41f Remove inclusion of <errno.h> from read(2) and write(2). 2014-12-02 18:00:38 +01:00
Jonas 'Sortie' Termansen
3a3fc76c8c Remove tmpnam(3). 2014-12-02 18:00:38 +01:00
Jonas 'Sortie' Termansen
6ccc39c678 Warn on asctime and ctime use. 2014-12-02 18:00:38 +01:00
Jonas 'Sortie' Termansen
36c70760a0 Warn on sprintf use. 2014-12-02 18:00:23 +01:00
Jonas 'Sortie' Termansen
2586685061 Ongoing build system maintainance. 2014-12-02 17:09:28 +01:00
Jonas 'Sortie' Termansen
f4d9fda6de Honor feature macros in <dirent.h>. 2014-12-01 23:34:43 +01:00
Jonas 'Sortie' Termansen
fb8221a381 Improve mkstemp(3) random path generation. 2014-12-01 23:22:11 +01:00
Jonas 'Sortie' Termansen
0da847ac85 Add remaining standard errno values. 2014-12-01 22:51:07 +01:00
Jonas 'Sortie' Termansen
ec7e0cc9a6 Add cbprintf(3) and vcbprintf(3).
Thanks to Owen Shepherd of the Public Domain C Library for helping design
and formalize these interfaces.
2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen
8643c37102 Remove __flbf(3). 2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen
2f393b2646 Remove _flushlbf(3). 2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen
3778dae725 Remove __fsetlocking(3). 2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen
35708fa900 Retire calltrace support in favor of the kernel debugger. 2014-12-01 21:38:06 +01:00
Jonas 'Sortie' Termansen
c24b5ee5a4 Lazily close files in exit(3). 2014-12-01 18:54:41 +01:00
Jonas 'Sortie' Termansen
a25f1a931e Initialize stdin, stdout and stderr at compile time. 2014-12-01 18:45:11 +01:00
Jonas 'Sortie' Termansen
8570f46734 Indirectly fflush(3) from fshutdown(3). 2014-12-01 18:45:11 +01:00
Jonas 'Sortie' Termansen
97e1551c81 Indirectly free(3) buffers in fshutdown(3). 2014-12-01 18:45:11 +01:00
Jonas 'Sortie' Termansen
9fec909970 Indirectly closedir(3) from exit(3). 2014-12-01 18:45:10 +01:00
Jonas 'Sortie' Termansen
c9e0fa687c Use strnlen(3) in strndup(3). 2014-12-01 17:52:02 +01:00
Jonas 'Sortie' Termansen
5e60007904 Remove dcloseall() and fcloseall(). 2014-12-01 16:29:43 +01:00
Jonas 'Sortie' Termansen
b6b19c88fd Use the word invalid instead of illegal. 2014-11-30 19:53:42 +01:00
Jonas 'Sortie' Termansen
3d091f39bf Harden strcpy calls. 2014-11-30 19:53:42 +01:00
Jonas 'Sortie' Termansen
8fef8f7bb1 Reuse the argv[0] string in program_invocation_name(3). 2014-11-30 19:31:40 +01:00
Jonas 'Sortie' Termansen
392472af5c Add semaphores API. 2014-11-30 19:31:40 +01:00
Jonas 'Sortie' Termansen
fac70d5119 Rename libc/aux to libc/c++. 2014-11-28 15:30:39 +01:00
Jonas 'Sortie' Termansen
d8201c007a Add sysconf(_SC_MONOTONIC_CLOCK). 2014-11-28 15:30:39 +01:00
Jonas 'Sortie' Termansen
edb19f2394 Add arc4random(3). 2014-11-28 13:35:51 +01:00
Jonas 'Sortie' Termansen
e460be7a72 Add getentropy(2). 2014-11-28 13:35:51 +01:00
Jonas 'Sortie' Termansen
690b5ada52 Fix _start not following the ABI. 2014-11-28 00:17:24 +01:00
Jonas 'Sortie' Termansen
5c702ed44b Add stresep(3). 2014-11-27 21:01:13 +01:00
Jonas 'Sortie' Termansen
58a1383723 Add strsep(3). 2014-11-27 21:01:13 +01:00
Jonas 'Sortie' Termansen
577f2f700b Add shutdown(2). 2014-11-27 01:39:53 +01:00
Jonas 'Sortie' Termansen
a00d085b81 Implement recvfrom(2) and sendto(2). 2014-11-27 01:39:12 +01:00
Jonas 'Sortie' Termansen
a8a8154adc Add getpeername(2) and getsockname(2). 2014-11-27 01:39:11 +01:00
Jonas 'Sortie' Termansen
3760420fbb Add fpathconf(2). 2014-11-27 01:36:52 +01:00
Jonas 'Sortie' Termansen
ad8d025c32 Rename <sortix/syscallnum.h> to <sortix/syscall.h>. 2014-11-27 01:18:58 +01:00
Jonas 'Sortie' Termansen
53aa659743 Add ESTALE. 2014-11-27 00:20:54 +01:00
Jonas 'Sortie' Termansen
73312b201b Improve memset(3) performance. 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen
95fcb94648 Add explicit_bzero(3). 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen
4ee15987fa Add timingsafe_memcmp(3). 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen
6dfd2fb6fa Add <netinet/tcp.h>. 2014-11-27 00:20:53 +01:00
Jonas 'Sortie' Termansen
d7290e1fad Add memrchr(3). 2014-11-27 00:10:13 +01:00
Jonas 'Sortie' Termansen
5e295b8d94 Honor feature macros in <arpa/inet.h>. 2014-11-26 23:34:14 +01:00
Jonas 'Sortie' Termansen
bb84370c34 Add type limits and print/scan specifiers to <sys/types.h>. 2014-11-26 23:34:14 +01:00
Jonas 'Sortie' Termansen
ac7124e1e6 Add wcslcat(3) and wcslcpy(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen
429f823f1f Add wcsnlen(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen
e4dd7c0d5a Add wcsncasecmp(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen
01b7754c29 Add wcsdup(3). 2014-11-26 22:49:01 +01:00
Jonas 'Sortie' Termansen
8ed26bb26e Add wcscasecmp(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen
34935845b4 Add wcpncpy(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen
c9b17d5490 Add wcpcpy(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen
9ca343c5e4 Add wcsftime(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen
a1e9c15bca Add wcstof(3), wcstod(3) and wcstold(3). 2014-11-26 22:49:00 +01:00
Jonas 'Sortie' Termansen
749d123331 Maintain counts of physical frames used for particular purposes. 2014-11-26 22:27:04 +01:00
Jonas 'Sortie' Termansen
5f2106f512 Maintain size of allocated memory in the heap. 2014-11-26 22:25:37 +01:00
Jonas 'Sortie' Termansen
f8c5adf20f Add #! support to execve(2). 2014-11-26 21:14:13 +01:00
Jonas 'Sortie' Termansen
3577cb81fe Improve execvpe(3) logic and run shell on ENOEXEC. 2014-11-25 23:52:12 +01:00
Jonas 'Sortie' Termansen
01402052f6 Add tcgetblob(2) and tcsetblob(2). 2014-11-25 18:40:50 +01:00
Jonas 'Sortie' Termansen
d6067f9da7 Add btowc(3) and wctob(3). 2014-11-25 17:48:54 +01:00
Jonas 'Sortie' Termansen
f41964fcab Reimplement wchar conversion API. 2014-11-24 17:41:26 +01:00
Jonas 'Sortie' Termansen
9e6148f6ff Refactor default compiler options logic. 2014-11-24 17:10:50 +01:00
Jonas 'Sortie' Termansen
6b4dbe0358 Rename crt1.o to crt0.o and install compatibility crt1.o.
This prepares for an incompatible compiler toolchain change scheduled for
Sortix 0.10 development where crt0.o is used instead of crt1.o.
2014-11-21 00:03:29 +01:00
Jonas 'Sortie' Termansen
550ba54a8f Honor feature macros in <wchar.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen
95491e44ac Honor feature macros in <unistd.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen
38b15f2e9f Honor feature macros in <string.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen
571daf8aaf Honor feature macros in <stdio.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen
de5ac01a0b Honor feature macros in <stdint.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen
ead7cc00be Honor feature macros in <inttypes.h>. 2014-11-20 21:09:15 +01:00
Jonas 'Sortie' Termansen
fbbb33287b Implement standard library feature macros. 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
7f7fd66039 Add isascii(3). 2014-11-20 21:09:14 +01:00
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