Commit graph

638 commits

Author SHA1 Message Date
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