Commit Graph

255 Commits

Author SHA1 Message Date
K. Lange
0d8a512308 libc: break from scanf on failed non-whitespace match 2018-12-19 14:53:32 +09:00
K. Lange
bdd407f29c libc: more pthread stubs 2018-12-19 14:38:08 +09:00
K. Lange
e2b6f13ba2 libc: set errno on read, write 2018-12-11 09:42:21 +09:00
K. Lange
54e9044161 libc: add more toaru-specific syscall wrappers 2018-12-10 18:47:18 +09:00
K. Lange
c9c18f70ad libc: move syscall defs; consistently use SYS_ macros 2018-12-10 10:09:27 +09:00
K. Lange
9d8962c8f3 libc: stub libintl implementation 2018-12-08 18:45:19 +09:00
K. Lange
d63c98b6bf libc: fprem fmod() 2018-12-08 13:33:25 +09:00
K. Lange
dfb176abe5 libc: sin: lerp table lookup 2018-12-06 18:31:18 +09:00
K. Lange
e0575b89eb libc: faster sine table lookup 2018-12-05 13:00:21 +09:00
K. Lange
b1f7295d48 libc: fix localtime() for December 2018-12-01 11:09:09 +09:00
K. Lange
4788ff3cc8 beep: fix some durations 2018-11-29 18:30:59 +09:00
K. Lange
eff00f21c4 libc: fix strncpy - must set nil bytes 2018-11-27 18:41:50 +09:00
K. Lange
7c8a98e957 libc: stat/lstat must return -1 on error 2018-11-25 12:50:42 +09:00
K. Lange
eeff7d7db9 libc: fix silly comparison mistake in scanf 2018-11-23 10:41:45 +09:00
K. Lange
41b5e640bf libc: add mkstemp 2018-11-22 16:27:07 +09:00
K. Lange
6d110161a9 libc: fix malloc assert to not call malloc 2018-11-21 22:06:28 +09:00
K. Lange
6a0845d54a dirname: add command and libc function 2018-11-18 09:56:43 +09:00
K. Lange
558a273828 basename: libc function 2018-11-18 09:47:23 +09:00
K. Lange
673e1e90c9 libc: support + in printf and any flag ordering 2018-11-08 15:44:00 +09:00
K. Lange
b73316b5f5 libc: change some math debugging 2018-11-08 15:23:40 +09:00
K. Lange
6bde148d27 libc: system should return WEXITSTATUS(status) 2018-11-05 13:51:29 +09:00
K. Lange
0762fb30ce libc: getlogin should not query fd directly 2018-10-31 11:39:56 +09:00
K. Lange
b42c185421 sudo: support euids with setuid binaries 2018-10-31 10:28:41 +09:00
K. Lange
35c29e9b4d kernel: getpgid; esh: fixups 2018-10-30 13:28:11 +09:00
K. Lange
6c88956fa4 job control 2018-10-26 20:34:15 +09:00
K. Lange
3fc0ccef4f libc: crt's to GNU as 2018-10-13 15:53:16 +09:00
K. Lange
b5b2efd8da libc: strncasecmp that more closely matches strncmp 2018-10-12 15:55:18 +09:00
K. Lange
399a1f2e0c libc: qsort: bail early when sizes are 0 2018-10-12 15:53:54 +09:00
K. Lange
23e3681c21 libc: add loud debugging to execve 2018-10-12 15:40:45 +09:00
K. Lange
f16fbd458c libc: ftell should return position of read pointer 2018-10-12 15:40:04 +09:00
K. Lange
0df12ea064 libc: loud debugging options 2018-10-12 15:03:22 +09:00
K. Lange
3975b9cd75 libc: absolute minimum sscanf to get cc1 off the ground 2018-10-12 13:51:26 +09:00
K. Lange
5de060b1d5 libc: fwrite: bail quickly if size calcs to 0 2018-10-12 13:50:53 +09:00
K. Lange
e492f967c0 libc: fix bad strncmp 2018-10-12 13:10:46 +09:00
K. Lange
ffa655ad9d libc: add stub alarm 2018-10-12 12:45:48 +09:00
K. Lange
09c407235e libc: stub __cxa_atexit 2018-10-12 11:30:30 +09:00
K. Lange
b33815c632 libc: support for building libstdc++? 2018-10-12 10:35:28 +09:00
K. Lange
7d2378085c libc: revert isspace for isprint 2018-10-11 15:30:38 +09:00
K. Lange
fa56c864b1 libc: fix conflicting, redundant getenv declaration in execvp 2018-10-10 23:21:11 +09:00
K. Lange
123558727c libc: support # in printf 2018-10-10 21:46:58 +09:00
K. Lange
3fbac34e2c libc: ll size specifiers in printf 2018-10-10 14:27:03 +09:00
K. Lange
045e511d74 libc: fscanf stubs 2018-10-10 11:30:25 +09:00
K. Lange
3d780117c3 libc: working wcstombs and mbstowcs 2018-10-10 11:01:30 +09:00
K. Lange
c64d881181 libc: bad, bsd-style mktemp (also add user app) 2018-10-10 10:11:28 +09:00
K. Lange
bd7ecfa03b libc: remove duplicate str functions 2018-10-10 10:10:11 +09:00
K. Lange
5cec6037ee libc: stub sscanf 2018-10-10 10:06:13 +09:00
K. Lange
14e8a6ea7f libc: add naive bsearch 2018-10-10 09:35:09 +09:00
K. Lange
2498ee21f6 strtol and family 2018-10-10 09:13:54 +09:00
K. Lange
d3907663d0 libc: more string functions 2018-10-10 08:42:52 +09:00
K. Lange
85d197c810 isprint: match isspace 2018-10-09 21:41:24 +09:00
K. Lange
f3c800b791 add logname, getlogin() 2018-10-09 20:35:53 +09:00
K. Lange
11772506bb kernel, libc: tty names 2018-10-09 19:56:45 +09:00
K. Lange
9c30e8263d kill(2): sets errno 2018-10-08 10:23:10 +09:00
K. Lange
3e14c62bdc Fix up strerror strings 2018-10-08 10:22:48 +09:00
K. Lange
cdcc0edb0b execve should set errno 2018-09-28 13:10:32 +09:00
K. Lange
94b63c3083 z as a size specifier in printf 2018-09-25 18:44:22 +09:00
K. Lange
4cde60c50e add unsetenv 2018-09-23 12:06:25 +09:00
K. Lange
a6f96243e2 Add ceil 2018-09-22 21:26:04 +09:00
K. Lange
987fc56708 consolidate math 2018-09-22 18:28:41 +09:00
K. Lange
a7fab6fbe8 workaround bug in printf for floats until we fix nprintf 2018-09-22 17:34:48 +09:00
K. Lange
fcddbea188 fix exp() 2018-09-22 17:33:38 +09:00
K. Lange
8bdca7fdda tan, atan 2018-09-21 21:34:53 +09:00
K. Lange
379b262d64 Add optional warnings to bad libm functions 2018-09-21 20:36:05 +09:00
K. Lange
0821cc05d1 add hypot 2018-09-21 20:26:22 +09:00
K. Lange
a6acbef8fe strcasecmp 2018-09-21 20:05:00 +09:00
K. Lange
1d05b03808 fpu atan2 2018-09-18 16:20:19 +09:00
K. Lange
6a76b257f4 add atexit() 2018-09-15 16:26:45 +09:00
K. Lange
43b021cdc6 Fix stdio/fwrite writing element by element, which is wrong 2018-09-11 13:11:37 +09:00
K. Lange
ee34f63d55 getopt: handle non-long --foo like glibc does 2018-09-07 10:19:14 +09:00
K. Lange
191609c30f poll wrapper around fswait2 (experimental; no POLLOUT, no POLLPRI) 2018-08-31 12:31:35 +09:00
K. Lange
bea8d8f6db libc updates 2018-08-21 21:50:52 +09:00
K. Lange
64ae8d07bd fixup environ handling 2018-08-14 14:39:48 +09:00
K. Lange
320a8c55ee Remove . from default PATH 2018-08-14 14:04:53 +09:00
K. Lange
001f253ef0 printf %u 2018-08-08 15:03:47 +09:00
K. Lange
ae6532607a Add libc wrappers for some syscalls, remove unused syscall.h imports 2018-08-02 13:13:27 +09:00
K. Lange
bd3f1b0334 get/sethostname 2018-08-02 03:40:43 +09:00
K. Lange
ba10025308 perror should use strerror 2018-07-19 22:52:27 +09:00
K. Lange
b9419c756b some missing stdio stuff 2018-07-19 19:12:49 +09:00
K. Lange
89d107374c provide dlfcn in libc 2018-07-19 19:04:17 +09:00
K. Lange
c35ccc0722 vasprintf should return int 2018-07-19 18:50:15 +09:00
K. Lange
35a2a4bc5c more filesystem permission things, add rm 2018-07-18 15:35:52 +09:00
K. Lange
1ecdb29e51 chown in libc 2018-07-18 12:37:21 +09:00
K. Lange
b1fe4fa4ce More errno stuff 2018-07-18 10:45:42 +09:00
K. Lange
dace5d456b Various errno-related fixes 2018-07-18 10:25:01 +09:00
K. Lange
16905dc784 oops, kinda fix a+? 2018-07-17 19:44:15 +09:00
K. Lange
4873b141ec Properly support w/+ in stdio? 2018-07-17 17:09:22 +09:00
K. Lange
ff1338d137 Replace http-get with new fetch (based on old fetch) 2018-07-01 17:11:35 +09:00
K. Lange
38e380fc49 Fix setvbuf 2018-07-01 09:30:16 +09:00
K. Lange
397b6045b5 precision specifiers for %f 2018-06-30 13:55:45 +09:00
K. Lange
03ab5b9f78 Fix missing execve; add .* printf support for s 2018-06-29 10:42:56 +09:00
K. Lange
79ac5ba9b1 Fix several Python things 2018-06-26 20:53:48 +09:00
K. Lange
33b87a9de9 Fix more wchar 2018-06-25 20:43:34 +09:00
K. Lange
146a2240bb Python wants %i for line numbers 2018-06-25 20:22:01 +09:00
K. Lange
bb689dd36c Yet more libc fixes, Python now runs 2018-06-25 20:15:45 +09:00
K. Lange
a97772d208 More printf stuff for python 2018-06-25 19:42:07 +09:00
K. Lange
92fec3ece8 libc fixes 2018-06-25 18:15:02 +09:00
K. Lange
22a3321c25 More libc 2018-06-25 16:34:07 +09:00
K. Lange
5cd281a1a6 More libc for Python (almost done) 2018-06-25 15:45:32 +09:00
K. Lange
a404c0f0af Enough to build lua 2018-06-25 13:15:09 +09:00
K. Lange
a283332be6 At least define a bunch of libc stuff 2018-06-25 12:11:33 +09:00
K. Lange
08e3f58146 Some bad locale functions 2018-06-10 19:31:18 +09:00
K. Lange
6e1e9a4c97 Experimental, hacky printf(%f) 2018-06-10 19:06:48 +09:00
K. Lange
91fdce2c27 Fix const warning in libc/symlink 2018-06-04 15:24:53 +09:00
K. Lange
a547437e3f Fix conflicting definition for symlink 2018-05-22 08:30:10 +09:00
K. Lange
e5d5921526 symlink support in migrate 2018-05-21 21:45:18 +09:00
K. Lange
4a4b316de3 stdio stuff 2018-05-15 12:39:38 +09:00
K. Lange
5a4cfde32d Fix fgetc returning negative values 2018-05-14 22:31:13 +09:00
K. Lange
ffa4bd7360 Add login, sudo, user session, auth lib, etc. 2018-05-10 22:33:32 +09:00
K. Lange
554e6d10ed More libc stuff 2018-05-10 22:23:46 +09:00
K. Lange
b6d6d8900e include pthread in libc 2018-05-09 21:26:45 +09:00
K. Lange
fc37b60272 add rand() 2018-05-09 19:43:02 +09:00
K. Lange
b23d7a2930 some stuff to get further in python builds 2018-05-09 17:02:31 +09:00
K. Lange
643049ff32 atol ~= atoi, labs 2018-05-09 16:55:10 +09:00
K. Lange
0ca57752a6 feof 2018-05-08 22:49:53 +09:00
K. Lange
5860f11968 fopen(...,"a") should create? 2018-05-08 22:39:30 +09:00
K. Lange
8ccbcb001c Allow switching rendering mode in terminal on the fly 2018-05-08 17:16:58 +09:00
K. Lange
b42bec5b70 Make some fixes to libc and linker to allow environ to be set before initializers run 2018-05-08 17:03:04 +09:00
K. Lange
a3b1b253d7 stdio fgets and stuff that actually kinda work correctly 2018-05-04 17:53:31 +09:00
K. Lange
9adae25874 Import some apps from mainline/extre 2018-05-04 13:11:06 +09:00
K. Lange
6d5d88cf53 Add stub network functions - headers need reorg 2018-05-04 12:40:18 +09:00
K. Lange
5a737917b0 strncmp 2018-05-04 12:21:52 +09:00
K. Lange
f94a09f485 add ctype.h 2018-05-04 12:17:32 +09:00
K. Lange
300d5b78ca Add incredibly bad atof 2018-05-02 19:43:33 +09:00
K. Lange
2a4914057c Add putenv, setenv 2018-05-02 19:25:03 +09:00
K. Lange
b4c1d997b4 Add getopt, getopt_long 2018-05-02 18:58:47 +09:00
K. Lange
b8cbbd2af4 Fix negative printing overwriting negative sign 2018-05-02 18:29:38 +09:00
K. Lange
8f2025864c Break up unistd into separate files for each function 2018-05-02 12:20:06 +09:00
K. Lange
4c8f8e43fb Use subdirectories for libc based on headers 2018-05-02 11:59:30 +09:00
K. Lange
557f578574 Don't use my given name in copyright headers; update everything to 2018 because why not 2018-05-01 17:12:56 +09:00
K. Lange
ec0480fc11 Fix printf width calculations 2018-04-29 16:32:35 +09:00
K. Lange
df277155c4 Pass same CFLAGS for libc 2018-04-25 21:39:55 +09:00
K. Lange
3b69421dfe fix implicity def for memcpy in qsort 2018-04-21 22:08:04 +09:00
K. Lange
26ecd72dab Add super dumb qsort 2018-04-21 21:34:05 +09:00
K. Lange
a8e1820be7 Integrate auto-dep into build system through make file generation 2018-04-17 21:49:56 +09:00
K. Lange
7561589610 Port old (C) panel 2018-04-17 20:03:19 +09:00
K. Lange
d20a6cc76b Add some more math functions and two graphical demos 2018-04-17 16:48:47 +09:00
K. Lange
8325d96139 Ensure pow is defined instead of relying on automatic optimization to __builtin 2018-03-29 21:23:24 +09:00
K. Lange
627ebc3195 Fixup std lib includes for full build from scratch with just basic gcc 2018-03-16 22:40:23 +09:00
K. Lange
dd089dcac5 Port ramdisk migration tool from python to c 2018-03-15 19:30:04 +09:00
K. Lange
c74a28dfca add ps, pstree, fix terminal unicode 2018-03-03 20:23:13 +09:00
K. Lange
4ace4427d4 Add some time stuff to libc 2018-03-02 21:22:49 +09:00
K. Lange
5ace6fce2a print a message on assert failure 2018-03-01 23:15:49 +09:00
K. Lange
9adae6f071 Build cleanups 2018-03-01 12:55:28 +09:00
K. Lange
eaa4bc0c4c Implement strftime 2018-03-01 10:57:16 +09:00
K. Lange
03b77d2175 Add localtime, fix some printf stuff 2018-03-01 09:07:43 +09:00
K. Lange
06d5e61af6 fix bad memset in getpwent 2018-02-28 16:22:58 +09:00
K. Lange
b6bdcc979e printf improvements 2018-02-28 16:22:44 +09:00
K. Lange
fe7f798506 Add mount 2018-02-28 15:04:46 +09:00
K. Lange
8c0bd33e0b add system 2018-02-25 23:05:13 +09:00
K. Lange
e5a0cc1920 Draw resizing windows by stretching them, like we used to under cairo 2018-02-25 19:59:52 +09:00