Commit graph

491 commits

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