commit 2c9bdb7a9ace58fb52a81dacabdfaf0d40255d9a Author: Jonas 'Sortie' Termansen Date: Sat Feb 24 22:09:10 2024 +0100 Revert "Update to perl-5.39.5." This reverts commit 781ff8880f3e2d29e31460427bccf50cc1ec436e. File/Spec was no longer being installed when --all-static, breaking texinfo. build-aux/upgrade-port.sh | 23 +- ports/perl/perl.patch | 1089 ++++++++++++++++++++---------------------- ports/perl/perl.port | 10 +- ports/perl/perl.post-install | 3 +- 4 files changed, 534 insertions(+), 591 deletions(-) commit 06047eafe08f863c93251cdd19ebb246a36ef9f1 Author: Jonas 'Sortie' Termansen Date: Thu Feb 1 22:16:56 2024 +0100 Update to perl-5.39.5. build-aux/upgrade-port.sh | 23 +- ports/perl/perl.patch | 1231 ++++++++++++++++++++++-------------------- ports/perl/perl.port | 10 +- ports/perl/perl.post-install | 3 +- 4 files changed, 662 insertions(+), 605 deletions(-) commit 4396cce83882724417ea5d177090393ebfd89ef0 Author: Jonas 'Sortie' Termansen Date: Wed Feb 28 10:28:06 2024 +0100 Revert "Update to python-3.12.1." This reverts commit 8ae8363167cc195f92803489e2f97391e2527c5f. The libglib build broke due to no distutils module. ports/python/python.patch | 1444 +++++++++++++++++++++++++++++-------------- ports/python/python.port | 4 +- ports/python/python.rmpatch | 3 + 3 files changed, 987 insertions(+), 464 deletions(-) commit 718080eeddf7beefbbbe487cbc36997b92d1afe5 Author: Jonas 'Sortie' Termansen Date: Thu Feb 1 22:10:48 2024 +0100 Update to python-3.12.1. ports/python/python.patch | 1440 ++++++++++++++----------------------------- ports/python/python.port | 4 +- ports/python/python.rmpatch | 3 - 3 files changed, 462 insertions(+), 985 deletions(-) commit 11e86e277b6e83632618ace2e3e927fce748e143 Author: Jonas 'Sortie' Termansen Date: Mon Jan 29 12:53:01 2024 +0100 Revert "Update to texinfo-7.1." This reverts commit 9813bb1d13c625d48ecd950bfaafc274383ca049. ffmpeg fails to build natively with the new makeinfo: perl ./doc/texidep.pl . doc/ffmpeg-utils.texi doc/ffmpeg-utils.html >doc/ffmpeg-utils.html.d makeinfo --html -I doc --no-split -D config-not-all --init-file=./doc/t2h.pm --output doc/ffmpeg-utils.html doc/ffmpeg-utils.texi makeinfo: error parsing ./doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at ./doc/t2h.pm line 24. ports/texinfo/texinfo.patch | 55 +++++++++++---------------------------------- ports/texinfo/texinfo.port | 6 ++--- 2 files changed, 15 insertions(+), 46 deletions(-) commit b9bea5eea12ceee6aaa81de444c7038c4c9f8c13 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 22:08:17 2024 +0100 Update to texinfo-7.1. ports/texinfo/texinfo.patch | 55 ++++++++++++++++++++++++++++++++++----------- ports/texinfo/texinfo.port | 6 +++-- 2 files changed, 46 insertions(+), 15 deletions(-) commit 8632ee75aa9b275c2347002f2172d79ffdb43317 Author: Jonas 'Sortie' Termansen Date: Thu Jan 25 12:46:30 2024 +0100 Revert "Update to dash-0.5.12." This reverts commit 16bedfc9630779c01ebae5513fd307e969c329de. Something is wrong with the case pattern matching, maybe fnmatch? ports/dash/dash.patch | 76 +++++++++++++++++++++++++-------------------------- ports/dash/dash.port | 4 +-- 2 files changed, 40 insertions(+), 40 deletions(-) commit 5b717d776886db6f9c6678518ee6924c06e2026e Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 21:01:34 2024 +0100 Update to dash-0.5.12. ports/dash/dash.patch | 76 +++++++++++++++++++++++++-------------------------- ports/dash/dash.port | 4 +-- 2 files changed, 40 insertions(+), 40 deletions(-) commit abdfa77ba855dbf5f0d670f77e47c771267883f8 Author: Jonas 'Sortie' Termansen Date: Wed Jan 24 14:17:33 2024 +0100 Revert "Update to freetype-2.13.2." This reverts commit 5ad1e5f6054dd1e44ecb955b9326c1198ef17ff0. configure runs make and crashes on a stack overflow in make. ports/libfreetype/libfreetype.patch | 55 +++++++------------------------------ ports/libfreetype/libfreetype.port | 4 +-- 2 files changed, 12 insertions(+), 47 deletions(-) commit 13a79d908be1c4ef29fb9b425d6a3ecbc4641d66 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 21:40:35 2024 +0100 Update to freetype-2.13.2. ports/libfreetype/libfreetype.patch | 55 ++++++++++++++++++++++++++++++------- ports/libfreetype/libfreetype.port | 4 +-- 2 files changed, 47 insertions(+), 12 deletions(-) commit 75beb3589dcb5521bbb28c6b60b6bea4fde5f47c Author: Jonas 'Sortie' Termansen Date: Thu Aug 4 23:56:36 2022 +0200 Revert "Update to bison-3.8.2." This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde. ports/bison/bison.patch | 90 ++++++++++++++++++++++++++++++++++++++++------- ports/bison/bison.port | 7 ++-- ports/bison/bison.rmpatch | 12 ++----- 3 files changed, 83 insertions(+), 26 deletions(-) commit e211f0f76f8498f91ef091209c4f44b801d91d3b Author: Jonas 'Sortie' Termansen Date: Wed Aug 3 21:30:38 2022 +0200 Update to bison-3.8.2. ports/bison/bison.patch | 90 +++++++---------------------------------------- ports/bison/bison.port | 7 ++-- ports/bison/bison.rmpatch | 12 +++++-- 3 files changed, 26 insertions(+), 83 deletions(-) commit 62f4d9cf262361071a2e6688c0d715c0aa120ab7 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 20:56:25 2024 +0100 Revert "Schedule interactive threads fairly under load." This reverts commit 47731b91c37933943a73010c5a4494101cce52dc. There is a rare freeze when the scheduler fails to run anything. kernel/scheduler.cpp | 60 ++++++---------------------------------------------- 1 file changed, 6 insertions(+), 54 deletions(-) commit dc86ee0f7c566084c8e5412e2a1c5829db00416e Author: Jonas 'Sortie' Termansen Date: Sun Jan 14 21:51:04 2024 +0100 Schedule interactive threads fairly under load. Preempted threads are now removed from the runnable list until every other thread has been preempted or the system goes idle. This ensures threads that roundtrip to other threads get a full chance to perform their work cooperatively without being starved by CPU intensive threads whenever they yield. kernel/scheduler.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 6 deletions(-) commit 08d03b2190422e99020b8d743f0df8b6503265d3 Author: Jonas 'Sortie' Termansen Date: Sat Jan 6 17:05:15 2024 +0000 Kinda fix pager(1) man bullet points. utils/pager.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) commit f248b826f8a028e1394f7f42d28eb301d0b3ef74 Author: Jonas 'Sortie' Termansen Date: Mon Jan 15 22:23:02 2024 +0000 Fix ESP endian. libmount/include/mount/fat.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2ee030f4092ca53e394b161b94b384e86f49d651 Author: Jonas 'Sortie' Termansen Date: Mon Nov 27 23:12:25 2023 +0000 Support booting with EFI. build-aux/iso-grub-cfg.sh | 2 +- build-aux/ports.conf | 4 +- ports/grub-i386-efi/grub-i386-efi.port | 8 ++ ports/grub-i386-pc/grub-i386-pc.port | 9 ++ ports/grub-x86_64-efi/grub-x86_64-efi.port | 9 ++ ports/grub/grub.patch | 169 ++++++++++++++++++++++++++++- ports/grub/grub.port | 7 +- ports/grub/grub.post-install | 3 + ports/signify/signify.port | 1 + share/man/man7/installation.7 | 80 +++++++++++--- sysinstall/sysinstall.c | 63 +++++++++-- sysinstall/sysmerge.c | 7 +- sysinstall/sysupgrade.c | 3 +- 13 files changed, 328 insertions(+), 37 deletions(-) commit f2a2d2416177329bc51445ed31c67a565f284fc7 Author: Jonas 'Sortie' Termansen Date: Wed Oct 11 00:52:23 2023 +0200 Add kernel(7) --firmware option. kernel/kernel.cpp | 23 ++++++++++++++++++++++- kernel/kernelinfo.cpp | 19 ++++++++----------- kernel/kernelinfo.h | 1 + share/man/man7/kernel.7 | 9 +++++++++ utils/kernelinfo.1 | 2 +- 5 files changed, 41 insertions(+), 13 deletions(-) commit 99397d2a518e57f85f8710beeb0a4723822fd6cb Author: Jonas 'Sortie' Termansen Date: Wed Oct 11 01:19:21 2023 +0200 Add fatfs(8). Makefile | 1 + disked/disked.c | 90 +++- fat/.gitignore | 2 + fat/Makefile | 34 ++ fat/block.cpp | 165 +++++++ fat/block.h | 62 +++ fat/device.cpp | 220 +++++++++ fat/device.h | 64 +++ fat/fat.h | 124 ++++++ fat/fatfs.cpp | 275 ++++++++++++ fat/fatfs.h | 33 ++ fat/filesystem.cpp | 446 +++++++++++++++++++ fat/filesystem.h | 88 ++++ fat/fsmarshall.cpp | 858 +++++++++++++++++++++++++++++++++++ fat/fsmarshall.h | 31 ++ fat/fuse.cpp | 618 +++++++++++++++++++++++++ fat/fuse.h | 32 ++ fat/inode.cpp | 1015 ++++++++++++++++++++++++++++++++++++++++++ fat/inode.h | 90 ++++ fat/ioleast.h | 150 +++++++ fat/util.h | 49 ++ init/init.c | 4 +- libmount/Makefile | 1 + libmount/ext2.c | 1 + libmount/fat.c | 123 +++++ libmount/filesystem.c | 2 + libmount/include/mount/fat.h | 38 ++ 27 files changed, 4609 insertions(+), 7 deletions(-) commit ca98bb2e58de17a66418451cc412f817cdfa14e6 Author: Jonas 'Sortie' Termansen Date: Wed Jul 5 22:52:58 2023 +0200 Add getty(8). utils/.gitignore | 1 + utils/Makefile | 1 + utils/getty.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) commit d2fa44828c02c2e0cce1b3054ad42e61f68a31ce Author: Jonas 'Sortie' Termansen Date: Wed Jul 5 22:52:45 2023 +0200 Add terminal and interrupt support to com(4). kernel/com.cpp | 201 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 111 insertions(+), 90 deletions(-) commit 3f66ddf6d27da7cf9c2c3e8a86d51dfe597af08c Author: Jonas 'Sortie' Termansen Date: Sat Jun 17 14:24:25 2023 +0200 Add nyan(1). Makefile | 1 + nyan/.gitignore | 2 + nyan/Makefile | 33 +++ nyan/nyan.c | 181 ++++++++++++ nyan/nyan.h | 859 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1076 insertions(+) commit cd84d026f28a482af01ceeba7b301690b2e11050 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 12:32:18 2022 +0100 Work around pty deadlock. kernel/linebuffer.cpp | 1 + kernel/pty.cpp | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) commit fb3b3714cef1a81d48640798e047902eb8d127a7 Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 00:56:46 2022 +0100 Add cdrom mounting live environment. Makefile | 60 +++++++++++++++++++++++++++++++++++++++++++++++ build-aux/iso-grub-cfg.sh | 51 ++++++++++++++++++++++++++++++---------- sysinstall/fileops.c | 16 ++++++++++++- sysinstall/fileops.h | 5 +++- 4 files changed, 118 insertions(+), 14 deletions(-) commit 9d9fc3a114179c6a723f84b48f88d7b398efd5ee Author: Jonas 'Sortie' Termansen Date: Mon Apr 3 00:21:53 2023 +0200 Revert "Parallelize driver initialization." This reverts commit 0fef08bbc4f5fd85e0012d95303451164b45ebd7. kernel/kernel.cpp | 83 ++++--------------------------------------------------- 1 file changed, 5 insertions(+), 78 deletions(-) commit 49fc70c39c5ede8d77e4bbfbed7c15a2240b1f54 Author: Jonas 'Sortie' Termansen Date: Mon Oct 31 23:33:10 2022 +0100 Parallelize driver initialization. kernel/kernel.cpp | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 78 insertions(+), 5 deletions(-) commit 846c29b8ac653ffb047c916ea51f84346a6fbee7 Author: Jonas 'Sortie' Termansen Date: Mon Oct 31 22:46:35 2022 +0100 Speed up ata(4) 400 ns waits. Waiting for any non-zero duration currently waits for at least one timer cycle (10 ms), which is especially expensive during early boot. The current workaround of simply reading the status 14 times seems really suspicious although the osdev wiki documents it, but let's see how well it works on real hardware, it's probably good enough. Try to determine the initial selected drive to save one drive selection. kernel/disk/ata/hba.cpp | 14 ++++++++++---- kernel/disk/ata/port.cpp | 12 +++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) commit 7b257f099181a0fc1968b8cfa73ccf92211c222b Author: Jonas 'Sortie' Termansen Date: Mon Oct 31 22:38:05 2022 +0100 Decrease PS/2 timeouts. kernel/x86-family/ps2.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 916dfdbbbc1b51e455868e1d8c07b1b7d9d18d10 Author: Jonas 'Sortie' Termansen Date: Mon Oct 31 23:45:31 2022 +0100 Add uptime(1) -pr options. utils/uptime.c | 46 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 12 deletions(-) commit 81ee6573d36a4f0513cad55c6ffac5eef6f72ef1 Author: Jonas 'Sortie' Termansen Date: Tue Oct 25 01:06:35 2022 +0200 Add iso9660 filesystem implementation. Makefile | 1 + iso9660/.gitignore | 2 + iso9660/Makefile | 33 ++ iso9660/block.cpp | 108 ++++++ iso9660/block.h | 53 +++ iso9660/device.cpp | 107 ++++++ iso9660/device.h | 51 +++ iso9660/filesystem.cpp | 87 +++++ iso9660/filesystem.h | 52 +++ iso9660/fsmarshall.cpp | 701 +++++++++++++++++++++++++++++++++++++++ iso9660/fsmarshall.h | 31 ++ iso9660/fuse.cpp | 572 ++++++++++++++++++++++++++++++++ iso9660/fuse.h | 32 ++ iso9660/inode.cpp | 614 ++++++++++++++++++++++++++++++++++ iso9660/inode.h | 83 +++++ iso9660/ioleast.h | 150 +++++++++ iso9660/iso9660.h | 128 +++++++ iso9660/iso9660fs.cpp | 278 ++++++++++++++++ iso9660/iso9660fs.h | 33 ++ iso9660/util.h | 49 +++ libmount/Makefile | 1 + libmount/filesystem.c | 2 + libmount/include/mount/iso9660.h | 37 +++ libmount/iso9660.c | 98 ++++++ libmount/partition.c | 3 + share/man/man7/user-guide.7 | 3 + sysinstall/sysinstall.c | 13 +- utils/command-not-found.c | 1 + utils/unmount.8 | 3 +- 29 files changed, 3323 insertions(+), 3 deletions(-) commit 21dffe60447c4bc5249fb96e338d579338b22aaf Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 15:47:19 2022 +0200 Add kernel virtual address space usage debug information. kernel/addralloc.cpp | 16 +++++++++++++++- kernel/include/sortix/kernel/addralloc.h | 3 ++- kernel/kernelinfo.cpp | 20 ++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) commit 468acf2dd4e358b91162f9d94a37308af874f637 Author: Jonas 'Sortie' Termansen Date: Wed Jun 1 11:07:39 2022 +0200 Debug TCP socket state listing. kernel/kernelinfo.cpp | 7 ++++ kernel/net/tcp.cpp | 108 +++++++++++++++++++++++++++++++++++++++++++++++++- kernel/net/tcp.h | 3 +- 3 files changed, 115 insertions(+), 3 deletions(-) commit 42369fe6ed606e18deaeb30f7424628e3003c106 Author: Jonas 'Sortie' Termansen Date: Mon Apr 25 23:35:43 2022 +0200 Add kernel heap allocation tracing debug facility. kernel/include/sortix/kernel/decl.h | 33 +++++++++++++++++++++- kernel/kernel.cpp | 2 ++ kernel/kernelinfo.cpp | 45 +++++++++++++++++++++++++++++ kernel/op-new.cpp | 14 ++++++++++ libc/Makefile | 56 ++++++++++++++++++------------------- libc/include/malloc.h | 15 ++++++++-- libc/include/stdio.h | 14 +++++++++- libc/include/stdlib.h | 22 ++++++++++++++- libc/include/string.h | 12 +++++++- libc/include/sys/cdefs.h | 22 ++++++++++++++- libc/stdio/asprintf.c | 13 ++++++++- libc/stdio/vasprintf.c | 22 ++++++++++++++- libc/stdlib/calloc.c | 11 +++++++- libc/stdlib/free.c | 12 +++++++- libc/stdlib/malloc.c | 13 ++++++++- libc/stdlib/realloc.c | 43 ++++++++++++++++++++++++++-- libc/stdlib/reallocarray.c | 11 +++++++- libc/string/strdup.c | 10 ++++++- libc/string/strndup.c | 11 +++++++- 19 files changed, 336 insertions(+), 45 deletions(-) commit 6ec7fc8347b98bc5a0c57ff63338fa4e754df46e Author: Jonas 'Sortie' Termansen Date: Fri Dec 24 00:19:24 2021 +0100 Trianglix 4. trianglix/trianglix.cpp | 61 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 21 deletions(-) commit 54a7416e53a19a98d5714f0a74d4dc3e34dcf522 Author: Jonas 'Sortie' Termansen Date: Sat Oct 14 14:33:59 2017 +0200 Add tix-check(8). tix/Makefile | 1 + tix/tix-check | 219 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 220 insertions(+) commit c81f35da5c8fc4448468f2f4aaf0c1ef74a8e1ea Author: Jonas 'Sortie' Termansen Date: Sun Apr 9 00:10:52 2017 +0200 Volatile release. build-aux/version.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9d447f48e72b0962b5f7653e6f677cff9ebfd876 Author: Jonas 'Sortie' Termansen Date: Sun Apr 2 18:41:32 2017 +0200 Add tix-upgrade(8). Makefile | 6 + build-aux/ports.conf | 4 +- build-aux/version.mak | 4 + etc/signify/sortix-1.1.pub | 2 + etc/signify/sortix-1.1dev.pub | 2 + etc/signify/sortix-1.2.pub | 2 + etc/signify/sortix-1.2dev.pub | 2 + share/man/man5/upgrade.conf.5 | 91 ++++++++- sysinstall/conf.c | 37 +++- sysinstall/conf.h | 5 + sysinstall/hooks.c | 2 + sysinstall/sysinstall.c | 15 ++ sysinstall/sysmerge.c | 4 + sysinstall/sysupgrade.c | 1 + tix/Makefile | 3 + tix/tix-clean | 68 +++++++ tix/tix-fetch | 451 ++++++++++++++++++++++++++++++++++++++++++ tix/tix-upgrade | 273 +++++++++++++++++++++++++ tix/tix.c | 45 ++++- 19 files changed, 1004 insertions(+), 13 deletions(-) commit 1623063a7237176bd928fdc22fdac60b6757f2e3 Author: Jonas 'Sortie' Termansen Date: Mon Dec 25 16:09:24 2023 +0100 Add tix-repository(8). Support renaming, splitting, and deleting ports via RENAMES. Unify on RUNTIME_DEPS for runtime dependencies. Makefile | 1 + ports/ag/ag.port | 2 +- share/man/man5/port.5 | 28 ++++++++-- share/man/man7/following-development.7 | 19 +++++++ tix/Makefile | 1 + tix/tix-build.c | 6 +++ tix/tix-repository | 98 ++++++++++++++++++++++++++++++++++ 7 files changed, 151 insertions(+), 4 deletions(-) commit 382e3a501d1ebd5235d69fcd48f8048259c7666a Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 15:33:43 2022 +0100 Add signify port. ports/signify/signify.patch | 15 +++++++++++++++ ports/signify/signify.port | 11 +++++++++++ 2 files changed, 26 insertions(+) commit 58b12c968283f5416d01369d43524013060e0578 Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 23:53:18 2016 +0200 Add pty(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/pty.c | 349 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 351 insertions(+) commit 8fdd4b56bcdda18ce0de5241bfa1d61969e2c55f Author: Jonas 'Sortie' Termansen Date: Tue Jul 26 23:04:26 2016 +0200 Add getaddrinfo(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/getaddrinfo.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+) commit bfb9e17ae2f27e21dc39152e423aa9732857f1f4 Author: Jonas 'Sortie' Termansen Date: Sat Dec 12 21:48:40 2015 +0100 Enable stack smash protection by default. build-aux/compiler.mak | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d70a0cf055b62c1b4f008cc6c6ea2e1adde088b2 Author: Jonas 'Sortie' Termansen Date: Sat Dec 12 21:48:13 2015 +0100 Enable undefined behavior sanitization by default. build-aux/compiler.mak | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a7f5ac82aa9193c10729cf66f4a80a0c441b74d5 Author: Jonas 'Sortie' Termansen Date: Thu Feb 1 22:01:51 2024 +0100 Update to git-2.43.0. ports/git/git.patch | 313 ++++++++++++++++++++++++++-------------------------- ports/git/git.port | 4 +- 2 files changed, 161 insertions(+), 156 deletions(-) commit 531d0dcc036087da7a4fe5900177abafb612da74 Author: Jonas 'Sortie' Termansen Date: Sun Jan 28 20:41:54 2024 +0100 Update to vim-9.0. ports/vim/vim.patch | 138 +++++++++++++++++++--------------------------------- ports/vim/vim.port | 4 +- 2 files changed, 51 insertions(+), 91 deletions(-) commit 117f9a9888b511bca6b39ac93d1ada4b5e4552da Author: Jonas 'Sortie' Termansen Date: Sun Jan 28 18:51:36 2024 +0100 Update to nginx-1.25.3. ports/nginx/nginx.patch | 26 +++++++++++++------------- ports/nginx/nginx.port | 4 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) commit e6aa160df42f4722a14c2b11ac73a43f9dfb104d Author: Jonas 'Sortie' Termansen Date: Sun Jan 28 18:10:52 2024 +0100 Update to nasm-2.16.01. ports/nasm/nasm.patch | 70 +++++++++++++++++++++++++++++-------------------- ports/nasm/nasm.port | 4 +-- ports/nasm/nasm.rmpatch | 1 - 3 files changed, 44 insertions(+), 31 deletions(-) commit 71bdc34ab729f34d88068f641a247ce1ac4ea01f Author: Jonas 'Sortie' Termansen Date: Sun Jan 28 16:12:19 2024 +0100 Update to openssh-9.6p1. ports/ssh/ssh.patch | 1360 ++++++++++++++++++++++++++------------------------- ports/ssh/ssh.port | 4 +- 2 files changed, 703 insertions(+), 661 deletions(-) commit 2026a283abe98a4ecb3c19b4fa641116bd5819e5 Author: Jonas 'Sortie' Termansen Date: Sun Jan 28 14:24:01 2024 +0100 Update to xorriso-1.5.6. ports/xorriso/xorriso.patch | 452 ++---------------------------------------- ports/xorriso/xorriso.port | 4 +- ports/xorriso/xorriso.rmpatch | 2 - 3 files changed, 22 insertions(+), 436 deletions(-) commit 9b778effb3465a2f4190b0a02a0a6fe464b05296 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 22:46:29 2024 +0100 Update to wget-1.21.4. ports/wget/wget.patch | 90 +++++++++++++++++++++++++------------------------ ports/wget/wget.port | 7 ++-- ports/wget/wget.rmpatch | 4 +++ 3 files changed, 54 insertions(+), 47 deletions(-) commit d461550fca34388bb7065c8737101e88edf8bc14 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 21:58:15 2024 +0100 Update to tar-1.35. ports/tar/tar.patch | 101 ++++++++++++++++++++++++++++++++-------------------- ports/tar/tar.port | 5 +-- 2 files changed, 65 insertions(+), 41 deletions(-) commit 6ca79deb89536451d535923229c7890832292ba2 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 21:36:09 2024 +0100 Update to sed-4.9. ports/sed/sed.patch | 12 ------------ ports/sed/sed.port | 8 ++++---- ports/sed/sed.rmpatch | 1 - 3 files changed, 4 insertions(+), 17 deletions(-) commit 8a4d002ecd7331be5a7b74674135da0da9c66954 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 21:31:54 2024 +0100 Update to nano-7.2. ports/nano/nano.patch | 21 +++++++++++---------- ports/nano/nano.port | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) commit b2e2ffdb9d94c7da6599a23bb601f3177b84f8a6 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 20:42:58 2024 +0100 Update to patch-2.7.6. ports/patch/patch.patch | 18 +++--------------- ports/patch/patch.port | 5 +++-- 2 files changed, 6 insertions(+), 17 deletions(-) commit ef98f7cdf8ee320b40fbc540f626291b4366d37e Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 20:42:12 2024 +0100 Update to make-4.4.1. ports/make/make.patch | 150 ++++++++++++++++++++++---------------------------- ports/make/make.port | 7 ++- 2 files changed, 70 insertions(+), 87 deletions(-) commit bbc62855881a88813e9020435bc55d3ae164eb82 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 20:41:33 2024 +0100 Update to m4-1.4.19. ports/m4/m4.patch | 197 +++--------------------------------------------------- ports/m4/m4.port | 7 +- 2 files changed, 13 insertions(+), 191 deletions(-) commit e2bbd2a9aff58bb036c9001c7ca20ea272e4cf20 Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 20:40:57 2024 +0100 Update to lua-5.4.6. ports/lua/lua.patch | 158 ++++++++++++++++++++++++---------------------------- ports/lua/lua.port | 5 +- 2 files changed, 77 insertions(+), 86 deletions(-) commit 0dc27723fe27096b79cd7812b1b1b01d73c67588 Author: Jonas 'Sortie' Termansen Date: Tue Jan 23 00:18:28 2024 +0100 Update to hello-2.12.1. ports/hello/hello.patch | 36 ++++++++++++++++++++++++------------ ports/hello/hello.port | 6 +++--- 2 files changed, 27 insertions(+), 15 deletions(-) commit 5b7ffe763f6d1fc6b5f592eec88bd61c0d870ab8 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 23:59:31 2024 +0100 Update to gzip-1.13. ports/gzip/gzip.patch | 215 ++------------------------------------------------ ports/gzip/gzip.port | 6 +- 2 files changed, 9 insertions(+), 212 deletions(-) commit 35eb3b433d013d77c9a0feae26d0108f85b66356 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 23:51:38 2024 +0100 Update to grep-3.11. ports/grep/grep.patch | 14 +------------- ports/grep/grep.port | 5 +++-- 2 files changed, 4 insertions(+), 15 deletions(-) commit 4af0f3286083b57a5ab1b57bee6c7f277d017cca Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 23:47:19 2024 +0100 Update to gawk-5.3.0. ports/gawk/gawk.patch | 12 ++++++------ ports/gawk/gawk.port | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) commit 1876a2be0f4dea948b06f021560dfdf7e125bb38 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 21:15:50 2024 +0100 Update to e2fsprogs-1.47.0. ports/e2fsprogs/e2fsprogs.patch | 318 ++++++++++++++++++---------------------- ports/e2fsprogs/e2fsprogs.port | 4 +- 2 files changed, 144 insertions(+), 178 deletions(-) commit 9d9980346be1d58f15fa64ae87ef2e0c3d7410e1 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 21:04:31 2024 +0100 Update to diffutils-3.10. ports/diffutils/diffutils.port | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 10309d67b8fb704a4e1b084228dfbf6288330997 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 18:59:48 2024 +0100 Update to libreadline-8.2. ports/libreadline/libreadline.patch | 45 ++++++++++++++++++++----------------- ports/libreadline/libreadline.port | 4 ++-- 2 files changed, 26 insertions(+), 23 deletions(-) commit 9a52eb1d64c09a4e795454a5a2b6718561c57927 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 18:52:09 2024 +0100 Update to libmpc-1.3.1. ports/libmpc/libmpc.port | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4db0d3dd1d2c17f13c75d370eb1afaad7024d733 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 18:47:49 2024 +0100 Update to libmpfr-4.2.1. ports/libmpfr/libmpfr.port | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9db6b462fccfeaca87c50e4848ea67db5b80d364 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 18:44:15 2024 +0100 Update to libjpeg-9f. ports/libjpeg/libjpeg.port | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit cff50a8814af76b614e5094f953c094e911b979c Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 18:41:05 2024 +0100 Update to libgmp-6.3.0. ports/libgmp/libgmp.patch | 2 +- ports/libgmp/libgmp.port | 4 ++-- ports/libgmp/libgmp.rmpatch | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) commit 151cd0531686bac815860c2d8f807b2b536b8584 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 18:36:33 2024 +0100 Update to libffi-3.4.3. ports/libffi/libffi.patch | 14 +++++++------- ports/libffi/libffi.port | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) commit 6ee1916cbe8eacad81c236b08134ddcf7d38aa28 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 18:34:19 2024 +0100 Update to libdbus-1.15.6. ports/libdbus/libdbus.patch | 64 ++++++++++++++++++++++----------------------- ports/libdbus/libdbus.port | 4 +-- 2 files changed, 34 insertions(+), 34 deletions(-) commit fca73b3da082968a3218334c8032fff1d1c4eae3 Author: Jonas 'Sortie' Termansen Date: Mon Jan 22 00:03:57 2024 +0100 Update to fontconfig-2.15.0. ports/libfontconfig/libfontconfig.patch | 145 ++++++++++++++++---------------- ports/libfontconfig/libfontconfig.port | 4 +- 2 files changed, 75 insertions(+), 74 deletions(-) commit 3a143de0f6025a7d5cfd11ecdbb4befb78d2dc0a Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 23:56:23 2024 +0100 Update to curl-8.5.0. ports/libcurl/libcurl.patch | 176 +++++++++----------------------------------- ports/libcurl/libcurl.port | 4 +- 2 files changed, 35 insertions(+), 145 deletions(-) commit 43b490fe0854cef230f6b355a9622d088e42b3b2 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 23:46:24 2024 +0100 Update to libressl-3.8.2. ports/libssl/libssl.patch | 35 ++++++++++++++++++++++++----------- ports/libssl/libssl.port | 4 ++-- 2 files changed, 26 insertions(+), 13 deletions(-) commit d67f5588f66f6e4037b3733737e253c93e8fedf5 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 23:24:45 2024 +0100 Update to libidn-1.42. ports/libidn/libidn.patch | 13 ++++++++++++- ports/libidn/libidn.port | 4 ++-- ports/libidn/libidn.rmpatch | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) commit 22af2f1ad3ce18a7e898263beb5cc02809c3d17d Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 23:12:26 2024 +0100 Update to pixman-0.42.2. ports/libcairo/libcairo.port | 2 +- ports/libpixman/libpixman.port | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit 43ccfe3fa802baf4dec894a2a3d38aecdaccb822 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 22:23:11 2024 +0100 Update to libxml2-2.12.4. ports/libxml2/libxml2.patch | 222 +++++++++++++++++++----------------------- ports/libxml2/libxml2.port | 6 +- ports/libxml2/libxml2.rmpatch | 4 - 3 files changed, 103 insertions(+), 129 deletions(-) commit 0146e4c9adc6b7634f1399a4f02eb3d8aa24bd01 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 21:52:35 2024 +0100 Update to xz-5.4.5. ports/liblzma/liblzma.port | 1 + ports/xz/xz.patch | 8 ++++---- ports/xz/xz.port | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) commit a8bae2808259d5513966f84b83a0273c16e66831 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 21:44:36 2024 +0100 Update to expat-2.5.0. ports/libexpat/libexpat.port | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 4c697aa447094ba3f795e902f50e13c90b9059a4 Author: Jonas 'Sortie' Termansen Date: Sun Jan 21 21:27:40 2024 +0100 Update to libpng-1.6.40. ports/libpng/libpng.patch | 19 ++----------------- ports/libpng/libpng.port | 4 ++-- 2 files changed, 4 insertions(+), 19 deletions(-) commit 3152413ff089ae194f69a6e8ba2b490201248c79 Author: Jonas 'Sortie' Termansen Date: Mon Mar 25 23:02:28 2024 +0100 Avoid pedantic warnings in POSIX . The -Wpedantic warnings are only supported in C mode, but the GCC build and other ports use this kinda-unsupported mode and produce a lot of these needless warnings, so remove the trailing commas in the enums. kernel/include/sortix/ucontext.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2955e11211ca8da6c6fa01d1637d084368690c9b Author: Jonas 'Sortie' Termansen Date: Sun Jan 14 22:32:50 2024 +0100 Upgrading releases from source has been supported for a while. share/man/man5/upgrade.conf.5 | 1 - 1 file changed, 1 deletion(-) commit 1ddb9f9cb7053f98c5e40231bcddb9b85727c31a Author: Jonas 'Sortie' Termansen Date: Sat Jan 27 20:40:45 2024 +0100 Simplify sorting ports in build order. build-aux/build-ports.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 04b605477e69b1095937a0acb789b3827a8843be Author: Jonas 'Sortie' Termansen Date: Sun Jan 28 16:11:39 2024 +0100 Add IFF_UP to getifaddrs(3). libc/ifaddrs/getifaddrs.c | 3 ++- libc/include/ifaddrs.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) commit a2a790a3369b2e498d349d900a274d45388a858a Author: Jonas 'Sortie' Termansen Date: Tue Jan 16 22:06:51 2024 +0100 Use the old 10_sortix when upgrading without a new grub port. sysinstall/grub | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit f1ed3194cb490a8218ed79411306fb73b37c7355 Author: Jonas 'Sortie' Termansen Date: Sun Jan 14 18:23:21 2024 +0100 Cache wallpaper in login(8). login/graphical.c | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) commit 7d25725e0e1717f5f081bf2b97151e4f62b0440c Author: Jonas 'Sortie' Termansen Date: Sun Mar 3 23:53:52 2024 +0100 Fix format string issue in sysmerge(8) conf_load error handler. sysinstall/sysmerge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dc1fb1ceca5b675fc0b2164e4a6fe5b5f04051a4 Author: Jonas 'Sortie' Termansen Date: Sat Feb 24 23:23:05 2024 +0100 Fix update-initrd(8) not atomically replacing the initrd. update-initrd/update-initrd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit fafaf86ddb76664276082de68ea88cdb1b8cfd8a Author: Jonas 'Sortie' Termansen Date: Sat Feb 24 23:01:08 2024 +0100 Fix initrd makefile targets not ensuring the output directory. Makefile | 3 +++ 1 file changed, 3 insertions(+) commit dd4e8135506dc183512c0575e5cd2829a02865bf Author: Jonas 'Sortie' Termansen Date: Sun Jan 28 13:55:47 2024 +0100 Fix stray backslash warning in manhtml. build-aux/manhtml.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e7fae576784151f49a8462930b38fbdedb2ddbe9 Author: Jonas 'Sortie' Termansen Date: Sun Jan 14 17:50:59 2024 +0100 Add video-player -h, -w, and -z options to select the window size. Restore extradata codec support that was previously removed when libavcodec was updated and no replacement was known yet. This makes many codecs start working again. Convert video-player to C while here and remove dispd support. ports/video-player/video-player.patch | 238 ++++++++++++++++++---------------- ports/video-player/video-player.port | 1 + 2 files changed, 124 insertions(+), 115 deletions(-) commit 979071b0b71fe0822b47ead5622419c0c64d8bb7 Author: Jonas 'Sortie' Termansen Date: Tue Jan 9 22:39:08 2024 +0100 Fix dosfstools port being in development. ports/dosfstools/dosfstools.port | 1 - 1 file changed, 1 deletion(-) commit 0c93ea4f97a6f445194fec62f33d8e91f4f8472c Author: Jonas 'Sortie' Termansen Date: Mon Dec 25 23:04:28 2023 +0100 Add dosfstools port. ports/dosfstools/dosfstools.patch | 43 +++++++++++++++++++++++++++++++++++++++ ports/dosfstools/dosfstools.port | 12 +++++++++++ 2 files changed, 55 insertions(+) commit 43adfbb82e5caf5a1b7b0bf53d9cfd630da4a3b0 Author: Jonas 'Sortie' Termansen Date: Wed Oct 11 01:19:01 2023 +0200 Add mtools port. ports/mtools/mtools.patch | 136 ++++++++++++++++++++++++++++++++++++++++++++ ports/mtools/mtools.port | 11 ++++ ports/mtools/mtools.rmpatch | 3 + 3 files changed, 150 insertions(+) commit 50f5e8872237d4347d3298b03ac7151a0db1fb67 Author: Juhani Krekelä Date: Sun Dec 24 16:33:41 2023 +0200 Add irssi port. build-aux/ports.conf | 2 +- ports/irssi/irssi.patch | 197 ++++++++++++++++++++++++++++++++++++++++++++++ ports/irssi/irssi.port | 15 ++++ ports/irssi/irssi.rmpatch | 1 + 4 files changed, 214 insertions(+), 1 deletion(-) commit fc20a4f6a306c1f8410a77b5f98d2d98b911fa0c Author: Juhani Krekelä Date: Tue Dec 26 02:14:08 2023 +0200 Support CSI n L and CSI n M in console and terminal(1). With these escapes supported, include definitions for line deletion (dl1, dl) and insertion (il1, il) in terminfo for "sortix". kernel/textterminal.cpp | 42 ++++++++++++++++++++++++++++++++-- ports/libcurses/libcurses.patch | 9 ++++---- terminal/terminal.c | 50 +++++++++++++++++++++++++++++++++++++++-- 3 files changed, 93 insertions(+), 8 deletions(-) commit b4665bc8ce467fc413b1dcdc6abf0bb9c174316b Author: Jonas 'Sortie' Termansen Date: Mon Dec 18 23:57:26 2023 +0100 Add m4, perl, and texinfo to the basic ports set. build-aux/ports.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2465f9b5dc7a9f683a2f1f6b727010a3f80e908f Author: Jonas 'Sortie' Termansen Date: Sun Sep 3 22:34:51 2023 +0200 Package the system as a tix binary package. Makefile | 22 ++++++++++------------ build-aux/iso-grub-cfg.sh | 7 ++++--- build-aux/manhtml.sh | 4 ++-- share/man/man7/kernel.7 | 5 ----- sysinstall/manifest.c | 2 ++ 5 files changed, 18 insertions(+), 22 deletions(-) commit 95cf3fba984f4487782edee8753d2669204186b7 Author: Jonas 'Sortie' Termansen Date: Sun Sep 3 17:24:21 2023 +0200 Save kernel options upon installation. kernel/kernel.cpp | 1 + share/man/man5/autoinstall.conf.5 | 9 ++++ share/man/man7/installation.7 | 65 +++++------------------ sysinstall/fileops.c | 20 +++++++ sysinstall/fileops.h | 1 + sysinstall/sysinstall.c | 109 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 154 insertions(+), 51 deletions(-) commit dc98bcf0cad8dac6535b0bde31873851df77af00 Author: Jonas 'Sortie' Termansen Date: Sun Sep 3 17:22:45 2023 +0200 Add options to kernelinfo(2). kernel/kernel.cpp | 4 ++++ kernel/kernelinfo.cpp | 7 ++++++- kernel/kernelinfo.h | 29 +++++++++++++++++++++++++++++ utils/kernelinfo.1 | 7 ++++++- 4 files changed, 45 insertions(+), 2 deletions(-) commit 4aadc182a62d163816be874504baf1a6375c09e1 Author: Jonas 'Sortie' Termansen Date: Mon Sep 11 20:37:58 2023 +0200 Fix broken manual references. display/display.1 | 2 +- sh/sh.1 | 2 +- share/man/man5/init.5 | 2 +- share/man/man7/following-development.7 | 2 +- share/man/man7/porting.7 | 2 +- tix/tix-build.8 | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) commit 938f2390dd9689c6a1d5c1ea284c234cc0667739 Author: Jonas 'Sortie' Termansen Date: Mon Aug 7 21:31:32 2023 +0200 Support system upgrades and configuration in GRUB. Move /etc/default/grub to /etc/grub as it's owned by the sysadmin. Move /etc/grub.d to /etc/default/grub.d as it's owned by the system. Support /etc/grub's GRUB_CMDLINE_SORTIX in 10_sortix. Remove the old /etc/grub.d/10_sortix.cache with a compatibility hook as it has moved to /etc/default/grub.d/10_sortix.cache. ports/grub/grub.execpatch | 2 +- ports/grub/grub.patch | 370 ++++++++++++++++++++------- ports/grub/grub.post-install | 1 - share/man/man5/upgrade.conf.5 | 2 +- share/man/man7/following-development.7 | 74 +++++- share/man/man7/hier.7 | 6 +- share/man/man7/installation.7 | 8 +- share/sysinstall/hooks/sortix-1.1-grub-cache | 0 sysinstall/Makefile | 4 + sysinstall/grub | 29 +++ sysinstall/hooks.c | 22 ++ sysinstall/prepare | 27 ++ sysinstall/sysinstall.c | 12 +- sysinstall/sysmerge.8 | 60 +++-- sysinstall/sysmerge.c | 151 ++++++----- sysinstall/sysupgrade.c | 7 +- update-initrd/update-initrd | 39 +-- update-initrd/update-initrd.8 | 18 +- 18 files changed, 609 insertions(+), 223 deletions(-) commit c4b878beb7d994391866cf178fbaa6e417e823f7 Author: Juhani Krekelä Date: Sun Aug 27 20:21:55 2023 +0300 Redisable perl support in git. If git with perl enabled is cross-compiled, the perl commands do not work correctly. As there is seemingly no easy fix for this, disable perl suppport again. ports/git/git.port | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 69cc658036a42f9808950f186fe2ee21d8d16668 Author: Juhani Krekelä Date: Sun Aug 27 16:40:20 2023 +0000 Move perl from git's BUILD_LIBRARIES to RUNTIME_PROGRAMS. While RUNTIME_PROGRAMS currently does nothing, BUILD_LIBRARIES is not correct for dependencies that are required at runtime. As git built with perl support is still able to run without perl, just with limitations, mark perl as an optional dependency as well. ports/git/git.port | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 6c81317026ef38042613dc498bf7149f52de68c2 Author: Juhani Krekelä Date: Sun Aug 27 15:22:30 2023 +0000 Add perl as a dependency for git. ports/git/git.port | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit 4533a2ade28a8b70e77ca3aad3ab7aa85c16718b Author: Jonas 'Sortie' Termansen Date: Sun Jul 16 14:56:04 2023 +0200 Remove mkinitrd(8). Makefile | 4 - kernel/include/sortix/initrd.h | 92 ----- kernel/initrd.cpp | 268 +------------- mkinitrd/.gitignore | 2 - mkinitrd/Makefile | 35 -- mkinitrd/initrdfs.8 | 67 ---- mkinitrd/initrdfs.c | 395 --------------------- mkinitrd/ioleast.h | 150 -------- mkinitrd/mkinitrd.8 | 126 ------- mkinitrd/mkinitrd.c | 776 ----------------------------------------- mkinitrd/rules.c | 317 ----------------- mkinitrd/rules.h | 42 --- mkinitrd/serialize.c | 84 ----- mkinitrd/serialize.h | 32 -- share/man/man7/development.7 | 2 - share/man/man7/kernel.7 | 4 - 16 files changed, 3 insertions(+), 2393 deletions(-) commit 6ac0061380d183a0a7dc2153c16d62dce1358ddf Author: Jonas 'Sortie' Termansen Date: Sun Jul 16 00:12:08 2023 +0200 Add sysmerge(8) --target option. sysinstall/execute.c | 23 ++++ sysinstall/sysmerge.8 | 25 ++++ sysinstall/sysmerge.c | 349 ++++++++++++++++++++++++++++++-------------------- 3 files changed, 255 insertions(+), 142 deletions(-) commit 6303a5943912628dd6f54ddd66e475fdb0e9a9d6 Author: Jonas 'Sortie' Termansen Date: Sun Jul 16 13:40:14 2023 +0200 Handle SIGTERM in chroot(8). utils/chroot.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit e5465e64a137cb937f426335d90e75765f566317 Author: Jonas 'Sortie' Termansen Date: Tue Aug 15 23:55:25 2023 +0200 Fix tix3g migration hook installing the wrong PLATFORM in collection.conf. Fix the hook marker not existing and change its name to allow upgrading from broken experimental builds. sysinstall/Makefile | 1 + sysinstall/hooks.c | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) commit 93dd46192d0fb1fed2ef4102fa13861689845935 Author: Nathan Fisher Date: Sat Aug 5 22:36:12 2023 -0400 Fix gettext port build by un-confusing the build system about whether c# is available ports/gettext/gettext.port | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 33c1e98f0e044d5cbc1cee31ed03486c46a4e846 Author: Jonas 'Sortie' Termansen Date: Sun Jul 16 12:57:34 2023 +0200 Fix tar race condition when tix-port(8) strips programs. tix/tix-port | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit d18918390082ba2a5c7495bd2fe3bed160ecf37b Author: Jonas 'Sortie' Termansen Date: Sat Jul 15 16:43:00 2023 +0200 Third generation Tix. The .tix.tar.xz binary package format now stores the contents in the root rather than the data/ subdirectory and the tix metadata now has the same layout as the loose files in /tix, such that a .tix.tar.xz package can simply be directly extracted into the filesystem. The /tix/manifest/ is now included in the binary package rather than being generated on installation. The /tix/collection.conf and /tix/tixinfo metadata files are now in the tix-vars(1) format in the style of port(5). The /tix/installed.list file has been removed since it isn't loose file compatible and one can list the /tix/tixinfo directory instead. The /tix/repository.list file has been removed since the feature is unused and doesn't match the future direction of tix. The kernel support for tix binary packages has been removed since it will simply install by extracting the tar archive into the root filesystem. Add the post-install sha256sum to the port version stamp. Makefile | 2 +- build-aux/build-ports.sh | 4 +- build-aux/iso-grub-cfg.sh | 2 +- kernel/initrd.cpp | 185 +-------------------------- share/man/man7/following-development.7 | 20 +++ share/man/man7/user-guide.7 | 4 +- share/sysinstall/hooks/sortix-1.1-tix-3g | 0 sysinstall/hooks.c | 138 +++++++++++++++++++- sysinstall/manifest.c | 127 +++++-------------- tix/tix-build.c | 201 +++++++++++++++++++++++------ tix/tix-collection.c | 75 +++++++---- tix/tix-install.c | 210 +++++++++++++++++-------------- tix/tix-port | 25 ++-- tix/tix-vars.c | 1 + tix/tix.c | 56 ++++++--- tix/util.h | 134 ++++++++++++-------- 16 files changed, 671 insertions(+), 513 deletions(-) commit b819428bd2421b88933bb22f00060e56f025edbb Author: Jonas 'Sortie' Termansen Date: Sun Jul 9 19:46:50 2023 +0200 Remove outdated statement that ports can't be built natively. share/man/man7/user-guide.7 | 3 --- 1 file changed, 3 deletions(-) commit 4990cef43cb1cddf28909d6497f4d38376f7a425 Author: Jonas 'Sortie' Termansen Date: Sun Jul 9 19:21:08 2023 +0200 Reposition windows when the display resolution changes. display/window.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) commit ab9f2353e5f0c661e485c6ee25069f8758b23814 Author: Jonas 'Sortie' Termansen Date: Sat Jul 8 00:28:06 2023 +0200 Add sysinstall(8) --system and --ports options. sysinstall/sysmerge.8 | 12 +++++++++++- sysinstall/sysmerge.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 57 insertions(+), 6 deletions(-) commit edd856615574b9748f483400361617ed2411f5aa Author: Jonas 'Sortie' Termansen Date: Sat Jul 8 15:21:23 2023 +0200 Modernize extfs(8) error handling. ext/extfs.cpp | 47 ++++++++++++++++++++++------------------------- ext/fsmarshall.cpp | 18 +++++++++--------- 2 files changed, 31 insertions(+), 34 deletions(-) commit ffc1b02b9494e5626786606b95f9c04aab5b0039 Author: Jonas 'Sortie' Termansen Date: Sat Jul 8 11:58:44 2023 +0200 Remove workaround for qemu 1.4.x and 1.5.x. These releases are now 10 years old and are no longer a concern. kernel/kernel.cpp | 27 --------------------------- 1 file changed, 27 deletions(-) commit e933eb5a1c0da69881fcb9b56820bbd94e6a6dcb Author: Jonas 'Sortie' Termansen Date: Sat Jul 8 00:24:49 2023 +0200 Replace mkinitrd(1) with tar(1). The custom initrd format was originally useful when it was mounted, however it has been extracted into the ramfs for a very long time and has no advantages over the standard tar format which can be readily created and modified using standard tools. The kernel initrd(7) support already supports tar, so this change simply switches the format. Makefile | 61 +++++++++++++++++---------------- build-aux/iso-grub-cfg.sh | 10 +++--- kernel/.gitignore | 1 - share/man/man7/initrd.7 | 13 +++---- share/man/man7/release-iso-bootconfig.7 | 8 ++--- update-initrd/update-initrd | 8 +++-- update-initrd/update-initrd.8 | 3 +- 7 files changed, 51 insertions(+), 53 deletions(-) commit 917722cf70b641703376bc2f1b888e589c064e97 Author: Jonas 'Sortie' Termansen Date: Sat Jun 24 00:05:20 2023 +0200 Add display server. This change adds the display(1) graphical user interface and desktop environment with basic windowing support and the graphical terminal(1) emulator along with integrations in chkblayout(1), chvideomode(1), sysinstall(8), sysupgrade(8), as well as the games and ports. Adopt the Aurora procedural wallpaper in display(1) and login(8). Remove the obsolete dispd. Juhani contributed keyboard and video mode APIs to the display protocol and other miscellaneous changes. dzwdz contributed the initial functioning window buttons, improved title bar, window tiling, and minor bug fixes Co-authored-by: Juhani Krekelä Co-authored-by: dzwdz Makefile | 5 +- build-aux/iso-grub-cfg.sh | 25 +- build-aux/smoketest.sh | 1 + chkblayout/Makefile | 2 +- chkblayout/chkblayout.c | 40 +- chvideomode/Makefile | 2 +- chvideomode/chvideomode.c | 201 ++- dispd/.gitignore | 3 - dispd/Makefile | 53 - dispd/client/session.c | 130 -- dispd/client/window.c | 150 --- dispd/include/dispd.h | 60 - display/.gitignore | 3 + display/Makefile | 51 + display/arrow.rgb | Bin 0 -> 9216 bytes display/connection.c | 535 ++++++++ display/connection.h | 67 + dispd/client/window.h => display/damage-rect.c | 39 +- dispd/client/library.c => display/damage-rect.h | 28 +- display/display-code.c | 917 ++++++++++++++ display/display.1 | 182 +++ display/display.c | 123 ++ display/display.h | 102 ++ display/displayrc.5 | 77 ++ display/server.c | 281 +++++ display/server.h | 51 + display/window.c | 554 +++++++++ display/window.h | 119 ++ games/Makefile | 2 +- games/aquatinspitz.c | 186 ++- games/asteroids.cpp | 187 +-- libdisplay/.gitignore | 2 + libdisplay/Makefile | 34 + libdisplay/include/display-protocol.h | 180 +++ libdisplay/include/display.h | 116 ++ libdisplay/libdisplay.c | 441 +++++++ libui/.gitignore | 2 + libui/Makefile | 36 + libui/framebuffer.c | 71 ++ libui/include/framebuffer.h | 63 + libui/include/pixel.h | 55 + .../framebuffer.h => libui/include/vgafont.h | 38 +- dispd/client/session.h => libui/pixel.c | 42 +- libui/vgafont.c | 343 ++++++ login/graphical.c | 50 + ports/libSDL/libSDL.patch | 378 ++++++ share/init/single-user-gui | 9 + share/init/sysinstall-gui | 8 + share/init/sysupgrade-gui | 8 + share/man/man5/autoinstall.conf.5 | 6 + share/man/man5/init.5 | 30 + share/man/man5/session.5 | 14 + share/man/man7/installation.7 | 29 + share/man/man7/release-iso-modification.7 | 6 + share/man/man7/user-guide.7 | 42 +- sysinstall/Makefile | 4 +- sysinstall/interactive.c | 123 +- sysinstall/interactive.h | 4 +- sysinstall/sysinstall.c | 101 +- sysinstall/sysupgrade.c | 78 +- terminal/.gitignore | 2 + terminal/Makefile | 36 + terminal/palette.h | 283 +++++ terminal/terminal.1 | 44 + terminal/terminal.c | 1292 ++++++++++++++++++++ tix/tix-iso-bootconfig | 4 + tix/tix-iso-bootconfig.8 | 28 + utils/command-not-found.c | 5 +- 68 files changed, 7362 insertions(+), 821 deletions(-) commit b384bce28c9533768f35af7870c5d960d371be0d Author: Jonas 'Sortie' Termansen Date: Sat Jun 10 15:32:45 2023 +0200 Switch trianglix(1) from dispd to dispmsg_issue(2). trianglix/Makefile | 4 +-- trianglix/trianglix.cpp | 74 ++++++++++++++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 35 deletions(-) commit e4ce68657698f6b059d6109b9cecad93fff5477a Author: Juhani Krekelä Date: Fri Jun 16 11:08:25 2023 +0300 Use standard termios flags and functions in chvideomode(1). Previously chvideomode(1) used {get,set}termmode(2) as well as tcgetwincurpos(2), which are non-standard and only work in the kernel terminal. This necessitates changing the keybind for exiting the menu from esc to Q, as there is no good standard way to disambiguate between escape character by itself and the start of an escape sequence. chvideomode/chvideomode.1 | 6 +- chvideomode/chvideomode.c | 184 ++++++++++++++++++++++++---------------------- 2 files changed, 102 insertions(+), 88 deletions(-) commit 0660d420f3f132d757b8e0cbb6299e8e8390f13d Author: Juhani Krekelä Date: Wed Jun 14 20:04:36 2023 +0300 Fix pagination in chvideomode(1). Pagination code deals with two indices for video modes, one relative to the start of video modes array and one relative to the start of current page. Previously when displaying the list of modes, the video mode array would be accessed using the one relative to the start of the current page, meaning that pages 2 and onwards displayed repeats of the video modes on page 1. This changes the the display code to use indices relative to the start of the video modes array when accessing the array. chvideomode/chvideomode.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 1773d6a13154f4353ed79f3cb286a02a941220ba Author: Juhani Krekelä Date: Fri Jun 9 21:18:30 2023 +0300 Fix setting custom modes on command line in chvideomode(1). Previously setting a mode from the command line would only work if it was one of the pre-set resolutions offered by the driver. If the driver supported custom resolutions and a user tried to set one on the command line, chvideomode(1) would instead launch in interactive mode. chvideomode/chvideomode.c | 464 +++++++++++++++++++++++++--------------------- 1 file changed, 256 insertions(+), 208 deletions(-) commit 9d4eec4267250703490ffb8be2dedb9edd93b2d1 Author: Jonas 'Sortie' Termansen Date: Thu Jun 8 01:23:29 2023 +0200 Add reinit support to init(8). init/init.8 | 2 ++ init/init.c | 36 +++++++++++++++++++++++++++++------- login/login.8 | 5 ++++- login/login.c | 5 ++++- login/login.h | 3 ++- share/man/man5/autoinstall.conf.5 | 2 +- share/man/man5/init.5 | 5 +++-- share/man/man7/installation.7 | 17 +++++++---------- sysinstall/sysinstall.c | 30 +++++++++++++++++++++++------- 9 files changed, 75 insertions(+), 30 deletions(-) commit d671516e9c2818ad1a95a985e46d74f7529525d3 Author: Juhani Krekelä Date: Fri May 19 22:55:51 2023 +0300 Change chvideomode(1) to use "WIDTHxHEIGHTxBPP" consistently. Previously chvideomode(1) used "WIDTHxHEIGHTxBPP" on the command line while interactively it used "BPP x WIDTH x HEIGHT". Change everything to "WIDTHxHEIGHTxBPP". chvideomode/chvideomode.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit f6d6b60c10dd0be6e50356c2b510e622d8cf43d3 Author: Juhani Krekelä Date: Tue May 16 01:00:40 2023 +0300 Use getopt_long(3) and err(3) family in chvideomode(1). chvideomode/chvideomode.c | 250 +++++++++++++++++++--------------------------- 1 file changed, 103 insertions(+), 147 deletions(-) commit 2c0a559309ea829cd4cb83833fe9055f38abd683 Author: Juhani Krekelä Date: Mon May 15 23:07:21 2023 +0300 Use getopt_long(3) and err(3) family in chkblayout(1). chkblayout/chkblayout.c | 82 +++++++++++++++++-------------------------------- 1 file changed, 29 insertions(+), 53 deletions(-) commit 66c4b7486a15b67e79a049a49d44ac84c04c0a80 Author: Juhani Krekelä Date: Mon May 15 20:55:02 2023 +0300 Move chkblayout(1) and chvideomode(1) into their own directories. Makefile | 2 ++ chkblayout/.gitignore | 1 + chkblayout/Makefile | 30 ++++++++++++++++++++++++++++++ {utils => chkblayout}/chkblayout.1 | 0 {utils => chkblayout}/chkblayout.c | 0 chvideomode/.gitignore | 1 + chvideomode/Makefile | 30 ++++++++++++++++++++++++++++++ {utils => chvideomode}/chvideomode.1 | 0 {utils => chvideomode}/chvideomode.c | 0 utils/Makefile | 4 ---- 10 files changed, 64 insertions(+), 4 deletions(-) commit 610b51ffdc0b89b3c2e5955be01da0c4069a5347 Author: Juhani Krekelä Date: Tue May 16 02:16:55 2023 +0300 Fix getopt_long(3) handling of required argument at the end of argv. Previously if argv ended with a long option that required an argument followed by said argument, getopt_long(3) would generate an error saying that the option requires an argument even though it was provided. This was because the comparison of optind against argc did not account for the fact that optind had already been incremented, causing an off-by-one. libc/getopt/getopt_long.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1e17e7fab7c0dcdd9b9b5ad00dfd5caa48c9d30a Author: Jonas 'Sortie' Termansen Date: Mon May 15 23:24:52 2023 +0200 Add automatic installer and upgrader. build-aux/iso-grub-cfg.sh | 12 +- share/man/man5/autoinstall.conf.5 | 444 ++++++++++++++++++++++++++++++ share/man/man5/autoupgrade.conf.5 | 203 ++++++++++++++ share/man/man5/upgrade.conf.5 | 2 + share/man/man7/installation.7 | 3 +- share/man/man7/release-iso-bootconfig.7 | 9 + share/man/man7/release-iso-modification.7 | 19 +- share/man/man7/upgrade.7 | 3 +- sysinstall/Makefile | 8 +- sysinstall/autoconf.c | 217 +++++++++++++++ sysinstall/autoconf.h | 31 +++ sysinstall/execute.c | 118 +++++++- sysinstall/interactive.c | 24 +- sysinstall/sysinstall.8 | 1 + sysinstall/sysinstall.c | 136 +++++++-- sysinstall/sysupgrade.8 | 1 + sysinstall/sysupgrade.c | 67 ++++- tix/tix-iso-bootconfig | 14 + tix/tix-iso-bootconfig.8 | 7 + tix/tix-iso-liveconfig | 15 + tix/tix-iso-liveconfig.8 | 39 +++ 21 files changed, 1332 insertions(+), 41 deletions(-) commit 77c2e7f59eefc7b05fe9492ccfe9d789dca85c6e Author: Jonas 'Sortie' Termansen Date: Mon May 15 23:20:01 2023 +0200 Fix chvideomode(1) --max- option parsing. utils/chvideomode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e9d9eabb6eb5e833f5f0fe387eddbed43d4ab349 Author: Jonas 'Sortie' Termansen Date: Sun Apr 23 23:23:22 2023 +0200 Add non-interactive mode to disked(8). disked/disked.8 | 42 ++++++++++++---- disked/disked.c | 145 ++++++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 138 insertions(+), 49 deletions(-) commit b029127df53cc4e4604ee6bbda6977d083842004 Author: Jonas 'Sortie' Termansen Date: Sun Apr 23 14:53:16 2023 +0200 Add passwd(1) -H option. utils/passwd.1 | 6 ++++ utils/passwd.c | 109 ++++++++++++++++++++++++++------------------------------- 2 files changed, 55 insertions(+), 60 deletions(-) commit c77745e447d0041221d77fc88eb6ec67dda9bf9b Author: Jonas 'Sortie' Termansen Date: Sun Apr 9 00:46:36 2023 +0200 Change chvidemode(1) to set requested mode instead of running command. utils/chvideomode.1 | 26 ++++++++++---------------- utils/chvideomode.c | 53 +++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 53 insertions(+), 26 deletions(-) commit adcf11944fbb530f6a92f8359a684e4fc9997c52 Author: Juhani Krekelä Date: Tue Apr 11 19:06:24 2023 +0300 Update to libressl-3.7.2. ports/libssl/libssl.patch | 2 +- ports/libssl/libssl.port | 4 ++-- ports/libssl/libssl.rmpatch | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) commit 4657132716a94fe48a3dcd3427ebf5c46f04569f Author: Juhani Krekelä Date: Tue Apr 11 19:11:22 2023 +0300 Fix tix-port(8) diffs on non-English locales. tix-port(8) parses the diff(1) output, to remove the "Only in …" informational messages. As they are meant to be human-readable, not machine-readable, they are translated to different languages, which causes tix-port(8) to miss them. This patch sets LC_ALL=C for the diff invocation, so that the messages are always in English. tix/tix-port | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit caa92556c5089ba398d53764016bb4609ff2a17d Author: Jonas 'Sortie' Termansen Date: Sat Apr 8 17:17:03 2023 +0200 Try the router when ARP hasn't found neighbors. kernel/net/arp.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) commit a773199a90ea4ac1303b35197456f3af37b46181 Author: Jonas 'Sortie' Termansen Date: Thu Feb 9 18:48:44 2023 +0100 Add nginx port. ports/nginx/nginx.patch | 1125 +++++++++++++++++++++++++++++++++++++++++++++++ ports/nginx/nginx.port | 14 + 2 files changed, 1139 insertions(+) commit 755f2cf5394400b530eca16b1e65ebaef74a19da Author: Jonas 'Sortie' Termansen Date: Tue Apr 4 20:49:07 2023 +0200 Mix in the current random seed when writing the new one. This behavior lets the sysadmin add entropy to the random seed effective after the next reboot. init/init.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit cb88c18bf0d43c5a4b2799b5ddbed6d5e41688c7 Author: Jonas 'Sortie' Termansen Date: Thu Apr 6 16:38:48 2023 +0200 Fix system calls returning errno values instead of setting errno. kernel/descriptor.cpp | 2 +- kernel/io.cpp | 4 ++-- kernel/net/tcp.cpp | 2 +- kernel/signal.cpp | 2 +- kernel/tty.cpp | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) commit eeea3bdcc6f02f34b518755aa04f8b5848d4902d Author: Juhani Krekelä Date: Thu Apr 6 20:35:04 2023 +0300 Update to links-2.29. ports/links/links.patch | 4 ++-- ports/links/links.port | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit af92d5cae8751450221fb93766a2d992400a84d6 Author: Jonas 'Sortie' Termansen Date: Tue Apr 4 19:49:11 2023 +0200 Fix strftime(3) %I off by one. libc/time/strftime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d3aee98c1a3cbd7d21c00529d1e4980fd05a5ee6 Author: dzwdz Date: Sun Apr 2 20:19:42 2023 +0000 Allow overriding the login session, refactor special users. login/graphical.c | 27 ++++++++------ login/login.8 | 3 ++ login/login.c | 103 ++++++++++++++++++++++++++++++++++++++++++++---------- login/login.h | 17 ++++++++- 4 files changed, 121 insertions(+), 29 deletions(-) commit 2799f04cad74e54652f591214ccb6686d807c1fb Author: Jonas 'Sortie' Termansen Date: Sat Mar 25 14:25:43 2023 +0100 Add date(1) -drs options. utils/date.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 8 deletions(-) commit e9e57dc9afb65325bf825556f5dc8347578b73d6 Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 15:33:38 2022 +0100 Add ntpd port. build-aux/iso-grub-cfg.sh | 22 + build-aux/ports.conf | 2 +- ports/ntpd/ntpd.patch | 850 ++++++++++++++++++++++++++++++++ ports/ntpd/ntpd.port | 12 + ports/ntpd/ntpd.rmpatch | 1 + share/man/man5/init.5 | 5 +- share/man/man7/installation.7 | 16 + share/man/man7/release-iso-bootconfig.7 | 5 + sysinstall/sysinstall.c | 59 +++ tix/tix-iso-bootconfig | 6 +- tix/tix-iso-bootconfig.8 | 18 + 11 files changed, 992 insertions(+), 4 deletions(-) commit 9033153c47da10f363c4b36a08505f68fc897bb0 Author: Jonas 'Sortie' Termansen Date: Sun Mar 26 23:55:48 2023 +0200 Add sub_leap_seconds(3) and add_leap_seconds(3). Advertise leap seconds being counted via CLOCK_REALTIME_HAS_LEAP_SECONDS. kernel/include/sortix/clock.h | 4 +- libc/Makefile | 6 ++ libc/include/time.h | 6 +- libc/time/add_leap_seconds.3 | 104 +++++++++++++++++++++++++++ libc/time/gmtime_r.c | 163 ++++++++++++++++++++++++++++-------------- libc/time/sub_leap_seconds.3 | 1 + share/man/man7/portability.7 | 11 +++ 7 files changed, 240 insertions(+), 55 deletions(-) commit 97c57ca6044b662715e2e70b42bf14d071bc08f1 Author: Jonas 'Sortie' Termansen Date: Sun Mar 19 15:01:51 2023 +0100 Add strptime(3). libc/Makefile | 1 + libc/time/strptime.c | 234 +++++++++++++++++++++++++++++++++++++++++++ share/man/man7/portability.7 | 3 - 3 files changed, 235 insertions(+), 3 deletions(-) commit 4ac7072f2ac0cb24f37bf8bf6195a60eb8252694 Author: Jonas 'Sortie' Termansen Date: Sun Mar 19 14:59:08 2023 +0100 Add AI_ADDRCONFIG to getaddrinfo(3). libc/netdb/getaddrinfo.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit c57ff050e9e2b8f525a689d2ef16362ef463a5ec Author: Jonas 'Sortie' Termansen Date: Fri Mar 17 00:48:31 2023 +0100 Add include and comment support to passwd(5) and group(5). Makefile | 2 + libc/Makefile | 2 + libc/grp/opengr.c | 5 +- libc/grp/setgrent.c | 7 ++- libc/include/pwd.h | 5 +- libc/pwd/__openent.c | 104 +++++++++++++++++++++++++++++++++ libc/pwd/fgetpwent_r.c | 78 +------------------------ libc/pwd/openpw.c | 4 +- libc/pwd/scanpwent.c | 94 +++++++++++++++++++++++++++++ libc/pwd/setpwent.c | 7 ++- share/man/man7/following-development.7 | 18 ++++++ sysinstall/Makefile | 2 + sysinstall/hooks.c | 58 ++++++++++++++++++ sysinstall/sysinstall.c | 22 +++++-- utils/passwd.c | 49 +++++++++++++--- 15 files changed, 356 insertions(+), 101 deletions(-) commit da86ca18739ec8d42f810299b416e820ecc35e30 Author: Jonas 'Sortie' Termansen Date: Sat Mar 18 20:15:36 2023 +0100 Fix typo in ssh instructions in installation(7). share/man/man7/installation.7 | 2 +- sysinstall/sysinstall.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit e9877d8080ed2445252ef4ed97f2a5d28799d97b Author: Jonas 'Sortie' Termansen Date: Fri Mar 17 00:47:49 2023 +0100 Fix fmemopen(3) fseeko(3) overflow detection. libc/stdio/fmemopen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 03ee6d4d8910b1e95308cf39f0e7f52962732d1a Author: Jonas 'Sortie' Termansen Date: Thu Mar 16 11:11:06 2023 +0100 Update to libressl-3.7.1. ports/libssl/libssl.patch | 30 ++++++++++++++++++++++-------- ports/libssl/libssl.port | 4 ++-- 2 files changed, 24 insertions(+), 10 deletions(-) commit 98c92bcdcccccc0e91c143cf6052210059fbc377 Author: Jonas 'Sortie' Termansen Date: Thu Mar 16 10:49:20 2023 +0100 Update to openssh-9.3p1. ports/ssh/ssh.patch | 104 ++++++++++++++++++++++++++-------------------------- ports/ssh/ssh.port | 4 +- 2 files changed, 54 insertions(+), 54 deletions(-) commit 47e1cc439a3ae1f1250637e73fe045c294dbf6ca Author: Jonas 'Sortie' Termansen Date: Sat Mar 11 23:16:27 2023 +0100 Add glob(3). Switch sh(1) to use glob(3). Remove compatibility for no glob(3) from the ports. libc/Makefile | 2 + libc/glob/glob.c | 474 ++++++++++++++++++++++++++++++++++++++++++++ libc/glob/globfree.c | 28 +++ libc/include/glob.h | 62 ++++++ ports/libxml2/libxml2.patch | 74 ------- ports/mdocml/mdocml.patch | 51 +---- ports/nano/nano.patch | 45 +---- sh/sh.c | 236 +++++----------------- 8 files changed, 628 insertions(+), 344 deletions(-) commit 4e0ed3086146e2c60e542ec78ad0ccde1641ef5e Author: Jonas 'Sortie' Termansen Date: Sat Mar 11 14:55:13 2023 +0100 Fix native cross issue in xz. ports/xz/xz.patch | 72 ++++++++++++++----------------------------------------- 1 file changed, 18 insertions(+), 54 deletions(-) commit 8a4548db7d2cc6f1ba0f9f8148c1e849c7d0388d Author: Jonas 'Sortie' Termansen Date: Mon Apr 18 00:06:05 2022 +0200 Add memory statistics to struct psctl_stat. This is an incompatible ABI change. Makefile | 2 +- kernel/include/sortix/psctl.h | 6 +++- kernel/psctl.cpp | 13 ++++++++- share/man/man7/following-development.7 | 13 +++++++++ utils/ps.c | 53 ++++++++++++++++++++++++++++++++-- 5 files changed, 82 insertions(+), 5 deletions(-) commit 2cd736129480e3cadc9164c82c7529c4d91d0deb Author: Jonas 'Sortie' Termansen Date: Wed Mar 8 22:20:32 2023 +0100 Add memusage(2). Switch xz to memusage(2) and fix native self-cross issue. This is a compatible ABI change. Makefile | 2 +- kernel/fs/kram.cpp | 4 +- kernel/include/sortix/kernel/memorymanagement.h | 7 +- kernel/include/sortix/kernel/syscall.h | 3 +- kernel/include/sortix/memusage.h | 37 +++++ kernel/include/sortix/syscall.h | 5 +- kernel/memorymanagement.cpp | 48 +++++- kernel/net/packet.cpp | 4 +- kernel/process.cpp | 6 +- kernel/syscall.cpp | 3 +- kernel/x86-family/memorymanagement.cpp | 18 ++- libc/Makefile | 1 + libc/include/memusage.h | 39 +++++ libc/memusage/memusage.c | 30 ++++ ports/xz/xz.patch | 62 ++++++- share/man/man7/following-development.7 | 5 + utils/memstat.1 | 85 +++++++++- utils/memstat.c | 207 +++++++++++++++++++----- 18 files changed, 493 insertions(+), 73 deletions(-) commit 7963da689dc2523e449c68c743371097ee70cf36 Author: Jonas 'Sortie' Termansen Date: Mon Mar 6 20:18:06 2023 +0100 Fix internal types in fgetpwent_r and fgetgrent_r. libc/grp/fgetgrent_r.c | 2 +- libc/pwd/fgetpwent_r.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) commit 2a07e236956814a13df7f4cb737b5ad1f7469b6c Author: Jonas 'Sortie' Termansen Date: Mon Mar 6 19:37:40 2023 +0100 Fix smoketest using non-existent --disable-gui option. build-aux/smoketest.sh | 1 - 1 file changed, 1 deletion(-) commit 4d8cf6514e6232b6a8dd3a72e59e230d81c5eaf0 Author: Jonas 'Sortie' Termansen Date: Mon Feb 13 00:00:40 2023 +0100 Color the default root shell prompt red and gold. sh/sh.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 426ee920fb22897aa2a1eadda37054a1e8473bac Author: Jonas 'Sortie' Termansen Date: Thu Aug 4 23:54:07 2022 +0200 Update to e2fsprogs-1.46.5. ports/e2fsprogs/e2fsprogs.patch | 449 +++++++++++++++++++++++++++------------- ports/e2fsprogs/e2fsprogs.port | 9 +- 2 files changed, 313 insertions(+), 145 deletions(-) commit b126a8c03d1d1c76f13ee70377afb7d865040d5d Author: Jonas 'Sortie' Termansen Date: Wed Aug 3 20:43:02 2022 +0200 Update to sortix-binutils-1.1-rc3. ports/binutils/binutils.port | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 6f43cc3806770e24c49ee25e3675b6f73b357bf7 Author: Juhani Krekelä Date: Wed Feb 2 01:42:13 2022 +0200 Add links port. ports/links/links.patch | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ ports/links/links.port | 11 ++++++++++ 2 files changed, 64 insertions(+) commit 352cd69fec98d6143c82ea09a4fb0de9c52bf9f7 Author: Jonas 'Sortie' Termansen Date: Sun Sep 11 18:13:59 2022 +0200 Add smoketest script for quickly testing .iso releases. build-aux/smoketest.sh | 217 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) commit f648633de79a994baba7f06e408ebcb62ee63976 Author: Juhani Krekelä Date: Sun Feb 26 15:41:20 2023 +0200 Update to libressl-3.7.0. ports/libssl/libssl.port | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b9a72bbfbc5e1f6480028bb3f3ffb375b1c7a57f Author: Jonas 'Sortie' Termansen Date: Sun Feb 26 14:15:41 2023 +0100 Add ssh port. build-aux/iso-grub-cfg.sh | 20 + build-aux/ports.conf | 2 +- libc/include/sys/cdefs.h | 28 +- ports/ssh/ssh.patch | 1781 +++++++++++++++++++++++++++++ ports/ssh/ssh.port | 12 + share/man/man7/installation.7 | 28 +- share/man/man7/release-iso-bootconfig.7 | 5 + share/man/man7/release-iso-modification.7 | 107 +- share/man/man7/upgrade.7 | 3 +- sysinstall/sysinstall.c | 225 +++- tix/tix-iso-bootconfig | 4 + tix/tix-iso-bootconfig.8 | 26 + tix/tix-iso-liveconfig | 94 ++ tix/tix-iso-liveconfig.8 | 198 ++++ 14 files changed, 2524 insertions(+), 9 deletions(-) commit 18cb2651be63fef501688e7af781cb6a6732f903 Author: Jonas 'Sortie' Termansen Date: Sun Feb 26 01:09:58 2023 +0100 Support \e[6n for reporting cursor position. kernel/logterminal.cpp | 29 ++++++++++++++++++++++++++++- kernel/logterminal.h | 1 + 2 files changed, 29 insertions(+), 1 deletion(-) commit 6b0ddb461569ecc7df0579fc7acd6823953bd353 Author: Jonas 'Sortie' Termansen Date: Sun Aug 20 12:12:37 2017 +0200 Add keys to sysinstall and sysupgrade prompts. sysinstall/interactive.c | 5 ++++- sysinstall/interactive.h | 2 ++ sysinstall/sysinstall.c | 31 +++++++++++++++++-------------- sysinstall/sysupgrade.c | 29 ++++++++++++++++------------- 4 files changed, 39 insertions(+), 28 deletions(-) commit bfc852be088c5e232b99361d87ff91ddb46255f6 Author: Jonas 'Sortie' Termansen Date: Sat Feb 25 13:09:13 2023 +0100 Fix src containing single branch fetchspec. Makefile | 1 + 1 file changed, 1 insertion(+) commit 4056332747372dcf119bed79fffb445a9c14928f Author: Jonas 'Sortie' Termansen Date: Thu Feb 23 11:08:15 2023 +0100 Fix missing nc.1 file. utils/nc.1 | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) commit b4182c28ce5853e77dff89f6da03d3c6ed9a5799 Author: Jonas 'Sortie' Termansen Date: Sat May 29 23:37:01 2021 +0200 Add libcurl, libssl, and wget to the basic ports set. build-aux/ports.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f875555e3ec87c4b13d10754188a150b97ca16de Author: Jonas 'Sortie' Termansen Date: Sat Aug 6 15:54:31 2016 +0200 Add nc(1). utils/.gitignore | 1 + utils/Makefile | 2 + utils/nc.c | 224 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 227 insertions(+) commit f884034e21810bec2f338c32cd1271a9b1302d84 Author: Jonas 'Sortie' Termansen Date: Thu Mar 9 22:24:13 2017 +0100 Add ping(8). Makefile | 1 + ping/.gitignore | 1 + ping/Makefile | 29 ++++++++++ ping/ping.8 | 40 +++++++++++++ ping/ping.c | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++ share/man/man4/ping.4 | 3 +- 6 files changed, 227 insertions(+), 1 deletion(-) commit be563c165e336b0f97a25c1083b8ba77f6873de0 Author: Pedro Falcato Date: Wed Feb 22 17:24:34 2023 +0000 Fix ptsname_r return value Per POSIX, it should return 0 on success and errno (!= 0) on error. libc/stdlib/ptsname_r.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit e2c57ad789285e99e1c9b75150065ecb134164c1 Author: Pedro Falcato Date: Tue Feb 21 23:21:44 2023 +0000 Fix ttyname_r error return values POSIX specifies ttyname_r should return errno and not do the usual return errno = error, -1; Fixes #732 libc/unistd/ttyname_r.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4379ca962a492ad887f0494aee71286f37aa56ca Author: Jonas 'Sortie' Termansen Date: Fri Feb 17 23:31:30 2023 +0100 Add dhclient(8). Co-authored-by: Juhani Krekelä Makefile | 1 + build-aux/iso-grub-cfg.sh | 26 + dhclient/.gitignore | 1 + dhclient/Makefile | 32 + dhclient/dhclient.8 | 165 +++ dhclient/dhclient.c | 1602 +++++++++++++++++++++++++++++ dhclient/dhclient.conf.5 | 183 ++++ dnsconfig/dnsconfig.8 | 4 + ifconfig/ifconfig.8 | 15 + libc/sys/dnsconfig/getdnsconfig.2 | 1 + share/init/dhclient | 2 + share/init/network | 1 + share/man/man4/if.4 | 1 + share/man/man5/init.5 | 25 + share/man/man7/installation.7 | 26 +- share/man/man7/release-iso-bootconfig.7 | 5 + share/man/man7/release-iso-modification.7 | 13 +- share/man/man7/upgrade.7 | 3 +- tix/tix-iso-bootconfig | 4 + tix/tix-iso-bootconfig.8 | 28 + 20 files changed, 2135 insertions(+), 3 deletions(-) commit edc4d5ed18ef0d13a66f1a71274c5902bcbbf49b Author: Jonas 'Sortie' Termansen Date: Sun Feb 12 17:17:49 2023 +0100 Fix tix-port patch generation in different working directory. tix/tix-port | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 28cff2f185f23ce7b811909cf8996d1e13c01716 Author: Jonas 'Sortie' Termansen Date: Thu Feb 9 18:48:43 2023 +0100 Fix listen(2) failing if called twice. kernel/net/tcp.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 384218d78768be40fbdff47924097b7d69ca6891 Author: Jonas 'Sortie' Termansen Date: Tue Jan 17 22:35:14 2023 +0100 Fix the the. ext/filesystem.cpp | 2 +- kernel/net/em/em.cpp | 2 +- kernel/net/ip.cpp | 2 +- kernel/pipe.cpp | 2 +- share/man/man4/arp.4 | 2 +- share/man/man4/if.4 | 2 +- share/man/man4/inet.4 | 2 +- share/man/man5/init.5 | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) commit c839ad3ea369d34eb36fed91f8de935b7523638d Author: Jonas 'Sortie' Termansen Date: Mon Jan 16 22:05:16 2023 +0100 Fix TEST-NET-3 documentation. share/man/man4/inet.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2edaf130fab557d63cb8b2f8d22360afe8afe93d Author: Jonas 'Sortie' Termansen Date: Fri Jun 30 23:10:49 2017 +0200 Add ifconfig(8). Co-authored-by: Juhani Krekelä Makefile | 1 + dnsconfig/dnsconfig.8 | 3 +- ifconfig/.gitignore | 1 + ifconfig/Makefile | 29 +++ ifconfig/ifconfig.8 | 218 +++++++++++++++++++ ifconfig/ifconfig.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++++ share/man/man4/if.4 | 3 +- share/man/man4/lo.4 | 3 +- 8 files changed, 848 insertions(+), 3 deletions(-) commit 3da0728fd5b4783f048cc9a9a326c8c309197a6a Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 13:38:33 2022 +0200 Add network interface support to init(8). init/init.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++-- share/init/base | 1 + share/init/network | 0 share/man/man5/init.5 | 24 ++++++++++++++++++++++- 4 files changed, 75 insertions(+), 3 deletions(-) commit 08ddcc89b8fd23b83e40d48967bdaa1b0de5da3f Author: Jonas 'Sortie' Termansen Date: Tue Jul 26 22:47:25 2016 +0200 Add domain name system support to getaddrinfo(3). libc/netdb/getaddrinfo.c | 729 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 709 insertions(+), 20 deletions(-) commit 580b71ae890adb7840a184fbc4a676cf1ad19465 Author: Jonas 'Sortie' Termansen Date: Sat Dec 31 23:13:32 2016 +0100 Add getifaddrs(3) and freeifaddrs(3). libc/Makefile | 2 + libc/ifaddrs/freeifaddrs.c | 31 ++++++++++++ libc/ifaddrs/getifaddrs.c | 114 +++++++++++++++++++++++++++++++++++++++++++++ libc/include/ifaddrs.h | 59 +++++++++++++++++++++++ share/man/man4/if.4 | 1 + 5 files changed, 207 insertions(+) commit f29105446583ff036956b92088804fba384b7453 Author: Jonas 'Sortie' Termansen Date: Mon Jan 9 23:57:52 2023 +0100 Add em(4) driver. Co-authored-by: Meisaka Yukara kernel/Makefile | 1 + kernel/kernel.cpp | 9 + kernel/net/em/em.cpp | 1036 +++++++++++++++++++++++++++++++++++++++++++ kernel/net/em/em.h | 35 ++ kernel/net/em/emregs.h | 653 +++++++++++++++++++++++++++ share/man/man4/em.4 | 26 ++ share/man/man7/kernel.7 | 10 + share/man/man7/user-guide.7 | 8 +- 8 files changed, 1777 insertions(+), 1 deletion(-) commit cbf0c1dc97ed529a0a38e64bfd18ba4c3f6e2600 Author: Jonas 'Sortie' Termansen Date: Tue Jan 3 23:46:47 2023 +0100 Fix endian swapping classes reading volatile values twice. libc/include/__/endian.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 399711665687cfbba14ae52422b92ffba54146a0 Author: Jonas 'Sortie' Termansen Date: Mon Jul 25 23:43:09 2016 +0200 Add if_nameindex(3). libc/Makefile | 4 ++ libc/include/net/if.h | 19 +++++++ libc/net/if/if_freenameindex.c | 28 ++++++++++ libc/net/if/if_indextoname.c | 42 +++++++++++++++ libc/net/if/if_nameindex.c | 119 +++++++++++++++++++++++++++++++++++++++++ libc/net/if/if_nametoindex.c | 43 +++++++++++++++ share/man/man4/if.4 | 1 + 7 files changed, 256 insertions(+) commit 2ef6804eadae81a64a363af747b55bb1d3922440 Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 00:34:54 2022 +0100 Add networking stack. This change adds all the kernel parts of a network stack. The network stack is partial but implements many of the important parts. Add if(4) network interface abstraction. Network interfaces are registered in a global list that can be iterated and each assigned an unique integer identifier. Add reference counted packets with a cache that recycles recent packets. Add support for lo(4) loopback and ether(4) ethernet network interfaces. The /dev/lo0 loopback device is created automatically on boot. Add arp(4) address resolution protocol driver for translation of inet(4) network layer addresses into ether(4) link layer addresses. arp(4) entries are cached and evicted from the cache when needed or when the entry has not been used for a while. The cache is limited to 256 entries for now. Add ip(4) internet protocol version 4 support. IP fragmentation and options are not implemented yet. Add tcp(4) transmission control protocol sockets for a reliable transport layer protocol that provides a reliable byte stream connection between two hosts. The implementation is incomplete and does not yet implement out of band data, options, and high performance extensions. Add udp(4) user datagram protocol sockets for a connectionless transport layer that provides best-effort delivery of datagrams. Add ping(4) sockets for a best-effort delivery of echo datagrams. Change type of sa_family_t from unsigned short to uint16_t. Add --disable-network-drivers to the kernel(7) options and expose it with a bootloader menu. tix-iso-bootconfig can set this option by default. Import CRC32 code from libz for the Ethernet checksum. This is a compatible ABI change that adds features to socket(2) (AF_INET, IPPROTO_TCP, IPPROTO_UDP, IPPROTO_PING), the ioctls for if(4), socket options, and the lo0 loopback interface. This commit is based on work by Meisaka Yukara contributed as the commit bbf7f1e8a5238a2bd1fe8eb1d2cc5c9c2421e2c4. Almost no lines of this work remains in this final commit as it has been rewritten or refactored away over the years, see the individual file headers for which files contain remnants of this work. Co-authored-by: Meisaka Yukara Makefile | 2 +- README | 4 +- build-aux/iso-grub-cfg.sh | 16 +- dnsconfig/dnsconfig.8 | 3 +- kernel/Makefile | 10 + kernel/crc32.cpp | 499 +++++ kernel/descriptor.cpp | 6 +- kernel/include/sortix/ioctl.h | 20 +- kernel/include/sortix/kernel/crc32.h | 32 + kernel/include/sortix/kernel/if.h | 70 + kernel/include/sortix/kernel/memorymanagement.h | 1 + kernel/include/sortix/kernel/packet.h | 55 + kernel/include/sortix/socket.h | 13 +- kernel/kernel.cpp | 26 + kernel/net/arp.cpp | 740 +++++++ kernel/net/arp.h | 53 + kernel/net/ether.cpp | 139 ++ kernel/net/ether.h | 46 + kernel/net/if.cpp | 237 +++ kernel/net/ip.cpp | 453 ++++ kernel/net/ip.h | 55 + kernel/net/lo/lo.cpp | 154 ++ kernel/net/lo/lo.h | 33 + kernel/net/packet.cpp | 104 + kernel/net/ping.cpp | 1271 +++++++++++ kernel/net/ping.h | 41 + kernel/net/socket.cpp | 4 +- kernel/net/tcp.cpp | 2570 +++++++++++++++++++++++ kernel/net/tcp.h | 41 + kernel/net/udp.cpp | 1263 +++++++++++ kernel/net/udp.h | 41 + libc/Makefile | 1 + libc/include/net/if.h | 77 + libc/include/netinet/if_ether.h | 71 + libc/include/netinet/in.h | 44 +- libc/include/netinet/ping.h | 27 + libc/include/netinet/tcp.h | 65 +- libc/include/netinet/udp.h | 35 + libc/include/sys/socket.h | 30 +- libc/include/sys/un.h | 6 +- libc/netinet/if_ether/etheraddr_broadcast.c | 22 + libc/sys/dnsconfig/getdnsconfig.2 | 2 + share/man/man4/arp.4 | 103 + share/man/man4/ether.4 | 173 ++ share/man/man4/icmp.4 | 35 + share/man/man4/if.4 | 377 ++++ share/man/man4/inet.4 | 214 ++ share/man/man4/ip.4 | 135 ++ share/man/man4/lo.4 | 36 + share/man/man4/ping.4 | 537 +++++ share/man/man4/tcp.4 | 382 ++++ share/man/man4/udp.4 | 699 ++++++ share/man/man7/development.7 | 20 +- share/man/man7/following-development.7 | 12 + share/man/man7/installation.7 | 67 +- share/man/man7/kernel.7 | 8 + share/man/man7/release-iso-bootconfig.7 | 10 + share/man/man7/release-iso-modification.7 | 9 +- share/man/man7/upgrade.7 | 2 +- share/man/man7/user-guide.7 | 11 +- sysinstall/sysinstall.c | 2 + tix/tix-iso-bootconfig | 4 + tix/tix-iso-bootconfig.8 | 25 + 63 files changed, 11173 insertions(+), 70 deletions(-) commit 3154492dcf5e8176dff3df2b9caa2c50f898022d Author: Jonas 'Sortie' Termansen Date: Sat Dec 10 13:08:42 2022 +0100 Fix deadlocks and lost wakeups in threading primitives. The futex and kutex implementations used the same linked list for waiting, however the futex implementation used kutexs and the same thread could be in the same list twice in the case of contention. This case corrupted the wait lists and led to deadlocks and lost wakeups. This change fixes the problem by having separate data structures for futexes and kutexes. Mutexes contended by multiple threads could lead to lost wakeups since only one contended thread was awoken and subsequent unlocks are unaware of the unawakened contended threads. This change fixes the problem with a temporary solution of waking all the contended threads until a better design is implemented. Additional details are tweaked to be more reliable and simpler. kernel/include/sortix/kernel/thread.h | 6 ++ kernel/kthread.cpp | 111 ++++++++++++++++++++-------------- kernel/scheduler.cpp | 40 ++++++------ kernel/thread.cpp | 4 ++ libc/pthread/pthread_mutex_unlock.c | 10 ++- 5 files changed, 106 insertions(+), 65 deletions(-) commit 006145d335e51c41e68221c162c28c495889b181 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 22:10:09 2022 +0100 Add EHOSTDOWN. libc/include/errno.h | 3 ++- libc/string/strerror.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) commit c3a3ff86ec8e948f930dd76e8005abe1e114bf39 Author: Jonas 'Sortie' Termansen Date: Sat Dec 3 23:22:06 2022 +0100 Add -p option to time(1). utils/time.c | 54 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 14 deletions(-) commit cbf16b489169e157a2a9e819054e85bd8530568c Author: Jonas 'Sortie' Termansen Date: Sat Dec 3 21:48:34 2022 +0100 Fix absolute timers triggering in the wrong order. kernel/clock.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) commit 68a278ddb3c6ac74d84c4e671ac9ea970543f98f Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 12:31:55 2022 +0100 Fix pty write and read logic. kernel/pty.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 2ace33176c49c31142147b5430ee2e1bd9284bf7 Author: Jonas 'Sortie' Termansen Date: Sun Nov 6 02:30:45 2022 +0100 Add sh(1) prompt variable expansion. sh/sh.1 | 4 ++ sh/sh.c | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 157 insertions(+), 36 deletions(-) commit 159415c3b1fb9c355abe08e217b99fd17726fd80 Author: Jonas 'Sortie' Termansen Date: Sun Nov 6 00:57:22 2022 +0100 Implement profile(5) and shrc(5) in sh(1). login/login.c | 8 +++-- sh/Makefile | 2 ++ sh/profile.5 | 59 ++++++++++++++++++++++++++++++++++++ sh/proper-sh.c | 1 + sh/sh.1 | 30 +++++++++++++++++-- sh/sh.c | 75 ++++++++++++++++++++++++++++++++++++++-------- sh/shrc.5 | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ share/init/single-user | 2 +- 8 files changed, 240 insertions(+), 18 deletions(-) commit c6af3bc07411ae6cbfb8d386d6a58eb107b6c140 Author: Jonas 'Sortie' Termansen Date: Sun Nov 6 00:25:46 2022 +0100 Add sh(1) history builtin. sh/sh.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 3c69791078db3995e86ae105d58d7490e89dfcf2 Author: Jonas 'Sortie' Termansen Date: Sun Nov 6 00:06:05 2022 +0100 Save sh(1) history in ~/.sh_history. sh/editline.c | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- sh/editline.h | 5 +- sh/sh.1 | 14 ++++- sh/sh.c | 63 +++++++++++++++++------ 4 files changed, 224 insertions(+), 18 deletions(-) commit f4152b3863cc18b85e5244cfcae18960d7d1a0ba Author: Jonas 'Sortie' Termansen Date: Wed Nov 16 21:02:30 2022 +0100 Document sh(1). sh/Makefile | 5 +++ sh/proper-sh.5 | 49 ++++++++++++++++++++++++++ sh/sh.1 | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+) commit 6bab3819e2b42e0109ca969af529e87227322635 Author: Jonas 'Sortie' Termansen Date: Wed Nov 16 20:41:06 2022 +0100 Replace /etc/proper-shells with /etc/proper-sh defaulting to dash. ports/dash/dash.patch | 13 ----- sh/proper-sh.c | 150 ++++++++++++++++++++------------------------------ sh/sh.c | 3 + 3 files changed, 63 insertions(+), 103 deletions(-) commit 212539c9deaa7ce8d110fd59c909b4f0086d534d Author: Juhani Krekelä Date: Wed Aug 3 22:21:09 2022 +0300 Update to dash-0.5.11.5. ports/dash/dash.patch | 102 ++++++++++++++++++++++++++++++++++++-------------- ports/dash/dash.port | 6 ++- 2 files changed, 77 insertions(+), 31 deletions(-) commit cc9c031e5e3ba04580a240ba1f28b971f6229758 Author: Juhani Krekelä Date: Tue Nov 1 18:37:15 2022 +0200 Update to libressl-3.6.1. ports/libssl/libssl.patch | 16 ++++++++-------- ports/libssl/libssl.port | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) commit a8c05711aaab92a062ca7d539e44e2025d2648c1 Author: Jonas 'Sortie' Termansen Date: Mon Oct 31 22:45:20 2022 +0100 Switch bga(4) to the new PCI API. kernel/gpu/bga/bga.cpp | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) commit aefec2f7cd98685116ff0949bf3417b36f107195 Author: Jonas 'Sortie' Termansen Date: Mon Oct 31 23:34:05 2022 +0100 Don't warn on read-only /var/log filesystem. init/init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 07dd21146b6eabca706da85deae7ed8f3c28d68e Author: Jonas 'Sortie' Termansen Date: Sat Nov 5 20:37:16 2022 +0100 Fix sh(1) changing foreground group when non-interactive. sh/sh.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) commit 0f348c192ba6c32f9c956bcfd9f8c49104b163c9 Author: Jonas 'Sortie' Termansen Date: Sun Oct 23 14:36:23 2022 +0200 Fix sethostname(2) nul termination. kernel/hostname.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b1b9fdc2d817ea4b2161078a5289b7b0d7e56d54 Author: Jonas 'Sortie' Termansen Date: Fri Oct 21 22:50:58 2022 +0200 Fix READYFD example in daemon(7). share/man/man7/daemon.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 64e23ccb2295bec141b2f8f465ef1920ecb10ff5 Author: Jonas 'Sortie' Termansen Date: Fri Oct 21 21:05:31 2022 +0200 Fix init(5) example saying a non-virtual daemon is virtual. share/man/man5/init.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 71edc766e750589df37d6c3c8a669cbb584b039e Author: Jonas 'Sortie' Termansen Date: Sat Dec 11 03:28:32 2021 +0100 Add halt(8), poweroff(8), and reboot(8). init/init.8 | 12 ++++++++--- login/graphical.c | 2 ++ login/login.8 | 2 ++ login/login.c | 2 ++ share/man/man7/installation.7 | 16 ++++++++++---- share/man/man7/user-guide.7 | 21 +++++++++--------- sysinstall/sysinstall.c | 20 +++++++++++------ sysinstall/sysupgrade.c | 13 +++++++---- utils/.gitignore | 5 ++++- utils/Makefile | 6 ++++++ utils/command-not-found.c | 46 ++------------------------------------- utils/halt.8 | 20 +++++++++++++++++ utils/halt.c | 50 +++++++++++++++++++++++++++++++++++++++++++ utils/poweroff.8 | 20 +++++++++++++++++ utils/poweroff.c | 50 +++++++++++++++++++++++++++++++++++++++++++ utils/reboot.8 | 20 +++++++++++++++++ utils/reboot.c | 50 +++++++++++++++++++++++++++++++++++++++++++ 17 files changed, 281 insertions(+), 74 deletions(-) commit f2d50bbf9c92a4373cf2ab7c9447ec7b6ba2c59b Author: Jonas 'Sortie' Termansen Date: Sun Sep 25 01:35:08 2022 +0200 Add daemon support to init(8). This change implements a dependency tracking daemon(7) system in init with overridable init(5) configuration, parallel startup, readiness signaling, rotating logs, reliable stopping, and handling of leaked processes. The /etc/init/target file is replaced by the new /etc/init/default per the new init(5) format. The old configuration is migrated upon upgrade using an upgrade hook. extfs(8) now signals readiness using READYFD for fast mounting. Filesystems that fail to be repaired are now mounted read-only. The mounting and filesystem checking code is synchronized with sysinstall. The duplicated array_add utility function now protects against overflows. tix-iso-bootconfig(8) gains the --init-target option. tix-iso-liveconfig(8) gains the --daemons option. Makefile | 2 +- ext/fsmarshall.cpp | 14 + init/init.8 | 256 ++- init/init.c | 3372 +++++++++++++++++++++++++++----- libmount/util.h | 15 +- sh/util.c | 15 +- share/init/base | 1 + share/init/local | 0 share/init/multi-user | 8 + share/init/no-user | 2 + share/init/single-user | 9 + share/init/sysinstall | 8 + share/init/sysupgrade | 8 + share/init/time | 0 share/man/man5/init.5 | 587 ++++++ share/man/man7/daemon.7 | 113 ++ share/man/man7/following-development.7 | 15 + share/man/man7/portability.7 | 4 +- share/sysinstall/hooks/sortix-1.1-init | 0 sysinstall/Makefile | 1 + sysinstall/devices.c | 155 +- sysinstall/hooks.c | 39 + sysinstall/sysinstall.c | 3 +- tix/tix-iso-bootconfig | 10 + tix/tix-iso-bootconfig.8 | 18 + tix/tix-iso-liveconfig | 14 +- tix/tix-iso-liveconfig.8 | 10 + update-initrd/update-initrd | 8 +- 28 files changed, 3993 insertions(+), 694 deletions(-) commit 875030f3f3190aefbea5ef76f6d9ab290ac4f7c1 Author: Jonas 'Sortie' Termansen Date: Sun Sep 18 21:53:54 2022 +0200 Add session(5). login/login.8 | 22 ++++++++++++++++++--- login/login.c | 6 +++++- share/man/man5/session.5 | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 4 deletions(-) commit 050ba71ca0edb79d8e002f85e6abd0424bcfdd15 Author: Jonas 'Sortie' Termansen Date: Sat Sep 17 14:15:16 2022 +0200 Fix utime(3) not handling times being NULL. libc/utime/utime.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 0e119b848014540e4fe99f15de8604446e1af137 Author: Jonas 'Sortie' Termansen Date: Sun Sep 11 17:30:42 2022 +0200 Fix bad example for picking basic ports in release-iso-modification(7). share/man/man7/release-iso-modification.7 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit 6f2fef40901211a71e2758e90a1a0efd1a9c912e Author: Juhani Krekelä Date: Sun Jul 10 01:20:17 2022 +0300 Update to nano-6.3. ports/nano/nano.patch | 237 +++++++++++++++++++++++------------------------- ports/nano/nano.port | 5 +- ports/nano/nano.rmpatch | 3 +- 3 files changed, 116 insertions(+), 129 deletions(-) commit 55df3bbd7b3828900c7302ac42829014e33fb28c Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 21:33:13 2022 +0200 Add default git origin remote. Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit cabfa4e4f7ec5c698d7d4f9d9928ba612082fe47 Author: Jonas 'Sortie' Termansen Date: Fri Aug 5 00:25:53 2022 +0200 Document /etc/default and /etc/examples. share/man/man7/hier.7 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit add59b27da78b76c7eee0930bee5098da779a1a0 Author: Jonas 'Sortie' Termansen Date: Tue Aug 23 22:32:22 2022 +0200 Fix extfs(8) read-only compat mode. ext/extfs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8789069f7e37718404d11170f4213d3d2bf37a44 Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 23:00:11 2022 +0200 Fix invalid port LICENSE values. ports/ffmpeg/ffmpeg.port | 2 +- ports/gettext/gettext.port | 2 +- ports/libavcodec/libavcodec.port | 2 +- ports/libtextstyle/libtextstyle.port | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 14841fb43cc67862952b189fde800acf4c9a4e97 Author: Jonas 'Sortie' Termansen Date: Mon Jul 11 12:43:42 2022 +0200 Fix libevent requiring . ports/libevent/libevent.patch | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) commit 154f5b5cce0a5f52d74ba613470f08d63484f08e Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 16:39:24 2022 +0200 Add license information for libSDL, libjpeg, libtheora. ports/libSDL/libSDL.port | 1 + ports/libjpeg/libjpeg.port | 1 + ports/libtheora/libtheora.port | 1 + 3 files changed, 3 insertions(+) commit 5aecdea33dc8fa2da1fa922a9ee5fc98d1090e5c Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 23:34:10 2022 +0200 Update to ffmpeg-5.0.1. ports/ffmpeg/ffmpeg.patch | 34 ++++++++++--------- ports/ffmpeg/ffmpeg.port | 5 +-- ports/libavcodec/libavcodec.port | 1 + ports/video-player/video-player.patch | 63 +++++++++++++++-------------------- 4 files changed, 48 insertions(+), 55 deletions(-) commit 68a444c85e6539dfce93f41ac853db84d7b73b68 Author: Juhani Krekelä Date: Sat Jul 9 18:52:53 2022 +0300 Update to cairo-1.16.0. ports/libcairo/libcairo.patch | 80 +---------------------------------------- ports/libcairo/libcairo.port | 5 +-- ports/libcairo/libcairo.rmpatch | 44 +---------------------- 3 files changed, 5 insertions(+), 124 deletions(-) commit 1e742f920624e80a9100698ce700c2695353669a Author: Juhani Krekelä Date: Wed Jul 6 23:54:19 2022 +0300 Update to glib-2.56.4. ports/libglib/libglib.patch | 152 +++------ ports/libglib/libglib.port | 16 +- ports/libglib/libglib.rmpatch | 754 +++++++++++------------------------------- 3 files changed, 248 insertions(+), 674 deletions(-) commit 33032d624c6708d5ea6305f46731c59698a0a5ed Author: Jonas 'Sortie' Termansen Date: Fri Jul 8 23:33:28 2022 +0200 Update to curl-7.84.0. ports/libcurl/libcurl.patch | 47 +++++++++++++++++-------------------------- ports/libcurl/libcurl.port | 9 +++++---- ports/libcurl/libcurl.rmpatch | 1 + 3 files changed, 24 insertions(+), 33 deletions(-) commit 6b7d733ea3827b0babeacd77f7dbefebfc56a86b Author: Jonas 'Sortie' Termansen Date: Fri Jul 8 22:47:53 2022 +0200 Update to libxkbcommon-0.8.4. ports/libxkbcommon/libxkbcommon.patch | 40 ----------------------------------- ports/libxkbcommon/libxkbcommon.port | 6 ++++-- 2 files changed, 4 insertions(+), 42 deletions(-) commit bfa2dc437a30834c3816d91ee3f15a65e022d7fe Author: Jonas 'Sortie' Termansen Date: Fri Jul 8 22:10:02 2022 +0200 Update to pixman-0.40.0. ports/libpixman/libpixman.patch | 12 ------------ ports/libpixman/libpixman.port | 5 +++-- 2 files changed, 3 insertions(+), 14 deletions(-) commit 6d9e1383adbe860d3a8fc5569263bcfdd90a04ce Author: Jonas 'Sortie' Termansen Date: Fri Jul 8 01:20:17 2022 +0200 Update to libvorbis-1.3.7. ports/libvorbis/libvorbis.patch | 12 ------------ ports/libvorbis/libvorbis.port | 5 +++-- 2 files changed, 3 insertions(+), 14 deletions(-) commit 9149b99951b5ebac11671188531c34381bad377f Author: Jonas 'Sortie' Termansen Date: Fri Jul 8 00:43:16 2022 +0200 Update to libogg-1.3.5. ports/libogg/libogg.patch | 33 --------------------------------- ports/libogg/libogg.port | 5 +++-- 2 files changed, 3 insertions(+), 35 deletions(-) commit 969a4da5b61b9795398d3a227d0bbe8ce9e6d793 Author: Juhani Krekelä Date: Wed Jul 6 23:28:43 2022 +0300 Update to pcre-8.45. ports/libpcre/libpcre.patch | 104 +++----------------------------------------- ports/libpcre/libpcre.port | 7 +-- 2 files changed, 9 insertions(+), 102 deletions(-) commit 5e8186a8b07a4d0a3ad871035a41eac5111ab40b Author: Jonas 'Sortie' Termansen Date: Wed Jul 6 22:26:34 2022 +0200 Update to fontconfig-2.14.0. ports/libfontconfig/libfontconfig.patch | 485 ++++++++++++++++++++++++------ ports/libfontconfig/libfontconfig.port | 9 +- ports/libfontconfig/libfontconfig.rmpatch | 2 +- 3 files changed, 402 insertions(+), 94 deletions(-) commit e4c8d42b7c117ca6ae19dd1e623eb8606c78b38f Author: Juhani Krekelä Date: Wed Jul 6 18:17:28 2022 +0300 Update to dbus-1.14.0. libc/include/sys/cdefs.h | 9 ++ ports/libdbus/libdbus.patch | 265 ++++++++++++++++++++---------------------- ports/libdbus/libdbus.port | 11 +- ports/libdbus/libdbus.rmpatch | 2 + 4 files changed, 146 insertions(+), 141 deletions(-) commit 37be665d4defb2ed1950d08334169ed91939d223 Author: Juhani Krekelä Date: Wed Jul 6 16:13:01 2022 +0300 Update to mpc-1.2.1. ports/libmpc/libmpc.patch | 12 ------------ ports/libmpc/libmpc.port | 5 +++-- 2 files changed, 3 insertions(+), 14 deletions(-) commit 9a8275b5db10d20ae80779eb2842b00f07e9717e Author: Juhani Krekelä Date: Wed Jul 6 16:02:35 2022 +0300 Update to mpfr-4.1.0. ports/libmpfr/libmpfr.patch | 12 ------------ ports/libmpfr/libmpfr.port | 5 +++-- 2 files changed, 3 insertions(+), 14 deletions(-) commit 8cb8e5ede09e816339015424b76f2159b5155ac9 Author: Juhani Krekelä Date: Wed Jul 6 15:35:10 2022 +0300 Update to gmp-6.2.1. ports/libgmp/libgmp.patch | 51 +---------------------------------------------- ports/libgmp/libgmp.port | 7 +++---- 2 files changed, 4 insertions(+), 54 deletions(-) commit 0b5a9512ca7f1ee414e68fa2d7b723637ba806bf Author: Jonas 'Sortie' Termansen Date: Wed Jul 6 00:43:35 2022 +0200 Update to freetype-2.12.1. ports/libfreetype/libfreetype.patch | 307 ++-------------------------------- ports/libfreetype/libfreetype.port | 9 +- ports/libfreetype/libfreetype.rmpatch | 49 +----- 3 files changed, 17 insertions(+), 348 deletions(-) commit 7457cf2357f8b320d72249a402db003ebd0aeccb Author: Jonas 'Sortie' Termansen Date: Wed Jul 6 00:12:30 2022 +0200 Update to libpng-1.6.37. ports/libpng/libpng.patch | 92 +++++++++++++++++++++++++++++------------------ ports/libpng/libpng.port | 7 ++-- 2 files changed, 61 insertions(+), 38 deletions(-) commit 158a82493c425effd0b97ca46b0ae1e4b3fabf30 Author: Juhani Krekelä Date: Mon Jun 20 02:41:25 2022 +0300 Update to libidn-1.41. ports/libidn/libidn.patch | 163 +------------------------------------------- ports/libidn/libidn.port | 5 +- ports/libidn/libidn.rmpatch | 33 ++------- 3 files changed, 13 insertions(+), 188 deletions(-) commit 795ef0529d0dd668e646f7c4a9c7bad4dbca7f51 Author: Jonas 'Sortie' Termansen Date: Mon Jun 20 00:44:29 2022 +0200 Update to libffi-3.3. ports/libffi/libffi.patch | 42 +++--------------------------------------- ports/libffi/libffi.port | 6 ++++-- 2 files changed, 7 insertions(+), 41 deletions(-) commit 31d8c5d828ad0d67be5ec5f904d61d4bf459ae97 Author: Jonas 'Sortie' Termansen Date: Sun Jun 19 23:59:08 2022 +0200 Update to expat-2.4.8. ports/libexpat/libexpat.patch | 45 ----------------------------------------- ports/libexpat/libexpat.port | 9 +++++---- ports/libexpat/libexpat.rmpatch | 2 ++ 3 files changed, 7 insertions(+), 49 deletions(-) commit 579b4941707e48cb0df3c8a054cdab8bd2b15de0 Author: Jonas 'Sortie' Termansen Date: Sun Jun 19 23:17:35 2022 +0200 Update to sortix-libstdc++-1.1-rc3. ports/libstdc++/libstdc++.port | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 4bc22cc169e2a51715b38e0a4617f2c2834b1607 Author: Jonas 'Sortie' Termansen Date: Sun Jun 19 22:37:16 2022 +0200 Update to bzip2-1.0.8. ports/bzip2/bzip2.execpatch | 1 - ports/bzip2/bzip2.patch | 86 +++++++++++++++++++------------------- ports/bzip2/bzip2.port | 10 ++--- ports/libbz2/libbz2.port | 7 ++++ ports/libcairo/libcairo.port | 2 +- ports/libfreetype/libfreetype.port | 2 +- ports/libpcre/libpcre.port | 2 +- ports/python/python.port | 2 +- ports/qemu/qemu.port | 2 +- ports/xorriso/xorriso.port | 2 +- 10 files changed, 62 insertions(+), 54 deletions(-) commit 347f637d13cea10fed39b558ca0ac4cade2165a1 Author: Juhani Krekelä Date: Fri Jun 10 00:51:23 2022 +0300 Update to readline-8.1.2. ports/libreadline/libreadline.patch | 203 ++---------------------------------- ports/libreadline/libreadline.port | 5 +- 2 files changed, 9 insertions(+), 199 deletions(-) commit dbd97a1300ce3fd74370865eaa98467e195ee569 Author: Juhani Krekelä Date: Tue Jun 14 20:32:17 2022 +0300 Update to netbsd-curses-0.3.2. ports/libcurses/libcurses.patch | 244 +++++++++++++++++++--------------------- ports/libcurses/libcurses.port | 8 +- 2 files changed, 117 insertions(+), 135 deletions(-) commit 15a2d6d3f1c5c116b8221bf8e2d4c47c13c54219 Author: Juhani Krekelä Date: Tue Jun 14 01:01:39 2022 +0300 Update to libressl-3.5.3. ports/libssl/libssl.patch | 244 +++------------------------------------------- ports/libssl/libssl.port | 5 +- 2 files changed, 14 insertions(+), 235 deletions(-) commit 59baae95c976b104fb39db7711069356cd3f2ccc Author: Juhani Krekelä Date: Tue Jun 14 01:08:24 2022 +0300 Update to libevent-2.1.12-stable. ports/libevent/libevent.patch | 155 +++++++++------------------------------- ports/libevent/libevent.port | 8 ++- ports/libevent/libevent.rmpatch | 2 + 3 files changed, 40 insertions(+), 125 deletions(-) commit 4c8799fa734acd4a236d5e20c85fd007b05f5e76 Author: Jonas 'Sortie' Termansen Date: Tue Jun 14 19:42:33 2022 +0200 Update to libxml2-2.9.14. ports/libxml2/libxml2.patch | 193 ++++++++---------------------------------- ports/libxml2/libxml2.port | 17 ++-- ports/libxml2/libxml2.rmpatch | 1 + 3 files changed, 47 insertions(+), 164 deletions(-) commit 51677c38b3a604fda472437635c3af472c540b6b Author: Jonas 'Sortie' Termansen Date: Tue Jun 14 19:41:50 2022 +0200 Update to xz-5.2.5. ports/ag/ag.port | 2 +- ports/grub/grub.port | 2 +- ports/libavcodec/libavcodec.port | 2 +- ports/libglib/libglib.port | 2 +- ports/liblzma/liblzma.port | 6 ++++++ ports/python/python.port | 2 +- ports/xz/xz.patch | 20 ++++---------------- ports/xz/xz.port | 8 ++++---- ports/xz/xz.post-install | 4 ++++ 9 files changed, 23 insertions(+), 25 deletions(-) commit 671d1219a4b62e93dde73c13c5429aec22d5e0a3 Author: Jonas 'Sortie' Termansen Date: Tue Jun 14 19:43:03 2022 +0200 Update to gettext-0.21. ports/binutils/binutils.port | 2 +- ports/e2fsprogs/e2fsprogs.port | 2 +- ports/flex/flex.port | 2 +- ports/gettext/gettext.patch | 181 ++++++++++------------------------- ports/gettext/gettext.port | 8 +- ports/grep/grep.port | 2 +- ports/grub/grub.port | 2 +- ports/hello/hello.port | 2 +- ports/libglib/libglib.port | 2 +- ports/libidn/libidn.port | 2 +- ports/libintl/libintl.port | 4 +- ports/libtextstyle/libtextstyle.port | 9 ++ ports/m4/m4.port | 2 +- ports/nano/nano.port | 2 +- ports/tar/tar.port | 2 +- ports/xz/xz.port | 2 +- 16 files changed, 81 insertions(+), 145 deletions(-) commit 4addab6e30112100b80ded98f6151f93124cf390 Author: Jonas 'Sortie' Termansen Date: Mon Jun 13 22:58:44 2022 +0200 Update to libiconv-1.17. ports/libiconv/libiconv.port | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 23b3271fca59b9c3d84728790b54a0ad5844c941 Author: Jonas 'Sortie' Termansen Date: Sat Jul 17 17:43:12 2021 +0200 Release HTML manual pages. Add python3 to the basic set of ports in order to build releases. Makefile | 8 +- build-aux/footer.html | 3 + build-aux/header.html | 9 + build-aux/manhtml.sh | 398 +++++++++++++++++++++++++++++++++++++ build-aux/ports.conf | 2 +- share/man/man7/cross-development.7 | 2 + 6 files changed, 419 insertions(+), 3 deletions(-) commit 2e5148154920b331edb707a1a889a1771de1dbf7 Author: Jonas 'Sortie' Termansen Date: Sun Jul 10 23:04:16 2022 +0200 Fix missing BUILD_LIBRARIES in libavcodec and liblua. ports/libavcodec/libavcodec.port | 1 + ports/liblua/liblua.port | 1 + 2 files changed, 2 insertions(+) commit 611dc22e7399d6343d6d6d8a619cc0fc73b366e8 Author: Jonas 'Sortie' Termansen Date: Fri Jul 8 01:08:48 2022 +0200 Standardize header include guards. This change makes all the standard library and kernel headers use header guards with a consistent scheme within the reserved namespace to avoid conflicts with non-standard-library-implementation code. kernel/include/sortix/__/dirent.h | 4 ++-- kernel/include/sortix/__/sigset.h | 4 ++-- kernel/include/sortix/__/types.h | 4 ++-- kernel/include/sortix/__/wait.h | 4 ++-- kernel/include/sortix/clock.h | 4 ++-- kernel/include/sortix/dirent.h | 4 ++-- kernel/include/sortix/display.h | 4 ++-- kernel/include/sortix/exit.h | 4 ++-- kernel/include/sortix/fcntl.h | 4 ++-- kernel/include/sortix/fork.h | 4 ++-- kernel/include/sortix/futex.h | 4 ++-- kernel/include/sortix/initrd.h | 4 ++-- kernel/include/sortix/ioctl.h | 4 ++-- kernel/include/sortix/itimerspec.h | 4 ++-- kernel/include/sortix/kblayout.h | 4 ++-- kernel/include/sortix/kernel/addralloc.h | 4 ++-- kernel/include/sortix/kernel/clock.h | 4 ++-- kernel/include/sortix/kernel/copy.h | 4 ++-- kernel/include/sortix/kernel/cpu.h | 4 ++-- kernel/include/sortix/kernel/cpuid.h | 4 ++-- kernel/include/sortix/kernel/decl.h | 4 ++-- kernel/include/sortix/kernel/descriptor.h | 4 ++-- kernel/include/sortix/kernel/dtable.h | 4 ++-- kernel/include/sortix/kernel/elf.h | 4 ++-- kernel/include/sortix/kernel/fcache.h | 4 ++-- kernel/include/sortix/kernel/fsfunc.h | 4 ++-- kernel/include/sortix/kernel/harddisk.h | 4 ++-- kernel/include/sortix/kernel/inode.h | 4 ++-- kernel/include/sortix/kernel/interlock.h | 4 ++-- kernel/include/sortix/kernel/interrupt.h | 4 ++-- kernel/include/sortix/kernel/ioctx.h | 4 ++-- kernel/include/sortix/kernel/ioport.h | 4 ++-- kernel/include/sortix/kernel/kernel.h | 4 ++-- kernel/include/sortix/kernel/keyboard.h | 4 ++-- kernel/include/sortix/kernel/kthread.h | 4 ++-- kernel/include/sortix/kernel/log.h | 4 ++-- kernel/include/sortix/kernel/memorymanagement.h | 4 ++-- kernel/include/sortix/kernel/mtable.h | 4 ++-- kernel/include/sortix/kernel/panic.h | 4 ++-- kernel/include/sortix/kernel/pat.h | 4 ++-- kernel/include/sortix/kernel/pci-mmio.h | 4 ++-- kernel/include/sortix/kernel/pci.h | 4 ++-- kernel/include/sortix/kernel/pipe.h | 4 ++-- kernel/include/sortix/kernel/poll.h | 4 ++-- kernel/include/sortix/kernel/process.h | 4 ++-- kernel/include/sortix/kernel/ps2.h | 4 ++-- kernel/include/sortix/kernel/ptable.h | 4 ++-- kernel/include/sortix/kernel/random.h | 4 ++-- kernel/include/sortix/kernel/refcount.h | 4 ++-- kernel/include/sortix/kernel/registers.h | 4 ++-- kernel/include/sortix/kernel/scheduler.h | 4 ++-- kernel/include/sortix/kernel/segment.h | 4 ++-- kernel/include/sortix/kernel/signal.h | 4 ++-- kernel/include/sortix/kernel/sockopt.h | 4 ++-- kernel/include/sortix/kernel/sortedlist.h | 4 ++-- kernel/include/sortix/kernel/string.h | 4 ++-- kernel/include/sortix/kernel/syscall.h | 4 ++-- kernel/include/sortix/kernel/textbuffer.h | 4 ++-- kernel/include/sortix/kernel/thread.h | 4 ++-- kernel/include/sortix/kernel/time.h | 4 ++-- kernel/include/sortix/kernel/timer.h | 4 ++-- kernel/include/sortix/kernel/user-timer.h | 4 ++-- kernel/include/sortix/kernel/video.h | 4 ++-- kernel/include/sortix/kernel/vnode.h | 4 ++-- kernel/include/sortix/kernel/worker.h | 4 ++-- kernel/include/sortix/kernel/yielder.h | 4 ++-- kernel/include/sortix/keycodes.h | 4 ++-- kernel/include/sortix/limits.h | 4 ++-- kernel/include/sortix/mman.h | 4 ++-- kernel/include/sortix/mode.h | 4 ++-- kernel/include/sortix/mount.h | 4 ++-- kernel/include/sortix/poll.h | 4 ++-- kernel/include/sortix/ps2mouse.h | 4 ++-- kernel/include/sortix/psctl.h | 4 ++-- kernel/include/sortix/resource.h | 4 ++-- kernel/include/sortix/seek.h | 4 ++-- kernel/include/sortix/sigaction.h | 4 ++-- kernel/include/sortix/sigevent.h | 4 ++-- kernel/include/sortix/siginfo.h | 4 ++-- kernel/include/sortix/signal.h | 4 ++-- kernel/include/sortix/sigprocmask.h | 4 ++-- kernel/include/sortix/sigset.h | 4 ++-- kernel/include/sortix/sigval.h | 4 ++-- kernel/include/sortix/socket.h | 4 ++-- kernel/include/sortix/stack.h | 4 ++-- kernel/include/sortix/stat.h | 4 ++-- kernel/include/sortix/statvfs.h | 4 ++-- kernel/include/sortix/syscall.h | 4 ++-- kernel/include/sortix/tar.h | 4 ++-- kernel/include/sortix/termios.h | 4 ++-- kernel/include/sortix/termmode.h | 4 ++-- kernel/include/sortix/time.h | 4 ++-- kernel/include/sortix/timespec.h | 4 ++-- kernel/include/sortix/tmns.h | 4 ++-- kernel/include/sortix/types.h | 4 ++-- kernel/include/sortix/ucontext.h | 4 ++-- kernel/include/sortix/uio.h | 4 ++-- kernel/include/sortix/unistd.h | 4 ++-- kernel/include/sortix/uthread.h | 4 ++-- kernel/include/sortix/vga.h | 4 ++-- kernel/include/sortix/wait.h | 4 ++-- kernel/include/sortix/winsize.h | 4 ++-- libc/include/DIR.h | 4 ++-- libc/include/FILE.h | 4 ++-- libc/include/__/byteswap.h | 4 ++-- libc/include/__/endian.h | 4 ++-- libc/include/__/limits.h | 4 ++-- libc/include/__/pthread.h | 4 ++-- libc/include/__/stdint.h | 4 ++-- libc/include/__/wchar.h | 4 ++-- libc/include/__/wordsize.h | 4 ++-- libc/include/alloca.h | 4 ++-- libc/include/ar.h | 4 ++-- libc/include/argp.h | 4 ++-- libc/include/arpa/inet.h | 4 ++-- libc/include/assert.h | 4 ++-- libc/include/blf.h | 4 ++-- libc/include/brand.h | 4 ++-- libc/include/byteswap.h | 4 ++-- libc/include/ctype.h | 4 ++-- libc/include/dirent.h | 4 ++-- libc/include/dlfcn.h | 4 ++-- libc/include/elf.h | 4 ++-- libc/include/endian.h | 4 ++-- libc/include/err.h | 4 ++-- libc/include/errno.h | 4 ++-- libc/include/error.h | 4 ++-- libc/include/fcntl.h | 4 ++-- libc/include/features.h | 4 ++-- libc/include/fnmatch.h | 4 ++-- libc/include/fsmarshall-msg.h | 4 ++-- libc/include/fsmarshall.h | 4 ++-- libc/include/fstab.h | 4 ++-- libc/include/getopt.h | 4 ++-- libc/include/grp.h | 4 ++-- libc/include/inttypes.h | 4 ++-- libc/include/ioleast.h | 4 ++-- libc/include/langinfo.h | 4 ++-- libc/include/libgen.h | 4 ++-- libc/include/libk.h | 4 ++-- libc/include/locale.h | 4 ++-- libc/include/malloc.h | 4 ++-- libc/include/msr.h | 4 ++-- libc/include/netdb.h | 4 ++-- libc/include/netinet/in.h | 4 ++-- libc/include/netinet/tcp.h | 4 ++-- libc/include/poll.h | 4 ++-- libc/include/psctl.h | 4 ++-- libc/include/pthread.h | 4 ++-- libc/include/pty.h | 4 ++-- libc/include/pwd.h | 4 ++-- libc/include/regex.h | 4 ++-- libc/include/sched.h | 4 ++-- libc/include/scram.h | 4 ++-- libc/include/semaphore.h | 4 ++-- libc/include/setjmp.h | 4 ++-- libc/include/sha2.h | 6 +++--- libc/include/signal.h | 4 ++-- libc/include/stdint.h | 4 ++-- libc/include/stdio.h | 4 ++-- libc/include/stdio_ext.h | 4 ++-- libc/include/stdlib.h | 4 ++-- libc/include/string.h | 4 ++-- libc/include/strings.h | 4 ++-- libc/include/sys/__/types.h | 4 ++-- libc/include/sys/cdefs.h | 4 ++-- libc/include/sys/display.h | 4 ++-- libc/include/sys/dnsconfig.h | 4 ++-- libc/include/sys/futex.h | 4 ++-- libc/include/sys/ioctl.h | 4 ++-- libc/include/sys/kernelinfo.h | 4 ++-- libc/include/sys/keycodes.h | 4 ++-- libc/include/sys/mman.h | 4 ++-- libc/include/sys/mount.h | 4 ++-- libc/include/sys/ps2mouse.h | 4 ++-- libc/include/sys/readdirents.h | 4 ++-- libc/include/sys/resource.h | 4 ++-- libc/include/sys/select.h | 4 ++-- libc/include/sys/socket.h | 4 ++-- libc/include/sys/stat.h | 4 ++-- libc/include/sys/statvfs.h | 4 ++-- libc/include/sys/syscall.h | 4 ++-- libc/include/sys/termmode.h | 4 ++-- libc/include/sys/time.h | 4 ++-- libc/include/sys/times.h | 4 ++-- libc/include/sys/types.h | 4 ++-- libc/include/sys/uio.h | 4 ++-- libc/include/sys/un.h | 4 ++-- libc/include/sys/utsname.h | 4 ++-- libc/include/sys/wait.h | 4 ++-- libc/include/syslog.h | 4 ++-- libc/include/system-elf.h | 4 ++-- libc/include/termios.h | 4 ++-- libc/include/time.h | 4 ++-- libc/include/timespec.h | 4 ++-- libc/include/unistd.h | 4 ++-- libc/include/utime.h | 4 ++-- libc/include/wchar.h | 4 ++-- libc/include/wctype.h | 4 ++-- libm/include/__/math.h | 4 ++-- libm/include/complex.h | 6 +++--- libm/include/fenv.h | 6 +++--- libm/include/ieee754.h | 4 ++-- libm/include/ieeefp.h | 6 +++--- libm/include/math.h | 4 ++-- libm/include/tgmath.h | 4 ++-- libm/src/math_private.h | 4 ++-- 207 files changed, 418 insertions(+), 418 deletions(-) commit 3ae81f08b3c44fb5ce40da18b73d8aace7cf55a6 Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 02:00:21 2022 +0100 Add install-cross-toolchain Makefile target. Makefile | 58 ++++++++++++++- share/man/man7/cross-development.7 | 145 ++++++++++--------------------------- share/man/man7/development.7 | 14 +++- 3 files changed, 107 insertions(+), 110 deletions(-) commit 85e9fcde9455b3884d547ff15b8e6296d5a29d5b Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 15:59:31 2022 +0200 Change strverscmp(3) non-digit behavior to match GNU sort -V. This behavior differs from glibc strverscmp(3) but is useful and matches the behavior of GNU sort -V and musl strverscmp(3. libc/string/strverscmp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 802b0ef1d1f5cd32628883c9a5de247255b7d2e0 Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 20:40:10 2022 +0200 Add verify-ports presubmit. Makefile | 4 ++++ build-aux/verify-ports.sh | 16 ++++++++++++++++ share/man/man7/development.7 | 4 +++- 3 files changed, 23 insertions(+), 1 deletion(-) commit 86f6cdb7185d45e57dac3905b80dfb98fda4d97a Author: Jonas 'Sortie' Termansen Date: Wed Jul 6 20:06:06 2022 +0200 Fix libtheora non-safe PATH use and libpng incompatibility. ports/libtheora/libtheora.patch | 40 +++++++++++++++++++++ ports/libtheora/libtheora.rmpatch | 73 +-------------------------------------- 2 files changed, 41 insertions(+), 72 deletions(-) commit 36d9de7f541cb871c7c8a5d890d955046aef0954 Author: Jonas 'Sortie' Termansen Date: Fri Jun 17 22:14:10 2022 +0200 Fix python modules not using sysroot. ports/python/python.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 00681172dc35c146706c80ed949b924a8f089989 Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 20:10:51 2022 +0200 Fix tix-port(8) default mirror directory. tix/tix-port | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c4d4ba17a191eb62c05aeba7f3e7ae8f369f6084 Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 20:06:10 2022 +0200 Fix extract-ports creating repository directory. build-aux/build-ports.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 79327e7b5fcca73c9c7c4a2987a6bd8ffd738e46 Author: Jonas 'Sortie' Termansen Date: Sat Jul 9 20:01:22 2022 +0200 Fix distclean-ports removing ports in development. build-aux/clean-ports.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 184f99e1ee6c6ceaa38ae51584f9dffaaa516470 Author: Juhani Krekelä Date: Thu Jun 16 18:53:01 2022 +0300 Add -u option to date(1). Co-authored-by: Dennis Wölfing utils/date.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) commit 5679b746752f0ee267f0154a62fafff9e41538b1 Author: Jonas 'Sortie' Termansen Date: Wed Jun 15 00:08:43 2022 +0200 Use SPDX license identifiers for LICENSE. share/man/man5/port.5 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 921e5e0d88e8e1aa44a226890ae041c4a00e93a5 Author: Jonas 'Sortie' Termansen Date: Tue Jun 14 21:39:53 2022 +0200 Fix tix.port(8) --destination=. .version file. tix/tix-port | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9588b0d3db20de913f4e3d35eed1ec4f3eca44cc Author: Jonas 'Sortie' Termansen Date: Mon Jun 13 22:29:26 2022 +0200 Add ports to the Sortix repository. This change imports the ports collection from the former porttix and srctix repositories and converts them to port(5) files with metadata pointing to the upstream release tarballs with patches checked into this repository. Ports are now developed and versioned along with the operating system and are automatically built per the PACKAGES environment variable. The patches are licensed under the same license as the relevant ports. Tix has gained support for the new port(5) format. tix-port(8) is the new high level ports build even point that handles downloading pstream releases into the new mirror cache directory, applying the patches, building the port with the lower-level tix-build(8), and finally installing the binary package. The new tix-vars(8) program parses port(5) files and the new tix-rmdiff(8) program produces input for tix-rmpatch(8). The old doc/ directory is discontinued in favor of manual pages documenting the new ports system. The obsolete porttix-create(8) and srctix-create(8) programs are removed. .gitignore | 8 +- LICENSE | 5 +- Makefile | 76 +- build-aux/build-ports.sh | 193 ++--- build-aux/clean-ports.sh | 56 +- build-aux/iso-grub-cfg.sh | 4 +- build-aux/iso-repository.sh | 16 +- build-aux/list-packages.sh | 108 +++ build-aux/upgrade-port.sh | 103 +++ build-aux/verify-coding-style.sh | 2 +- doc/.gitignore | 1 - doc/Makefile | 21 - doc/cross-compilation-sins | 268 ------ doc/obsolete-stuff | 342 -------- doc/portability-sins | 85 -- doc/porting-guide | 480 ----------- doc/posix-divergence | 71 -- doc/welcome | 7 - ports/ag/ag.patch | 60 ++ ports/ag/ag.port | 15 + ports/ag/ag.rmpatch | 1 + ports/binutils/binutils.port | 18 + ports/binutils/binutils.post-install | 9 + ports/bison/bison.patch | 270 ++++++ ports/bison/bison.port | 11 + ports/bison/bison.rmpatch | 4 + ports/bochs/bochs.patch | 239 ++++++ ports/bochs/bochs.port | 13 + ports/bzip2/bzip2.execpatch | 1 + ports/bzip2/bzip2.patch | 129 +++ ports/bzip2/bzip2.port | 11 + ports/bzip2/bzip2.rmpatch | 3 + ports/cut/cut.patch | 100 +++ ports/cut/cut.port | 11 + ports/dash/dash.patch | 218 +++++ ports/dash/dash.port | 10 + ports/diffutils/diffutils.port | 11 + ports/e2fsprogs/e2fsprogs.patch | 1272 ++++++++++++++++++++++++++++ ports/e2fsprogs/e2fsprogs.port | 15 + ports/e2fsprogs/e2fsprogs.rmpatch | 1 + ports/ed/ed.patch | 64 ++ ports/ed/ed.port | 11 + ports/emacs/emacs.patch | 634 ++++++++++++++ ports/emacs/emacs.port | 17 + ports/emacs/emacs.post-install | 4 + ports/emacs/emacs.rmpatch | 8 + ports/ffmpeg/ffmpeg.patch | 198 +++++ ports/ffmpeg/ffmpeg.port | 15 + ports/flex/flex.patch | 65 ++ ports/flex/flex.port | 12 + ports/gawk/gawk.patch | 131 +++ ports/gawk/gawk.port | 11 + ports/gcc/gcc.port | 19 + ports/gcc/gcc.post-install | 6 + ports/gettext/gettext.patch | 700 ++++++++++++++++ ports/gettext/gettext.port | 15 + ports/git/git.patch | 429 ++++++++++ ports/git/git.port | 22 + ports/grep/grep.patch | 138 ++++ ports/grep/grep.port | 11 + ports/grep/grep.rmpatch | 1 + ports/grub/grub.execpatch | 2 + ports/grub/grub.patch | 869 ++++++++++++++++++++ ports/grub/grub.port | 13 + ports/grub/grub.post-install | 10 + ports/grub/grub.rmpatch | 2 + ports/gzip/gzip.patch | 214 +++++ ports/gzip/gzip.port | 12 + ports/hello/hello.patch | 12 + ports/hello/hello.port | 11 + ports/libSDL/libSDL.execpatch | 1 + ports/libSDL/libSDL.patch | 12 + ports/libSDL/libSDL.port | 13 + ports/libavcodec/libavcodec.port | 6 + ports/libcairo/libcairo.patch | 90 ++ ports/libcairo/libcairo.port | 13 + ports/libcairo/libcairo.rmpatch | 45 + ports/libcurl/libcurl.patch | 233 ++++++ ports/libcurl/libcurl.port | 13 + ports/libcurl/libcurl.rmpatch | 3 + ports/libcurses/libcurses.patch | 905 ++++++++++++++++++++ ports/libcurses/libcurses.port | 11 + ports/libdbus/libdbus.patch | 176 ++++ ports/libdbus/libdbus.port | 14 + ports/libevent/libevent.patch | 219 +++++ ports/libevent/libevent.port | 13 + ports/libexpat/libexpat.patch | 45 + ports/libexpat/libexpat.port | 14 + ports/libffi/libffi.patch | 68 ++ ports/libffi/libffi.port | 11 + ports/libfontconfig/libfontconfig.patch | 261 ++++++ ports/libfontconfig/libfontconfig.port | 14 + ports/libfontconfig/libfontconfig.rmpatch | 208 +++++ ports/libfreetype/libfreetype.patch | 312 +++++++ ports/libfreetype/libfreetype.port | 12 + ports/libfreetype/libfreetype.rmpatch | 48 ++ ports/libglib/libglib.patch | 407 +++++++++ ports/libglib/libglib.port | 13 + ports/libglib/libglib.rmpatch | 585 +++++++++++++ ports/libgmp/libgmp.patch | 60 ++ ports/libgmp/libgmp.port | 14 + ports/libiconv/libiconv.patch | 18 + ports/libiconv/libiconv.port | 11 + ports/libidn/libidn.patch | 169 ++++ ports/libidn/libidn.port | 13 + ports/libidn/libidn.rmpatch | 27 + ports/libintl/libintl.port | 9 + ports/libjpeg/libjpeg.port | 17 + ports/liblua/liblua.port | 5 + ports/libmpc/libmpc.patch | 12 + ports/libmpc/libmpc.port | 11 + ports/libmpfr/libmpfr.patch | 12 + ports/libmpfr/libmpfr.port | 12 + ports/libogg/libogg.patch | 33 + ports/libogg/libogg.port | 12 + ports/libogg/libogg.rmpatch | 1 + ports/libpcre/libpcre.patch | 130 +++ ports/libpcre/libpcre.port | 15 + ports/libpixman/libpixman.patch | 12 + ports/libpixman/libpixman.port | 12 + ports/libpixman/libpixman.rmpatch | 1 + ports/libpng/libpng.patch | 35 + ports/libpng/libpng.port | 13 + ports/libreadline/libreadline.patch | 225 +++++ ports/libreadline/libreadline.port | 11 + ports/libssl/libssl.patch | 547 ++++++++++++ ports/libssl/libssl.port | 12 + ports/libstdc++/libstdc++.patch | 15 + ports/libstdc++/libstdc++.port | 13 + ports/libtheora/libtheora.patch | 91 ++ ports/libtheora/libtheora.port | 14 + ports/libtheora/libtheora.rmpatch | 73 ++ ports/libvorbis/libvorbis.patch | 12 + ports/libvorbis/libvorbis.port | 12 + ports/libvorbis/libvorbis.rmpatch | 4 + ports/libxkbcommon/libxkbcommon.patch | 40 + ports/libxkbcommon/libxkbcommon.port | 12 + ports/libxkbcommon/libxkbcommon.rmpatch | 2 + ports/libxml2/libxml2.patch | 356 ++++++++ ports/libxml2/libxml2.port | 14 + ports/libxml2/libxml2.rmpatch | 3 + ports/libz/libz.port | 11 + ports/lua/lua.patch | 219 +++++ ports/lua/lua.port | 10 + ports/m4/m4.patch | 270 ++++++ ports/m4/m4.port | 11 + ports/make/make.patch | 169 ++++ ports/make/make.port | 11 + ports/make/make.post-install | 3 + ports/mdocml/mdocml.patch | 739 +++++++++++++++++ ports/mdocml/mdocml.port | 11 + ports/nano/nano.patch | 157 ++++ ports/nano/nano.port | 10 + ports/nano/nano.rmpatch | 2 + ports/nasm/nasm.patch | 31 + ports/nasm/nasm.port | 12 + ports/nasm/nasm.rmpatch | 1 + ports/nyancat/nyancat.patch | 119 +++ ports/nyancat/nyancat.port | 11 + ports/patch/patch.patch | 187 +++++ ports/patch/patch.port | 11 + ports/perl/perl.patch | 1033 +++++++++++++++++++++++ ports/perl/perl.port | 25 + ports/perl/perl.post-install | 24 + ports/pkg-config/pkg-config.patch | 24 + ports/pkg-config/pkg-config.port | 12 + ports/pkg-config/pkg-config.rmpatch | 1 + ports/python/python.patch | 1216 +++++++++++++++++++++++++++ ports/python/python.port | 20 + ports/python/python.post-install | 13 + ports/python/python.rmpatch | 3 + ports/qemu/qemu.patch | 1278 +++++++++++++++++++++++++++++ ports/qemu/qemu.port | 12 + ports/sed/sed.patch | 12 + ports/sed/sed.port | 11 + ports/sed/sed.rmpatch | 1 + ports/tar/tar.patch | 201 +++++ ports/tar/tar.port | 11 + ports/tar/tar.rmpatch | 1 + ports/texinfo/texinfo.patch | 141 ++++ ports/texinfo/texinfo.port | 12 + ports/texinfo/texinfo.rmpatch | 3 + ports/video-player/video-player.patch | 357 ++++++++ ports/video-player/video-player.port | 3 + ports/vim/vim.patch | 183 +++++ ports/vim/vim.port | 13 + ports/wget/wget.patch | 320 ++++++++ ports/wget/wget.port | 12 + ports/wget/wget.rmpatch | 4 + ports/xargs/xargs.patch | 188 +++++ ports/xargs/xargs.port | 11 + ports/xorriso/xorriso.patch | 537 ++++++++++++ ports/xorriso/xorriso.port | 11 + ports/xorriso/xorriso.rmpatch | 2 + ports/xz/xz.patch | 49 ++ ports/xz/xz.port | 12 + share/man/man5/port.5 | 356 ++++++++ share/man/man7/cross-development.7 | 17 +- share/man/man7/development.7 | 106 ++- share/man/man7/following-development.7 | 34 + share/man/man7/portability.7 | 301 +++++++ share/man/man7/porting.7 | 657 +++++++++++++++ tix/.gitignore | 5 +- tix/Makefile | 13 +- tix/porttix-create.c | 464 ----------- tix/srctix-create.c | 304 ------- tix/tix-build.8 | 169 ++++ tix/tix-build.c | 291 ++++--- tix/tix-eradicate-libtool-la.8 | 25 + tix/tix-execdiff.8 | 47 ++ tix/tix-execdiff.c | 101 +-- tix/tix-execpatch.8 | 43 + tix/tix-port | 527 ++++++++++++ tix/tix-port.8 | 262 ++++++ tix/tix-rmdiff.8 | 39 + tix/tix-rmdiff.c | 149 ++++ tix/tix-rmpatch.8 | 42 + tix/tix-vars.8 | 52 ++ tix/tix-vars.c | 91 ++ tix/util.h | 165 +++- 220 files changed, 23390 insertions(+), 2420 deletions(-) commit 81978ae9388685a372dbca21186ef2a6d98e1d23 Author: Jonas 'Sortie' Termansen Date: Mon Jun 6 16:22:52 2022 +0200 Fix missing 'and' typo in installation(7) confirmation. share/man/man7/installation.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c0e03e5c622686eb1165dd7a900673a64135791f Author: Jonas 'Sortie' Termansen Date: Sun May 22 20:58:47 2022 +0200 Fix tix-iso-liveconfig(8) not creating /etc in some cases. tix/tix-iso-liveconfig | 2 ++ 1 file changed, 2 insertions(+) commit 0765ac212967920583866f998effcbfe56df9bac Author: Jonas 'Sortie' Termansen Date: Thu Jun 9 22:28:39 2022 +0200 Fix dtable allocation overflow on INT_MAX. kernel/dtable.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 22f4fd859eb0cd1dfe3d513b8e87f1a82b92f778 Author: Jonas 'Sortie' Termansen Date: Tue Apr 26 00:08:39 2022 +0200 Remove kernel thread alignment since malloc is already 16-byte aligned. kernel/include/sortix/kernel/thread.h | 6 +----- kernel/kernel.cpp | 4 ++-- kernel/kthread.cpp | 4 ++-- kernel/thread.cpp | 32 ++------------------------------ 4 files changed, 7 insertions(+), 39 deletions(-) commit 0f0c6a3232cc9213320058b1209af05fa13210b1 Author: Jonas 'Sortie' Termansen Date: Mon Apr 25 23:10:36 2022 +0200 Include the main kernel header in some kernel files. kernel/kb/kblayout.cpp | 2 +- kernel/kb/ps2.cpp | 1 + kernel/mouse/ps2.cpp | 1 + kernel/string.cpp | 2 ++ 4 files changed, 5 insertions(+), 1 deletion(-) commit a0a4030dd3ef572186c802aa7956157174499777 Author: Jonas 'Sortie' Termansen Date: Mon Apr 25 23:43:56 2022 +0200 Fix kernelinfo(2) user-space pointer deference. kernel/kernelinfo.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit fe729d60329a2be130c677b07d70f8ec9f56d3c1 Author: Jonas 'Sortie' Termansen Date: Mon Apr 18 00:08:56 2022 +0200 Fix typo in . libc/include/malloc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4e56b01e9ea31f312d26cc59b4cf5ca56c8046f3 Author: Jonas 'Sortie' Termansen Date: Sun Apr 17 23:16:56 2022 +0200 Fix getopt error handling in pstree(1). utils/pstree.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 322c8317d6681409e39c708efc051fe0a4e89836 Author: Jonas 'Sortie' Termansen Date: Sat Apr 16 22:24:05 2022 +0200 Fix non-throwing operator new failure checks being optimized away. ext/Makefile | 2 +- games/Makefile | 2 +- kernel/Makefile | 2 +- kernel/op-new.cpp | 6 +++++- libc/Makefile | 2 +- trianglix/Makefile | 2 +- 6 files changed, 10 insertions(+), 6 deletions(-) commit 4b376c7f162b504e4d804f4ddb08773e767a1913 Author: Jonas 'Sortie' Termansen Date: Fri Apr 15 13:11:09 2022 +0200 Fix tix-build variables when using sysroot natively. tix/tix-build.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 5eb34b4a00d2e577903b4a5c84770098e9501b0d Author: Jonas 'Sortie' Termansen Date: Thu Apr 14 18:47:53 2022 +0200 Never deliver signals during stat(2), readlink(2), open(2), and truncate(2). kernel/fs/user.cpp | 129 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 78 insertions(+), 51 deletions(-) commit 4698562f64103757c5fb80bb0abd12e6b0150b2f Author: auronandace Date: Sun Apr 17 17:16:18 2022 +0100 Use find(1) -delete feature in tix-eradicate-libtool-la(1). tix/tix-eradicate-libtool-la | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e9c4946ff773ff5ca92e0baf3bc1d3ce3bf60ff9 Author: Juhani Krekelä Date: Sun Oct 10 01:10:21 2021 +0300 Document getdnsconfig(2) and setdnsconfig(2). libc/Makefile | 4 +- libc/sys/dnsconfig/getdnsconfig.2 | 127 ++++++++++++++++++++++++++++++++++++++ libc/sys/dnsconfig/setdnsconfig.2 | 1 + 3 files changed, 131 insertions(+), 1 deletion(-) commit 14960319a67313e4c972e295d3bf0d18a7f32acc Author: Jonas 'Sortie' Termansen Date: Sat Mar 5 19:27:41 2022 +0100 Fix find(1) always failing on exec plus. utils/find.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit df9b1ded9a7755d6eb41213a9419e5ff9c068416 Author: Jonas 'Sortie' Termansen Date: Wed Feb 16 23:56:01 2022 +0100 Implement local and remote addresses in filesystem sockets. kernel/net/fs.cpp | 173 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 114 insertions(+), 59 deletions(-) commit 251dcda9802cb84e045c71d3dbdb53945cd146d0 Author: Jonas 'Sortie' Termansen Date: Sun Jan 30 01:24:46 2022 +0100 Flush stdout after tix-install verbose message. tix/tix-install.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 2413627058d54caa7537f8c3147793455a59613e Author: Jonas 'Sortie' Termansen Date: Wed Jan 12 21:45:42 2022 +0100 Fix missing function in tix-iso-bootconfig(8). tix/tix-iso-bootconfig | 8 ++++++++ 1 file changed, 8 insertions(+) commit 292aeb3fe75280364593d1d7f0af5dfa1b4f0912 Author: auronandace Date: Thu Feb 10 18:49:09 2022 +0000 Rename CLOCK_BOOT to CLOCK_BOOTTIME. bench/benchctxswitch.c | 2 +- bench/benchsyscall.c | 2 +- kernel/disk/ahci/ahci.cpp | 4 ++-- kernel/disk/ahci/port.cpp | 4 ++-- kernel/disk/ata/hba.cpp | 2 +- kernel/disk/ata/port.cpp | 4 ++-- kernel/include/sortix/clock.h | 2 +- kernel/time.cpp | 2 +- kernel/x86-family/ioport.cpp | 4 ++-- utils/uptime.c | 4 ++-- 10 files changed, 15 insertions(+), 15 deletions(-) commit d41beab4a8e003064203862011994f7abfddf12e Author: Mathew John Roberts Date: Sun Feb 13 16:31:14 2022 +0000 Make execve(2) require 1 <= argc. kernel/process.cpp | 3 +++ 1 file changed, 3 insertions(+) commit aa7c6855f7954b80f2c22993a207a15f6d521fcb Author: auronandace Date: Wed Feb 9 08:07:39 2022 +0000 Return EBADF on negative fds for dup2(2) and dup3(2). kernel/dtable.cpp | 4 +--- kernel/io.cpp | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) commit 332d39445ce93aa9b70e7d5d4254d7be233657b4 Author: Juhani Krekelä Date: Wed Feb 9 19:53:11 2022 +0200 Fix handling of bad file descriptors in dup(2). Previously, sys_dup() would do dtable->Get() on the passed in-file descriptor and then pass the result directly to dtable->Allocate(). If the file descriptor is not valid, dtable->Get() returns a NULL reference and sets errno to mark the error. Since sys_dup() did not check the return value of dtable->Get() and dtable->Allocate() does not check whether the passed in Ref is a NULL reference, dup(2) with invalid file descriptor would succesfully allocate a new file descriptor with garbage contents. This commit changes sys_dup() to use a variant of dtable->Allocate() that takes in a file descriptor as an integer and properly validates it before use. kernel/io.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit f8d4d3d635e401e024a8547bdde7cb8f0ff569e6 Author: auronandace Date: Fri Feb 4 21:48:19 2022 +0000 Replace perror(3) with err(3). dispd/client/session.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 23832546d5fc43d411986b3e6bcd215e0ece4684 Author: Jonas 'Sortie' Termansen Date: Sat Jan 15 20:42:16 2022 +0100 Fix chown(2) not supporting -1 to not set the owner and group. ext/fsmarshall.cpp | 8 +++++--- kernel/inode.cpp | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) commit 432e5ddeafd71af4775b405ed5ad24d3baca1194 Author: Jonas 'Sortie' Termansen Date: Sun Jan 9 18:14:53 2022 +0100 Add bootloader setting for not loading the src initrd. build-aux/iso-grub-cfg.sh | 29 ++++++++++++++++++++++++++--- share/man/man7/release-iso-bootconfig.7 | 9 ++++++++- tix/tix-iso-bootconfig | 6 +++++- tix/tix-iso-bootconfig.8 | 16 ++++++++++++++++ 4 files changed, 55 insertions(+), 5 deletions(-) commit 31e3a20bca05981483f5b9659497438a5d8c2020 Author: Jonas 'Sortie' Termansen Date: Wed Jan 12 21:17:01 2022 +0100 Fix wrong minor ABI version in sysmerge(8) ABI transition notice. sysinstall/sysmerge.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 4e86394e3de1ca75313fa0b61d9e1069ef020aba Author: Jonas 'Sortie' Termansen Date: Sun Jan 9 17:55:22 2022 +0100 Fix the kernel having an .init section linked at a high address. The .init section for global constructors in the kernel is unused at the moment as the _init function is never invoked, but its existence means it got linked at 128 MiB on i686. This address isn't mapped by the kernel and the bootloader requires the machine to have that much physical memory. Unfortunately that meant the i686 build didn't work on machines with less than 129 MiB of memory. kernel/Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit ffc3751713e24d46dd623dbcd906b59302b002f2 Author: Juhani Krekelä Date: Mon Jan 10 15:20:03 2022 +0200 Fix typos in hier(7), installation(7), and upgrade(7). share/man/man7/hier.7 | 2 +- share/man/man7/installation.7 | 4 ++-- share/man/man7/upgrade.7 | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit 4e72c78dc1f5fa74bde2521c338490a3c892a22f Author: Juhani Krekelä Date: Sun Jan 9 21:10:27 2022 +0200 Support i686 without SSE. Previously Sortix would initialize SSE unconditionally as part of the boot process. Since earlier i686 CPUs like Pentium 2 did not include SSE, Sortix would not run on them. With this SSE is only enabled for CPUs that include it, which should theoretically allow Sortix to boot on all i686 CPUs. Additionally, this removes -msse -msse2 compiler flags from trianglix/Makefile. kernel/x86/boot.S | 14 +++++++++++++- share/man/man7/installation.7 | 2 +- trianglix/Makefile | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) commit ac9c24219bd529d9f961c18049d2678d8ef7224f Author: Jonas 'Sortie' Termansen Date: Wed Jan 5 21:41:17 2022 +0100 Implement RFC5424 syslog version 1. libc/Makefile | 1 - libc/include/syslog.h | 2 -- libc/syslog/closelog.c | 5 ---- libc/syslog/connectlog.c | 26 ------------------- libc/syslog/openlog.c | 4 --- libc/syslog/vsyslog.c | 66 ++++++++++++++++++++++++++++-------------------- 6 files changed, 38 insertions(+), 66 deletions(-) commit 3c43f710848c2ec1cc3f24c97398984894ea37a3 Author: Jonas 'Sortie' Termansen Date: Tue Dec 28 11:39:42 2021 +0100 Implement file descriptor passing. This change refactors the Unix socket / pipe backend to have a ring buffer containing segments, where each segment has an optional leading ancillary buffer containing control messages followed by a normal data buffer. The SCM_RIGHTS control message has been implemented which transfers file descriptors to the receiving process. File descriptors are reference counted and cycles are prevented using the following restrictions: 1) Unix sockets cannot be sent on themselves (on either end). 2) Unix sockets themselves being sent cannot be sent on. 3) Unix sockets cannot send a Unix socket being sent on. This is a compatible ABI change. Makefile | 2 +- kernel/descriptor.cpp | 10 + kernel/fs/user.cpp | 11 + kernel/include/sortix/kernel/descriptor.h | 4 +- kernel/include/sortix/kernel/inode.h | 6 +- kernel/include/sortix/kernel/pipe.h | 4 +- kernel/include/sortix/kernel/refcount.h | 17 +- kernel/include/sortix/kernel/vnode.h | 4 +- kernel/include/sortix/mode.h | 2 + kernel/inode.cpp | 9 + kernel/io.cpp | 2 + kernel/net/fs.cpp | 26 +- kernel/partition.cpp | 3 +- kernel/pipe.cpp | 1012 +++++++++++++++++++++++++---- kernel/vnode.cpp | 10 + libc/include/sys/socket.h | 19 +- regress/Makefile | 4 + regress/test-unix-socket-fd-cycle.c | 124 ++++ regress/test-unix-socket-fd-leak.c | 66 ++ regress/test-unix-socket-fd-pass.c | 144 ++++ regress/test-unix-socket-fd-trunc.c | 103 +++ regress/test.h | 1 + share/man/man7/following-development.7 | 8 + 23 files changed, 1440 insertions(+), 151 deletions(-) commit b9898086c60bf3f16cc117ee478e64ef54e24532 Author: Jonas 'Sortie' Termansen Date: Sat Dec 18 00:05:19 2021 +0100 Add file descriptor table reservations. The file descriptor table now allows reserving room for multiple file descriptors without assigning their numbers. This functionality means any error conditions happen up front and the subsequent number assignment will never fail. This change uses the new functionality to fix troublesome error handling when allocating multiple file descriptors. One pty allocation error path was even wrong. There were subtle race conditions where one (kernel) thread may have allocated one file descriptor, and another thread spuciously replaces it with something else, and then the second file descriptor allocation failed in the first thread, and it closes the first file descriptor now pointing to a different file description. This case seems harmless but it's not a great class of bugs to exist in the first place. The new behavior means the file descriptions appear in the file descriptor table without fail and never needs to be cleaned up midway and is certainly immune to shenangians from other threads. Reviewed-by: Pedro Falcato kernel/dtable.cpp | 198 +++++++++++++++++++++------------- kernel/include/sortix/kernel/dtable.h | 29 ++--- kernel/io.cpp | 18 ++-- kernel/pipe.cpp | 26 ++--- kernel/pty.cpp | 17 ++- 5 files changed, 164 insertions(+), 124 deletions(-) commit 42f6a359d1639ff5b8d21de90b23156063609071 Author: Juhani Krekelä Date: Sun Oct 31 02:54:59 2021 +0300 Add search to editor(1). editor/command.c | 9 ++++++ editor/cursor.c | 11 +++++-- editor/display.c | 3 ++ editor/editor.1 | 4 ++- editor/editor.h | 2 ++ editor/modal.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 118 insertions(+), 4 deletions(-) commit 20648e03d7bd01bf06e52623671cf17571ea4480 Author: Jonas 'Sortie' Termansen Date: Sun Dec 12 00:05:21 2021 +0100 Send SIGCHLD to init even for reparented processes. kernel/process.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit db4ab331c71ac4189005aac291f5582e0ae85be2 Author: Jonas 'Sortie' Termansen Date: Sat Dec 11 03:11:25 2021 +0100 Fix using the same include guard as . libc/include/psctl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit e65ff1827c4e9fa1f5165780fbe0c5c961b0cd81 Author: Jonas 'Sortie' Termansen Date: Sat Dec 4 11:32:34 2021 +0100 Add __stack_chk_fail_local needed by some architectures. libc/ssp/__stack_chk_fail.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 4ed2bb1c5001d70d46692e6c7d9f0df3b8a78c01 Author: Jonas 'Sortie' Termansen Date: Sun Dec 12 19:58:41 2021 +0100 Fix unused variable warning in pstree(1). utils/pstree.c | 1 - 1 file changed, 1 deletion(-) commit cd8dcdec55d4ab08929f1a6d3358269f8d0e3cdb Author: Jonas 'Sortie' Termansen Date: Fri Dec 10 23:58:31 2021 +0100 Add -gp options to pstree(1). utils/pstree.c | 110 ++++++++++++++++++++------------------------------------- 1 file changed, 39 insertions(+), 71 deletions(-) commit c6e989909fe9f099a43c1d0fe3b3e15f3c3b7290 Author: Juhani Krekelä Date: Mon Dec 6 09:18:53 2021 +0200 Add header for working with the PS/2 mouse protocol. kernel/include/sortix/ps2mouse.h | 51 ++++++++++++++++++++++++++++++++++++++++ libc/include/sys/ps2mouse.h | 25 ++++++++++++++++++++ login/graphical.c | 31 +++++++++++------------- 3 files changed, 90 insertions(+), 17 deletions(-) commit 8b57a795670c3c57233258b4f70c8ee85eca6738 Author: Juhani Krekelä Date: Sat Dec 4 15:14:04 2021 +0000 Change qsort(3) and qsort_r(3) to use heapsort. Heapsort has O(n·log(n)) worst case runtime and O(1) space usage, which is better than current implementation's best case, while still keeping the code simple. Co-authored-by: Jonas 'Sortie' Termansen libc/stdlib/qsort_r.c | 150 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 98 insertions(+), 52 deletions(-) commit 7e5a816749efb89322ec8cd77457739ee770f5e5 Author: Juhani Krekelä Date: Fri Nov 5 00:09:21 2021 +0200 Refactor movement code in editor(1). Firstly, lots of places in editor(1) would do a move from (x₀,y₀) to (x,y) by first moving to (x,y₀) or (x₀,y) and only then (x,y). If the intermediate positions were not valid cursor positions, this might cause out of bounds access. Categorically fixed this by removing functions for moving only horizontally or only vertically. Secondly, editor_select_set() would set the column before setting the line. Since the code for setting the column accesses the currently set line at the new cursor position, it might cause out of bounds access even on valid cursor positions. Fixed this by swapping the order in which column and row are set. Thirdly, the order of arguments passed to row_column_smallest() and row_column_biggest() was wrong, with column being passed before the row, even though they were defined the other way. However, this did not result in out of bounds memory accesses due to the parameters to editor_cursor_set() also being swapped at relevant callsites. Finally, the boundary condition for control-down was off by one. editor/command.c | 179 ++++++++++++++++++++++++++++++------------------------- editor/cursor.c | 101 ++++++------------------------- editor/cursor.h | 13 ---- editor/modal.c | 8 +-- 4 files changed, 120 insertions(+), 181 deletions(-) commit 2e193b6014a034d885290ea2b3a43a2eef27c3f6 Author: Juhani Krekelä Date: Mon Nov 1 02:19:03 2021 +0200 Fix possible overflow when resizing buffers and remove unncessary casts. A line longer than 2G might overflow the size_t containing the buffer length on 32-bit platform. Fix is to use reallocarray with second parameter twice the size of the element to double the buffer size, since it will error out if there was an overflow. utils/pager.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) commit cb4a6315248014aea1184e4155330e0bf7836c5a Author: Juhani Krekelä Date: Sun Oct 31 00:45:40 2021 +0300 Fix indentation in switch-statement in utils/tail.c. Sortix coding style does not indent the cases of a switch statement. utils/tail.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit db5b51d67345d3ac7d0d867e22363937fe1efe39 Author: Jonas 'Sortie' Termansen Date: Sat Oct 9 23:28:32 2021 +0200 Fix spurious ptable assertion in the fork error path. kernel/process.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3048fdf7a151b43cfbc90c3a6503b16c416071a0 Author: Jonas 'Sortie' Termansen Date: Sat Oct 9 22:46:20 2021 +0200 Add presubmit. Makefile | 38 +++++++++ build-aux/verify-coding-style.sh | 111 ++++++++++++++++++++++++++ build-aux/verify-headers-in-configuration.sh | 115 +++++++++++++++++++++++++++ build-aux/verify-headers.sh | 43 ++++++++++ build-aux/verify-manual.sh | 11 +++ share/man/man7/development.7 | 16 ++++ 6 files changed, 334 insertions(+) commit d4528e94012b12c3bfaeb27af5ae903a1030afd6 Author: Juhani Krekelä Date: Sun Aug 22 13:08:17 2021 +0300 Add dnsconfig(8). Makefile | 1 + dnsconfig/.gitignore | 1 + dnsconfig/Makefile | 30 ++++++++++++ dnsconfig/dnsconfig.8 | 86 +++++++++++++++++++++++++++++++++ dnsconfig/dnsconfig.c | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 248 insertions(+) commit d605911ddc245fe6a46c7f007a38593236d0f243 Author: Juhani Krekelä Date: Sun Oct 3 14:19:21 2021 +0300 Make command-not-found(1) data-driven. Previously command-not-found(1) encoded all its suggestions in code. This changes it to use a data table to make it easier to understand and to modify with new suggestions. utils/command-not-found.c | 186 +++++++++++++++++++++++++++------------------- 1 file changed, 111 insertions(+), 75 deletions(-) commit c2088ae3ee64e88823ed9016a72886b70758c2b1 Author: Jonas 'Sortie' Termansen Date: Mon Sep 13 20:37:29 2021 +0200 Fix shell double quoting escaping non-special characters. This bug was reported by Ricardo Grant. sh/sh.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) commit e02b84cb935288ff56dd444df68e1983f7e398b3 Author: Juhani Krekelä Date: Fri Aug 20 13:06:19 2021 +0300 Update porting guide to reflect Sortix in upstream config.sub. doc/porting-guide | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 777ed060c6ffca2ea302aa41744b69d2306f7cb9 Author: Juhani Krekelä Date: Fri Aug 20 13:03:15 2021 +0300 Fix typos in doc/. doc/cross-compilation-sins | 4 ++-- doc/obsolete-stuff | 14 +++++++------- doc/porting-guide | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) commit 79799b0084b4144753c03eaae0bf33b5e344a55e Author: Juhani Krekelä Date: Mon Aug 16 22:08:27 2021 +0300 Support historical syntax in head(1) and tail(1). utils/tail.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) commit 89b02af091034f6d184bc1c4e8c1ecb1e000b828 Author: Juhani Krekelä Date: Mon Aug 16 21:47:13 2021 +0300 Fix release-iso-modification(7) to use modern tail(1) syntax. Historically tail(1) used `tail -1` style syntax, but this has been obsoleted by the modern conventional-style `tail -n 1`. share/man/man7/release-iso-modification.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 198c54ed2514532194fbdf387fb98bd56508b966 Author: Juhani Krekelä Date: Tue Jul 27 22:12:34 2021 +0300 Rewrite tail(1). utils/tail.c | 484 +++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 338 insertions(+), 146 deletions(-) commit 42c94ee36bc7a25efd468e1724be709e928afc5d Author: Juhani Krekelä Date: Tue Jul 27 22:11:23 2021 +0300 Mark install(1) dependant on utils/cp.c and head(1) on utils/tail.c utils/Makefile | 4 ++++ 1 file changed, 4 insertions(+) commit 63ce55e7e9a1bca2594adb5295d6c8385df8a875 Author: Jonas 'Sortie' Termansen Date: Wed Jul 28 22:21:14 2021 +0200 Fix reading directories not failing with EISDIR. kernel/inode.cpp | 14 +++++++++++++- utils/cat.c | 9 +-------- utils/wc.c | 9 --------- 3 files changed, 14 insertions(+), 18 deletions(-) commit 16bdb2ba84972974ae80276ce062e403e0549512 Author: Jonas 'Sortie' Termansen Date: Tue Jul 27 00:46:15 2021 +0200 Fix setuid(2) and setgid(2) not setting the effective user and group. Thanks to samis for discovering this problem and the initial attempt at fixing it. kernel/identity.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) commit c28667fdf7133bdef60f6427e1e8b363c7aefe22 Author: Jonas 'Sortie' Termansen Date: Wed Jul 21 14:00:39 2021 +0200 Add porttix-create support for a secondary tarball. This functionality is needed for ports such as perl that needs perl-cross extracted on top of it. tix/porttix-create.c | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) commit 9a20f8cc37cdca97e8f46667b28dcd31f1c128ac Author: Jonas 'Sortie' Termansen Date: Sat Jul 17 17:34:14 2021 +0200 Publish releases by the release name. Makefile | 76 +++++++++++++++++++++++++-------------------------- build-aux/version.mak | 1 + 2 files changed, 39 insertions(+), 38 deletions(-) commit 20df95f1ec485709563a82950b1435a90918e5eb Author: Jonas 'Sortie' Termansen Date: Sat Jul 17 18:00:31 2021 +0200 Add /tix/tixinfo to the system manifest. Makefile | 2 ++ 1 file changed, 2 insertions(+) commit 6385ea19573610abed0da89dfbee87761c21056a Author: Juhani Krekelä Date: Fri Jul 16 01:38:30 2021 +0300 Fix pipes reporting themselves as character devices through fstat(2). kernel/pipe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2d841bae7cd85278ea7a507ae140379f0dea3d1a Author: Jonas 'Sortie' Termansen Date: Wed Jul 14 01:09:13 2021 +0200 Fix kernel deadlock in ppoll(2). kernel/poll.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6bca83b3990b5eb5e67f56ae38bc28d2d379a46a Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 21:09:06 2016 +0200 Add sh(1) exec builtin. sh/sh.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) commit 80f5ca398a6191484f314a170c54e067a2c456fd Author: Jonas 'Sortie' Termansen Date: Fri Apr 27 17:24:32 2018 +0200 Add ATAPI support to ata(4). kernel/disk/ahci/ahci.cpp | 8 +- kernel/disk/ahci/port.cpp | 2 - kernel/disk/ata/ata.cpp | 7 +- kernel/disk/ata/port.cpp | 237 +++++++++++++++++++++++++++++++++----------- kernel/disk/ata/port.h | 7 +- kernel/disk/ata/registers.h | 27 ++++- 6 files changed, 222 insertions(+), 66 deletions(-) commit bce37028f5fd87d12f6bd74f99d61d64c5cdc298 Author: Jonas 'Sortie' Termansen Date: Mon Apr 12 23:11:53 2021 +0200 Store binary package repository in the release directory. Makefile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) commit fa5f1b826e06438fc2c11c58066a14f710f37164 Author: Jonas 'Sortie' Termansen Date: Mon Apr 12 22:57:54 2021 +0200 Add sha256sum to release directory. Makefile | 4 ++++ 1 file changed, 4 insertions(+) commit cffa7fa7b76218c400fd331d38e845eac68a4faf Author: Jonas 'Sortie' Termansen Date: Mon Apr 12 22:23:32 2021 +0200 Add manual pages to the release. Makefile | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) commit aeb7e0ccfc18f5e32ae38fa570103cfa2c81e6fa Author: Jonas 'Sortie' Termansen Date: Sat Oct 7 22:22:36 2017 +0200 Store kernel and initrds in the release directory. Makefile | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) commit 5e7605fad2ffe3629e262bed70f8f5c971a14f26 Author: Jonas 'Sortie' Termansen Date: Sat Feb 6 21:23:16 2021 +0100 Implement threading primitives that truly sleep. The idle thread is now actually run when the system is idle because it truly goes idle. The idle thread is made power efficient by using the hlt instruction rather than a busy loop. The new futex(2) system call is used to implement fast user-space mutexes, condition variables, and semaphores. The same backend and design is used as kutexes for truly sleeping kernel mutexes and condition variables. The new exit_thread(2) flag EXIT_THREAD_FUTEX_WAKE wakes a futex. Sleeping on clocks in the kernel now uses timers for true sleep. The interrupt worker thread now truly sleeps when idle. Kernel threads are now named. This is a compatible ABI change. Makefile | 2 +- kernel/Makefile | 1 - kernel/clock.cpp | 96 +++++----- kernel/copy.cpp | 20 +- kernel/include/sortix/exit.h | 3 +- kernel/include/sortix/futex.h | 35 ++++ kernel/include/sortix/kernel/copy.h | 3 +- kernel/include/sortix/kernel/interrupt.h | 6 +- kernel/include/sortix/kernel/kthread.h | 19 +- kernel/include/sortix/kernel/process.h | 7 +- kernel/include/sortix/kernel/scheduler.h | 20 +- kernel/include/sortix/kernel/syscall.h | 3 +- kernel/include/sortix/kernel/thread.h | 28 ++- kernel/include/sortix/syscall.h | 5 +- kernel/interlock.cpp | 2 + kernel/interrupt.cpp | 17 +- kernel/kernel.cpp | 21 ++- kernel/kthread.cpp | 306 ++++++++++++++++++++++++++----- kernel/lfbtextbuffer.cpp | 8 +- kernel/process.cpp | 9 +- kernel/scheduler.cpp | 70 +++++-- kernel/signal.cpp | 2 +- kernel/syscall.cpp | 3 +- kernel/thread.cpp | 163 ++++++++++++++-- kernel/x64/kthread.S | 84 --------- kernel/x86/kthread.S | 87 --------- libc/Makefile | 1 + libc/include/__/pthread.h | 60 +++--- libc/include/pthread.h | 11 +- libc/include/semaphore.h | 4 +- libc/include/sys/futex.h | 30 +++ libc/pthread/pthread_cond_broadcast.c | 22 ++- libc/pthread/pthread_cond_destroy.c | 4 +- libc/pthread/pthread_cond_init.c | 3 +- libc/pthread/pthread_cond_signal.c | 27 ++- libc/pthread/pthread_cond_timedwait.c | 48 +++-- libc/pthread/pthread_cond_wait.c | 23 +-- libc/pthread/pthread_exit.c | 4 +- libc/pthread/pthread_mutex_lock.c | 41 ++++- libc/pthread/pthread_mutex_trylock.c | 19 +- libc/pthread/pthread_mutex_unlock.c | 18 +- libc/semaphore/sem_getvalue.c | 5 +- libc/semaphore/sem_init.c | 6 +- libc/semaphore/sem_post.c | 21 ++- libc/semaphore/sem_timedwait.c | 64 +++---- libc/semaphore/sem_trywait.c | 12 +- libc/semaphore/sem_wait.c | 35 +--- libc/sys/futex/futex.c | 29 +++ share/man/man7/following-development.7 | 10 + 49 files changed, 963 insertions(+), 554 deletions(-) commit 29b14378e82960882251a8d4ab5f2b7df0967eec Author: Jonas 'Sortie' Termansen Date: Wed Jun 23 22:09:30 2021 +0200 Fix usleep(2) sleeping 1000x too much regression. libc/unistd/usleep.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 4daedc31f7453bdd8844519948cc1b4197096295 Author: Jonas 'Sortie' Termansen Date: Sun Jun 20 22:43:52 2021 +0200 Fix handling of overflow and non-canonical values in timespec APIs. Support zero relative and absolute times in the timer API. kernel/alarm.cpp | 10 ++++- kernel/descriptor.cpp | 4 +- kernel/disk/ahci/port.cpp | 7 ++-- kernel/include/sortix/kernel/timer.h | 3 +- kernel/poll.cpp | 4 +- kernel/timer.cpp | 11 +++++- kernel/user-timer.cpp | 16 +++++++- libc/include/timespec.h | 26 ++++++------ libc/timespec/timespec.c | 76 +++++++++++++++++++++++++++++++----- libc/unistd/usleep.c | 4 +- 10 files changed, 125 insertions(+), 36 deletions(-) commit 109a229b42c101716d8a89ded4529e6f44f8ccf9 Author: Jonas 'Sortie' Termansen Date: Fri Apr 27 14:30:08 2018 +0200 The Master Boot Record counts numbers of 512 bytes rather than sectors. It seems that CD-ROMs with MBRs count number of 512 bytes rather than number of 2048-byte sectors. libmount/mbr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3b036b6c5d4235fda9f2774ce691834cbdc3f427 Author: Jonas 'Sortie' Termansen Date: Tue Jul 26 02:33:14 2016 +0200 Add getdnsconfig(2) and setdnsconfig(2). kernel/Makefile | 1 + kernel/dnsconfig.cpp | 77 ++++++++++++++++++++++++++++++++++ kernel/include/sortix/kernel/syscall.h | 3 ++ kernel/include/sortix/syscall.h | 4 +- kernel/syscall.cpp | 2 + libc/Makefile | 2 + libc/include/sys/dnsconfig.h | 60 ++++++++++++++++++++++++++ libc/sys/dnsconfig/getdnsconfig.c | 28 +++++++++++++ libc/sys/dnsconfig/setdnsconfig.c | 28 +++++++++++++ 9 files changed, 204 insertions(+), 1 deletion(-) commit 23ddc536bc8527452be95e80d0151eaffaa235e9 Author: Jonas 'Sortie' Termansen Date: Sun Jun 13 01:35:44 2021 +0200 Add -bdfgikhMnt options to sort(1). utils/sort.c | 704 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 638 insertions(+), 66 deletions(-) commit 27f81b09a6e8c0899873af6ad62207282b27905a Author: Jonas 'Sortie' Termansen Date: Mon Mar 6 23:27:55 2017 +0100 Add /var/cache, /var/log, and /var/run. Makefile | 6 ++++++ init/init.8 | 11 ++++++++++- init/init.c | 11 ++++++++--- share/man/man7/hier.7 | 12 ++++++++++-- 4 files changed, 34 insertions(+), 6 deletions(-) commit 9d87d7695731ed27ab80da71d5e162982eeeda3a Author: Jonas 'Sortie' Termansen Date: Wed May 13 20:27:24 2015 +0200 Abort on overlapping memcpy. kernel/libk.cpp | 6 ++++++ libc/include/libk.h | 2 ++ libc/string/memcpy.c | 28 +++++++++++++++++++++++++++- 3 files changed, 35 insertions(+), 1 deletion(-) commit 280ba8d64d525b2061572a83326a7e22ca19cd64 Author: Jonas 'Sortie' Termansen Date: Sat May 29 00:54:44 2021 +0200 Rewrite find(1). utils/find.c | 1566 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 1451 insertions(+), 115 deletions(-) commit 1c9233e0c9bb6e83b6479d9b166e6d2238a880df Author: Jonas 'Sortie' Termansen Date: Sat May 29 00:36:56 2021 +0200 Add ENOMEDIUM. init/init.c | 2 +- libc/include/errno.h | 1 + libc/string/strerror.c | 1 + libmount/devices.c | 2 +- libmount/harddisk.c | 4 +++- 5 files changed, 7 insertions(+), 3 deletions(-) commit 18ba2d2fe37a9c07facd20add6328a785289c7c5 Author: Jonas 'Sortie' Termansen Date: Fri May 28 22:54:29 2021 +0200 Use example domain in serial-transfer(7). share/man/man7/serial-transfer.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 11be0007b8621f5869824ea168dd818131bb7f98 Author: Jonas 'Sortie' Termansen Date: Wed May 5 23:57:05 2021 +0200 Remove ENOUSER and ENOGROUP. The and family of functions are supposed to return nothing with no error set if there is no matching entry. libc/grp/getgrgid.c | 4 +++- libc/grp/getgrgid_r.c | 4 ++-- libc/grp/getgrnam.c | 4 +++- libc/grp/getgrnam_r.c | 4 ++-- libc/include/errno.h | 2 -- libc/pwd/getpwnam.c | 4 +++- libc/pwd/getpwnam_r.c | 4 ++-- libc/pwd/getpwuid.c | 4 +++- libc/pwd/getpwuid_r.c | 4 ++-- libc/string/strerror.c | 2 -- libc/unistd/getlogin_r.c | 4 +++- 11 files changed, 23 insertions(+), 17 deletions(-) commit 7f9a62d91604ef81572b092341ab8b664c9b62d6 Author: Juhani Krekelä Date: Tue May 4 00:58:50 2021 +0300 Implement Alt + key mapping to Esc followed by key in kernel tty kernel/logterminal.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 73e42780f47fc14abbaaa04f8dadf8262b8552a0 Author: Juhani Krekelä Date: Mon Apr 19 01:06:04 2021 +0300 Add more keybinds for scrolling in pager(1) b commonly corresponds to Page Up, and f is added to match. j and k for lines, ^F and ^B for pages, and g and G for home/end are from vi. C-n and C-p for lines and C-v and M-v for pages are from Emacs. < and > for home/end allow using Emacs M-< and M->, tho they are from less(1). utils/pager.1 | 14 +++++++------- utils/pager.c | 30 ++++++++++++++++++++++++------ 2 files changed, 31 insertions(+), 13 deletions(-) commit 5e666dce8aa99a380c7bd6a585a70e62605e1377 Author: Juhani Krekelä Date: Tue Apr 27 20:39:47 2021 +0000 Change `go to line` keybind in editor(1) from ^I to ^G Since this is a console program, ctrl + letter gets mapped to a control character in the range 1 to 26. Most of these control characters are no longer in use and can safely be assumed to be result of ctrl + letter, but ^I maps to the tab character. I chose ^G since the keybind is memorable, and a user is unlikely to try to type the BEL character. editor/command.c | 2 +- editor/editor.1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 86fa692c74686acc1efcb0102c62b0f18d5cf2e1 Author: Juhani Krekelä Date: Tue Apr 27 20:51:37 2021 +0000 Do not try to copy zero-length buffers in editor_type_newline() While under Sortix these operations ought to be safe, UBSan will complain regardless if you do a zero-byte memmove from NULL. This caused the editor forcibly quit whenever it tried to open a file that had an empty first line and at least one another line. editor/command.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 287425ac5ae2e2a39c525497aa10c02b9e325d52 Author: Juhani Krekelä Date: Sun Apr 18 18:07:38 2021 +0300 Add Finnish Multilingual keyboard layout kblayout/Makefile | 1 + kblayout/fi.kblayout | 216 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 217 insertions(+) commit eaa7732901a91300e4a9f18d0e21b0a673f71eb6 Author: Juhani Krekelä Date: Sun Apr 18 18:04:42 2021 +0300 Add bare +altgr/-altgr modifier support to kblayout-compiler(1) kblayout-compiler/kblayout-compiler.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit a83072bc3e00477f391ed54ff3f7d1f88446a7b4 Author: Jonas 'Sortie' Termansen Date: Wed Apr 21 19:45:10 2021 +0200 Fix username/password typo in release-iso-modification(7). Thanks to jjuran for spotting this error. share/man/man7/release-iso-modification.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b52bfa59788b0df9fd1b3d0dc65b9a55c55d5941 Author: Jonas 'Sortie' Termansen Date: Sat Mar 13 20:18:43 2021 +0100 Add nl(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/nl.c | 422 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 424 insertions(+) commit a8f8b4cfd66f63a7ce93dbcd138c568d1a239200 Author: Jonas 'Sortie' Termansen Date: Fri Apr 2 15:40:22 2021 +0200 Add format support to date(1). utils/date.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 11 deletions(-) commit 6a778c6089e4488caf8dfb613817c5b5577d0e46 Author: Jonas 'Sortie' Termansen Date: Tue Apr 6 23:17:54 2021 +0200 Fix strftime(3) error handling and add %F, %z, and %Z support. libc/time/strftime.c | 137 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 80 insertions(+), 57 deletions(-) commit c25f36cd53998f12c99ac41ee7e016679aada779 Author: Jonas 'Sortie' Termansen Date: Wed Feb 17 23:07:52 2021 +0100 Fix faccessat(2) not supporting root access. kernel/io.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit a6295e6d90c839da9f3d5894eb2d307615282b7b Author: Jonas 'Sortie' Termansen Date: Tue Feb 16 22:19:23 2021 +0100 Allow poll on all kinds of files. kernel/fs/user.cpp | 11 ++++++++--- kernel/inode.cpp | 22 +++++++++------------- 2 files changed, 17 insertions(+), 16 deletions(-) commit fb106181a955a241421fe4cfbdd8d287bff66352 Author: Jonas 'Sortie' Termansen Date: Sat Feb 13 22:31:54 2021 +0100 Fix sigsuspend(2) not running signal handlers with the temporary mask. kernel/signal.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 50543d3c36a53149dcd7fe191720379eb96ec691 Author: Jonas 'Sortie' Termansen Date: Fri Feb 12 23:49:15 2021 +0100 Fix printf(3) handling of negative precision. libc/stdio/vcbprintf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit aadeef6a7cb07285d3eec0d2537a42bf0d6ea98b Author: Jonas 'Sortie' Termansen Date: Thu Feb 11 20:36:10 2021 +0100 Fix psctl(2) not setting uid, euid, gid, and egid. kernel/psctl.cpp | 6 ++++++ 1 file changed, 6 insertions(+) commit fff849b151283b9cb957726f14025262eef59667 Author: Jonas 'Sortie' Termansen Date: Sat Feb 6 21:41:22 2021 +0100 Fix improper uses of ScopedLockSignal. kernel/logterminal.cpp | 6 +++--- kernel/mouse/ps2.cpp | 6 +++--- kernel/pipe.cpp | 18 +++++++++--------- kernel/pty.cpp | 2 +- kernel/tty.cpp | 22 ++++++++++++---------- 5 files changed, 28 insertions(+), 26 deletions(-) commit b2235844da8a41a22351faca5ca4c2f38860aed4 Author: Jonas 'Sortie' Termansen Date: Sat Jan 23 00:35:11 2021 +0100 Add TCP_MAXSEG and TCP_NOPUSH definitions. libc/include/netinet/tcp.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) commit e695e931466786497c3a871cc65d0fc4c7e38547 Author: Jonas 'Sortie' Termansen Date: Tue Jan 19 22:02:40 2021 +0100 Fix st_blocks being wrong on ext2. ext/extfs.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit ba8800df2c9deea446cb4fde7a3f0634b1f0084c Author: Jonas 'Sortie' Termansen Date: Sun Jan 17 22:54:08 2021 +0100 Improve error handling in upgrade.conf(5) parsing. sysinstall/conf.c | 76 +++++++++++++++++++++++++++++++++---------------- sysinstall/conf.h | 6 ++-- sysinstall/sysinstall.c | 36 ++++++++++------------- sysinstall/sysmerge.c | 4 ++- sysinstall/sysupgrade.c | 5 +++- 5 files changed, 77 insertions(+), 50 deletions(-) commit 84b008e45536da3835b9c2cf7290d2458190c724 Author: Jonas 'Sortie' Termansen Date: Fri Jan 15 21:21:38 2021 +0100 Clean up minor issues in sysinstall(8). sysinstall/devices.c | 27 ++++++++++++++++----------- sysinstall/fileops.c | 10 ++++++---- sysinstall/release.c | 9 +++++++-- sysinstall/sysinstall.c | 4 ++++ sysinstall/sysupgrade.c | 18 ++++++++++++------ 5 files changed, 45 insertions(+), 23 deletions(-) commit 69513b439639229f407d9e11f2418e06686a3bf8 Author: Jonas 'Sortie' Termansen Date: Fri Jan 15 21:12:29 2021 +0100 Add grub-install boot device detection to sysmerge(8). sysinstall/sysmerge.c | 98 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 30 deletions(-) commit cb590ff205a2ed0069ca223eac3717d02e80a744 Author: Jonas 'Sortie' Termansen Date: Tue Jan 19 00:04:29 2021 +0100 Fix system upgrade leaking files. Makefile | 8 + share/man/man5/upgrade.conf.5 | 1 + share/man/man7/development.7 | 24 +- share/man/man7/following-development.7 | 20 + share/man/man7/installation.7 | 4 + share/man/man7/upgrade.7 | 3 +- sysinstall/Makefile | 15 +- sysinstall/fileops.c | 45 +- sysinstall/fileops.h | 3 +- sysinstall/hooks.c | 2003 ++++++++++++++++++++++++++++++++ sysinstall/manifest.c | 718 +++++++++--- sysinstall/manifest.h | 19 +- sysinstall/string_array.c | 118 ++ sysinstall/string_array.h | 39 + sysinstall/sysinstall.c | 47 +- sysinstall/sysmerge.8 | 7 +- sysinstall/sysmerge.c | 18 +- sysinstall/sysupgrade.c | 12 +- 18 files changed, 2882 insertions(+), 222 deletions(-) commit 29598b4fdec1249a5e0c071b4baa3042b7235de7 Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 22:48:00 2020 +0100 Fix /tix/manifest permissions in installations. share/man/man7/following-development.7 | 7 +++++++ sysinstall/Makefile | 1 + sysinstall/hooks.c | 32 ++++++++++++++++++++++++++++++++ sysinstall/sysinstall.c | 4 ++-- 4 files changed, 42 insertions(+), 2 deletions(-) commit 5f84c38bc888a10adcba458f36fa5a36b9fd4c91 Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 22:31:37 2020 +0100 Fix sysinstall hook markers not being installed and prefix logic. Document the compatibility hooks behavior while here. share/man/man5/upgrade.conf.5 | 2 ++ share/man/man7/following-development.7 | 3 +++ share/man/man7/upgrade.7 | 3 +++ sysinstall/Makefile | 3 +++ sysinstall/hooks.c | 38 ++++++++++++++++++++-------------- sysinstall/hooks.h | 4 ++-- sysinstall/sysmerge.8 | 12 +++++++---- sysinstall/sysmerge.c | 12 ++++------- sysinstall/sysupgrade.c | 6 +++--- 9 files changed, 51 insertions(+), 32 deletions(-) commit 37b1bf5e75a1bbe7410088efe6ccbc9c68906189 Author: Jonas 'Sortie' Termansen Date: Fri Jan 15 21:49:12 2021 +0100 Fix /tmp permissions in the live environment. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ad8e17a968aa7cbecf5f64fefe7ee2741d95fc99 Author: Jonas 'Sortie' Termansen Date: Fri Jan 15 21:05:59 2021 +0100 Fix sysupgrade(8) buffer overflowing on more than 16 installations. sysinstall/sysupgrade.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 516c15d69ea66098749821e970f2fa9a20751f6b Author: Jonas 'Sortie' Termansen Date: Fri Jan 8 00:56:43 2021 +0100 Fix sysupgrade(8) cancelation of pending sysmerge(8) upgrades. sysinstall/sysupgrade.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 4c089a01d67e639275cd82c759b4a0e881145c36 Author: Jonas 'Sortie' Termansen Date: Wed Dec 30 15:59:35 2020 +0100 Fix sysroot-source git clone not escaping the current directory. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3a874e7f40030a11179e54ba3fee0b7dd8429376 Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 23:07:06 2020 +0100 Fix /var/empty permissions. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4de24d1f9649b428278cdd69527dc39e68b93ce3 Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 22:33:53 2020 +0100 Fix sysmerge(8) -c short option not working. sysinstall/sysmerge.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1a1c006982b1c4608f5b3672dd9cb75624fd2334 Author: Jonas 'Sortie' Termansen Date: Fri Dec 18 00:20:40 2020 +0100 Fix extra newline in verbose tix-install with a collection. tix/tix-install.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 006690d51efeb83b2a66d5df890c4761ce6066c7 Author: Jonas 'Sortie' Termansen Date: Thu Dec 17 21:48:46 2020 +0100 Fix tix-build host pkg-config with no sysroot. tix/tix-build.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) commit fa11548c5672ebe89bb9ab480b8941e970187627 Author: Jonas 'Sortie' Termansen Date: Sun Dec 6 13:03:56 2020 +0100 Fix pow(3) and powf(3) regression in earlier undefined behavior fix. libm/src/e_pow.c | 2 +- libm/src/e_powf.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 7139de4a53466b551d8d81df8751b8169619f9d7 Author: Jonas 'Sortie' Termansen Date: Wed Nov 25 20:46:52 2020 +0100 Add stty(1). kernel/tty.cpp | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/stty.c | 605 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 608 insertions(+) commit 20d4c09e26424dff1c7cb2ce63778c045afbe28f Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 17:38:45 2020 +0100 Undefine the eol character in the default terminal settings. kernel/tty.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eb70062331cea6356563a92db3ee112a92ce5989 Author: Jonas 'Sortie' Termansen Date: Wed Oct 28 12:47:08 2020 +0100 Fix utils/chown not being gitignored. utils/.gitignore | 1 + 1 file changed, 1 insertion(+) commit be02a7996b495087d1f900587d6ebe0b279c3ce3 Author: Jonas 'Sortie' Termansen Date: Sun Oct 18 13:36:01 2020 +0200 Fix kramfs not initializing the owner of new directories. kernel/fs/kram.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8337947058648f7c8ad68170f333c37fc9af8cee Author: Jonas 'Sortie' Termansen Date: Mon Sep 28 22:42:07 2020 +0200 Add chown(1). utils/Makefile | 1 + utils/chown.c | 336 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 337 insertions(+) commit 6774df5756890508ceed3c70f0cbf81e629d8da0 Author: Jonas 'Sortie' Termansen Date: Sat Oct 17 17:30:55 2020 +0200 Modernize chmod(1). utils/chmod.c | 72 +++++++++++++++++++++-------------------------------------- 1 file changed, 25 insertions(+), 47 deletions(-) commit 6f7162a0b18b162369ba3fbc04a1a15795c9f7e6 Author: Jonas 'Sortie' Termansen Date: Sun Sep 27 22:14:53 2020 +0200 Add checksum(1). Makefile | 1 + checksum/.gitignore | 2 + checksum/Makefile | 34 ++++ checksum/checksum.1 | 216 ++++++++++++++++++++++ checksum/checksum.c | 506 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 759 insertions(+) commit f22d736633a5c53a5715365f65a34e69d6cf5291 Author: Jonas 'Sortie' Termansen Date: Sat Aug 1 14:22:59 2020 +0200 Fix inet_pton(3) parsing 1:: and ::1.2.3.4 cases. libc/arpa/inet/inet_pton.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) commit a969564af44d182ef813b5f21cb34ad8d76c7bec Author: Jonas 'Sortie' Termansen Date: Sun Jul 26 00:09:26 2020 +0200 Delete inet_addr(3) and inet_ntoa(3). doc/obsolete-stuff | 8 -------- libc/Makefile | 2 -- libc/arpa/inet/inet_addr.c | 32 -------------------------------- libc/arpa/inet/inet_ntoa.c | 32 -------------------------------- libc/include/arpa/inet.h | 8 -------- 5 files changed, 82 deletions(-) commit 185a9fa221753d9e7add96c8f7d5acb1d7cf5dfc Author: Jonas 'Sortie' Termansen Date: Sun Jul 26 00:05:42 2020 +0200 Support IPv6 shorthand and IPv4-mapped addresses in inet_{pton,ntop}(3). libc/arpa/inet/inet_ntop.c | 59 +++++++++++++++++++++++++++++++++++--------- libc/arpa/inet/inet_pton.c | 61 ++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 103 insertions(+), 17 deletions(-) commit 8d4b932f0fa9887f6741fd2e313db3cad743e92e Author: Jonas 'Sortie' Termansen Date: Wed Apr 5 23:08:05 2017 +0200 Add . libc/.gitignore | 7 +- libc/Makefile | 30 +++- libc/include/sha2.h | 131 ++++++++++++++ libc/sha2/helper.c | 113 ++++++++++++ libc/sha2/sha224.c | 108 ++++++++++++ libc/sha2/sha256.c | 434 ++++++++++++++++++++++++++++++++++++++++++++++ libc/sha2/sha384.c | 111 ++++++++++++ libc/sha2/sha512.c | 453 +++++++++++++++++++++++++++++++++++++++++++++++++ libc/sha2/sha512_256.c | 114 +++++++++++++ 9 files changed, 1493 insertions(+), 8 deletions(-) commit 11ababec90c58e4275afbd2647869dfc716cea84 Author: Jonas 'Sortie' Termansen Date: Mon Apr 13 14:59:58 2020 +0200 Add -h option to ln(1). utils/ln.c | 1 + 1 file changed, 1 insertion(+) commit 90180a614f79481a9fbaf1bdb5278908d5724fea Author: Jonas 'Sortie' Termansen Date: Sun Apr 12 21:08:30 2020 +0200 Fix ln(1) behavior on empty paths and indentation. utils/ln.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) commit ff1a90c331b84d4a0690629e62b63d41e343d346 Author: Jonas 'Sortie' Termansen Date: Sun Apr 12 00:03:49 2020 +0200 Rewrite ln(1) to be standards compliant. utils/ln.c | 260 ++++++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 206 insertions(+), 54 deletions(-) commit d3a2eb8a79b9673f9fc916d08e2e1ec811bdc0dd Author: Jonas 'Sortie' Termansen Date: Sun Mar 8 12:43:03 2020 +0100 Unify EWOULDBLOCK and EAGAIN. libc/include/errno.h | 4 ++-- libc/string/strerror.c | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) commit 245ec6458a38aae3502ed8d9903b72c6f82f6563 Author: Jonas 'Sortie' Termansen Date: Thu Dec 13 23:56:28 2018 +0100 Fix poll(2) not just clearing revents on negative fds. kernel/poll.cpp | 7 ------- 1 file changed, 7 deletions(-) commit 221fa7d9549b7deef543e78412784cfa7003d1be Author: Jonas 'Sortie' Termansen Date: Sat Mar 7 23:30:38 2020 +0100 Rewrite scanf(3) to be standards compliant. This change adds missing features: * %[ for pattern matching with a scanset. * %m for allocation of strings. * %p for pointers. * Field width for integers. The following features remain unimplemented, like with printf(3): * Floating point support. * Wide character support. * %n$ positional parameters. The code has been completely refactored to be much more maintainable. The implemented features should now be standards compliant. A large number of edge cases have been fixed. The vscanf_callback(3) function has been renamed to vcbscanf(3) and a new cbscanf(3) function has been added. libc/Makefile | 3 +- libc/include/stdio.h | 21 +- libc/stdio/cbscanf.c | 34 +++ libc/stdio/vcbscanf.c | 469 ++++++++++++++++++++++++++++++++++++++++++ libc/stdio/vfscanf_unlocked.c | 2 +- libc/stdio/vscanf_callback.c | 354 ------------------------------- libc/stdio/vsscanf.c | 2 +- 7 files changed, 522 insertions(+), 363 deletions(-) commit 976d68677934ece87fc37cd0761512f5d43e0fe6 Author: Jonas 'Sortie' Termansen Date: Sun Mar 1 16:00:25 2020 +0100 Fix fputc(3) potentially miswriting the next byte after flushing. libc/stdio/fputc_unlocked.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) commit 48d826bfc571b48ddb44fd0a0140234740b55571 Author: Alexandros Alexandrou Date: Mon Apr 8 11:15:22 2019 +0300 Fix indentation in editor/display.c. editor/display.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 20c1f1d0d4fcbc2db5185954a846fc84df2f0dd8 Author: Jonas 'Sortie' Termansen Date: Sat Oct 20 12:57:04 2018 +0200 Add signal mask support to ppoll(2). kernel/include/sortix/kernel/signal.h | 3 +- kernel/include/sortix/kernel/thread.h | 4 +- kernel/poll.cpp | 71 ++++++++++++++++++++++++++++--- kernel/signal.cpp | 78 ++++++++++++++++++++++++++--------- kernel/thread.cpp | 4 +- 5 files changed, 131 insertions(+), 29 deletions(-) commit 9993a1c0fc143b1390227340beb04abd765f50eb Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 23:31:21 2018 +0200 Add --append-to kernel(7) multiboot module option. kernel/initrd.cpp | 24 +++++++++++++++++++----- share/man/man7/kernel.7 | 11 +++++++++++ 2 files changed, 30 insertions(+), 5 deletions(-) commit d0ab651fbd1d80fecbe4b600015ec71ed06a33be Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 23:17:49 2018 +0200 Document the options for the kernel(7) multiboot modules. kernel/initrd.cpp | 3 ++- share/man/man7/kernel.7 | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) commit 494ae2dc097ec5c3325e0269e18aa10d7fa475d6 Author: Jonas 'Sortie' Termansen Date: Wed Aug 29 23:09:59 2018 +0200 Recommend rw(1) in installation(7). share/man/man7/installation.7 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit b3e9865e53b94c7ba9d2e217eabf130cef138a9a Author: Jonas 'Sortie' Termansen Date: Sun Apr 29 13:32:02 2018 +0200 Handle SOCK_NONBLOCK at the file descriptor level. kernel/descriptor.cpp | 8 +++++++- kernel/io.cpp | 6 +----- 2 files changed, 8 insertions(+), 6 deletions(-) commit bc8093f4ffabcf89fb29a680e36f9d4dcb8152f2 Author: Jonas 'Sortie' Termansen Date: Sun Oct 14 16:09:36 2018 +0200 Fix typos in release-iso-bootconfig(7). share/man/man7/release-iso-bootconfig.7 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) commit 1f659c49c690780e3e99b2df29cd2e3613cbbf5b Author: Jonas 'Sortie' Termansen Date: Sun Oct 14 22:08:40 2018 +0200 Fix multiboot header not coming first in the executable. The default linker script places .text.unlikely prior to .text. kernel/x64/boot.S | 5 ++--- kernel/x86/boot.S | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) commit d3a64e1163dbe7484ca30bb426d9784ee9f79719 Author: Jonas 'Sortie' Termansen Date: Sat Sep 1 16:36:50 2018 +0200 Fix chmod(2), chown(2), and utimens(2) opening the path for writing. The change 9d29e96c3bb82db6d45928a81a39f70b3f30c669 "Fix open(2) allowing opening directories invalidly and check O_TRUNC errors." broke the chmod(2), chown(2), and utimens(2) system calls on directories, because they can no longer be opened for writing. This changes fixes the regression by opening such paths for reading. There is currently no filesystem permission checks for those system calls. However, those system calls should check the permissions at the time of the operation rather than relying on the file having been opened for writing previously. kernel/descriptor.cpp | 3 +++ kernel/io.cpp | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) commit 583742147836f0cd963d2bd3f152f8a4e245d7f5 Author: Jonas 'Sortie' Termansen Date: Sat Sep 1 12:41:46 2018 +0200 Don't unblock SIGABRT in abort(3) before calling raise(SIGABRT). The language in POSIX mentioning overriding blocking or ignoring SIGABRT refers to the inevitability of exiting by SIGABRT if SIGABRT isn't caught or if the handler does return. This implementation of abort(3) implements the standard by raising SIGABRT, allowing the signal to be caught; and if the signal is blocked or ignored or the handler returns, then exit_thread(2) forcefully exits the process as if by SIGABRT. libc/stdlib/abort.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit 918160450f3d3d2897ae01afd0cd46b1f351fb12 Author: Jonas 'Sortie' Termansen Date: Tue Jul 24 00:51:59 2018 +0200 Use /share/sysinstall/hooks to keep of whether hooks have run. share/sysinstall/hooks/sortix-1.1-random-seed | 0 sysinstall/hooks.c | 58 ++++++++++++++++++++------- 2 files changed, 44 insertions(+), 14 deletions(-) commit 4baa7b540931afac11f7e965d780ac012521a412 Author: Jonas 'Sortie' Termansen Date: Mon Jul 23 17:56:24 2018 +0200 Remove superfluous 'the' in upgrade.conf(5). share/man/man5/upgrade.conf.5 | 1 - 1 file changed, 1 deletion(-) commit b1ad606303924b0e010722c4384c153767184ec3 Author: Jonas 'Sortie' Termansen Date: Sun Aug 12 23:24:15 2018 +0200 Fix system calls panicing when creating threads in the kernel process. This fixes a regression in 62bd9bf9014d770b90b6c887698624059960d9e9. kernel/thread.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 9d29e96c3bb82db6d45928a81a39f70b3f30c669 Author: Kartik Agaram Date: Tue Apr 17 21:37:22 2018 -0700 Fix open(2) allowing opening directories invalidly and check O_TRUNC errors. Among other things, redirecting to a directory will now display an error as it should. Also fix a bug when opening /dev/pts: O_WRITE on a directory is a POSIX violation. kernel/descriptor.cpp | 28 ++++++++++++++++++++-------- kernel/kernel.cpp | 2 +- 2 files changed, 21 insertions(+), 9 deletions(-) commit b767063c9aeb812c5b6ff444be3aa6b5b0ec0297 Author: Jonas 'Sortie' Termansen Date: Wed Aug 8 23:45:52 2018 +0200 Fix deadlock when resizing display when a graphical process is running. kernel/lfbtextbuffer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 969a3e599b260dd832ef0f45a5f22abfe246662d Author: Jonas 'Sortie' Termansen Date: Mon Aug 6 21:42:00 2018 +0200 Fix signal dispatch if sigreturn is NULL. kernel/signal.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit ab228e1062ee93c9fd1a57a2b90a408b451ab202 Author: Jonas 'Sortie' Termansen Date: Mon Aug 6 21:17:26 2018 +0200 Fix Clock::LockLock setting we_disabled_interrupts before disabling interrupts. kernel/clock.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 5be7b524223c2fcd2286d4d46baab1554076eaf6 Author: Jonas 'Sortie' Termansen Date: Tue Jul 24 23:02:09 2018 +0200 Fix LFBTextBuffer GetChar starting worker thread when paused. kernel/lfbtextbuffer.cpp | 11 ++++++++--- kernel/lfbtextbuffer.h | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) commit 4a33c460f62dda6c9f5bc341549b638ab77a6164 Author: Jonas 'Sortie' Termansen Date: Mon Jul 23 22:16:39 2018 +0200 Fix accidental dead code after continue in sysinstall(8). sysinstall/sysinstall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 62bd9bf9014d770b90b6c887698624059960d9e9 Author: Jonas 'Sortie' Termansen Date: Tue Jul 17 16:25:31 2018 +0200 Fix pid 1 deadlocking when exiting with children. The child processes of pid 1 were being reparented to pid 1, causing an infinite loop. This change fixes the problem by adding a hook that runs in the last thread about to exit in a process. When pid 1 exits, the hook will prevent more processes and threads from being created, and then broadcast kill all processes and threads. The hook is not run in LastPrayer(), as that function runs in a worker thread and it can't block waiting for another thread to run LastPrayer() in the same thread. kernel/include/sortix/kernel/process.h | 4 +- kernel/kernel.cpp | 1 + kernel/kthread.cpp | 15 ++++++ kernel/process.cpp | 83 ++++++++++++++++++++++++++++++---- kernel/thread.cpp | 12 ++++- 5 files changed, 103 insertions(+), 12 deletions(-) commit c14e6c05b97e83387bc3f311f230a350b331c366 Author: Jonas 'Sortie' Termansen Date: Tue Jul 17 15:42:42 2018 +0200 Fix waitpid(2) when the status pointer is NULL. kernel/process.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit f744e80b888838edd39284ee3ee802047433ecc2 Author: Jonas 'Sortie' Termansen Date: Mon Jul 16 20:08:02 2018 +0200 Fix memory leak in mkinitrd(1) AddRulesFromFile error path. mkinitrd/rules.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit e8a9d3dc04b3a70e1c8e4194739a574187b75765 Author: Jonas 'Sortie' Termansen Date: Sun Jul 15 16:53:36 2018 +0200 Fix code assuming struct winsize fields are size_t. regress/regress.c | 2 +- sh/sh.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit 8467102662160ce1d41ccc3160d0125447decce1 Author: Jonas 'Sortie' Termansen Date: Sun Jul 15 13:29:56 2018 +0200 Fix ls(1) not checking stat_record()'s error correctly. utils/ls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit db90720c014ecf05282dff40e49a8c859dc0b3b9 Author: Jonas 'Sortie' Termansen Date: Sun Jul 15 13:26:27 2018 +0200 Fix code relying on including . trianglix/trianglix.cpp | 3 ++- utils/df.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) commit 29555d72bb46a890e0e00660f1760c5660c26b26 Author: Jonas 'Sortie' Termansen Date: Sat Jul 14 22:34:21 2018 +0200 Fix including namespace pollution. POSIX allows to include , but doesn't require it. There's little reason to do that, since they are separate headers, and just needs the mode_t constants. Fix the code accidentally relying on including . The mode_t constants are now provided in their own kernel header . Additionally fix pulling in all of , which is not allowed by POSIX, which only requires a few types to be declared. Fix the code accidentally relying on including . Finally fix pulling in through . The and headers are no longer required and their contents have been merged into . ext/inode.cpp | 4 +- kernel/include/sortix/__/dirent.h | 22 ++++----- kernel/include/sortix/__/dt.h | 43 ------------------ kernel/include/sortix/__/stat.h | 39 ---------------- kernel/include/sortix/dirent.h | 13 +----- kernel/include/sortix/mode.h | 66 +++++++++++++++++++++++++++ kernel/include/sortix/stat.h | 95 +++++++++++++++++++-------------------- libc/include/dirent.h | 4 +- libc/include/fcntl.h | 23 +++++++--- libc/include/fsmarshall-msg.h | 1 + libc/include/sys/stat.h | 67 +++------------------------ libc/stdlib/mkdtemps.c | 5 ++- login/login.c | 3 +- sysinstall/manifest.c | 3 +- sysinstall/sysmerge.c | 4 +- trianglix/trianglix.cpp | 1 + utils/ln.c | 5 ++- 17 files changed, 166 insertions(+), 232 deletions(-) commit 9c3af039caffc890cdd51c7d3aee2c242b5cfe5a Author: Jonas 'Sortie' Termansen Date: Sat Jul 14 18:50:09 2018 +0200 Fix pulling in through when __is_sortix_libc. libc/include/FILE.h | 9 +++++++-- libc/pwd/bcrypt_newhash.c | 1 + libc/stdio/fresetfile.c | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) commit b8a330af3bca8242ee4e37118d0c3eaf80751bfc Author: Jonas 'Sortie' Termansen Date: Tue Jul 10 22:14:54 2018 +0200 Fix carray(1) wrongly mentioning the -i option that is currently compatibility. carray/carray.1 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 64f4f5701c9d39e9f3e0aa2ac8be9fa7d9852fc3 Author: Shikhin Sethi Date: Sun Apr 15 18:03:24 2018 +0200 Fix typos in sort(1). utils/sort.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 29587a27ca78989ec0d1aa9ad82aad07336bfc03 Author: Jonas 'Sortie' Termansen Date: Sun Apr 15 17:59:28 2018 +0200 Include in rw(1) to get strcasecmp(3). rw/rw.c | 1 + 1 file changed, 1 insertion(+) commit 02d9d888f12e0edf55c1109b24358963eed59df8 Author: Jonas 'Sortie' Termansen Date: Sun Apr 15 17:53:52 2018 +0200 Fix more typos in rw(1). rw/rw.1 | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) commit 3261f766b6dbc53a51a478a7da81db9d2a10437a Author: Juhani Krekelä Date: Sun Apr 8 21:38:23 2018 +0200 Fix typo when sysinstall(8) says have to set up bootloading yourself. sysinstall/sysinstall.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit 3654b370f10eadbd4a57bfd314ff24753419e9ea Author: Jonas 'Sortie' Termansen Date: Sun Apr 8 19:32:50 2018 +0200 Add -R option to sort(1). utils/sort.1 | 20 ++++++++++++++++++-- utils/sort.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 65 insertions(+), 3 deletions(-) commit a209c8923332c5a5b28db305ed212ec1825dddbb Author: Jonas 'Sortie' Termansen Date: Sun Apr 8 01:43:00 2018 +0200 Fix POSIX comformance issues in sort(1). Fix -C disabling checking rather than checking quietly. Fix sort(1) exiting 1 on certain errors, as POSIX requires sort(1) to only exit if the input wasn't sorted when -c. Fix -o opening the output file for truncation before all the input has been read, as POSIX requires allowing -o to be an input file. POSIX requires sort(1) to handle input errors by either erroring with no output, or by erroring and sorting the input read so far. Change the current behavior of continuing to the next file to simply failing hard on the first input error. Don't increment the last line number on the end of the standard input. Report -c/-C as incompatible with -o. Exit unsuccessfully on any output errors. Update to current coding conventions and add documentation while here. utils/Makefile | 1 + utils/sort.1 | 154 +++++++++++++++++++++++++++++++++++++++++ utils/sort.c | 215 +++++++++++++-------------------------------------------- 3 files changed, 204 insertions(+), 166 deletions(-) commit 53592a6e3f4f5aa91b9883a79dee031ec01378f7 Author: Jonas 'Sortie' Termansen Date: Sun Apr 8 19:18:52 2018 +0200 Fix getdelim(3) not returning a final line without a delimiter. libc/stdio/getdelim.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 6d15ed575f11f8ebcde1d628037f786f2d975ca8 Author: Jonas 'Sortie' Termansen Date: Mon Apr 2 14:53:44 2018 +0200 Fix incorrect check for zero output block size in rw(1). rw/rw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 23438327b5dc4df49c8d82790735788254ae1eda Author: Jonas 'Sortie' Termansen Date: Sat Mar 31 18:22:16 2018 +0200 Fix quantity typo and clarify block size options in rw(1). rw/rw.1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit a0aed89d0a9066867c1ef30c724679ba3972b40e Author: Shikhin Sethi Date: Sat Mar 31 05:00:50 2018 +0200 Fix typos in rw(1)'s comments. rw/rw.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit 397bac9862fd0f56093a414a744d34617ea11d2c Author: Jonas 'Sortie' Termansen Date: Fri Mar 30 23:43:45 2018 +0200 Add support for modifying release iso images. Makefile | 20 +- build-aux/iso-grub-cfg.sh | 294 ++++++++++++---- share/man/man7/installation.7 | 18 + share/man/man7/release-iso-bootconfig.7 | 554 ++++++++++++++++++++++++++++++ share/man/man7/release-iso-modification.7 | 404 ++++++++++++++++++++++ share/man/man7/upgrade.7 | 17 + tix/Makefile | 11 + tix/tix-iso-add | 115 +++++++ tix/tix-iso-add.8 | 79 +++++ tix/tix-iso-bootconfig | 136 ++++++++ tix/tix-iso-bootconfig.8 | 222 ++++++++++++ tix/tix-iso-liveconfig | 89 +++++ tix/tix-iso-liveconfig.8 | 92 +++++ 13 files changed, 1987 insertions(+), 64 deletions(-) commit d1c3433353fc09ca56ff076daaa33b2741ade505 Author: Jonas 'Sortie' Termansen Date: Fri Mar 30 23:43:41 2018 +0200 Add rw(1). Makefile | 1 + rw/.gitignore | 1 + rw/Makefile | 28 ++ rw/rw.1 | 453 ++++++++++++++++++++++++ rw/rw.c | 869 ++++++++++++++++++++++++++++++++++++++++++++++ utils/command-not-found.c | 8 + 6 files changed, 1360 insertions(+) commit d393b67d720ae953d47158ea6bbc91bc3f1d7755 Author: Jonas 'Sortie' Termansen Date: Sat Mar 31 00:06:52 2018 +0200 Fix st_blksize and st_blocks kernel values. ext/extfs.cpp | 3 ++- kernel/fs/full.cpp | 1 - kernel/fs/kram.cpp | 1 - kernel/fs/null.cpp | 1 - kernel/fs/random.cpp | 1 - kernel/fs/util.cpp | 1 - kernel/fs/zero.cpp | 1 - kernel/inode.cpp | 3 ++- kernel/partition.cpp | 2 +- 9 files changed, 5 insertions(+), 9 deletions(-) commit 13658db63299a294398c9314532578cc7571c6be Author: Jonas 'Sortie' Termansen Date: Thu Mar 29 15:40:58 2018 +0200 Fix byte unit suffixes being called prefixes in disked(8). disked/disked.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) commit d7e5539c3502bae74a48086d185e8d411f096442 Author: Jonas 'Sortie' Termansen Date: Sat Mar 10 21:48:16 2018 +0100 Fix sysinstall(8) typo when selecting root filesystem. sysinstall/sysinstall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 66b35fb74c21a0e8ecc74573d0cc957f7cdc673a Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 23:13:02 2018 +0100 Fix incompatibilities in the kernel tar extraction. kernel/initrd.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 5723610d0aa1a514531f66d34b32918ba01caadb Author: Alexandros Alexandrou Date: Sun Mar 11 18:38:33 2018 +0200 Fix Ctrl+Down selecting text instead of moving cursor in editor(1). editor/input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 82b98b4899c131cd33277f19d6259732b09df371 Author: Alexandros Alexandrou Date: Sun Mar 11 18:09:42 2018 +0200 Fix indention in editor(1). editor/command.c | 8 ++++---- editor/cursor.c | 4 ++-- editor/highlight.c | 18 +++++++++--------- editor/input.c | 6 +++--- editor/terminal.h | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) commit 9380ed82ac7b6319eed88092df3515aa14ae7ee1 Author: Jonas 'Sortie' Termansen Date: Sat Feb 3 19:49:44 2018 +0100 Fix typo in getentropy(2). libc/unistd/getentropy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4335c7f001e83c4bf5ec53f85118933828c75a3d Author: Troy Martin Date: Tue Jan 9 22:33:25 2018 +0100 Fix typos in initrd(7). share/man/man7/initrd.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7df3f9308af2539b98cbc0e13048f7257dc69a5a Author: Jonas 'Sortie' Termansen Date: Sat Dec 2 20:14:43 2017 +0100 The man program in the mdocml port can now handle non-installed manuals. share/man/man7/following-development.7 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit eca6246684e21b483455037009c19aaa484cab46 Author: Jonas 'Sortie' Termansen Date: Wed Oct 25 13:20:33 2017 +0200 Use portable sort in linecount target. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0bb865a7d39f3414710a25be9c0778a65a085c1d Author: Jonas 'Sortie' Termansen Date: Mon Oct 23 17:26:33 2017 +0200 Add install(1) -d support. utils/cp.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) commit 7c91ea1b1999d88c91656dd31e22e3f0ee545c6d Author: Jonas 'Sortie' Termansen Date: Mon Oct 23 18:34:43 2017 +0200 Add restartable system calls compatibility macro. libc/include/sys/cdefs.h | 4 ++++ 1 file changed, 4 insertions(+) commit c8ba4b097333b4a136953f4e434d6f943935d1e8 Author: Jonas 'Sortie' Termansen Date: Sun Oct 22 17:54:00 2017 +0200 Add float formating and parsing compatibility macros. libc/include/sys/cdefs.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit 645ab7689cb94fa4e087cd674903ef6d9459e050 Author: Jonas 'Sortie' Termansen Date: Sat Sep 30 17:46:33 2017 +0200 Only mention tix-install destination if not the root directory. tix/tix-install.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 48e41b36a32ef373f5528a41e66ba02c3d673ed8 Author: Jonas 'Sortie' Termansen Date: Sat Sep 30 14:58:14 2017 +0200 Support the ^[[1~ for Home and ^[[4~ for End escape sequences in sh(1). sh/editline.c | 4 ++++ 1 file changed, 4 insertions(+) commit ca2969b0334ccbdc993341df9e52891fb5834e60 Author: Jonas 'Sortie' Termansen Date: Sun Sep 24 23:00:08 2017 +0200 Remove unused directory variables in favor of DOCDIR. build-aux/dirs.mak | 5 ----- 1 file changed, 5 deletions(-) commit d50b85591d2dcb8999951626dfb050dd697041f0 Author: Jonas 'Sortie' Termansen Date: Sun Feb 26 14:40:58 2017 +0100 Refactor testcase API. regress/test-fmemopen.c | 15 +++++++-------- regress/test-pipe-one-byte.c | 6 +++--- regress/test-pthread-argv.c | 12 +++--------- regress/test-pthread-basic.c | 12 ++++-------- regress/test-pthread-main-exit.c | 4 +--- regress/test-pthread-main-join.c | 13 ++++--------- regress/test-pthread-once.c | 10 +++------- regress/test-pthread-self.c | 16 ++++++---------- regress/test-pthread-tls.c | 14 +++++--------- regress/test-signal-raise.c | 7 +++---- regress/test-unix-socket-shutdown.c | 15 +++++++-------- regress/test.h | 36 ++++++++++++++++++++++++++++++------ 12 files changed, 76 insertions(+), 84 deletions(-) commit 590fd835d55181c63fdc5d69afcc451646860c37 Author: Jonas 'Sortie' Termansen Date: Tue Nov 28 16:46:03 2017 +0100 Fix hostname(1) manual page file being executable. hostname/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e9d552867b711b5db7e261570ee91e33ccc05e5b Author: Jonas 'Sortie' Termansen Date: Sun Oct 22 17:51:38 2017 +0200 Fix sysinstall(8) indention. sysinstall/sysinstall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 46b11b4b60d404797cb4df63ab4d5f860b876c5d Author: Jonas 'Sortie' Termansen Date: Thu Oct 5 22:31:41 2017 +0200 Fix update-initrd(8) not erroring on missing option arguments. Remove unimplemented --help and --version options. update-initrd/update-initrd | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 65a960dab0684784ce72206020ba44a3b237e1cd Author: Jonas 'Sortie' Termansen Date: Sat Oct 14 14:32:15 2017 +0200 Fix trailing slashes in manifests created by the kernel. kernel/initrd.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 568c97c77f09d75e91e6f170a05ffe29fcfcdfb9 Author: Jonas 'Sortie' Termansen Date: Thu Oct 26 17:11:40 2017 +0200 Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. Fix SEEK_END seeking twice as far as requested. Centralize lseek handling in one place and avoid overflow bugs. Inode lseek handlers now only need to handle SEEK_END with offset 0. Prevent the file offset from ever going below zero or overflowing. Character devices are now not seekable, but lseek will pretend they are, yet always stay at the file offset 0. pread/pwrite on character devices will now ignore the file offset and call read/write. This change prevents character devices from being memory mapped, notably /dev/zero can no longer be memory mapped. None of the current ports seem to rely on this behavior and will work with just MAP_ANONYMOUS. Refactor read and write system calls to have a shared return statement for both seekable and non-seekable IO. Fix file offset overflow bugs in read and write system calls. Fix system calls returning EPERM instead of properly returning EBADF when the file has not been opened in the right mode. Truncate IO counts and total vector IO length so the IO operation does not do any IO beyond OFF_MAX. Truncate also total vector IO length for recvmsg and sendmsg. Fail with EINVAL if total vector IO length exceeds SSIZE_MAX. Don't stop early if the total IO length is zero, so zero length IO now block on any locks internal to the inode. Handle reads at the maximum file offset with an end of file condition and handle writes of at least one byte at the maximum file offset by failing with EFBIG. Refactor UtilMemoryBuffer to store the file size using off_t instead of size_t to avoid casts and keep file sizes in the off_t type. Properly handle errors in the code, such as failing with EROFS instead of EBADF if the backing memory is not writeable, and failing with EFBIG if writing beyond the end of the file. Fix mkpartition not rejecting invalid partition start offsets and lengths. Strictly enforce partition start and length checks in the partition code. Enforce partitions exist within regular files or block devices. Fix a few indention issues. kernel/descriptor.cpp | 255 +++++++++++++++++++++--------- kernel/disk/node.cpp | 13 +- kernel/fcache.cpp | 6 +- kernel/fs/full.cpp | 10 -- kernel/fs/full.h | 2 - kernel/fs/null.cpp | 12 +- kernel/fs/null.h | 2 - kernel/fs/random.cpp | 21 +-- kernel/fs/random.h | 2 - kernel/fs/user.cpp | 2 + kernel/fs/util.cpp | 46 +++--- kernel/fs/util.h | 4 +- kernel/fs/zero.cpp | 15 +- kernel/fs/zero.h | 2 - kernel/include/sortix/kernel/descriptor.h | 1 + kernel/inode.cpp | 4 +- kernel/io.cpp | 8 + kernel/memorymanagement.cpp | 2 +- kernel/partition.cpp | 36 ++++- kernel/pipe.cpp | 4 + 20 files changed, 261 insertions(+), 186 deletions(-) commit f864c59d0d239653ecdedf9c6c9a0642fb80dc13 Author: Jonas 'Sortie' Termansen Date: Tue Mar 14 23:13:20 2017 +0100 Mix in fresh randomness when writing out /boot/random.seed. When entropy gathering is implemented, in the case of the installer and upgrader, the system probably won't have any entropy when it begins. By the time the system is installed, there will probably be a bit of entropy from the user using the system and general system usage, so mix in some of that. In the case of init, after an installed system has run for a while, a lot of entropy will have gotten collected, but init will have its arc4random seeded with initial boot entry, so mix in some fresh entropy, so the random seed written on shutdown remains as entropic as possible. init/init.c | 9 ++++++++- sysinstall/fileops.c | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) commit 4c2ef980b1b5e60c5ca0fb0d26158be87bdde964 Author: Jonas 'Sortie' Termansen Date: Mon Apr 10 16:37:03 2017 +0200 Refactor sysmerge(8) and sysupgrade(8) ABI and version comparisons. sysinstall/hooks.c | 10 +++------- sysinstall/release.c | 40 +++++++++++++++++++++++++++++++++++++++- sysinstall/release.h | 10 +++++++++- sysinstall/sysmerge.c | 5 +++-- sysinstall/sysupgrade.c | 10 +++++----- 5 files changed, 59 insertions(+), 16 deletions(-) commit b0496023a1ed12c70693d74ca6c1620a14fe5840 Author: Jonas 'Sortie' Termansen Date: Sun Jun 25 23:12:32 2017 +0200 Allow AF_UNSPEC family in socketpair(2). libc/sys/socket/socketpair.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3d356af8d2aae0d2da66310cece29cb1dd109ecf Author: Jonas 'Sortie' Termansen Date: Sun Aug 20 17:15:28 2017 +0200 Highlight installer, upgrader and disked interactive prompts. disked/disked.c | 6 +++++- sysinstall/interactive.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) commit 46862b797fa6c27c66222e9acc05f5509f3b7d39 Author: Jonas 'Sortie' Termansen Date: Sun Aug 20 12:40:41 2017 +0200 Fix command line parsing with expr(1) failing if the parameter is 0. build-aux/iso-grub-cfg.sh | 2 +- update-initrd/update-initrd | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit 9ee05a5afc6c2db7f57ac42867904be611c3f5dc Author: Jonas 'Sortie' Termansen Date: Wed Aug 9 00:03:24 2017 +0200 Fix kernel/addralloc.cpp file header comment. kernel/addralloc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 724c035c9902ab6dc2fc9b608ac6d8c02eecc66b Author: Jonas 'Sortie' Termansen Date: Tue Jul 11 14:44:30 2017 +0200 Fix failed fix to pstree(1) vertical line drawing character. The commit 0def94568a8e7588510e111e566a7d1df0a91655 switched to the box drawing light vertical (U+2502) character, but did not fix the now wrong assumption that the line drawing character encoded to a single byte. utils/pstree.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 2f61df05c29adadbb2a31a1905fcd4da93f846b4 Author: Jonas 'Sortie' Termansen Date: Mon Jul 10 21:40:09 2017 +0200 Fix including in strict C mode. libc/include/string.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 515d91a31b103ce030a0b6cc6cf6bad282aed1bf Author: Jonas 'Sortie' Termansen Date: Mon Jul 10 21:37:43 2017 +0200 Fix using long long in C89 mode. libc/include/stdlib.h | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) commit 95bcd5667ed6f3732ee09cb94e4b24825975a816 Author: Jonas 'Sortie' Termansen Date: Mon Jul 10 21:35:32 2017 +0200 Fix not defining NULL. libc/include/locale.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit 07e6c690978a9c70879c0165815653bd75407ba5 Author: Jonas 'Sortie' Termansen Date: Mon Jul 10 21:31:32 2017 +0200 Fix empty struct thread_rwlockattr_t. libc/include/__/pthread.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit c14d7fa3b8dfbdedd8ac7672ed537a67be956721 Author: Jonas 'Sortie' Termansen Date: Mon Jul 10 21:28:28 2017 +0200 Fix namespace pollution for strict C. kernel/include/sortix/signal.h | 8 -------- libc/include/signal.h | 31 ++++++++++++++++++++++--------- 2 files changed, 22 insertions(+), 17 deletions(-) commit 33dcd40c6d899d47a845d9bf8235461347a0b77a Author: Jonas 'Sortie' Termansen Date: Mon Jul 10 13:37:19 2017 +0200 Fix system headers using C89 incompatible comments. kernel/include/sortix/display.h | 92 ++++++++++++++++++++-------------------- kernel/include/sortix/initrd.h | 2 +- kernel/include/sortix/kblayout.h | 2 +- 3 files changed, 48 insertions(+), 48 deletions(-) commit 8b64b4bbbea38c73dda3cebd097bf0c9c9340deb Author: Nicholas De Nova Date: Wed Apr 19 08:56:26 2017 -0500 Clean /tmp on boot. init/init.8 | 5 +++ init/init.c | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+) commit 326e43f3e9a9c258f5ccd766d5b16402c2b6bcec Author: Jonas 'Sortie' Termansen Date: Tue Jun 27 21:43:44 2017 +0200 Fix logname(1) not reseting errno before logname(3). Thanks to ybden for spotting this bug. utils/logname.c | 1 + 1 file changed, 1 insertion(+) commit 1759f690b6a4ff88460ecceab661d5f0bb26930c Author: Jonas 'Sortie' Termansen Date: Sat May 27 10:52:22 2017 +0200 Fix chvideomode(5) usable/used typo. share/man/man5/videomode.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 723f8e964ca7a0636a0026e167198340ef332704 Author: Jonas 'Sortie' Termansen Date: Sat Jun 3 21:27:03 2017 +0200 Fix date format in manual pages. carray/carray.1 | 2 +- disked/disked.8 | 2 +- editor/editor.1 | 2 +- editor/editor.5 | 2 +- init/init.8 | 2 +- login/login.8 | 2 +- mkinitrd/initrdfs.8 | 2 +- mkinitrd/mkinitrd.8 | 2 +- sf/sf.1 | 2 +- sf/sfnc.1 | 2 +- sf/sfncd.1 | 2 +- share/man/man5/hostname.5 | 2 +- share/man/man5/kblayout.5 | 2 +- share/man/man5/upgrade.conf.5 | 2 +- share/man/man5/videomode.5 | 2 +- share/man/man7/cross-development.7 | 2 +- share/man/man7/development.7 | 2 +- share/man/man7/following-development.7 | 2 +- share/man/man7/hier.7 | 2 +- share/man/man7/initrd.7 | 2 +- share/man/man7/installation.7 | 2 +- share/man/man7/kernel.7 | 2 +- share/man/man7/serial-transfer.7 | 2 +- share/man/man7/undocumented.7 | 2 +- share/man/man7/upgrade.7 | 2 +- share/man/man7/user-guide.7 | 2 +- sysinstall/sysinstall.8 | 2 +- sysinstall/sysmerge.8 | 2 +- sysinstall/sysupgrade.8 | 2 +- update-initrd/update-initrd.8 | 2 +- utils/kernelinfo.1 | 2 +- utils/memstat.1 | 2 +- utils/pager.1 | 2 +- utils/passwd.1 | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) commit 9321f4d78e6c96fc8fe96957e81b12c4eb56920c Author: Jonas 'Sortie' Termansen Date: Sun Jul 2 21:55:10 2017 +0200 Fix initrd_get_inode return value not being checked for error. kernel/initrd.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 087e3b3fdac2302b4deca5e995e8e2dda6545d48 Author: Pedro Falcato Date: Wed Jun 14 19:47:39 2017 +0100 Fail with ENOSYS on bad system calls. kernel/syscall.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit c0a44e72a6e6239677fd576a060b78a8023e8649 Author: Pedro Falcato Date: Sat Jun 10 01:17:40 2017 +0100 Clear the direction flag upon entry to the kernel. kernel/x64/boot.S | 3 +++ kernel/x64/interrupt.S | 1 + kernel/x64/syscall.S | 1 + kernel/x86/boot.S | 3 +++ kernel/x86/interrupt.S | 1 + kernel/x86/syscall.S | 2 ++ 6 files changed, 11 insertions(+) commit f32baac73fc74e9cb21d7004aae3bb0a4181a336 Author: Pedro Falcato Date: Sun Jun 4 22:42:41 2017 +0100 Fix mountpoint typo in user-guide(7). share/man/man7/user-guide.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9f9f4d4e3fd813e4a640e64693f6913d710853ef Author: Jonas 'Sortie' Termansen Date: Sun May 21 22:20:01 2017 +0200 Print an kernel error rather than panicing if init(8) exits abnormally. This avoids the misimpression that a kernel bug happened and it avoids clearing the screen of potentially useful information about an init(8) crash. init/init.8 | 6 ++++-- kernel/kernel.cpp | 5 ++++- share/man/man7/kernel.7 | 5 ++++- 3 files changed, 12 insertions(+), 4 deletions(-) commit ceff78b6b658999b5addf21161c596c73fca2f16 Author: Jonas 'Sortie' Termansen Date: Fri May 19 23:39:39 2017 +0200 Add initrdfs(1) extraction support. mkinitrd/initrdfs.8 | 43 +++++++---- mkinitrd/initrdfs.c | 213 +++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 179 insertions(+), 77 deletions(-) commit 9f1965f36eba9566718b5fe2f0ad4968ed81ab08 Author: Jonas 'Sortie' Termansen Date: Fri Mar 24 23:44:28 2017 +0100 Prioritize the interrupt worker thread. kernel/include/sortix/kernel/interrupt.h | 5 +++ kernel/include/sortix/kernel/scheduler.h | 3 +- kernel/interrupt.cpp | 4 +++ kernel/kernel.cpp | 9 ++--- kernel/scheduler.cpp | 58 +++++++++++++++++++++----------- kernel/x86-family/interrupt.cpp | 8 ++++- 6 files changed, 61 insertions(+), 26 deletions(-) commit 66e5ddcfabb709e3fb5ee2c0f84cbddcec2b57bf Author: Jonas 'Sortie' Termansen Date: Sat May 13 19:00:00 2017 +0200 Fix kernel HEAP_GUARD_DEBUG support. libc/include/malloc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4c98e3f9600278f677958a2414ead21d365ac7d6 Author: Jonas 'Sortie' Termansen Date: Sat Apr 22 22:26:29 2017 +0200 Fix pipe and unix socket iovec support. kernel/pipe.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8d661623012fabcd39970ce7efcab125696c66f5 Author: Jonas 'Sortie' Termansen Date: Mon Apr 10 16:03:09 2017 +0200 Add -q option to tix-install(8). tix/tix-install.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 7bc9e067ecacd71cd59d174b021a9a61bc2c1ec7 Author: Jonas 'Sortie' Termansen Date: Fri Apr 14 19:52:05 2017 +0200 Fix operator spacing in kernel/textbuffer.cpp. kernel/textbuffer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0def94568a8e7588510e111e566a7d1df0a91655 Author: Jonas 'Sortie' Termansen Date: Fri Apr 14 19:52:38 2017 +0200 Fix pstree(1) vertical line drawing character. utils/pstree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit acc32ccb4914e651b54690d202343256f06d646a Author: Jonas 'Sortie' Termansen Date: Fri Mar 24 23:13:27 2017 +0100 Make interrupt work thread reliable. kernel/clock.cpp | 43 +++++++++- kernel/include/sortix/kernel/clock.h | 10 ++- kernel/include/sortix/kernel/interrupt.h | 18 ++-- kernel/include/sortix/kernel/timer.h | 3 +- kernel/interrupt.cpp | 136 ++++++------------------------- kernel/kernel.cpp | 3 - kernel/timer.cpp | 3 +- kernel/x86-family/ps2.cpp | 103 ++++++++++++++++++----- kernel/x86-family/vbox.cpp | 29 ++++--- 9 files changed, 184 insertions(+), 164 deletions(-) commit 86ac3d3725654c042c860594de6760fe96513cd0 Author: Jonas 'Sortie' Termansen Date: Wed Apr 12 22:01:07 2017 +0200 Fix the signal dispatch handler is callable from user-space. kernel/x86-family/interrupt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 10453f026963d1597df4e785a83d970bb8d85561 Author: Jonas 'Sortie' Termansen Date: Wed Apr 12 21:55:02 2017 +0200 Fix uname(1) referencing section 4 and not section 5. utils/uname.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ce6ea7f5537e33d2a0adfea8b8829c0c1ad8a880 Author: Nicholas De Nova Date: Wed Apr 12 14:04:36 2017 -0500 Check architecture compatibility during sysmerge(8)/sysupgrade(8). sysinstall/fileops.c | 40 ++++++++++++++++++++++++++++++++++ sysinstall/fileops.h | 1 + sysinstall/sysmerge.c | 18 ++++++++++++++- sysinstall/sysupgrade.c | 58 +++++++++++++++++++++++++++++++++++++++++-------- 4 files changed, 107 insertions(+), 10 deletions(-) commit cd7a984e9fabdaccd1c4d1e61360bc89b2b10bcb Author: Jonas 'Sortie' Termansen Date: Sun Apr 9 22:10:37 2017 +0200 Fix select(2) buffer overflow if the fd_set is smaller than normal. OpenSSH is allocating a fd_set of exactly the needed size, which leads to buffer overflows in select(2) when it tries to zero out the fd_set assuming it is the normal size. libc/sys/select/select.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit d45417651f6143a4367dbc02c1724305c3361e69 Author: Jonas 'Sortie' Termansen Date: Sat Feb 25 23:25:26 2017 +0100 Refactor kernel command line parsing. build-aux/iso-grub-cfg.sh | 6 +-- init/init.8 | 9 +++- init/init.c | 34 ++++++++---- kernel/kernel.cpp | 131 ++++++++++++++++++++++------------------------ share/man/man7/kernel.7 | 32 ++++++----- 5 files changed, 116 insertions(+), 96 deletions(-) commit 35d3c7e0b523122603af76286923ce557fc33212 Author: Jonas 'Sortie' Termansen Date: Tue Mar 21 21:06:44 2017 +0100 Fix technical typo. kernel/panic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9dd8a8e84c687db2613710a1df3521d49d193365 Author: Nicholas De Nova Date: Mon Apr 3 18:06:56 2017 -0500 Check overflows in the descriptor table. kernel/dtable.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 2876c44ce7666ed04006aefb850995ceba31b5a2 Author: Nicholas De Nova Date: Sat Apr 1 10:06:37 2017 -0500 Check overflow in init(8). init/init.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 92397f60426402c5427ae05c9e96a6df72bb75f2 Author: Jonas 'Sortie' Termansen Date: Sun Mar 19 17:31:18 2017 +0100 Remove VERSIONSTR define for programs not using it. editor/Makefile | 1 - init/Makefile | 1 - login/Makefile | 1 - 3 files changed, 3 deletions(-) commit 9613d47496979a63fc8d56091ce15dd179e143fc Author: Jonas 'Sortie' Termansen Date: Sun Mar 19 17:32:09 2017 +0100 Fix comma punctuation bugs in manual lists. share/man/man7/development.7 | 8 ++++---- utils/chkblayout.1 | 2 +- utils/chroot.8 | 2 +- utils/unmount.8 | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) commit dbf4bcd6cf7e1f33c8bab82b42a8b60c69a5e6ab Author: Jonas 'Sortie' Termansen Date: Sun Mar 19 16:59:41 2017 +0100 Add hostname(1). Makefile | 1 + hostname/.gitignore | 1 + hostname/Makefile | 28 +++++++++++++ hostname/hostname.1 | 28 +++++++++++++ hostname/hostname.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++ share/man/man5/hostname.5 | 2 + 6 files changed, 164 insertions(+) commit 4ffd6f5e2068eb2659cb4b35559a9997417f6065 Author: Jonas 'Sortie' Termansen Date: Sat Mar 18 16:40:30 2017 +0100 Fix mode constants not in octal. init/init.c | 2 +- kernel/initrd.cpp | 2 +- trianglix/trianglix.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 3e80b9d407381c0d1a5b05a7b4ee35c972be6a31 Author: Jonas 'Sortie' Termansen Date: Thu Mar 16 21:17:15 2017 +0100 Fix build-aux/iso-grub-cfg.sh error message typo. build-aux/iso-grub-cfg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eb7d0f4dd4545e52bcdbe67fd62b053932cc64a6 Author: Jonas 'Sortie' Termansen Date: Mon Mar 6 23:27:19 2017 +0100 Fix select(2) error and end of file handling. libc/sys/select/select.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) commit 955406a3edfea9ee67fdc4a5d8e25326508a74fa Author: Nicholas De Nova Date: Sun Mar 12 17:30:18 2017 -0500 Check overflows in disked(8). Also ensure that an strtoimax(3) failure in parse_disk_quantity is handled. disked/disked.c | 101 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 60 insertions(+), 41 deletions(-) commit ef2e478607fd9ae56abf1a94f042f1e746be499f Author: Jonas 'Sortie' Termansen Date: Thu Feb 23 20:11:59 2017 +0100 Implement getpeername(2) and getsockname(2). kernel/descriptor.cpp | 10 ++ kernel/fs/user.cpp | 14 +++ kernel/include/sortix/kernel/descriptor.h | 2 + kernel/include/sortix/kernel/inode.h | 4 + kernel/include/sortix/kernel/syscall.h | 4 +- kernel/include/sortix/kernel/vnode.h | 2 + kernel/inode.cpp | 12 +++ kernel/io.cpp | 22 +++-- kernel/net/fs.cpp | 46 +++++++++ kernel/vnode.cpp | 10 ++ regress/Makefile | 1 + regress/test-unix-socket-name.c | 158 ++++++++++++++++++++++++++++++ 12 files changed, 273 insertions(+), 12 deletions(-) commit 4eb9caaa391c956398765bd3fd5913039a5dedc6 Author: Jonas 'Sortie' Termansen Date: Sat Feb 25 16:59:57 2017 +0100 Fix non-blocking accept4(2) and getting the Unix socket peer address. Rename the internal kernel method from accept to accept4. fixup! Fix non-blocking accept4(2) and getting the unix socket peer address. kernel/descriptor.cpp | 8 ++- kernel/fs/user.cpp | 29 ++++++---- kernel/include/sortix/kernel/descriptor.h | 4 +- kernel/include/sortix/kernel/inode.h | 8 +-- kernel/include/sortix/kernel/vnode.h | 2 +- kernel/inode.cpp | 4 +- kernel/io.cpp | 10 ++-- kernel/net/fs.cpp | 92 +++++++++++++++---------------- kernel/vnode.cpp | 8 ++- 9 files changed, 86 insertions(+), 79 deletions(-) commit 8f3e11b162258a0daa9923116ebb5140969f9391 Author: Jonas 'Sortie' Termansen Date: Thu Feb 23 22:42:42 2017 +0100 Fix missing mutex in Unix socket shutdown. kernel/net/fs.cpp | 1 + 1 file changed, 1 insertion(+) commit 961ba9ec6c0fb053558cbbbb381d981f9ee7100c Author: Meisaka Yukara Date: Sun Sep 20 14:57:21 2015 +0900 Add cache-aware memory mapping functions. This commit is joint work by Meisaka Yukara and Jonas 'Sortie' Termansen . kernel/disk/ahci/hba.cpp | 5 ++- kernel/gpu/bga/bga.cpp | 8 ++-- kernel/include/sortix/kernel/memorymanagement.h | 11 +++++- kernel/include/sortix/kernel/pci-mmio.h | 16 ++++++-- kernel/log.cpp | 5 ++- kernel/pci-mmio.cpp | 51 +++++++++++++++++++------ kernel/x86-family/memorymanagement.cpp | 2 +- kernel/x86-family/memorymanagement.h | 12 ++---- kernel/x86-family/vbox.cpp | 4 +- 9 files changed, 78 insertions(+), 36 deletions(-) commit 307223a5a70770ad2e7610b0c7d257c96d333497 Author: Meisaka Yukara Date: Sun Sep 20 14:57:21 2015 +0900 Add PCI scanning functions and busmastering functions. This commit is joint work by Meisaka Yukara and Jonas 'Sortie' Termansen . kernel/include/sortix/kernel/pci.h | 36 ++++++- kernel/pci.cpp | 212 ++++++++++++++++++++++++++++++++++--- 2 files changed, 228 insertions(+), 20 deletions(-) commit 970bf0c5e30181085c56c8403b592313e327aefc Author: Jonas 'Sortie' Termansen Date: Sat Feb 18 16:05:28 2017 +0100 Major bump Sortix ABI following incompatible socket(2) change. Commit "Add socket(2)" 4b2cf28bbf95c983ca35b6588cdf55cdbfdecdc7 forgot to major bump the ABI after removing /dev/net and adding a new system call. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fcefd86432925144e385c611c55c68c0e2a8fb09 Author: Jonas 'Sortie' Termansen Date: Sat Aug 6 15:44:11 2016 +0200 Implement shutdown(2). kernel/descriptor.cpp | 7 ++ kernel/fs/user.cpp | 17 +++++ kernel/include/sortix/kernel/descriptor.h | 1 + kernel/include/sortix/kernel/inode.h | 2 + kernel/include/sortix/kernel/vnode.h | 1 + kernel/inode.cpp | 5 ++ kernel/io.cpp | 8 ++- kernel/net/fs.cpp | 12 +++- kernel/pipe.cpp | 37 ++++++++++- kernel/vnode.cpp | 5 ++ libc/include/fsmarshall-msg.h | 11 ++- regress/Makefile | 1 + regress/test-unix-socket-shutdown.c | 107 ++++++++++++++++++++++++++++++ 13 files changed, 206 insertions(+), 8 deletions(-) commit d2176216492038bce700bb8551810c7b70298f45 Author: Nicholas De Nova Date: Wed Feb 15 15:56:01 2017 -0600 Correct manpage spacing per roff(7) convention. roff(7) dictates that "Each sentence should terminate at the end of an input line." Instead of doing this, Sortix manpages (incorrectly) used double-spaces to separate sentences. Additionally, fix a few small typos. carray/carray.1 | 59 +++++---- disked/disked.8 | 94 +++++++------ editor/editor.1 | 12 +- editor/editor.5 | 10 +- init/init.8 | 68 ++++++---- login/login.8 | 19 ++- mkinitrd/initrdfs.8 | 3 +- mkinitrd/mkinitrd.8 | 41 +++--- sf/sf.1 | 19 +-- sf/sfnc.1 | 3 +- sf/sfncd.1 | 4 +- share/man/man5/hostname.5 | 5 +- share/man/man5/kblayout.5 | 8 +- share/man/man5/upgrade.conf.5 | 32 +++-- share/man/man5/videomode.5 | 9 +- share/man/man7/cross-development.7 | 107 ++++++++------- share/man/man7/development.7 | 151 ++++++++++++--------- share/man/man7/following-development.7 | 55 +++++--- share/man/man7/initrd.7 | 4 +- share/man/man7/installation.7 | 236 ++++++++++++++++++--------------- share/man/man7/kernel.7 | 3 +- share/man/man7/serial-transfer.7 | 55 ++++---- share/man/man7/upgrade.7 | 75 ++++++----- share/man/man7/user-guide.7 | 34 +++-- sysinstall/sysinstall.8 | 5 +- sysinstall/sysmerge.8 | 35 +++-- sysinstall/sysupgrade.8 | 9 +- utils/chkblayout.1 | 3 +- utils/chroot.8 | 3 +- utils/pager.1 | 17 +-- utils/unmount.8 | 15 ++- 31 files changed, 681 insertions(+), 512 deletions(-) commit 4b2cf28bbf95c983ca35b6588cdf55cdbfdecdc7 Author: Jonas 'Sortie' Termansen Date: Tue Jun 28 02:06:35 2016 +0200 Add socket(2). This removes the /dev/net socket interface. This is an incompatible ABI change. kernel/Makefile | 1 + kernel/include/sortix/kernel/syscall.h | 1 + kernel/include/sortix/syscall.h | 3 +- kernel/kernel.cpp | 4 +- kernel/net/fs.cpp | 40 ++++++++----------- kernel/net/fs.h | 7 +++- kernel/net/socket.cpp | 71 ++++++++++++++++++++++++++++++++++ kernel/syscall.cpp | 1 + libc/sys/socket/socket.c | 54 +++----------------------- share/man/man7/following-development.7 | 15 +++++++ 10 files changed, 120 insertions(+), 77 deletions(-) commit 50266bb724127806bb292812088ff0426d25bd97 Author: Jonas 'Sortie' Termansen Date: Sun Nov 27 21:19:37 2016 +0100 Add getnameinfo(3). libc/netdb/getnameinfo.c | 60 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 11 deletions(-) commit 5de36cf449053fb25a40a18141f0a18bf5b52444 Author: Jonas 'Sortie' Termansen Date: Fri Jul 1 18:23:34 2016 +0200 Add inet_pton(3). libc/Makefile | 2 +- libc/arpa/inet/inet_pton.c | 87 ++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 77 insertions(+), 12 deletions(-) commit ba3b6d386e9c7cd213ff8fa12182003abe929cea Author: Jonas 'Sortie' Termansen Date: Fri Jul 1 18:23:10 2016 +0200 Add inet_ntop(3). libc/Makefile | 2 +- libc/arpa/inet/inet_ntop.c | 45 ++++++++++++++++++++++++++++++++++----------- 2 files changed, 35 insertions(+), 12 deletions(-) commit e5eed18cf4e8ef959d1c479c31632411209ddba4 Author: Jonas 'Sortie' Termansen Date: Fri Jul 1 19:38:40 2016 +0200 Deprecate inet_addr(3) and inet_ntoa(3). doc/obsolete-stuff | 21 +++++++++++++++++++++ libc/include/arpa/inet.h | 2 ++ 2 files changed, 23 insertions(+) commit a53dd5d29dba90379b82db2d2c5ba7e5fc6016cb Author: Jonas 'Sortie' Termansen Date: Sat Dec 3 18:10:26 2016 +0100 Support deallocating kernel timers in timer handlers. kernel/clock.cpp | 27 ++++++++++++++++++++++++--- kernel/include/sortix/kernel/clock.h | 3 ++- kernel/include/sortix/kernel/timer.h | 23 +++++++++++++++++++++++ kernel/timer.cpp | 9 +++++++++ 4 files changed, 58 insertions(+), 4 deletions(-) commit 7a8a71674ef20db36d322b5fe0b8277e776536c9 Author: Jonas 'Sortie' Termansen Date: Mon Jan 9 23:40:29 2017 +0100 Move readv/writev family and sendmsg/recvmsg into drivers. kernel/descriptor.cpp | 158 ++++++++++++++++- kernel/fcache.cpp | 146 ++++++++------- kernel/fs/kram.cpp | 18 +- kernel/fs/kram.h | 6 +- kernel/fs/user.cpp | 137 +++++++++++++- kernel/include/sortix/kernel/descriptor.h | 12 +- kernel/include/sortix/kernel/fcache.h | 10 +- kernel/include/sortix/kernel/inode.h | 24 ++- kernel/include/sortix/kernel/pipe.h | 13 +- kernel/include/sortix/kernel/vnode.h | 12 +- kernel/include/sortix/limits.h | 3 +- kernel/inode.cpp | 204 +++++++++++++++++++-- kernel/io.cpp | 182 ++----------------- kernel/net/fs.cpp | 45 ++++- kernel/pipe.cpp | 285 +++++++++++++++++++++++++----- kernel/vnode.cpp | 34 +++- regress/Makefile | 1 + regress/test-pipe-one-byte.c | 51 ++++++ 18 files changed, 1024 insertions(+), 317 deletions(-) commit 28229eb6e674c6471f0324b5f7ab6caefc880c12 Author: Jonas 'Sortie' Termansen Date: Sun Feb 12 15:21:00 2017 +0100 Fix pipe2(2) not supporting O_NONBLOCK. kernel/pipe.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit eddc4f7407a5c1bd6d6f4ea473db405a686738a1 Author: Nicholas De Nova Date: Mon Feb 13 12:47:06 2017 -0600 Document chvideomode(1). utils/Makefile | 1 + utils/chkblayout.1 | 1 + utils/chvideomode.1 | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++ utils/chvideomode.c | 30 ---------- 4 files changed, 164 insertions(+), 30 deletions(-) commit 0b6e58a7ef91ab67500b98bf29f0e712bbc82ce9 Author: Jonas 'Sortie' Termansen Date: Wed Feb 8 22:48:43 2017 +0100 Document scram(2). libc/Makefile | 11 +++++- libc/scram/scram.2 | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 2 deletions(-) commit 9cd1c2fc9fdf6eb6ad16aaef6704b9a3a0f5a443 Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 17:21:10 2017 +0100 Add sysroot-overlay-* to .gitignore. .gitignore | 1 + 1 file changed, 1 insertion(+) commit 7de194280368a478f348e0069b9f929fc3165b46 Author: Jonas 'Sortie' Termansen Date: Fri Dec 23 07:36:52 2016 +0100 Only the tty1 login session powers off. sh/sh.c | 3 +++ utils/command-not-found.c | 25 +++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) commit 88a6317700c13461d4f4f3d7ba1aa6ace469546c Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 17:29:24 2017 +0100 Fix trianglix not using -std=gnu++11. trianglix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7d59575921b4faaa698753da42b13dc87645e8a0 Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 16:37:22 2017 +0100 Fix videomode(5) mentioning fixed bugs. share/man/man5/videomode.5 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit b86a227f7bfda21673307e0dd0adfdce63ac438f Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 16:25:27 2017 +0100 Fix unterminated list in pager(1). utils/pager.1 | 1 + 1 file changed, 1 insertion(+) commit 987cd88472e255cce008ca3a08a38479926a4954 Author: Jonas 'Sortie' Termansen Date: Sun Feb 5 14:37:07 2017 +0100 Use git ls-files in linecount target. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 912a5448c53f90f1be55691d3f650e13627e7551 Author: Nicholas De Nova Date: Sun Feb 5 13:40:40 2017 -0600 Document uname(1). utils/Makefile | 1 + utils/uname.1 | 43 +++++++++++++++++++++++++++++++++++++++++++ utils/uname.c | 34 ++++++---------------------------- 3 files changed, 50 insertions(+), 28 deletions(-) commit eec161761da15f7dccb09bee0e76be7565672649 Author: Matthew Smith Date: Sun Feb 5 14:23:55 2017 +0000 Add UK keyboard layout. kblayout/Makefile | 1 + kblayout/uk.kblayout | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 212 insertions(+) commit e9ee189d29b08548e0b9d3ff4b74d570559feccf Author: Jonas 'Sortie' Termansen Date: Sun Jan 22 20:26:12 2017 +0100 Fix BGA driver crashes without vbox guest additions. kernel/gpu/bga/bga.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) commit bdc791f692b01277113f8464917578b9ff20d27f Author: Jonas 'Sortie' Termansen Date: Sat Jan 21 17:40:35 2017 +0100 Fix saving and restoring console cursor position. kernel/textterminal.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 73d984bca3ab015ed213aa0b2220409a3c16e62d Author: Nicholas De Nova Date: Thu Dec 29 12:39:26 2016 -0600 Panic upon detection of xz, gzip, or bzip2 magic in loaded modules. kernel/initrd.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) commit 6e91b4df4fab8e261638491e357f7252959b940b Author: Jonas 'Sortie' Termansen Date: Tue Dec 20 22:09:21 2016 +0100 Fix trianglix(1) rune hint typos. trianglix/trianglix.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ef1d85ca55951e29505ad20e57fc26bb01a5c22a Author: Jonas 'Sortie' Termansen Date: Mon Dec 19 23:41:14 2016 +0100 Fix EDESTADDRREQ typo. libc/string/strerror.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 442b139cc3eeaacfddc4f2f7b05807828d2dc719 Author: Jonas 'Sortie' Termansen Date: Wed Dec 28 20:45:41 2016 +0100 Fix following-development(7) typos. share/man/man7/following-development.7 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 9bbdb791afb826a2786c0fa103e524a9e10fa90c Author: Jonas 'Sortie' Termansen Date: Mon Dec 26 13:59:25 2016 +0100 Add split packages and cross-bootstrapping support to tix-build(8). pkg.use-bootstrap can now be set to true to add a bootstrap phase to cross-builds. I.e. the package is built for the native platform and installed to a temporary location, which is in the PATH during the actual cross-compilation. This feature is useful for some misbehaving ports that can cross-compile, but require the exact same version of the software installed locally. The bootstrap build is controlled with the bootstrap.foo variables rather than the normal pkg.foo variables. pkg.source-package can now be set to the name of another package, whose source code is built using the current tixbuildinfo. This feature allows providing multiple packages using the same source code package. By default, the source code of the source package is assumed to be in ../${pkg.source-package}, but this can be overridden with the option --source-directory. pkg.alias-of can now be set to the name of another package to specify that this package is an alias of the other package, creating an empty binary package depending on the real package. pkg.subdir support has been fixed in the clean and post-install phases. pkg-config support has been improved and PKG_CONFIG is now set to $HOST-pkg-config and PKG_CONFIG_FOR_BUILD is set to pkg-config. tix-build has been refactored as needed and generally cleaned up. Error handling, such as on allocations, have been added in a lot of cases. The support for FOO_FOR_BUILD variables have been unified and simplified. Appending to PATH now correctly handles the empty PATH. build-aux/build-ports.sh | 7 +- share/man/man7/following-development.7 | 39 ++ tix/tix-build.c | 1174 +++++++++++++++++++------------- tix/tix.c | 2 + 4 files changed, 748 insertions(+), 474 deletions(-) commit 0cf88fd58afb63f3c0efc7ca00bb3a3b672bddca Author: Jonas 'Sortie' Termansen Date: Tue Dec 27 21:50:47 2016 +0100 Revert "Add ." This reverts commit f6cde2d7a618f2b4dff62e4fd44e3c1bf6624b5e. gcc detected this header existing and emitted its own limits.h that included the libc limits.h. This caused the #include_next chain to reach the end and including the header failed. Undoing this commit for now until the compiler toolchain is updated to avoid this problem. kernel/include/sortix/limits.h | 2 +- libc/include/limits.h | 30 ------------------------------ 2 files changed, 1 insertion(+), 31 deletions(-) commit 00261ea9e17139a42eae28841741035d69fef983 Author: Jonas 'Sortie' Termansen Date: Sun Nov 13 22:06:38 2016 +0100 Test if exit() works in a multi-threaded process. Commit 2d91c7d3856665941d9d8185737070cbdebf22f4 fixed this issue. regress/Makefile | 1 + regress/test-pthread-main-exit.c | 41 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) commit 2a143e687565afc12570c7819b1438fb19a6d26a Author: Jonas 'Sortie' Termansen Date: Sun Oct 9 21:46:39 2016 +0200 Make update-initrd(8) invoke its sysmerge replacement if any. update-initrd/update-initrd | 40 +++++++++++++--------------------------- update-initrd/update-initrd.8 | 13 +++++++++++++ 2 files changed, 26 insertions(+), 27 deletions(-) commit 0bb608b09ef35bfdd243c2db0c3cc60633260ecd Author: Jonas 'Sortie' Termansen Date: Sun Sep 25 12:07:49 2016 +0200 Support 8-bit/24-bit color and more escape codes in the graphical console. The console has gained these escape codes: - Set color to any of 256 entries in the palette. - Set color to any 24-bit RGB value. - Inverse mode. - Bold mode. - Underline mode. - Move cursor to line N. - \a is now ignored. The effectively unused ATTR_CHAR has been removed. Parsing of escape codes has been improved. The graphical palette has been changed to the tango colors, which makes Sortix look a bit differently. Some user-space programs have been changed to use different colors that look better under the new palette. Remove const from methods that weren't really const and remove mutable keyword workaround. kernel/include/sortix/kernel/textbuffer.h | 14 +- kernel/lfbtextbuffer.cpp | 35 ++-- kernel/lfbtextbuffer.h | 1 - kernel/palette.h | 283 ++++++++++++++++++++++++++++++ kernel/textbuffer.cpp | 2 +- kernel/textterminal.cpp | 279 +++++++++++++++++++++++------ kernel/textterminal.h | 25 +-- kernel/vgatextbuffer.cpp | 4 +- sh/sh.c | 2 +- utils/ls.c | 16 +- 10 files changed, 561 insertions(+), 100 deletions(-) commit ce54be34dade34949dd0ef44c03abc19ca8a6659 Author: Jonas 'Sortie' Termansen Date: Tue Sep 6 23:52:54 2016 +0200 Add VirtualBox Guest Additions. kernel/Makefile | 1 + kernel/gpu/bga/bga.cpp | 65 +++++- kernel/kernel.cpp | 6 + kernel/x86-family/vbox.cpp | 560 +++++++++++++++++++++++++++++++++++++++++++++ kernel/x86-family/vbox.h | 48 ++++ 5 files changed, 670 insertions(+), 10 deletions(-) commit e7c5d032d190ebfec25c5e93cb857af20947ed81 Author: Jonas 'Sortie' Termansen Date: Sat Sep 3 23:45:44 2016 +0200 Refactor graphical resolution changes. kernel/gpu/bga/bga.cpp | 142 ++++++++++++++++++++++-------- kernel/include/sortix/display.h | 3 + kernel/include/sortix/kernel/log.h | 6 +- kernel/include/sortix/kernel/textbuffer.h | 18 ++-- kernel/include/sortix/kernel/video.h | 20 +++-- kernel/lfbtextbuffer.cpp | 78 ++++++++++++---- kernel/lfbtextbuffer.h | 18 ++-- kernel/log.cpp | 17 +++- kernel/textbuffer.cpp | 70 ++++++++++++++- kernel/textterminal.cpp | 26 ++++++ kernel/textterminal.h | 3 + kernel/vgatextbuffer.cpp | 21 +++-- kernel/vgatextbuffer.h | 14 +-- kernel/video.cpp | 127 ++++++++++++++++++++------ sysinstall/sysinstall.c | 24 +++-- sysinstall/sysupgrade.c | 20 ++++- 16 files changed, 481 insertions(+), 126 deletions(-) commit 0342e03073e74309d9a41dab7f11dcfd197502dd Author: Jonas 'Sortie' Termansen Date: Tue Sep 6 00:21:34 2016 +0200 Add debug uart utility functions. kernel/uart.cpp | 21 ++++++++++++++++++++- kernel/uart.h | 5 ++++- 2 files changed, 24 insertions(+), 2 deletions(-) commit 1990c899dd6327cf0df5b7040788d422ba820a3a Author: Jonas 'Sortie' Termansen Date: Sun Nov 27 11:15:44 2016 +0100 Fix not offering setting a resolution with one display. sysinstall/sysinstall.c | 2 +- sysinstall/sysupgrade.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit dc44993465bd35f2d56b2c5a0b0fc4cabee45246 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 17:35:17 2016 +0100 Add tty(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/tty.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) commit 52ea22d7935925096ea76e8614423eabbf0a1ac1 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 21:37:54 2016 +0100 Add ptsname_r(3). libc/Makefile | 1 + libc/include/stdlib.h | 1 + libc/stdlib/ptsname_r.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) commit 1f742d521cd989642fcd155519019967dd2447f0 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 21:22:03 2016 +0100 Add ptsname(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/stdlib/ptsname.c | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) commit 88de69487be0077af6eb4d0fcb87ec63e29d8d5a Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 21:15:03 2016 +0100 Add unlockpt(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/stdlib/unlockpt.c | 26 ++++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) commit 46ebbf82d42460d32705d35912a5bb75ea204719 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 21:03:44 2016 +0100 Add grantpt(3). libc/Makefile | 1 + libc/include/stdlib.h | 5 ++++- libc/stdlib/grantpt.c | 26 ++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) commit 2563b926ad91bfd2deda877a53eb09ad5c1775e5 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 20:45:27 2016 +0100 Add posix_openpt(3). libc/Makefile | 1 + libc/include/stdlib.h | 7 +++++-- libc/stdlib/posix_openpt.c | 26 ++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) commit 365815401b77770ac611778315cf4666759673f3 Author: Jonas 'Sortie' Termansen Date: Fri Nov 18 18:39:29 2016 +0100 Add openpty(3). libc/Makefile | 1 + libc/include/pty.h | 38 ++++++++++++++++++++++++++++++++++++++ libc/pty/openpty.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) commit b38c84852cc341102d3ac958f0023644203f459b Author: Jonas 'Sortie' Termansen Date: Tue Nov 15 21:14:30 2016 +0100 Add pseudo terminals. This is a compatible ABI change riding on the previous commit's bump. kernel/Makefile | 1 + kernel/include/sortix/kernel/syscall.h | 1 + kernel/include/sortix/syscall.h | 2 +- kernel/kernel.cpp | 16 + kernel/pty.cpp | 833 +++++++++++++++++++++++++++++++++ kernel/pty.h | 75 +++ kernel/syscall.cpp | 2 +- libc/Makefile | 1 + libc/include/termios.h | 3 +- libc/termios/mkpty.c | 29 ++ 10 files changed, 960 insertions(+), 3 deletions(-) commit 6ef5a5cee3c5bc9b15a53b2ba2a06d369ba41704 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 16:44:09 2016 +0100 Detect whether the terminal has a display and a keyboard layout. A new ioctl TIOCGDISPLAYS allow detecting which displays the terminal has associated. The ability to set a keyboard layout can be detected with tcgetblob kblayout. Improve the user-space multi-monitor support while here. The kernel now sets TERM rather than init(8). This is a compatible ABI change riding on the previous commit's bump. dispd/client/framebuffer.h | 3 ++- dispd/client/session.c | 25 ++++++++++++++++++------- dispd/client/window.c | 7 ++++--- init/init.c | 36 +++++++++++++++++++++++++++++------- kernel/include/sortix/display.h | 12 ++++++++++++ kernel/include/sortix/ioctl.h | 1 + kernel/kernel.cpp | 4 ++-- kernel/logterminal.cpp | 22 ++++++++++++++++++++++ login/graphical.c | 36 ++++++++++++++++++++++++++---------- sysinstall/sysinstall.c | 36 +++++++++++++++++++++++++----------- sysinstall/sysupgrade.c | 20 ++++++++++++++++---- utils/chvideomode.c | 23 ++++++++++++++++++++++- 12 files changed, 179 insertions(+), 46 deletions(-) commit db7182ddc3b99c7066a424bc095daca49911a169 Author: Jonas 'Sortie' Termansen Date: Tue Nov 15 21:08:15 2016 +0100 Add support for sessions. This change refactors the process group implementation and adds support for sessions. The setsid(2) and getsid(2) system calls were added. psctl(2) now has PSCTL_TTYNAME, which lets you get the name of a process's terminal, and ps(1) now uses it. The initial terminal is now called /dev/tty1. /dev/tty is now a factory for the current terminal. A global lock now protects the process hierarchy which makes it safe to access other processes. This refactor removes potential vulnerabilities and increases system robustness. A number of terminal ioctls have been added. This is a compatible ABI change. Makefile | 2 +- kernel/descriptor.cpp | 8 +- kernel/fs/user.cpp | 37 ++-- kernel/include/sortix/ioctl.h | 6 + kernel/include/sortix/kernel/descriptor.h | 2 +- kernel/include/sortix/kernel/inode.h | 4 +- kernel/include/sortix/kernel/process.h | 40 ++-- kernel/include/sortix/kernel/syscall.h | 2 + kernel/include/sortix/kernel/vnode.h | 2 +- kernel/include/sortix/limits.h | 1 + kernel/include/sortix/psctl.h | 9 +- kernel/include/sortix/syscall.h | 6 +- kernel/inode.cpp | 4 +- kernel/io.cpp | 19 +- kernel/kernel.cpp | 48 ++++- kernel/logterminal.cpp | 57 +++++- kernel/logterminal.h | 8 +- kernel/process.cpp | 308 ++++++++++++++++++------------ kernel/psctl.cpp | 74 ++++--- kernel/resource.cpp | 27 +-- kernel/signal.cpp | 22 ++- kernel/syscall.cpp | 2 + kernel/tty.cpp | 271 ++++++++++++++++++++------ kernel/tty.h | 37 +++- kernel/vnode.cpp | 4 +- libc/Makefile | 2 + libc/include/unistd.h | 4 +- libc/unistd/getsid.c | 29 +++ libc/unistd/setsid.c | 29 +++ libc/unistd/ttyname.c | 34 ++-- libc/unistd/ttyname_r.c | 20 +- utils/ps.c | 41 +++- 32 files changed, 815 insertions(+), 344 deletions(-) commit d529a1e332098e5326c14d54e002c92d0cd703d6 Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 23:47:02 2016 +0200 Add factory inode support. kernel/fs/user.cpp | 8 ++++++++ kernel/include/sortix/fcntl.h | 5 ++++- kernel/include/sortix/kernel/inode.h | 4 ++++ kernel/include/sortix/stat.h | 5 +++++ kernel/inode.cpp | 8 ++++++++ kernel/io.cpp | 9 ++++++--- kernel/vnode.cpp | 7 +++++++ 7 files changed, 42 insertions(+), 4 deletions(-) commit 1240a44298dd5592436f0610f38483be22f9c107 Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 17:53:38 2016 +0100 Type escape colon to enter commands in editor(1). editor/editor.1 | 3 ++- editor/input.c | 42 +----------------------------------------- editor/input.h | 1 - 3 files changed, 3 insertions(+), 43 deletions(-) commit 31824718818786b8929d5bc12c13fe4d32a69b1b Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 16:50:14 2016 +0100 Switch pager(1) to termios. utils/pager.c | 667 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 351 insertions(+), 316 deletions(-) commit 8d7d364037b4993e5a2187ce5ee19782ab518f0a Author: Jonas 'Sortie' Termansen Date: Sat Apr 23 13:16:29 2016 +0200 Switch sh(1) to termios. sh(1) now restores reasonable terminal attributes. This is not really its problem, but as long as common Sortix programs don't always restore the terminal attributes on exit, this will work around the issue in practice. sh/editline.c | 247 ++++++++++++++++++++++++++++++++++++---------------------- sh/editline.h | 22 +++--- sh/sh.c | 5 +- sh/showline.c | 24 +++++- sh/showline.h | 6 +- 5 files changed, 194 insertions(+), 110 deletions(-) commit f6cde2d7a618f2b4dff62e4fd44e3c1bf6624b5e Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 11:56:00 2016 +0100 Add . kernel/include/sortix/limits.h | 10 ++-------- libc/include/limits.h | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 8 deletions(-) commit 684171527426713a6330b874ba3368b45e36c374 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 16:43:09 2016 +0100 Fix sh(1) prompt for non-root users. sh/sh.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 1de75a613502a67662ce28144ef85607afd66977 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 16:33:55 2016 +0100 Fix sysinstall(8) and sysupgrade(8) requiring tcgetwincurpos. sysinstall/interactive.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit e1c64ec92de69151beca2289eb3c3760bf24173b Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 16:33:24 2016 +0100 Fix login(8) not preserving terminal attributes. login/graphical.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 4441e279d78340f2fcf51817d5c03c61b06517a7 Author: Jonas 'Sortie' Termansen Date: Fri Nov 18 18:44:22 2016 +0100 Fix login(8) reopen of /dev/tty as stdout. login/login.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3cfbdb29b57dde7301968d3856b26deb9fca36a2 Author: Jonas 'Sortie' Termansen Date: Sun Nov 13 12:24:34 2016 +0100 Fix ls -Ra recursing on dot and dotdot. utils/ls.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 1b3dcad03cbbd2d61b5c9fa4bdd8321a6d67a0e1 Author: Dennis Wölfing Date: Fri Oct 21 15:53:19 2016 +0200 Add German keyboard layout. kblayout-compiler/kblayout-compiler.c | 56 ++++++- kblayout/Makefile | 1 + kblayout/de.kblayout | 257 +++++++++++++++++++++++++++++++++ share/man/man7/following-development.7 | 19 +++ 4 files changed, 331 insertions(+), 2 deletions(-) commit a942b15f9195a5449e12a4a8fed7f3e6d81ad38e Author: Nicholas De Nova Date: Sun Nov 6 15:31:26 2016 -0600 Add errc(3) family. libc/Makefile | 4 ++++ libc/err/errc.c | 29 +++++++++++++++++++++++++++++ libc/err/verrc.c | 28 ++++++++++++++++++++++++++++ libc/err/vwarn.c | 11 +---------- libc/err/vwarnc.c | 37 +++++++++++++++++++++++++++++++++++++ libc/err/warnc.c | 29 +++++++++++++++++++++++++++++ libc/include/err.h | 8 ++++++++ 7 files changed, 136 insertions(+), 10 deletions(-) commit 4890297611b45aced824dd671b94722b0c31ee8f Author: Philippe Michaud-Boudreault Date: Sun Nov 6 17:34:10 2016 +0100 Optimize is_power_of_two. kernel/elf.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit 55853033657b6787f164755da6a3a980e4fc60d9 Author: Jonas 'Sortie' Termansen Date: Mon Oct 10 18:52:16 2016 +0200 Add following-development(7). share/man/man7/cross-development.7 | 18 ++++- share/man/man7/development.7 | 7 ++ share/man/man7/following-development.7 | 140 +++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+), 1 deletion(-) commit d720f16537ad9057eb89a6f4e789f7abcdcf3179 Author: Jonas 'Sortie' Termansen Date: Sat Nov 5 15:23:15 2016 +0100 Add ONLCR and OCRNL. This is a compatible ABI change. Makefile | 2 +- kernel/include/sortix/kernel/log.h | 4 +- kernel/include/sortix/termios.h | 4 ++ kernel/include/sortix/termmode.h | 3 ++ kernel/log.cpp | 15 ++++++ kernel/textterminal.cpp | 41 ++++++++++++++++- kernel/textterminal.h | 2 + kernel/tty.cpp | 94 ++++++++++++++++++++++++++++++++------ 8 files changed, 148 insertions(+), 17 deletions(-) commit 9603be8e657c911cc75688608ef28b2e3f71b2e3 Author: Jonas 'Sortie' Termansen Date: Mon Apr 18 23:57:43 2016 +0200 Split LogTerminal into a base class with the core terminal semantics. No semantic change. kernel/Makefile | 1 + kernel/logterminal.cpp | 639 +------------------------------------------- kernel/logterminal.h | 47 +--- kernel/tty.cpp | 700 +++++++++++++++++++++++++++++++++++++++++++++++++ kernel/tty.h | 85 ++++++ 5 files changed, 789 insertions(+), 683 deletions(-) commit d84715c6ef9738480b198916c1d15ad02d02c5c8 Author: Jonas 'Sortie' Termansen Date: Sat Nov 5 16:19:24 2016 +0100 Fix SIGTTIN during tty reading not setting errno to EINTR. kernel/logterminal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 51e13b93579657270952513fae768cd2d56699f4 Author: Jonas 'Sortie' Termansen Date: Thu Nov 3 22:30:51 2016 +0100 Fix terminal escape keystroke not sending escape byte. kernel/logterminal.cpp | 6 ++++++ 1 file changed, 6 insertions(+) commit a77fb74fd9f2d96951c76cddb24a363e27551e7c Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 23:52:30 2016 +0200 Fix sh crash if show_state->current_line is NULL. sh/showline.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit e808ddb62ebfa99f6edafcb3d4306c141c4492a4 Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 23:45:33 2016 +0200 Fix ps and pstree extra operand not using errx. utils/ps.c | 4 ++-- utils/pstree.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit eacfc72f2f8d28587ecb968dc0d43f064cc0422e Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 23:44:20 2016 +0200 Fix concurrent serial port read and write. kernel/com.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 77defc5e24a253206ef12ad6c8b61164a4e7b0c4 Author: Jonas 'Sortie' Termansen Date: Thu Nov 3 08:25:44 2016 +0100 Add suggestion to use nano(1) if installed. build-aux/ports.conf | 2 +- utils/command-not-found.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) commit 8951adc5f0ead814501c18901e850b37b1711467 Author: Jonas 'Sortie' Termansen Date: Thu Nov 3 08:36:20 2016 +0100 Add VMIN support. kernel/logterminal.cpp | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 7 deletions(-) commit c3652da29fd4f68ded6ed34d0c82b938617dabb3 Author: Jonas 'Sortie' Termansen Date: Sun Oct 30 21:19:34 2016 +0100 Add December 31 2016 leap second. libc/time/gmtime_r.c | 1 + 1 file changed, 1 insertion(+) commit df0a99a2d27003381a9b9d643ede5bfb37bd34bc Author: Jonas 'Sortie' Termansen Date: Sun Oct 30 19:56:08 2016 +0100 Add suggestion to use ed(1) if installed. utils/command-not-found.c | 2 ++ 1 file changed, 2 insertions(+) commit d4bec88bf6327ec308fa6ae96b726804a6a686c0 Author: Jonas 'Sortie' Termansen Date: Sun Oct 30 18:05:52 2016 +0100 Add REG_STARTEND. libc/include/regex.h | 8 +++++++- libc/regex/regerror.c | 3 ++- libc/regex/regexec.c | 25 +++++++++++++++++++------ 3 files changed, 28 insertions(+), 8 deletions(-) commit 205a3e715655340d9d7ecb08727b54d4f0bbb881 Author: Pedro Falcato Date: Sun Oct 30 12:03:21 2016 +0000 Remove not_rsp and not_esp. kernel/include/sortix/kernel/registers.h | 2 -- kernel/scheduler.cpp | 2 -- kernel/x64/interrupt.S | 2 -- kernel/x86/interrupt.S | 2 -- 4 files changed, 8 deletions(-) commit 2d91c7d3856665941d9d8185737070cbdebf22f4 Author: Jonas 'Sortie' Termansen Date: Sun Oct 9 22:56:04 2016 +0200 Fix exit_thread(2) multi-threaded process destruction. kernel/thread.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit b3f31b1adbeb5897ba2cf55614625eea14431921 Author: Jonas 'Sortie' Termansen Date: Sun Oct 9 22:47:41 2016 +0200 Fix double declaration of __heap_mutex. libc/malloc/__heap_unlock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 057609ee6c99e8f5884363feffce1f30f1e5c643 Author: Nicholas De Nova Date: Sun Oct 16 11:27:09 2016 -0500 Add logname(1). utils/.gitignore | 1 + utils/Makefile | 2 ++ utils/logname.1 | 17 ++++++++++++ utils/logname.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 102 insertions(+) commit 207f554b11455f2b82f0562e65ad968087e427eb Author: Daniel Roskams Date: Wed Oct 12 20:05:14 2016 +0800 Document chroot(8). utils/Makefile | 1 + utils/chroot.8 | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ utils/chroot.c | 28 +++++----------------------- 3 files changed, 61 insertions(+), 23 deletions(-) commit 27677f2f9a14c047f8547659d476fbd9c4c1ec36 Author: Daniel Roskams Date: Tue Oct 11 15:38:24 2016 +0800 Document unmount(1). utils/Makefile | 5 +++-- utils/unmount.8 | 35 +++++++++++++++++++++++++++++++++++ utils/unmount.c | 36 ++++-------------------------------- 3 files changed, 42 insertions(+), 34 deletions(-) commit b5240163b60502366d8a13b596c810b8a0b6a431 Author: Jonas 'Sortie' Termansen Date: Sun Oct 9 23:06:16 2016 +0200 Fix newlines in passwd(1) unrecognized option errors. utils/passwd.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 50669b1556ca1278f112f4346640b89ad07c12c9 Author: Jonas 'Sortie' Termansen Date: Sun Oct 9 19:17:57 2016 +0200 Fix mkinitrd(8) documentation typos. mkinitrd/mkinitrd.8 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 0b398524693d64b4e1080750ee459d6cf365faaf Author: Jonas 'Sortie' Termansen Date: Sun Oct 9 18:58:11 2016 +0200 Fix path in update-initrd(8) documentation. update-initrd/update-initrd.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 169e10ab4b3ed6339fb0398fb6a0365b13425bd3 Author: Jonas 'Sortie' Termansen Date: Sun Oct 9 18:56:26 2016 +0200 Move chroot(8) and unmount(8) to sbin. utils/Makefile | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) commit 2864faaa6c750e81a07a44ee40d74f087c738557 Author: Daniel Roskams Date: Thu Oct 6 12:54:03 2016 +0800 Document memstat(1). utils/Makefile | 1 + utils/memstat.1 | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) commit 606385b66326206cf8e1262e92e8d4beaaebdb1b Author: Daniel Roskams Date: Tue Oct 4 14:26:38 2016 +0800 Document pager(1). utils/Makefile | 1 + utils/pager.1 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ utils/pager.c | 27 +++------------------------ 3 files changed, 55 insertions(+), 24 deletions(-) commit ac37d66a934ddb8a8b84607b5da2d7892fa25421 Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 20:46:29 2016 +0200 Add sysinstall(8) tip for selecting devices in disked(8). sysinstall/devices.c | 5 +++++ sysinstall/devices.h | 1 + sysinstall/sysinstall.c | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) commit a90d4dbf23657ee145d33d9b0143c7b0308d8aaa Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 19:53:25 2016 +0200 Allow canceling sysinstall(8) and sysupgrade(8) gracefully. sysinstall/interactive.c | 13 ++++++++++++- sysinstall/interactive.h | 5 +++++ sysinstall/sysinstall.c | 22 ++++++++++++++++------ sysinstall/sysupgrade.c | 34 ++++++++++++++++++++++++++-------- 4 files changed, 59 insertions(+), 15 deletions(-) commit 252c78f01017bf555e2a42ededcfa571ffc73163 Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 01:38:11 2016 +0200 Add partition support to sysupgrade(8). sysinstall/devices.c | 1 + sysinstall/sysinstall.c | 4 +- sysinstall/sysupgrade.c | 255 ++++++++++++++++++++++++------------------------ 3 files changed, 128 insertions(+), 132 deletions(-) commit b70ffb70afe7eab0795c7a745e61c245a3c4014b Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 21:46:04 2016 +0200 Add /boot partition support to sysinstall(8). share/man/man7/installation.7 | 25 +++++++++++++++++++------ sysinstall/sysinstall.c | 25 ++++++++++++++++++------- 2 files changed, 37 insertions(+), 13 deletions(-) commit 3f86ec65440c3a9a79f5651749c99d3fd3edc225 Author: Jonas 'Sortie' Termansen Date: Wed Aug 24 14:44:49 2016 +0200 Default to installing GRUB if an existing installation uses GRUB. libmount/biosboot.c | 3 +- libmount/extended.c | 3 +- libmount/include/mount/filesystem.h | 3 +- share/man/man7/installation.7 | 3 +- sysinstall/Makefile | 2 +- sysinstall/devices.c | 66 ++++++++++--------- sysinstall/devices.h | 3 +- sysinstall/sysinstall.c | 122 ++++++++++++++++++++++++++++++++++-- 8 files changed, 163 insertions(+), 42 deletions(-) commit 84c0844f5663057e45ba05c7c2202d33108f9d91 Author: Jonas 'Sortie' Termansen Date: Sat Aug 20 02:27:07 2016 +0200 Seed kernel entropy with randomness from the previous boot. The bootloader will now load the /boot/random.seed file if it exists, in which case the kernel will use it as the initial kernel entropy. The kernel warns if no random seed was loaded, unless the --no-random-seed option was given. This option is used for live environments that inherently have no prior secret state. The kernel initializes its entropy pool from the random seed as of the first things, so randomness is available very early on. init(8) will emit a fresh /boot/random.seed file on boot to avoid the same entropy being used twice. init(8) also writes out /boot/random.seed on system shutdown where the system has the most entropy. init(8) will warn if writing the file fails, except if /boot is a real-only filesystem, and keeping such state is impossible. The system administrator is then responsible for ensuring the bootloader somehow passes a fresh random seed on the next boot. /boot/random.seed must be owned by the root user and root group and must have file permissions 600 to avoid unprivileged users can read it. The file is passed to the kernel by the bootloader as a multiboot module with the command line --random-seed. If no random seed is loaded, the kernel attempts a poor quality fallback where it seeds the kernel arc4random(3) continuously with the current time. The timing variance may provide some effective entropy. There is no real kernel entropy gathering yet. The read of the CMOS real time clock is moved to an early point in the kernel boot, so the current time is available as fallback entropy. The kernel access of the random seed module is supposed to be infallible and happens before the kernel log is set up, but there is not yet a failsafe API for mapping single pages in the early kernel. sysupgrade(8) creates /boot/random.seed if it's absent as a temporary compatibility measure for people upgrading from the 1.0 release. The GRUB port will need to be upgraded with support for /boot/random.seed in the 10_sortix script. Installation with manual bootloader configuration will need to load the random seed with the --random-seed command line. With GRUB, this can be done with: module /boot/random.seed --random-seed build-aux/iso-grub-cfg.sh | 2 +- init/init.8 | 12 ++- init/init.c | 46 +++++++++++ kernel/include/sortix/kernel/random.h | 8 +- kernel/initrd.cpp | 4 + kernel/kernel.cpp | 40 +++++++-- kernel/libk.cpp | 4 +- kernel/random.cpp | 148 +++++++++++++++++++++++++++------- libc/include/libk.h | 4 +- libc/stdlib/arc4random_buf.c | 4 +- share/man/man7/installation.7 | 8 +- share/man/man7/kernel.7 | 4 + sysinstall/Makefile | 2 +- sysinstall/fileops.c | 36 +++++++++ sysinstall/fileops.h | 1 + sysinstall/hooks.c | 29 +++++++ sysinstall/sysinstall.c | 5 ++ 17 files changed, 307 insertions(+), 50 deletions(-) commit 4ab5765a95d309ee0198eb40a8a372837eafdf7a Author: Jonas 'Sortie' Termansen Date: Tue Aug 23 00:28:23 2016 +0200 Refactor sysmerge(8) and sysupgrade(8) compatibility hooks. sysinstall/Makefile | 6 +- sysinstall/fileops.c | 13 ++++ sysinstall/fileops.h | 1 + sysinstall/hooks.c | 45 ++++++++++++ sysinstall/hooks.h | 34 +++++++++ sysinstall/sysmerge.8 | 33 +++++---- sysinstall/sysmerge.c | 190 +++++++++++++++++++++++++++++++++++++----------- sysinstall/sysupgrade.c | 6 ++ 8 files changed, 270 insertions(+), 58 deletions(-) commit 4d40dd35dd39de18201471799a0977503f076c6e Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 17:30:38 2016 +0200 Run the existing sysmerge(8) in the make sysmerge targets. The ABI may have changed and the current system might not be able to run the new program. Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1791a195396fd55f96f3b144df70854ec5872e26 Author: Jonas 'Sortie' Termansen Date: Sun Aug 21 23:03:07 2016 +0200 Refactor init(8) chain-merge target and add merge target. The chain-merge target now invokes the /sysmerge init(8) with the merge target, which now mounts the mountpoints. This change allows having a /boot partition for the purpose of sysupgrade(8). init/init.8 | 54 +++++++++++++++++++++++++++++++++++------------- init/init.c | 57 ++++++++++++++++++++++++++++++++------------------- sysinstall/sysmerge.8 | 2 +- 3 files changed, 77 insertions(+), 36 deletions(-) commit 0e4f9a7ab852fb22c02d7c7af0185bd978623e21 Author: Jonas 'Sortie' Termansen Date: Sun Aug 21 15:48:51 2016 +0200 Only set resolution in init(8) if not already done. init/init.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 6944250bd117adf1276bccc8f5409e6a0d63a299 Author: Jonas 'Sortie' Termansen Date: Fri Aug 26 15:37:55 2016 +0200 Allow detecting fallback video modes. kernel/include/sortix/display.h | 3 ++- kernel/video.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) commit 0b07e622598a2cae2433638eafd10a4d15151e7c Author: Jonas 'Sortie' Termansen Date: Sun Aug 21 00:35:30 2016 +0200 Refactor init(8) atexit handling. init/init.c | 106 +++++++++++++++++++++++++++++++----------------------------- 1 file changed, 55 insertions(+), 51 deletions(-) commit fdfe16ad3007ba2f02137d479a72e4f61f21ba9f Author: Jonas 'Sortie' Termansen Date: Sat Aug 20 03:17:03 2016 +0200 Document that init(8) mounts the filesystems of fstab(5). Remove --help and --version in favor of the init(8) manual page. init/init.8 | 4 ++++ init/init.c | 34 ++++------------------------------ 2 files changed, 8 insertions(+), 30 deletions(-) commit 67471b55e7bb6ea85aa50ddbb1b9593022bb7a4c Author: Jonas 'Sortie' Termansen Date: Wed Sep 28 01:31:47 2016 +0200 Add nl_langinfo(3). libc/Makefile | 2 + libc/include/langinfo.h | 103 ++++++++++++++++++++++++++++++++++++++++++ libc/langinfo/nl_langinfo.c | 25 ++++++++++ libc/langinfo/nl_langinfo_l.c | 84 ++++++++++++++++++++++++++++++++++ 4 files changed, 214 insertions(+) commit 601bed32fba54733b6b84e89084a5efdc5b0867d Author: Jonas 'Sortie' Termansen Date: Mon Sep 19 00:56:56 2016 +0200 Update cp(1) to current coding conventions. utils/cp.c | 517 ++++++++++++++++++++++++++----------------------------------- 1 file changed, 221 insertions(+), 296 deletions(-) commit 9f82d3951ed163b4c13a8170b04ef04c902edbad Author: Jonas 'Sortie' Termansen Date: Mon Sep 12 21:10:28 2016 +0200 Guide cross-development(7) users to development(7). share/man/man7/cross-development.7 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 6135c5414b494f071adae8d815022b0ae5e685d8 Author: Jonas 'Sortie' Termansen Date: Mon Sep 12 20:51:33 2016 +0200 Remove UL suffix from BUFSIZ. libc/include/stdio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a3bc570c1e0ed5a7a26c501b6e5fa093e23edcc5 Author: Jonas 'Sortie' Termansen Date: Mon Sep 12 20:15:45 2016 +0200 Remove useless void casts from tr(1). utils/tr.c | 3 --- 1 file changed, 3 deletions(-) commit 057bd2589837b32782a4ddae44465eb5aaab9f43 Author: Jonas 'Sortie' Termansen Date: Mon Oct 3 15:59:34 2016 +0200 Fix newlines in errx(3) calls. carray/carray.c | 6 +++--- utils/kernelinfo.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) commit 28fec736dc34a867db986a7fc157228efd66b73c Author: Daniel Roskams Date: Sun Oct 2 21:39:03 2016 +0800 Document passwd(1). utils/Makefile | 1 + utils/passwd.1 | 33 +++++++++++++++++++++++++++++++++ utils/passwd.c | 28 +++------------------------- 3 files changed, 37 insertions(+), 25 deletions(-) commit 07b89e600d8e289819142fe0404b10e07e068dbd Author: Jonas 'Sortie' Termansen Date: Sun Oct 2 13:50:00 2016 +0200 Fix kernelinfo(1) reallocation loop never terminating. utils/kernelinfo.c | 49 +++++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 22 deletions(-) commit e400e3578e5852ee9c366c8206053e870bbb5e72 Author: Daniel Roskams Date: Sat Oct 1 21:46:53 2016 +0800 Document kernelinfo(1). utils/Makefile | 1 + utils/kernelinfo.1 | 36 ++++++++++++++++++++++++++++++++++++ utils/kernelinfo.c | 38 +++++++------------------------------- 3 files changed, 44 insertions(+), 31 deletions(-) commit 48c60fd3a2236fd516858cd8e855fdda7b0bab37 Author: Jonas 'Sortie' Termansen Date: Sat Oct 1 21:29:04 2016 +0200 Fix readlink(1) self-reference. utils/readlink.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0e3228441727f7909f5e765669d64ac6d492ba6e Author: Jonas 'Sortie' Termansen Date: Sat Oct 1 14:50:50 2016 +0200 Fix 'is can' typo in README. README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5d774cce1de96fcb3ec7ec7ea91f02bc6f24ef75 Author: Ralph Holmes Date: Fri Sep 30 16:39:51 2016 +0100 Fix execl(3) sentinel undefined behaviour. execl(3) and its variants use a sentinel to terminate the variadic argument list, in the form of a null pointer constant of type pointer to char. POSIX mandates that NULL is a null pointer constant of type pointer to void, which is not of an equivalent type to that required by execl(3) and its variants, resulting in undefined behaviour. This commit casts all such instances of NULL to pointer to char type. For consistency, it also adds const-qualification to any such instances which had already been casted, and were not const-qualified. dispd/client/session.c | 4 ++-- init/init.c | 2 +- libc/stdio/popen.c | 2 +- libc/stdlib/system.c | 2 +- sh/proper-sh.c | 2 +- sh/sh.c | 2 +- trianglix/trianglix.cpp | 10 +++++----- utils/help.c | 4 ++-- 8 files changed, 14 insertions(+), 14 deletions(-) commit 6907109b7e4cb55be5020c926eb2f2d1ed9d35b3 Author: rocketpenguin1 Date: Thu Sep 29 12:32:34 2016 +0000 Add -l option to chkblayout(1). utils/Makefile | 3 ++- utils/chkblayout.1 | 34 ++++++++++++++++++++++++++++++++++ utils/chkblayout.c | 38 ++++++++++++++++---------------------- 3 files changed, 52 insertions(+), 23 deletions(-) commit a911476f59fc3c332a5f91548f2954e04032c3a6 Author: Nicholas De Nova Date: Thu Sep 29 20:10:32 2016 -0500 Add readlink(1). utils/.gitignore | 1 + utils/Makefile | 6 +++ utils/readlink.1 | 36 ++++++++++++++++ utils/readlink.c | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 170 insertions(+) commit 1a87b2f580bb5ab22691c79702368fd8a5539090 Author: Jonas 'Sortie' Termansen Date: Sat Sep 24 00:25:41 2016 +0200 Add suggestion to use vim(1) if installed. build-aux/ports.conf | 2 +- utils/command-not-found.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) commit a97e1ef16c30546e9b7997bf4facfc7d6dc68a53 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 18:33:53 2016 +0200 Modernize carray(1) and fix missing allocation checks. Add short options for most long options. Rename the -i option to -H, but support -i for compatibility until the next release cycle, where -i will become the short option of --identifier. Rename --include to --headers and support --include until the next release cycle. Add carray(1) manual page which makes --help unnecessary, and remove --version as it surely matches your local Sortix version. carray/Makefile | 3 +- carray/carray.1 | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++ carray/carray.c | 247 ++++++++++++++++++++++++-------------------------------- kernel/Makefile | 5 +- 4 files changed, 348 insertions(+), 144 deletions(-) commit 848eaaf593849900fb449659e456387a2b3af38a Author: Jonas 'Sortie' Termansen Date: Wed Aug 10 01:28:38 2016 +0200 Port build utilities to musl. carray/carray.c | 18 ++-- kblayout-compiler/kblayout-compiler.c | 8 +- kernel/include/sortix/initrd.h | 10 --- mkinitrd/initrdfs.c | 24 +++--- mkinitrd/mkinitrd.c | 44 +++++----- mkinitrd/rules.c | 25 +++--- tix/porttix-create.c | 60 ++++++------- tix/srctix-create.c | 77 +++++++++-------- tix/tix-build.c | 103 +++++++++++----------- tix/tix-collection.c | 22 ++--- tix/tix-execdiff.c | 18 ++-- tix/tix-execpatch.c | 39 +++++---- tix/tix-install.c | 66 +++++++------- tix/tix-rmpatch.c | 36 ++++---- tix/tix.c | 22 ++--- tix/util.h | 156 ++++++++++++++++++---------------- 16 files changed, 361 insertions(+), 367 deletions(-) commit 91a6ee79195b95b1208b7b7c7e3656c7153d604f Author: Jonas 'Sortie' Termansen Date: Sat Jul 30 02:47:21 2016 +0200 Add 24-bit graphics support to kernel. build-aux/iso-grub-cfg.sh | 13 ++------ kernel/gpu/bga/bga.cpp | 3 +- kernel/lfbtextbuffer.cpp | 77 +++++++++++++++++++++++++++++++---------------- kernel/lfbtextbuffer.h | 1 + kernel/log.cpp | 3 +- 5 files changed, 59 insertions(+), 38 deletions(-) commit bc1344dacf99b21e9b19f3b930c899123817f5ed Author: Jonas 'Sortie' Termansen Date: Wed Sep 28 20:23:44 2016 +0200 Document clock(3) as obsolete. doc/obsolete-stuff | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit c8487ff12bb2c5007aa908c8c38ec35b9a88a613 Author: Jonas 'Sortie' Termansen Date: Mon Sep 26 20:01:32 2016 +0200 Fix readlinkat(2) return value truncation. kernel/io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 394d3d7115f6cabe8f7aaf34b7be75c5cb8aba21 Author: Jonas 'Sortie' Termansen Date: Mon Sep 26 17:11:36 2016 +0200 Fix kernel not using BRAND_DEFAULT_HOSTNAME. kernel/hostname.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6e16a2036ec72d55ca6e280105aad2d2705cc91f Author: Nicholas De Nova Date: Sun Sep 25 20:07:01 2016 -0500 Add tee(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/tee.c | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 159 insertions(+) commit 0756a7ee960c95f32a5e4d1044c1868b6fddf111 Author: Jonas 'Sortie' Termansen Date: Fri Sep 23 14:20:56 2016 +0200 Add scanf(3) %n support. libc/stdio/vscanf_callback.c | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) commit 0e78aec1c3567562ea77a30153000f3e4ade6737 Author: Jonas 'Sortie' Termansen Date: Fri Sep 23 23:27:10 2016 +0200 Fix console scrolling bottleneck. kernel/textterminal.cpp | 6 ------ 1 file changed, 6 deletions(-) commit 4f60e65f83a5647c80a0609fe2dfc1000914c9f9 Author: Jonas 'Sortie' Termansen Date: Fri Sep 23 01:05:02 2016 +0200 Fix cross-compilation-sins x86-64_sortix typo. doc/cross-compilation-sins | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c01fcd36c31dbf31f1647db08d2a1a8f9ed4a809 Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 16:24:00 2016 +0200 Fix double fsck in sysupgrade(8). sysinstall/devices.c | 3 +++ 1 file changed, 3 insertions(+) commit 3831d9914931f2b35ea388c6338bda6f406ac179 Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 00:02:15 2016 +0200 Fix sysupgrade(8) copyright. sysinstall/sysupgrade.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 967c5b57d5e4e0c60dc08d9b1d4fa20668739d0d Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 21:30:04 2016 +0200 Fix advice/advise typos. doc/porting-guide | 6 +++--- sysinstall/sysinstall.c | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) commit c19578473616012552282cd7d5322474978b9733 Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 18:06:35 2016 +0200 Fix sysmerge(8) out of bounds accesses and error messages. sysinstall/sysmerge.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit f28fc4ac3976f8e71f05039eb46a166ddda58acf Author: Jonas 'Sortie' Termansen Date: Fri Aug 19 15:46:13 2016 +0200 Fix non-blocking recv(2) and send(2). kernel/descriptor.cpp | 59 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 48 insertions(+), 11 deletions(-) commit 8ec5d9af446846f2087e6c44420283061c959b02 Author: Jonas 'Sortie' Termansen Date: Sat Aug 6 14:50:36 2016 +0200 Fix linked list and shadowing bugs in kernel clock and timer code. kernel/clock.cpp | 37 +++++++++++++++++++++--------------- kernel/include/sortix/kernel/timer.h | 12 ++++++------ kernel/timer.cpp | 25 ++++++++++++++---------- 3 files changed, 43 insertions(+), 31 deletions(-) commit e962f5e4cc10efae20dfbfddeb4030b19a649675 Author: Jonas 'Sortie' Termansen Date: Tue Jul 26 13:15:55 2016 +0200 Fix use after free in getaddrinfo(3) error case. libc/netdb/getaddrinfo.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 46fbe3ec0d0ae742c7eb6d9e7c7cad57cb387785 Author: Jonas 'Sortie' Termansen Date: Sat Aug 20 03:34:15 2016 +0200 Fix non-relative path in sysupgrade(8). sysinstall/sysupgrade.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 47b53f1aab1fc394c64651a211d6aa97ec51aa70 Author: Jonas 'Sortie' Termansen Date: Sat Aug 20 03:29:45 2016 +0200 Fix missing word in sysupgrade(8) error message. sysinstall/sysupgrade.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2b6463aa953c6210d16077da250282217ff8aaf6 Author: Jonas 'Sortie' Termansen Date: Fri Jul 29 23:15:05 2016 +0200 Fix drivers not detecting PCI devices without an interrupt line. kernel/disk/ahci/hba.cpp | 9 +++++++-- kernel/disk/ahci/hba.h | 2 +- kernel/disk/ata/hba.cpp | 14 +++++++++----- kernel/disk/ata/hba.h | 2 +- kernel/include/sortix/kernel/pci.h | 3 ++- kernel/pci.cpp | 27 ++++++++++++++++++++++++--- 6 files changed, 44 insertions(+), 13 deletions(-) commit da89dec2e255577149cbb9d455451b4fd0ab879e Author: Jonas 'Sortie' Termansen Date: Fri Jul 29 23:10:42 2016 +0200 Fix AHCI port IDENTIFY timeout taking 10 seconds. kernel/disk/ahci/port.cpp | 1 + 1 file changed, 1 insertion(+) commit 8f81f990f83abcc92806a789679f060d1591b017 Author: Jonas 'Sortie' Termansen Date: Fri Jul 29 15:15:45 2016 +0200 Fix undefined stack register after switch into long mode. Thanks to dminuoso for pointing out the issue. kernel/x64/boot.S | 9 +++++++++ 1 file changed, 9 insertions(+) commit 2141c956215c955cd2cb3fb375e425c85e80d1e3 Author: Jonas 'Sortie' Termansen Date: Wed May 18 16:30:06 2016 +0200 Fix sysupgrade(8) downgrade detection. sysinstall/sysupgrade.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1dbd1f760a8e45719ee5bafbcea7a8fbdb702221 Author: Jonas 'Sortie' Termansen Date: Tue May 17 17:05:48 2016 +0200 Fix missing validation of program entry points. kernel/elf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b54e09ebaf61ffb814857ef40199919c60ec11c9 Author: Jonas 'Sortie' Termansen Date: Sat Jul 23 23:03:31 2016 +0200 Improve cross-development(7). share/man/man7/cross-development.7 | 119 ++++++++++++++++++++++++------------- 1 file changed, 78 insertions(+), 41 deletions(-) commit 92106d4d341208a51d6fc8284df9549d73eef1c3 Author: Jonas 'Sortie' Termansen Date: Sat Jul 23 22:13:13 2016 +0200 Remove unnecessary tix gitignore entry. tix/.gitignore | 1 - 1 file changed, 1 deletion(-) commit 2e03bd94d311781d5a47c7e95049b42da5651b33 Author: Jonas 'Sortie' Termansen Date: Sat May 14 01:14:00 2016 +0200 Add protection against sigreturn oriented programming (SROP). This change hardens against invalid calls to sigreturn, which is a very useful gadget when compromising a process. The system call now verifies it is a real return from a signal and aborts the process otherwise. This should render such attacks impossible in threads that are not servicing a signal, and infeasible in threads that are handling signals they are yet to return from. The kernel now keeps track for each thread how many signals are being handled but haven't returned yet. Each thread now has a random signal value. It is re-randomized when the thread handles a signal and the current signal counter is zero. This is xorred with the context address and used as canary on the stack during signal dispatch, protecting the saved context on the stack. This works mostly like the regular stack protector. The kernel now keeps track of the stack pointer for a single handled signal per thread. It doesn't seem worth it to keep track of multiple handled signals, as more than one is rare. Note that each delivered signal will not necessarily result in a sigreturn because it is valid for a thread to longjmp(3) out of a signal handler to a valid jmp_buf. The sigreturn system call will abort if either: - It was not called from the kernel sigreturn page. - The thread is not currently processing a signal. - The thread is processing a single signal, and the stack pointer did not have the expected value. - It fails to read the context on the stack. - The canary is wrong. kernel/include/sortix/kernel/thread.h | 4 ++ kernel/process.cpp | 2 +- kernel/signal.cpp | 115 ++++++++++++++++++++++++++++++---- kernel/thread.cpp | 4 ++ 4 files changed, 111 insertions(+), 14 deletions(-) commit 9b986798850b9c9a0c41d67ff5d8ddde2a4cdfce Author: Jonas 'Sortie' Termansen Date: Mon May 2 18:18:45 2016 +0200 Clean up errno. kernel/libk.cpp | 9 +++++++++ kernel/x64/interrupt.S | 4 ++-- kernel/x64/syscall.S | 4 ++-- kernel/x86/interrupt.S | 4 ++-- kernel/x86/syscall.S | 4 ++-- libc/errno/errno.c | 20 +------------------- libc/include/errno.h | 25 ++++++++----------------- 7 files changed, 26 insertions(+), 44 deletions(-) commit 01a9779fc63d59335dfdcddb694176b1d7b2124f Author: Jonas 'Sortie' Termansen Date: Sat Apr 30 18:10:23 2016 +0200 Compile libc with -ffreestanding. This properly avoids problems where the compiler is unaware that this is the implementation and assumes it can rely on the implementation. For instance, it might implement calloc using a call to calloc. Restructure the code that wrongly assumed __STDC_HOSTED__ meant userspace. kernel/include/sortix/sigevent.h | 8 ++++---- kernel/kernel.cpp | 1 - libc/Makefile | 4 ++-- libc/c++/op-new.c++ | 2 +- libc/include/errno.h | 4 ++-- libc/include/malloc.h | 14 +++++++------- libc/include/msr.h | 4 ++-- libc/include/signal.h | 6 +++--- libc/include/sys/syscall.h | 4 ++-- libc/include/sys/types.h | 6 +++--- 10 files changed, 26 insertions(+), 27 deletions(-) commit 1ca1a068a1c7140febf376cc9dfb9c5d8a42e4ee Author: Jonas 'Sortie' Termansen Date: Sat Apr 30 17:39:14 2016 +0200 Make the branding system more neutral. kernel/hostname.cpp | 1 + kernel/kernel.cpp | 2 +- kernel/panic.cpp | 4 ++-- libc/dlfcn/dlfcn.c | 4 ++-- libc/include/brand.h | 36 +++++++++++++++--------------------- login/graphical.c | 2 +- 6 files changed, 22 insertions(+), 27 deletions(-) commit 264805a4aa0e8f1ea726ac9b0d3260c3284fefe8 Author: Jonas 'Sortie' Termansen Date: Sat Apr 30 13:46:03 2016 +0200 Remove uname -i and -o options. These are unportable GNU extensions that's not needed for Sortix. libc/include/sys/utsname.h | 4 +--- libc/sys/utsname/uname.c | 6 ----- utils/uname.c | 55 ++++++++++++++++++---------------------------- 3 files changed, 22 insertions(+), 43 deletions(-) commit e4a3bb997bc19f7201bf0f1556d6310defeb2aca Author: Jonas 'Sortie' Termansen Date: Wed Apr 27 20:24:37 2016 +0200 Check overflow in expr(1). utils/expr.c | 173 +++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 98 insertions(+), 75 deletions(-) commit 2a6a246ff4d43d2e6c3cb7e19ea9aac9d8314b85 Author: Jonas 'Sortie' Termansen Date: Wed Apr 6 13:27:15 2016 +0200 Remove getdomainname(2). libc/Makefile | 1 - libc/include/sys/utsname.h | 1 - libc/include/unistd.h | 3 +-- libc/sys/utsname/uname.c | 4 +--- libc/unistd/getdomainname.c | 35 ----------------------------------- 5 files changed, 2 insertions(+), 42 deletions(-) commit 1ef3c31f8180648aa946a203c55783658dc44356 Author: Jonas 'Sortie' Termansen Date: Wed Apr 6 13:15:52 2016 +0200 Clean up alloca.h header. libc/include/alloca.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) commit e5ed21520c4e744cc2ee0057d24822ddf45dcc33 Author: Jonas 'Sortie' Termansen Date: Mon Jul 28 01:30:25 2014 +0200 Port the editor to non-sortix operating systems. editor/Makefile | 5 +- editor/command.c | 6 + editor/command.h | 1 + editor/editor.c | 22 ++-- editor/editor.h | 1 + editor/input.c | 321 ++++++++++++++++++++++++++++++++++++++++++++++-------- editor/input.h | 31 +++++- editor/terminal.c | 20 +++- 8 files changed, 347 insertions(+), 60 deletions(-) commit 63146072a4e7e85fa962eaf7d0d51a109cd66058 Author: Jonas 'Sortie' Termansen Date: Sun May 15 16:32:12 2016 +0200 Fix getline(3) and getdelim(3) usage. disked/disked.c | 20 +++++++++----------- editor/editor.c | 4 ++-- init/init.c | 6 +++--- kblayout-compiler/kblayout-compiler.c | 6 ++++-- libc/fstab/getfsent.c | 4 ++-- mkinitrd/rules.c | 12 ++++++------ sh/proper-sh.c | 5 ++++- sysinstall/conf.c | 4 ++-- sysinstall/devices.c | 4 ++-- sysinstall/manifest.c | 14 +++++++------- sysinstall/release.c | 4 ++-- tix/porttix-create.c | 5 ++++- tix/srctix-create.c | 5 ++++- tix/tix-collection.c | 1 + tix/tix-execdiff.c | 1 + tix/tix-install.c | 4 +++- tix/util.h | 18 +++++++++++------- utils/colormake.c | 3 +++ utils/column.c | 14 +++++++------- utils/sort.c | 2 +- utils/tail.c | 5 +++-- utils/uniq.c | 2 +- 22 files changed, 82 insertions(+), 61 deletions(-) commit 8d5599ba59e5303f941a264cdbd5434408557c3b Author: Jonas 'Sortie' Termansen Date: Sun May 15 13:44:37 2016 +0200 Fix shift out of bounds in fnmatch(3). libc/fnmatch/fnmatch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1fde4430fb62f0aad4bb2017186fe804e15d4692 Author: Jonas 'Sortie' Termansen Date: Sun May 15 01:10:58 2016 +0200 Fix missing punctuation in hier(7). share/man/man7/hier.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f6cc06fbd1e1e7f561a77494fe67d9c3c7b483bb Author: Jonas 'Sortie' Termansen Date: Sun May 15 01:09:21 2016 +0200 Fix bsearch(3) performance. libc/stdlib/bsearch.c | 50 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 8 deletions(-) commit 1826fc32cd61746017c199c4decf54c411220f09 Author: Jonas 'Sortie' Termansen Date: Fri May 13 22:21:16 2016 +0200 Fix signal delivery stack alignment. kernel/signal.cpp | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) commit d9bb6da8119e1e7e1da2186dceaa1fe19c62c20c Author: Jonas 'Sortie' Termansen Date: Thu Apr 21 21:57:31 2016 +0200 Fix pthread stack alignment. libc/pthread/pthread_create.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) commit a80bc5d01170a155527fa2bbdaa5d6b1d80315c3 Author: Jonas 'Sortie' Termansen Date: Fri Apr 8 23:09:12 2016 +0200 Fix sysmerge(8) and sysupgrade(8) /etc/sortix-release error handling. sysinstall/sysmerge.c | 9 +++++++++ sysinstall/sysupgrade.c | 4 ++++ 2 files changed, 13 insertions(+) commit 9995df3638a3b3d98307804dce441f8cb0462059 Author: Jonas 'Sortie' Termansen Date: Fri Apr 1 03:35:57 2016 +0200 Fix use after free and memory leaks in init(8). Thanks to Tiago Silva and Shiz for noticing these issues. init/init.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit e69565fd15e62eadc0bfed8ec21f2b68d6621259 Author: Jonas 'Sortie' Termansen Date: Sun Apr 10 15:18:46 2016 +0200 Remove compatibility with Sortix 0.9. Makefile | 2 +- build-aux/build-ports.sh | 6 +- kernel/include/sortix/initrd.h | 3 +- mkinitrd/Makefile | 4 +- mkinitrd/crc32.c | 52 ---- mkinitrd/crc32.h | 29 -- mkinitrd/initrdfs.8 | 2 - mkinitrd/initrdfs.c | 54 +--- mkinitrd/mkinitrd.8 | 9 +- mkinitrd/mkinitrd.c | 18 +- mkinitrd/zcrc32.c | 613 ----------------------------------------- mkinitrd/zcrc32.h | 49 ---- sysinstall/sysupgrade.c | 35 +-- tix/tix-build.c | 18 +- tix/tix-collection.c | 60 ++-- tix/tix-install.c | 129 ++++----- tix/util.h | 8 +- 17 files changed, 91 insertions(+), 1000 deletions(-) commit f3d77725d26d141c8052d4ab46707ade92011a5b Author: Jonas 'Sortie' Termansen Date: Mon Apr 4 02:35:37 2016 +0200 Begin development of Sortix 1.1. build-aux/version.mak | 2 +- libc/include/brand.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit 578501924cd5463da9f3cf1e775924970607e504 Author: Jonas 'Sortie' Termansen Date: Mon Mar 28 18:38:14 2016 +0200 Update version number to 1.0. build-aux/version.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 09f43c80e91de8ba2dfcd10d53ca05581c3a0dd4 Author: Jonas 'Sortie' Termansen Date: Mon Mar 28 17:43:35 2016 +0200 Change /mnt to / in sysinstall to avoid user confusion. sysinstall/sysinstall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ecfe121a8ca8526276a013ed78c6575b3f3abb13 Author: Jonas 'Sortie' Termansen Date: Mon Mar 28 17:37:11 2016 +0200 Add assertions to Signal::DispatchHandler callers. kernel/scheduler.cpp | 1 + kernel/signal.cpp | 3 +++ kernel/x86-family/interrupt.cpp | 13 ++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) commit c1e5bcba7f5ae7d001f5f884a709d02b69c42203 Author: Jonas 'Sortie' Termansen Date: Mon Mar 28 16:25:16 2016 +0200 Fix S_IROTH having the wrong value. kernel/include/sortix/stat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8e34889cbd5f1f971b12312be156cdb5968ec2ff Author: Jonas 'Sortie' Termansen Date: Mon Mar 28 14:30:57 2016 +0200 Fix disked verify_mountpoint buffer overflow. disked/disked.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bc2f6842d1cda18be0e0a8fadd103cb3a717ab1c Author: Jonas 'Sortie' Termansen Date: Sun Mar 27 14:51:18 2016 +0200 Add -type option to find(1). utils/find.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 82 insertions(+), 16 deletions(-) commit 927ed5e01ff15716ed58f815d09f22f5db1bdbab Author: Jonas 'Sortie' Termansen Date: Sun Mar 27 13:55:25 2016 +0200 Use video_bochs with Sortix GRUB. build-aux/iso-grub-cfg.sh | 6 ++++++ 1 file changed, 6 insertions(+) commit fe87b61a339b03249a007ffede7487493ecda7ce Author: Jonas 'Sortie' Termansen Date: Sat Apr 25 23:38:56 2015 +0200 Add tagline. kernel/kernelinfo.cpp | 1 + libc/include/brand.h | 5 ++++- libc/include/sys/utsname.h | 1 + libc/sys/utsname/uname.c | 2 ++ utils/uname.c | 6 ++++++ 5 files changed, 14 insertions(+), 1 deletion(-) commit d166e58dc88fd63dc57cceed4ae1d3ff260ada20 Author: Jonas 'Sortie' Termansen Date: Sat Mar 26 23:13:58 2016 +0100 Remove repository from release directory. Makefile | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit 9a95771cd9ae72b786f1301c622e8eb9b278bfb5 Author: Jonas 'Sortie' Termansen Date: Mon Mar 7 18:43:07 2016 +0100 Change default OPTLEVEL to -Os -s. build-aux/build-ports.sh | 2 +- build-aux/compiler.mak | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 03304642df297121c0213061011b50498c4645ad Author: Jonas 'Sortie' Termansen Date: Mon Mar 7 02:03:58 2016 +0100 Add GRUB menus to control which ports are loaded. build-aux/iso-grub-cfg.sh | 306 +++++++++++++++++++++++++++++++++++++++------- build-aux/ports.conf | 3 + 2 files changed, 262 insertions(+), 47 deletions(-) commit 9f77beaea674f5cdbea6c1b2047ea85be692acd6 Author: Jonas 'Sortie' Termansen Date: Sat Mar 26 16:03:39 2016 +0100 Fix floating point registers of new threads. kernel/process.cpp | 4 +++- kernel/thread.cpp | 8 +++++++- kernel/x64/boot.S | 5 ++++- kernel/x86/boot.S | 5 ++++- 4 files changed, 18 insertions(+), 4 deletions(-) commit e770766cc8f49499d1c3a7f2a10283ae71d8dc0f Author: Jonas 'Sortie' Termansen Date: Sat Mar 26 12:40:42 2016 +0100 Fix tix archive owner, group and permissions. tix-build recorded the owner and group as the user building the package, rather than setting the owner and group to user 0 (root). tix-install tried to chown extracted files as the owner and group in the archive, rather than the current user. It also applied the current umask rather than restoring the same permissions. build-aux/build-ports.sh | 2 +- tix/tix-build.c | 3 +++ tix/tix-install.c | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) commit 05282c86d7ee964ad7e08ff26bbc945b2de4c2f8 Author: Jonas 'Sortie' Termansen Date: Sat Mar 26 12:35:41 2016 +0100 Fix fchownat(2) system call ABI on x86. This system call has five arguments, of which one is a 64-bit uid_t, and another is a 64-bit gid_t, which means that 7 registers are needed. However, x86 only has 5 registers available for system calls. Wrap the system call with a structure like with mmap(2). kernel/include/sortix/kernel/syscall.h | 8 +++++++- kernel/io.cpp | 20 ++++++++++++++++++++ kernel/syscall.cpp | 6 +++++- libc/unistd/fchownat.c | 28 +++++++++++++++++++++++++++- 4 files changed, 59 insertions(+), 3 deletions(-) commit 1083e67d45cd44824e346fe13a3b7d69b174002e Author: Jonas 'Sortie' Termansen Date: Thu Mar 24 23:57:48 2016 +0100 Fix sysinstall videomode creation. sysinstall/sysinstall.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) commit 9ec09476ba6f1c1dc66862ada740d2f33f881f22 Author: Jonas 'Sortie' Termansen Date: Thu Mar 24 23:50:40 2016 +0100 Fix handling of unmountable filesystems. ext/extfs.cpp | 3 ++- libmount/ext2.c | 11 ++++++++++- libmount/include/mount/ext2.h | 22 ++++++++++++++++++---- sysinstall/devices.c | 20 ++++++++++---------- sysinstall/sysinstall.c | 14 +++++++++++--- 5 files changed, 51 insertions(+), 19 deletions(-) commit 34b5f061f9c573be5287304c8f7e53a71d32b06e Author: Jonas 'Sortie' Termansen Date: Thu Mar 24 22:23:35 2016 +0100 Fix linecount target not working. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7348cb0b9ad5931bf73c8b3fa2dd63c99cae6afa Author: Jonas 'Sortie' Termansen Date: Mon Mar 7 17:29:38 2016 +0100 Add initrd module options. kernel/initrd.cpp | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 4 deletions(-) commit 443b4797bba937d7efe26fba378d37d641acf325 Author: Jonas 'Sortie' Termansen Date: Mon Mar 7 17:27:32 2016 +0100 Add dirname and basename to libk. libc/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 15ef078e9f14cde7a739a1046631cc18a10df64c Author: Jonas 'Sortie' Termansen Date: Mon Mar 7 17:31:29 2016 +0100 Fix live environment tix collection platform. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a2add96997f923a5e79e3b08b02dfb6b2ad8b594 Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 22:22:27 2016 +0100 Update README for the 1.0 release. README | 57 ++++++++++++++++++++------------------------------------- 1 file changed, 20 insertions(+), 37 deletions(-) commit cadef6fedb5cfe111da3025a1631e5239ef7544b Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 15:28:49 2016 +0100 Rename i486-sortix platform to i686-sortix. Makefile | 10 +++---- build-aux/compiler.mak | 14 ++++++++- build-aux/platform.mak | 61 +++++++++++++------------------------- share/man/man7/cross-development.7 | 2 +- share/man/man7/development.7 | 2 +- share/man/man7/installation.7 | 2 +- sysinstall/sysupgrade.c | 10 +++++++ tix/util.h | 10 ++++++- 8 files changed, 61 insertions(+), 50 deletions(-) commit 6aa063a247306c0fd782002caf2ad8fe881aea0a Author: Jonas 'Sortie' Termansen Date: Sun Feb 8 22:17:22 2015 +0100 Strip ports not honoring -s in CFLAGS. build-aux/build-ports.sh | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) commit f034221bb0a180e1771d7730c956e7461769be71 Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 00:50:19 2016 +0100 Remove non-existent directories from .gitignore. .gitignore | 2 -- 1 file changed, 2 deletions(-) commit 0705fabd6d77bd4d7d58fd16411d95e27d2942e9 Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 00:49:29 2016 +0100 Fix editor multiline copy. editor/command.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) commit a0c61a53e167a1ca0a5b25277ea83de4ec432d1f Author: Jonas 'Sortie' Termansen Date: Sun Mar 6 00:14:09 2016 +0100 Fix editor language modal. editor/modal.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) commit 2b72262b4f929e1c1fa8e68ca9933662ca3efb46 Author: Jonas 'Sortie' Termansen Date: Wed Mar 2 23:37:50 2016 +0100 Relicense Sortix to the ISC license. I hereby relicense all my work on Sortix under the ISC license as below. All Sortix contributions by other people are already under this license, are not substantial enough to be copyrightable, or have been removed. All imported code from other projects is compatible with this license. All GPL licensed code from other projects had previously been removed. Copyright 2011-2016 Jonas 'Sortie' Termansen and contributors. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. COPYING-GPL | 674 ------------------------ COPYING-LGPL | 165 ------ LICENSE | 36 ++ Makefile | 3 +- README | 33 +- bench/benchctxswitch.c | 39 +- bench/benchsyscall.c | 39 +- carray/carray.c | 42 +- disked/disked.c | 42 +- dispd/client/framebuffer.h | 41 +- dispd/client/library.c | 41 +- dispd/client/session.c | 41 +- dispd/client/session.h | 41 +- dispd/client/window.c | 41 +- dispd/client/window.h | 41 +- dispd/include/dispd.h | 41 +- editor/command.c | 39 +- editor/command.h | 39 +- editor/cursor.c | 39 +- editor/cursor.h | 39 +- editor/display.c | 39 +- editor/display.h | 39 +- editor/editor.c | 39 +- editor/editor.h | 39 +- editor/highlight.c | 39 +- editor/highlight.h | 39 +- editor/input.c | 37 +- editor/input.h | 39 +- editor/modal.c | 39 +- editor/modal.h | 39 +- editor/multibyte.c | 39 +- editor/multibyte.h | 39 +- editor/terminal.c | 39 +- editor/terminal.h | 39 +- ext/block.cpp | 39 +- ext/block.h | 39 +- ext/blockgroup.cpp | 39 +- ext/blockgroup.h | 39 +- ext/device.cpp | 39 +- ext/device.h | 39 +- ext/ext-constants.h | 39 +- ext/ext-structs.h | 39 +- ext/extfs.cpp | 42 +- ext/extfs.h | 39 +- ext/filesystem.cpp | 39 +- ext/filesystem.h | 39 +- ext/fsmarshall.cpp | 39 +- ext/fsmarshall.h | 39 +- ext/fuse.cpp | 39 +- ext/fuse.h | 39 +- ext/inode.cpp | 39 +- ext/inode.h | 39 +- ext/ioleast.h | 47 +- ext/util.h | 39 +- games/aquatinspitz.c | 39 +- games/asteroids.cpp | 39 +- init/init.c | 42 +- kblayout-compiler/kblayout-compiler.c | 42 +- kernel/addralloc.cpp | 41 +- kernel/alarm.cpp | 41 +- kernel/clock.cpp | 41 +- kernel/com.cpp | 41 +- kernel/com.h | 41 +- kernel/copy.cpp | 41 +- kernel/descriptor.cpp | 41 +- kernel/disk/ahci/ahci.cpp | 41 +- kernel/disk/ahci/ahci.h | 41 +- kernel/disk/ahci/hba.cpp | 41 +- kernel/disk/ahci/hba.h | 41 +- kernel/disk/ahci/port.cpp | 41 +- kernel/disk/ahci/port.h | 41 +- kernel/disk/ahci/registers.h | 41 +- kernel/disk/ata/ata.cpp | 41 +- kernel/disk/ata/ata.h | 41 +- kernel/disk/ata/hba.cpp | 41 +- kernel/disk/ata/hba.h | 41 +- kernel/disk/ata/port.cpp | 41 +- kernel/disk/ata/port.h | 41 +- kernel/disk/ata/registers.h | 41 +- kernel/disk/node.cpp | 41 +- kernel/disk/node.h | 41 +- kernel/dtable.cpp | 41 +- kernel/elf.cpp | 41 +- kernel/end.cpp | 45 +- kernel/fcache.cpp | 41 +- kernel/fs/full.cpp | 41 +- kernel/fs/full.h | 41 +- kernel/fs/kram.cpp | 41 +- kernel/fs/kram.h | 41 +- kernel/fs/null.cpp | 41 +- kernel/fs/null.h | 41 +- kernel/fs/random.cpp | 41 +- kernel/fs/random.h | 41 +- kernel/fs/user.cpp | 41 +- kernel/fs/user.h | 41 +- kernel/fs/util.cpp | 41 +- kernel/fs/util.h | 41 +- kernel/fs/zero.cpp | 41 +- kernel/fs/zero.h | 41 +- kernel/fsfunc.cpp | 41 +- kernel/gpu/bga/bga.cpp | 41 +- kernel/gpu/bga/bga.h | 41 +- kernel/hostname.cpp | 41 +- kernel/identity.cpp | 41 +- kernel/include/sortix/__/dirent.h | 41 +- kernel/include/sortix/__/dt.h | 41 +- kernel/include/sortix/__/sigset.h | 41 +- kernel/include/sortix/__/stat.h | 43 +- kernel/include/sortix/__/types.h | 41 +- kernel/include/sortix/__/wait.h | 41 +- kernel/include/sortix/clock.h | 41 +- kernel/include/sortix/dirent.h | 41 +- kernel/include/sortix/display.h | 41 +- kernel/include/sortix/exit.h | 41 +- kernel/include/sortix/fcntl.h | 41 +- kernel/include/sortix/fork.h | 41 +- kernel/include/sortix/initrd.h | 41 +- kernel/include/sortix/ioctl.h | 41 +- kernel/include/sortix/itimerspec.h | 41 +- kernel/include/sortix/kblayout.h | 41 +- kernel/include/sortix/kernel/addralloc.h | 41 +- kernel/include/sortix/kernel/clock.h | 41 +- kernel/include/sortix/kernel/copy.h | 41 +- kernel/include/sortix/kernel/cpu.h | 41 +- kernel/include/sortix/kernel/cpuid.h | 41 +- kernel/include/sortix/kernel/decl.h | 43 +- kernel/include/sortix/kernel/descriptor.h | 41 +- kernel/include/sortix/kernel/dtable.h | 41 +- kernel/include/sortix/kernel/elf.h | 41 +- kernel/include/sortix/kernel/fcache.h | 41 +- kernel/include/sortix/kernel/fsfunc.h | 41 +- kernel/include/sortix/kernel/harddisk.h | 41 +- kernel/include/sortix/kernel/inode.h | 41 +- kernel/include/sortix/kernel/interlock.h | 41 +- kernel/include/sortix/kernel/interrupt.h | 41 +- kernel/include/sortix/kernel/ioctx.h | 41 +- kernel/include/sortix/kernel/ioport.h | 41 +- kernel/include/sortix/kernel/kernel.h | 41 +- kernel/include/sortix/kernel/keyboard.h | 41 +- kernel/include/sortix/kernel/kthread.h | 41 +- kernel/include/sortix/kernel/log.h | 41 +- kernel/include/sortix/kernel/memorymanagement.h | 41 +- kernel/include/sortix/kernel/mtable.h | 41 +- kernel/include/sortix/kernel/panic.h | 41 +- kernel/include/sortix/kernel/pat.h | 41 +- kernel/include/sortix/kernel/pci-mmio.h | 41 +- kernel/include/sortix/kernel/pci.h | 41 +- kernel/include/sortix/kernel/pipe.h | 41 +- kernel/include/sortix/kernel/poll.h | 41 +- kernel/include/sortix/kernel/process.h | 41 +- kernel/include/sortix/kernel/ps2.h | 41 +- kernel/include/sortix/kernel/ptable.h | 41 +- kernel/include/sortix/kernel/random.h | 41 +- kernel/include/sortix/kernel/refcount.h | 41 +- kernel/include/sortix/kernel/registers.h | 41 +- kernel/include/sortix/kernel/scheduler.h | 41 +- kernel/include/sortix/kernel/segment.h | 41 +- kernel/include/sortix/kernel/signal.h | 41 +- kernel/include/sortix/kernel/sockopt.h | 41 +- kernel/include/sortix/kernel/sortedlist.h | 43 +- kernel/include/sortix/kernel/string.h | 41 +- kernel/include/sortix/kernel/syscall.h | 41 +- kernel/include/sortix/kernel/textbuffer.h | 41 +- kernel/include/sortix/kernel/thread.h | 41 +- kernel/include/sortix/kernel/time.h | 41 +- kernel/include/sortix/kernel/timer.h | 41 +- kernel/include/sortix/kernel/user-timer.h | 41 +- kernel/include/sortix/kernel/video.h | 41 +- kernel/include/sortix/kernel/vnode.h | 41 +- kernel/include/sortix/kernel/worker.h | 41 +- kernel/include/sortix/kernel/yielder.h | 41 +- kernel/include/sortix/keycodes.h | 41 +- kernel/include/sortix/limits.h | 41 +- kernel/include/sortix/mman.h | 41 +- kernel/include/sortix/mount.h | 41 +- kernel/include/sortix/poll.h | 41 +- kernel/include/sortix/psctl.h | 41 +- kernel/include/sortix/resource.h | 41 +- kernel/include/sortix/seek.h | 41 +- kernel/include/sortix/sigaction.h | 41 +- kernel/include/sortix/sigevent.h | 41 +- kernel/include/sortix/siginfo.h | 41 +- kernel/include/sortix/signal.h | 41 +- kernel/include/sortix/sigprocmask.h | 41 +- kernel/include/sortix/sigset.h | 41 +- kernel/include/sortix/sigval.h | 41 +- kernel/include/sortix/socket.h | 41 +- kernel/include/sortix/stack.h | 41 +- kernel/include/sortix/stat.h | 43 +- kernel/include/sortix/statvfs.h | 41 +- kernel/include/sortix/syscall.h | 41 +- kernel/include/sortix/tar.h | 41 +- kernel/include/sortix/termios.h | 41 +- kernel/include/sortix/termmode.h | 41 +- kernel/include/sortix/time.h | 41 +- kernel/include/sortix/timespec.h | 41 +- kernel/include/sortix/tmns.h | 41 +- kernel/include/sortix/types.h | 41 +- kernel/include/sortix/ucontext.h | 41 +- kernel/include/sortix/uio.h | 41 +- kernel/include/sortix/unistd.h | 41 +- kernel/include/sortix/uthread.h | 41 +- kernel/include/sortix/vga.h | 41 +- kernel/include/sortix/wait.h | 41 +- kernel/include/sortix/winsize.h | 41 +- kernel/initrd.cpp | 41 +- kernel/initrd.h | 41 +- kernel/inode.cpp | 41 +- kernel/interlock.cpp | 41 +- kernel/interrupt.cpp | 41 +- kernel/io.cpp | 41 +- kernel/ioctx.cpp | 41 +- kernel/kb/kblayout.cpp | 41 +- kernel/kb/kblayout.h | 41 +- kernel/kb/ps2.cpp | 41 +- kernel/kb/ps2.h | 41 +- kernel/kernel.cpp | 43 +- kernel/kernelinfo.cpp | 41 +- kernel/kthread.cpp | 41 +- kernel/lfbtextbuffer.cpp | 41 +- kernel/lfbtextbuffer.h | 41 +- kernel/libk.cpp | 41 +- kernel/linebuffer.cpp | 41 +- kernel/linebuffer.h | 41 +- kernel/log.cpp | 41 +- kernel/logterminal.cpp | 41 +- kernel/logterminal.h | 41 +- kernel/memorymanagement.cpp | 41 +- kernel/mouse/ps2.cpp | 41 +- kernel/mouse/ps2.h | 41 +- kernel/mtable.cpp | 41 +- kernel/net/fs.cpp | 41 +- kernel/net/fs.h | 41 +- kernel/op-new.cpp | 41 +- kernel/panic.cpp | 41 +- kernel/partition.cpp | 41 +- kernel/partition.h | 41 +- kernel/pci-mmio.cpp | 41 +- kernel/pci.cpp | 41 +- kernel/pipe.cpp | 41 +- kernel/poll.cpp | 41 +- kernel/process.cpp | 41 +- kernel/psctl.cpp | 41 +- kernel/ptable.cpp | 41 +- kernel/random.cpp | 41 +- kernel/refcount.cpp | 41 +- kernel/registers.cpp | 41 +- kernel/resource.cpp | 41 +- kernel/scheduler.cpp | 41 +- kernel/segment.cpp | 41 +- kernel/signal.cpp | 41 +- kernel/sockopt.cpp | 41 +- kernel/string.cpp | 41 +- kernel/syscall.cpp | 41 +- kernel/textbuffer.cpp | 41 +- kernel/textterminal.cpp | 41 +- kernel/textterminal.h | 41 +- kernel/thread.cpp | 41 +- kernel/time.cpp | 43 +- kernel/timer.cpp | 41 +- kernel/uart.cpp | 41 +- kernel/uart.h | 41 +- kernel/user-timer.cpp | 41 +- kernel/vga.cpp | 41 +- kernel/vga.h | 41 +- kernel/vgatextbuffer.cpp | 41 +- kernel/vgatextbuffer.h | 41 +- kernel/video.cpp | 41 +- kernel/vnode.cpp | 41 +- kernel/worker.cpp | 41 +- kernel/x64/boot.S | 43 +- kernel/x64/crti.S | 41 +- kernel/x64/crtn.S | 41 +- kernel/x64/interrupt.S | 41 +- kernel/x64/kthread.S | 41 +- kernel/x64/memorymanagement.cpp | 41 +- kernel/x64/memorymanagement.h | 41 +- kernel/x64/syscall.S | 41 +- kernel/x86-family/cmos.cpp | 41 +- kernel/x86-family/cmos.h | 41 +- kernel/x86-family/float.cpp | 41 +- kernel/x86-family/float.h | 41 +- kernel/x86-family/gdt.cpp | 41 +- kernel/x86-family/gdt.h | 41 +- kernel/x86-family/idt.cpp | 41 +- kernel/x86-family/idt.h | 41 +- kernel/x86-family/interrupt.cpp | 41 +- kernel/x86-family/ioport.cpp | 41 +- kernel/x86-family/memorymanagement.cpp | 41 +- kernel/x86-family/memorymanagement.h | 41 +- kernel/x86-family/pat.cpp | 41 +- kernel/x86-family/pic.cpp | 41 +- kernel/x86-family/pic.h | 41 +- kernel/x86-family/ps2.cpp | 41 +- kernel/x86-family/ps2.h | 41 +- kernel/x86-family/time.cpp | 41 +- kernel/x86-family/x86-family.cpp | 41 +- kernel/x86/boot.S | 43 +- kernel/x86/crti.S | 41 +- kernel/x86/crtn.S | 41 +- kernel/x86/interrupt.S | 41 +- kernel/x86/kthread.S | 41 +- kernel/x86/memorymanagement.cpp | 41 +- kernel/x86/memorymanagement.h | 41 +- kernel/x86/syscall.S | 41 +- libc/arpa/inet/inet_addr.c | 41 +- libc/arpa/inet/inet_ntoa.c | 41 +- libc/arpa/inet/inet_ntop.c | 41 +- libc/arpa/inet/inet_pton.c | 41 +- libc/assert/__assert.c | 41 +- libc/c++/c++.c++ | 41 +- libc/c++/op-new.c++ | 41 +- libc/ctype/isalnum.c | 41 +- libc/ctype/isalpha.c | 41 +- libc/ctype/isascii.c | 41 +- libc/ctype/isblank.c | 41 +- libc/ctype/iscntrl.c | 41 +- libc/ctype/isdigit.c | 41 +- libc/ctype/isgraph.c | 41 +- libc/ctype/islower.c | 41 +- libc/ctype/isprint.c | 41 +- libc/ctype/ispunct.c | 41 +- libc/ctype/isspace.c | 41 +- libc/ctype/isupper.c | 41 +- libc/ctype/isxdigit.c | 41 +- libc/ctype/tolower.c | 41 +- libc/ctype/toupper.c | 41 +- libc/dirent/alphasort.c | 41 +- libc/dirent/alphasort_r.c | 41 +- libc/dirent/closedir.c | 41 +- libc/dirent/dirfd.c | 41 +- libc/dirent/dscandir_r.c | 41 +- libc/dirent/fdopendir.c | 41 +- libc/dirent/opendir.c | 41 +- libc/dirent/readdir.c | 41 +- libc/dirent/rewinddir.c | 41 +- libc/dirent/scandir.c | 41 +- libc/dirent/versionsort.c | 41 +- libc/dirent/versionsort_r.c | 41 +- libc/dlfcn/dlfcn.c | 41 +- libc/err/err.c | 41 +- libc/err/errx.c | 41 +- libc/err/verr.c | 41 +- libc/err/verrx.c | 41 +- libc/err/vwarn.c | 41 +- libc/err/vwarnx.c | 41 +- libc/err/warn.c | 41 +- libc/err/warnx.c | 41 +- libc/errno/errno.c | 41 +- libc/error/gnu_error.c | 41 +- libc/fcntl/creat.c | 41 +- libc/fcntl/fcntl.c | 41 +- libc/fcntl/open.c | 41 +- libc/fcntl/openat.c | 41 +- libc/fnmatch/fnmatch.c | 41 +- libc/fsmarshall/fsm_fsbind.c | 41 +- libc/fsmarshall/fsm_mountat.c | 41 +- libc/fstab/endfsent.c | 41 +- libc/fstab/getfsent.c | 41 +- libc/fstab/getfsfile.c | 41 +- libc/fstab/getfsspec.c | 41 +- libc/fstab/scanfsent.c | 41 +- libc/fstab/setfsent.c | 41 +- libc/getopt/getopt.c | 41 +- libc/getopt/getopt_long.c | 41 +- libc/grp/endgrent.c | 41 +- libc/grp/fgetgrent.c | 41 +- libc/grp/fgetgrent_r.c | 41 +- libc/grp/getgrent.c | 41 +- libc/grp/getgrent_r.c | 41 +- libc/grp/getgrgid.c | 43 +- libc/grp/getgrgid_r.c | 41 +- libc/grp/getgrnam.c | 43 +- libc/grp/getgrnam_r.c | 41 +- libc/grp/opengr.c | 41 +- libc/grp/setgrent.c | 41 +- libc/include/DIR.h | 41 +- libc/include/FILE.h | 41 +- libc/include/__/byteswap.h | 41 +- libc/include/__/endian.h | 41 +- libc/include/__/limits.h | 41 +- libc/include/__/pthread.h | 41 +- libc/include/__/stdint.h | 41 +- libc/include/__/wchar.h | 41 +- libc/include/__/wordsize.h | 41 +- libc/include/alloca.h | 41 +- libc/include/ar.h | 41 +- libc/include/argp.h | 41 +- libc/include/arpa/inet.h | 41 +- libc/include/assert.h | 41 +- libc/include/brand.h | 41 +- libc/include/byteswap.h | 41 +- libc/include/ctype.h | 41 +- libc/include/dirent.h | 41 +- libc/include/dlfcn.h | 41 +- libc/include/endian.h | 41 +- libc/include/err.h | 41 +- libc/include/errno.h | 41 +- libc/include/error.h | 41 +- libc/include/fcntl.h | 41 +- libc/include/features.h | 41 +- libc/include/fnmatch.h | 41 +- libc/include/fsmarshall-msg.h | 41 +- libc/include/fsmarshall.h | 41 +- libc/include/fstab.h | 41 +- libc/include/getopt.h | 41 +- libc/include/grp.h | 41 +- libc/include/inttypes.h | 41 +- libc/include/ioleast.h | 47 +- libc/include/libgen.h | 41 +- libc/include/libk.h | 41 +- libc/include/locale.h | 41 +- libc/include/malloc.h | 41 +- libc/include/msr.h | 43 +- libc/include/netdb.h | 41 +- libc/include/netinet/in.h | 41 +- libc/include/netinet/tcp.h | 41 +- libc/include/poll.h | 41 +- libc/include/psctl.h | 41 +- libc/include/pthread.h | 41 +- libc/include/pwd.h | 41 +- libc/include/regex.h | 41 +- libc/include/sched.h | 41 +- libc/include/scram.h | 41 +- libc/include/semaphore.h | 41 +- libc/include/setjmp.h | 41 +- libc/include/signal.h | 41 +- libc/include/stdint.h | 41 +- libc/include/stdio.h | 41 +- libc/include/stdio_ext.h | 41 +- libc/include/stdlib.h | 41 +- libc/include/string.h | 41 +- libc/include/strings.h | 43 +- libc/include/sys/__/types.h | 41 +- libc/include/sys/cdefs.h | 41 +- libc/include/sys/display.h | 41 +- libc/include/sys/ioctl.h | 41 +- libc/include/sys/kernelinfo.h | 41 +- libc/include/sys/keycodes.h | 41 +- libc/include/sys/mman.h | 41 +- libc/include/sys/mount.h | 41 +- libc/include/sys/readdirents.h | 41 +- libc/include/sys/resource.h | 41 +- libc/include/sys/select.h | 41 +- libc/include/sys/socket.h | 41 +- libc/include/sys/stat.h | 41 +- libc/include/sys/statvfs.h | 41 +- libc/include/sys/syscall.h | 41 +- libc/include/sys/termmode.h | 41 +- libc/include/sys/time.h | 41 +- libc/include/sys/times.h | 41 +- libc/include/sys/types.h | 41 +- libc/include/sys/uio.h | 41 +- libc/include/sys/un.h | 41 +- libc/include/sys/utsname.h | 41 +- libc/include/sys/wait.h | 41 +- libc/include/syslog.h | 41 +- libc/include/system-elf.h | 41 +- libc/include/termios.h | 41 +- libc/include/time.h | 41 +- libc/include/timespec.h | 41 +- libc/include/unistd.h | 41 +- libc/include/utime.h | 41 +- libc/include/wchar.h | 41 +- libc/include/wctype.h | 41 +- libc/init/init.c | 41 +- libc/inttypes/imaxabs.c | 41 +- libc/inttypes/imaxdiv.c | 41 +- libc/inttypes/strtoimax.c | 41 +- libc/inttypes/strtoumax.c | 41 +- libc/inttypes/wcstoimax.c | 41 +- libc/inttypes/wcstoumax.c | 41 +- libc/ioleast/preadall.c | 41 +- libc/ioleast/preadleast.c | 41 +- libc/ioleast/pwriteall.c | 41 +- libc/ioleast/pwriteleast.c | 41 +- libc/ioleast/readall.c | 41 +- libc/ioleast/readleast.c | 41 +- libc/ioleast/writeall.c | 41 +- libc/ioleast/writeleast.c | 41 +- libc/libgen/basename.c | 41 +- libc/libgen/dirname.c | 41 +- libc/locale/localeconv.c | 41 +- libc/locale/setlocale.c | 41 +- libc/malloc/__heap_expand_current_part.c | 41 +- libc/malloc/__heap_lock.c | 41 +- libc/malloc/__heap_unlock.c | 41 +- libc/malloc/__heap_verify.c | 41 +- libc/malloc/heap_get_paranoia.c | 41 +- libc/malloc/heap_init.c | 41 +- libc/msr/rdmsr.c | 41 +- libc/msr/wrmsr.c | 41 +- libc/netdb/endnetent.c | 41 +- libc/netdb/endprotoent.c | 41 +- libc/netdb/endservent.c | 41 +- libc/netdb/freeaddrinfo.c | 41 +- libc/netdb/gai_strerror.c | 41 +- libc/netdb/getaddrinfo.c | 41 +- libc/netdb/getnameinfo.c | 41 +- libc/netdb/getnetbyaddr.c | 41 +- libc/netdb/getnetbyname.c | 41 +- libc/netdb/getnetent.c | 41 +- libc/netdb/getprotobyname.c | 41 +- libc/netdb/getprotobynumber.c | 41 +- libc/netdb/getprotoent.c | 41 +- libc/netdb/getservbyname.c | 41 +- libc/netdb/getservbyport.c | 41 +- libc/netdb/getservent.c | 41 +- libc/netdb/setnetent.c | 41 +- libc/netdb/setprotoent.c | 41 +- libc/netdb/setservent.c | 41 +- libc/netinet/in/in6addr_any.c | 41 +- libc/netinet/in/in6addr_loopback.c | 41 +- libc/poll/poll.c | 41 +- libc/poll/ppoll.c | 41 +- libc/psctl/psctl.c | 41 +- libc/pthread/pthread_attr_destroy.c | 41 +- libc/pthread/pthread_attr_getdetachstate.c | 41 +- libc/pthread/pthread_attr_getstacksize.c | 41 +- libc/pthread/pthread_attr_init.c | 41 +- libc/pthread/pthread_attr_setdetachstate.c | 41 +- libc/pthread/pthread_attr_setstacksize.c | 41 +- libc/pthread/pthread_cond_broadcast.c | 41 +- libc/pthread/pthread_cond_destroy.c | 41 +- libc/pthread/pthread_cond_init.c | 41 +- libc/pthread/pthread_cond_signal.c | 41 +- libc/pthread/pthread_cond_timedwait.c | 41 +- libc/pthread/pthread_cond_wait.c | 41 +- libc/pthread/pthread_condattr_destroy.c | 41 +- libc/pthread/pthread_condattr_getclock.c | 41 +- libc/pthread/pthread_condattr_init.c | 41 +- libc/pthread/pthread_condattr_setclock.c | 41 +- libc/pthread/pthread_create.c | 41 +- libc/pthread/pthread_detach.c | 41 +- libc/pthread/pthread_equal.c | 41 +- libc/pthread/pthread_exit.c | 41 +- libc/pthread/pthread_getspecific.c | 41 +- libc/pthread/pthread_join.c | 41 +- libc/pthread/pthread_key_create.c | 41 +- libc/pthread/pthread_key_delete.c | 41 +- libc/pthread/pthread_keys.c | 41 +- libc/pthread/pthread_mutex_destroy.c | 41 +- libc/pthread/pthread_mutex_init.c | 41 +- libc/pthread/pthread_mutex_lock.c | 41 +- libc/pthread/pthread_mutex_trylock.c | 41 +- libc/pthread/pthread_mutex_unlock.c | 41 +- libc/pthread/pthread_mutexattr_destroy.c | 41 +- libc/pthread/pthread_mutexattr_gettype.c | 41 +- libc/pthread/pthread_mutexattr_init.c | 41 +- libc/pthread/pthread_mutexattr_settype.c | 41 +- libc/pthread/pthread_once.c | 41 +- libc/pthread/pthread_rwlock_destroy.c | 41 +- libc/pthread/pthread_rwlock_init.c | 41 +- libc/pthread/pthread_rwlock_rdlock.c | 41 +- libc/pthread/pthread_rwlock_tryrdlock.c | 41 +- libc/pthread/pthread_rwlock_trywrlock.c | 41 +- libc/pthread/pthread_rwlock_unlock.c | 41 +- libc/pthread/pthread_rwlock_wrlock.c | 41 +- libc/pthread/pthread_rwlockattr_destroy.c | 41 +- libc/pthread/pthread_rwlockattr_init.c | 41 +- libc/pthread/pthread_self.c | 41 +- libc/pthread/pthread_setspecific.c | 41 +- libc/pwd/endpwent.c | 41 +- libc/pwd/fgetpwent.c | 41 +- libc/pwd/fgetpwent_r.c | 41 +- libc/pwd/getpwent.c | 41 +- libc/pwd/getpwent_r.c | 41 +- libc/pwd/getpwnam.c | 43 +- libc/pwd/getpwnam_r.c | 41 +- libc/pwd/getpwuid.c | 43 +- libc/pwd/getpwuid_r.c | 41 +- libc/pwd/openpw.c | 41 +- libc/pwd/setpwent.c | 41 +- libc/regex/regcomp.c | 41 +- libc/regex/regerror.c | 41 +- libc/regex/regexec.c | 41 +- libc/regex/regfree.c | 41 +- libc/sched/sched_yield.c | 41 +- libc/scram/scram.c | 41 +- libc/semaphore/sem_destroy.c | 41 +- libc/semaphore/sem_getvalue.c | 41 +- libc/semaphore/sem_init.c | 41 +- libc/semaphore/sem_post.c | 41 +- libc/semaphore/sem_timedwait.c | 41 +- libc/semaphore/sem_trywait.c | 41 +- libc/semaphore/sem_wait.c | 41 +- libc/signal/kill.c | 41 +- libc/signal/killpg.c | 41 +- libc/signal/psiginfo.c | 41 +- libc/signal/psignal.c | 41 +- libc/signal/pthread_sigmask.c | 41 +- libc/signal/raise.c | 41 +- libc/signal/sigaction.c | 41 +- libc/signal/sigaddset.c | 41 +- libc/signal/sigaltstack.c | 41 +- libc/signal/sigandset.c | 41 +- libc/signal/sigdelset.c | 41 +- libc/signal/sigemptyset.c | 41 +- libc/signal/sigfillset.c | 41 +- libc/signal/sigisemptyset.c | 41 +- libc/signal/sigismember.c | 41 +- libc/signal/signal.c | 41 +- libc/signal/signotset.c | 41 +- libc/signal/sigorset.c | 41 +- libc/signal/sigpending.c | 41 +- libc/signal/sigprocmask.c | 41 +- libc/signal/sigsuspend.c | 41 +- libc/ssp/__stack_chk_fail.c | 41 +- libc/stdio/asprintf.c | 41 +- libc/stdio/cbprintf.c | 41 +- libc/stdio/clearerr.c | 41 +- libc/stdio/clearerr_unlocked.c | 41 +- libc/stdio/dprintf.c | 41 +- libc/stdio/fclose.c | 41 +- libc/stdio/fdeletefile.c | 41 +- libc/stdio/fdio.h | 41 +- libc/stdio/fdio_close.c | 41 +- libc/stdio/fdio_install_fd.c | 41 +- libc/stdio/fdio_install_path.c | 41 +- libc/stdio/fdio_read.c | 41 +- libc/stdio/fdio_seek.c | 41 +- libc/stdio/fdio_write.c | 41 +- libc/stdio/fdopen.c | 41 +- libc/stdio/feof.c | 41 +- libc/stdio/feof_unlocked.c | 41 +- libc/stdio/ferror.c | 41 +- libc/stdio/ferror_unlocked.c | 41 +- libc/stdio/fflush.c | 41 +- libc/stdio/fflush_stop_reading.c | 41 +- libc/stdio/fflush_stop_reading_unlocked.c | 41 +- libc/stdio/fflush_stop_writing.c | 41 +- libc/stdio/fflush_stop_writing_unlocked.c | 41 +- libc/stdio/fflush_unlocked.c | 41 +- libc/stdio/fgetc.c | 41 +- libc/stdio/fgetc_unlocked.c | 41 +- libc/stdio/fgetpos.c | 41 +- libc/stdio/fgets.c | 41 +- libc/stdio/fgets_unlocked.c | 41 +- libc/stdio/fileno.c | 41 +- libc/stdio/fileno_unlocked.c | 41 +- libc/stdio/flockfile.c | 41 +- libc/stdio/fmemopen.c | 41 +- libc/stdio/fnewfile.c | 41 +- libc/stdio/fopen.c | 41 +- libc/stdio/fparsemode.c | 41 +- libc/stdio/fpipe.c | 41 +- libc/stdio/fprintf.c | 41 +- libc/stdio/fprintf_unlocked.c | 41 +- libc/stdio/fputc.c | 41 +- libc/stdio/fputc_unlocked.c | 41 +- libc/stdio/fputs.c | 41 +- libc/stdio/fputs_unlocked.c | 41 +- libc/stdio/fread.c | 41 +- libc/stdio/fread_unlocked.c | 41 +- libc/stdio/fregister.c | 41 +- libc/stdio/freopen.c | 41 +- libc/stdio/fresetfile.c | 41 +- libc/stdio/fscanf.c | 41 +- libc/stdio/fscanf_unlocked.c | 41 +- libc/stdio/fseek.c | 41 +- libc/stdio/fseeko.c | 41 +- libc/stdio/fseeko_unlocked.c | 41 +- libc/stdio/fsetpos.c | 41 +- libc/stdio/fshutdown.c | 41 +- libc/stdio/ftell.c | 41 +- libc/stdio/ftello.c | 41 +- libc/stdio/ftello_unlocked.c | 41 +- libc/stdio/ftrylockfile.c | 41 +- libc/stdio/funlockfile.c | 41 +- libc/stdio/funregister.c | 41 +- libc/stdio/fwrite.c | 41 +- libc/stdio/fwrite_unlocked.c | 41 +- libc/stdio/getc.c | 41 +- libc/stdio/getc_unlocked.c | 41 +- libc/stdio/getchar.c | 41 +- libc/stdio/getchar_unlocked.c | 41 +- libc/stdio/getdelim.c | 41 +- libc/stdio/getline.c | 41 +- libc/stdio/open_memstream.c | 41 +- libc/stdio/perror.c | 41 +- libc/stdio/popen.c | 41 +- libc/stdio/printf.c | 41 +- libc/stdio/putc.c | 41 +- libc/stdio/putc_unlocked.c | 41 +- libc/stdio/putchar.c | 41 +- libc/stdio/putchar_unlocked.c | 41 +- libc/stdio/puts.c | 41 +- libc/stdio/remove.c | 41 +- libc/stdio/removeat.c | 41 +- libc/stdio/rename.c | 41 +- libc/stdio/renameat.c | 41 +- libc/stdio/rewind.c | 41 +- libc/stdio/scanf.c | 41 +- libc/stdio/setbuf.c | 41 +- libc/stdio/setvbuf.c | 41 +- libc/stdio/setvbuf_unlocked.c | 41 +- libc/stdio/snprintf.c | 41 +- libc/stdio/sprintf.c | 41 +- libc/stdio/sscanf.c | 41 +- libc/stdio/stderr.c | 41 +- libc/stdio/stdin.c | 41 +- libc/stdio/stdout.c | 41 +- libc/stdio/tmpfile.c | 41 +- libc/stdio/ungetc.c | 43 +- libc/stdio/ungetc_unlocked.c | 43 +- libc/stdio/vasprintf.c | 41 +- libc/stdio/vcbprintf.c | 41 +- libc/stdio/vdprintf.c | 41 +- libc/stdio/vfprintf.c | 41 +- libc/stdio/vfprintf_unlocked.c | 41 +- libc/stdio/vfscanf.c | 41 +- libc/stdio/vfscanf_unlocked.c | 41 +- libc/stdio/vprintf.c | 41 +- libc/stdio/vscanf.c | 41 +- libc/stdio/vscanf_callback.c | 41 +- libc/stdio/vsnprintf.c | 41 +- libc/stdio/vsprintf.c | 41 +- libc/stdio/vsscanf.c | 41 +- libc/stdio_ext/__fbufsize.c | 41 +- libc/stdio_ext/__fpending.c | 41 +- libc/stdio_ext/__fpurge.c | 41 +- libc/stdio_ext/__freadable.c | 41 +- libc/stdio_ext/__freading.c | 41 +- libc/stdio_ext/__fseterr.c | 41 +- libc/stdio_ext/__fwritable.c | 41 +- libc/stdio_ext/__fwriting.c | 41 +- libc/stdlib/_Exit.c | 41 +- libc/stdlib/abort.c | 41 +- libc/stdlib/abs.c | 41 +- libc/stdlib/arc4random.c | 41 +- libc/stdlib/atexit.c | 41 +- libc/stdlib/atof.c | 41 +- libc/stdlib/atoi.c | 41 +- libc/stdlib/atol.c | 41 +- libc/stdlib/atoll.c | 41 +- libc/stdlib/bsearch.c | 41 +- libc/stdlib/calloc.c | 41 +- libc/stdlib/canonicalize_file_name.c | 41 +- libc/stdlib/canonicalize_file_name_at.c | 41 +- libc/stdlib/clearenv.c | 41 +- libc/stdlib/div.c | 41 +- libc/stdlib/exit.c | 41 +- libc/stdlib/free.c | 41 +- libc/stdlib/getenv.c | 41 +- libc/stdlib/labs.c | 41 +- libc/stdlib/ldiv.c | 41 +- libc/stdlib/llabs.c | 41 +- libc/stdlib/lldiv.c | 41 +- libc/stdlib/malloc.c | 41 +- libc/stdlib/mblen.c | 41 +- libc/stdlib/mbstowcs.c | 41 +- libc/stdlib/mbtowc.c | 41 +- libc/stdlib/mkdtemp.c | 41 +- libc/stdlib/mkdtemps.c | 41 +- libc/stdlib/mkostemp.c | 41 +- libc/stdlib/mkostemps.c | 41 +- libc/stdlib/mkstemp.c | 41 +- libc/stdlib/mkstemps.c | 41 +- libc/stdlib/on_exit.c | 41 +- libc/stdlib/qsort.c | 41 +- libc/stdlib/qsort_r.c | 41 +- libc/stdlib/rand.c | 41 +- libc/stdlib/realloc.c | 41 +- libc/stdlib/reallocarray.c | 41 +- libc/stdlib/realpath.c | 41 +- libc/stdlib/setenv.c | 41 +- libc/stdlib/strtod.c | 41 +- libc/stdlib/strtof.c | 41 +- libc/stdlib/strtol.c | 41 +- libc/stdlib/strtold.c | 41 +- libc/stdlib/strtoll.c | 41 +- libc/stdlib/strtoul.c | 41 +- libc/stdlib/strtoull.c | 41 +- libc/stdlib/system.c | 41 +- libc/stdlib/unsetenv.c | 41 +- libc/stdlib/wcstombs.c | 41 +- libc/stdlib/wctomb.c | 41 +- libc/string/explicit_bzero.c | 43 +- libc/string/ffs.c | 41 +- libc/string/ffsl.c | 41 +- libc/string/ffsll.c | 41 +- libc/string/memccpy.c | 41 +- libc/string/memchr.c | 41 +- libc/string/memcmp.c | 41 +- libc/string/memcpy.c | 41 +- libc/string/memmove.c | 41 +- libc/string/memrchr.c | 41 +- libc/string/memset.c | 41 +- libc/string/stpcpy.c | 41 +- libc/string/stpncpy.c | 41 +- libc/string/strcasecmp.c | 41 +- libc/string/strcat.c | 41 +- libc/string/strchr.c | 41 +- libc/string/strchrnul.c | 41 +- libc/string/strcmp.c | 41 +- libc/string/strcoll.c | 41 +- libc/string/strcoll_l.c | 41 +- libc/string/strcpy.c | 41 +- libc/string/strcspn.c | 41 +- libc/string/strdup.c | 41 +- libc/string/strerror.c | 41 +- libc/string/strerror_l.c | 41 +- libc/string/strerror_r.c | 41 +- libc/string/stresep.c | 41 +- libc/string/strlcat.c | 41 +- libc/string/strlcpy.c | 41 +- libc/string/strlen.c | 41 +- libc/string/strncasecmp.c | 41 +- libc/string/strncat.c | 41 +- libc/string/strncmp.c | 41 +- libc/string/strncpy.c | 41 +- libc/string/strndup.c | 41 +- libc/string/strnlen.c | 41 +- libc/string/strpbrk.c | 41 +- libc/string/strrchr.c | 41 +- libc/string/strsep.c | 41 +- libc/string/strsignal.c | 41 +- libc/string/strspn.c | 41 +- libc/string/strstr.c | 41 +- libc/string/strtok.c | 41 +- libc/string/strtok_r.c | 41 +- libc/string/strverscmp.c | 41 +- libc/string/strxfrm.c | 41 +- libc/string/strxfrm_l.c | 41 +- libc/sys/display/dispmsg_issue.c | 41 +- libc/sys/ioctl/ioctl.c | 41 +- libc/sys/kernelinfo/kernelinfo.c | 41 +- libc/sys/mman/mmap.c | 41 +- libc/sys/mman/mprotect.c | 41 +- libc/sys/mman/munmap.c | 41 +- libc/sys/mount/unmount.c | 41 +- libc/sys/mount/unmountat.c | 41 +- libc/sys/readdirents/readdirents.c | 41 +- libc/sys/resource/getpriority.c | 41 +- libc/sys/resource/getrlimit.c | 41 +- libc/sys/resource/getrusage.c | 41 +- libc/sys/resource/prlimit.c | 41 +- libc/sys/resource/setpriority.c | 41 +- libc/sys/resource/setrlimit.c | 41 +- libc/sys/select/select.c | 41 +- libc/sys/socket/accept.c | 41 +- libc/sys/socket/accept4.c | 41 +- libc/sys/socket/bind.c | 41 +- libc/sys/socket/connect.c | 41 +- libc/sys/socket/getpeername.c | 41 +- libc/sys/socket/getsockname.c | 41 +- libc/sys/socket/getsockopt.c | 41 +- libc/sys/socket/listen.c | 41 +- libc/sys/socket/recv.c | 41 +- libc/sys/socket/recvfrom.c | 41 +- libc/sys/socket/recvmsg.c | 41 +- libc/sys/socket/send.c | 41 +- libc/sys/socket/sendmsg.c | 41 +- libc/sys/socket/sendto.c | 41 +- libc/sys/socket/setsockopt.c | 41 +- libc/sys/socket/shutdown.c | 41 +- libc/sys/socket/sockatmark.c | 41 +- libc/sys/socket/socket.c | 41 +- libc/sys/socket/socketpair.c | 41 +- libc/sys/stat/chmod.c | 41 +- libc/sys/stat/fchmod.c | 41 +- libc/sys/stat/fchmodat.c | 41 +- libc/sys/stat/fstat.c | 41 +- libc/sys/stat/fstatat.c | 41 +- libc/sys/stat/futimens.c | 41 +- libc/sys/stat/getumask.c | 41 +- libc/sys/stat/lstat.c | 41 +- libc/sys/stat/mkdir.c | 41 +- libc/sys/stat/mkdirat.c | 41 +- libc/sys/stat/stat.c | 41 +- libc/sys/stat/umask.c | 41 +- libc/sys/stat/utimens.c | 41 +- libc/sys/stat/utimensat.c | 41 +- libc/sys/statvfs/fstatvfs.c | 41 +- libc/sys/statvfs/fstatvfsat.c | 41 +- libc/sys/statvfs/statvfs.c | 41 +- libc/sys/termmode/gettermmode.c | 41 +- libc/sys/termmode/settermmode.c | 41 +- libc/sys/time/gettimeofday.c | 41 +- libc/sys/times/times.c | 41 +- libc/sys/uio/preadv.c | 41 +- libc/sys/uio/pwritev.c | 41 +- libc/sys/uio/readv.c | 41 +- libc/sys/uio/writev.c | 41 +- libc/sys/utsname/uname.c | 41 +- libc/sys/wait/wait.c | 41 +- libc/sys/wait/waitpid.c | 41 +- libc/syslog/closelog.c | 41 +- libc/syslog/connectlog.c | 41 +- libc/syslog/openlog.c | 41 +- libc/syslog/setlogmask.c | 41 +- libc/syslog/syslog.c | 41 +- libc/syslog/vsyslog.c | 41 +- libc/termios/cfgetispeed.c | 41 +- libc/termios/cfgetospeed.c | 41 +- libc/termios/cfsetispeed.c | 41 +- libc/termios/cfsetospeed.c | 41 +- libc/termios/tcdrain.c | 41 +- libc/termios/tcflow.c | 41 +- libc/termios/tcflush.c | 41 +- libc/termios/tcgetattr.c | 41 +- libc/termios/tcgetblob.c | 41 +- libc/termios/tcgetsid.c | 41 +- libc/termios/tcgetwincurpos.c | 41 +- libc/termios/tcgetwinsize.c | 41 +- libc/termios/tcsendbreak.c | 41 +- libc/termios/tcsetattr.c | 41 +- libc/termios/tcsetblob.c | 41 +- libc/time/asctime.c | 41 +- libc/time/asctime_r.c | 41 +- libc/time/clock.c | 41 +- libc/time/clock_getres.c | 41 +- libc/time/clock_gettime.c | 41 +- libc/time/clock_gettimeres.c | 41 +- libc/time/clock_nanosleep.c | 41 +- libc/time/clock_settime.c | 41 +- libc/time/clock_settimeres.c | 41 +- libc/time/ctime.c | 41 +- libc/time/ctime_r.c | 41 +- libc/time/difftime.c | 41 +- libc/time/gmtime.c | 41 +- libc/time/gmtime_r.c | 41 +- libc/time/localtime.c | 41 +- libc/time/localtime_r.c | 41 +- libc/time/mktime.c | 41 +- libc/time/nanosleep.c | 41 +- libc/time/strftime.c | 41 +- libc/time/strftime_l.c | 41 +- libc/time/time.c | 41 +- libc/time/timegm.c | 41 +- libc/time/timens.c | 41 +- libc/time/timer_create.c | 41 +- libc/time/timer_delete.c | 41 +- libc/time/timer_getoverrun.c | 41 +- libc/time/timer_gettime.c | 41 +- libc/time/timer_settime.c | 41 +- libc/time/tzset.c | 41 +- libc/timespec/timespec.c | 41 +- libc/ubsan/ubsan.c | 41 +- libc/unistd/_exit.c | 41 +- libc/unistd/access.c | 41 +- libc/unistd/alarm.c | 41 +- libc/unistd/alarmns.c | 41 +- libc/unistd/chdir.c | 41 +- libc/unistd/chown.c | 41 +- libc/unistd/chroot.c | 41 +- libc/unistd/close.c | 41 +- libc/unistd/closefrom.c | 41 +- libc/unistd/confstr.c | 41 +- libc/unistd/dup.c | 41 +- libc/unistd/dup2.c | 41 +- libc/unistd/dup3.c | 41 +- libc/unistd/environ.c | 41 +- libc/unistd/execl.c | 41 +- libc/unistd/execle.c | 41 +- libc/unistd/execlp.c | 41 +- libc/unistd/execlpe.c | 41 +- libc/unistd/execv.c | 41 +- libc/unistd/execve.c | 41 +- libc/unistd/execvp.c | 41 +- libc/unistd/execvpe.c | 41 +- libc/unistd/exit_thread.c | 41 +- libc/unistd/faccessat.c | 41 +- libc/unistd/fchdir.c | 41 +- libc/unistd/fchdirat.c | 41 +- libc/unistd/fchown.c | 41 +- libc/unistd/fchownat.c | 41 +- libc/unistd/fchroot.c | 41 +- libc/unistd/fchrootat.c | 41 +- libc/unistd/fork.c | 41 +- libc/unistd/fpathconf.c | 41 +- libc/unistd/fsync.c | 41 +- libc/unistd/ftruncate.c | 41 +- libc/unistd/get_current_dir_name.c | 41 +- libc/unistd/getcwd.c | 41 +- libc/unistd/getdomainname.c | 41 +- libc/unistd/getegid.c | 41 +- libc/unistd/getentropy.c | 41 +- libc/unistd/geteuid.c | 41 +- libc/unistd/getgid.c | 41 +- libc/unistd/gethostname.c | 41 +- libc/unistd/getlogin.c | 41 +- libc/unistd/getlogin_r.c | 41 +- libc/unistd/getpagesize.c | 41 +- libc/unistd/getpgid.c | 41 +- libc/unistd/getpid.c | 41 +- libc/unistd/getppid.c | 41 +- libc/unistd/getuid.c | 41 +- libc/unistd/isatty.c | 41 +- libc/unistd/lchown.c | 41 +- libc/unistd/link.c | 41 +- libc/unistd/linkat.c | 41 +- libc/unistd/lseek.c | 41 +- libc/unistd/memstat.c | 41 +- libc/unistd/mkpartition.c | 41 +- libc/unistd/pathconf.c | 41 +- libc/unistd/pipe.c | 41 +- libc/unistd/pipe2.c | 41 +- libc/unistd/pread.c | 41 +- libc/unistd/pwrite.c | 41 +- libc/unistd/read.c | 41 +- libc/unistd/readlink.c | 41 +- libc/unistd/readlinkat.c | 41 +- libc/unistd/rmdir.c | 41 +- libc/unistd/setegid.c | 41 +- libc/unistd/seteuid.c | 41 +- libc/unistd/setgid.c | 41 +- libc/unistd/sethostname.c | 41 +- libc/unistd/setpgid.c | 41 +- libc/unistd/setuid.c | 41 +- libc/unistd/sfork.c | 41 +- libc/unistd/sleep.c | 41 +- libc/unistd/symlink.c | 41 +- libc/unistd/symlinkat.c | 41 +- libc/unistd/sysconf.c | 41 +- libc/unistd/tcgetpgrp.c | 41 +- libc/unistd/tcsetpgrp.c | 41 +- libc/unistd/tfork.c | 41 +- libc/unistd/truncate.c | 41 +- libc/unistd/truncateat.c | 41 +- libc/unistd/ttyname.c | 41 +- libc/unistd/ttyname_r.c | 41 +- libc/unistd/unlink.c | 41 +- libc/unistd/unlinkat.c | 41 +- libc/unistd/usleep.c | 41 +- libc/unistd/write.c | 41 +- libc/utime/utime.c | 41 +- libc/wchar/btowc.c | 41 +- libc/wchar/mbrlen.c | 41 +- libc/wchar/mbrtowc.c | 41 +- libc/wchar/mbsinit.c | 41 +- libc/wchar/mbsnrtowcs.c | 41 +- libc/wchar/mbsrtowcs.c | 41 +- libc/wchar/wcpcpy.c | 41 +- libc/wchar/wcpncpy.c | 41 +- libc/wchar/wcrtomb.c | 41 +- libc/wchar/wcscasecmp.c | 41 +- libc/wchar/wcscat.c | 41 +- libc/wchar/wcschr.c | 41 +- libc/wchar/wcschrnul.c | 41 +- libc/wchar/wcscmp.c | 41 +- libc/wchar/wcscoll.c | 41 +- libc/wchar/wcscpy.c | 41 +- libc/wchar/wcscspn.c | 41 +- libc/wchar/wcsdup.c | 41 +- libc/wchar/wcsftime.c | 41 +- libc/wchar/wcslcat.c | 41 +- libc/wchar/wcslcpy.c | 41 +- libc/wchar/wcslen.c | 41 +- libc/wchar/wcsncasecmp.c | 41 +- libc/wchar/wcsncat.c | 41 +- libc/wchar/wcsncmp.c | 41 +- libc/wchar/wcsncpy.c | 41 +- libc/wchar/wcsnlen.c | 41 +- libc/wchar/wcsnrtombs.c | 41 +- libc/wchar/wcspbrk.c | 41 +- libc/wchar/wcsrchr.c | 41 +- libc/wchar/wcsrtombs.c | 41 +- libc/wchar/wcsspn.c | 41 +- libc/wchar/wcsstr.c | 41 +- libc/wchar/wcstod.c | 41 +- libc/wchar/wcstof.c | 41 +- libc/wchar/wcstok.c | 41 +- libc/wchar/wcstol.c | 41 +- libc/wchar/wcstold.c | 41 +- libc/wchar/wcstoll.c | 41 +- libc/wchar/wcstoul.c | 41 +- libc/wchar/wcstoull.c | 41 +- libc/wchar/wcswidth.c | 41 +- libc/wchar/wcsxfrm.c | 41 +- libc/wchar/wctob.c | 41 +- libc/wchar/wcwidth.c | 41 +- libc/wchar/wmemchr.c | 41 +- libc/wchar/wmemcmp.c | 41 +- libc/wchar/wmemcpy.c | 41 +- libc/wchar/wmemmove.c | 41 +- libc/wchar/wmemset.c | 41 +- libc/wctype/iswalnum.c | 41 +- libc/wctype/iswalpha.c | 41 +- libc/wctype/iswblank.c | 41 +- libc/wctype/iswcntrl.c | 41 +- libc/wctype/iswctype.c | 41 +- libc/wctype/iswdigit.c | 41 +- libc/wctype/iswgraph.c | 41 +- libc/wctype/iswlower.c | 41 +- libc/wctype/iswprint.c | 41 +- libc/wctype/iswpunct.c | 41 +- libc/wctype/iswspace.c | 41 +- libc/wctype/iswupper.c | 41 +- libc/wctype/iswxdigit.c | 41 +- libc/wctype/towlower.c | 41 +- libc/wctype/towupper.c | 41 +- libc/wctype/wctype.c | 41 +- libc/x64/crt0.S | 43 +- libc/x64/crti.S | 41 +- libc/x64/crtn.S | 41 +- libc/x64/fork.S | 41 +- libc/x64/setjmp.S | 41 +- libc/x64/syscall.S | 41 +- libc/x86/crt0.S | 43 +- libc/x86/crti.S | 41 +- libc/x86/crtn.S | 41 +- libc/x86/fork.S | 41 +- libc/x86/setjmp.S | 41 +- libc/x86/syscall.S | 41 +- libmount/biosboot.c | 41 +- libmount/blockdevice.c | 41 +- libmount/devices.c | 41 +- libmount/ext2.c | 41 +- libmount/extended.c | 41 +- libmount/filesystem.c | 41 +- libmount/gpt.c | 41 +- libmount/harddisk.c | 41 +- libmount/include/mount/biosboot.h | 41 +- libmount/include/mount/blockdevice.h | 41 +- libmount/include/mount/devices.h | 41 +- libmount/include/mount/error.h | 41 +- libmount/include/mount/ext2.h | 41 +- libmount/include/mount/extended.h | 41 +- libmount/include/mount/filesystem.h | 41 +- libmount/include/mount/gpt.h | 41 +- libmount/include/mount/harddisk.h | 41 +- libmount/include/mount/mbr.h | 41 +- libmount/include/mount/partition.h | 41 +- libmount/include/mount/uuid.h | 41 +- libmount/mbr.c | 41 +- libmount/partition.c | 41 +- libmount/util.h | 41 +- libmount/uuid.c | 41 +- login/framebuffer.c | 39 +- login/framebuffer.h | 39 +- login/graphical.c | 39 +- login/login.c | 39 +- login/login.h | 39 +- login/pixel.c | 39 +- login/pixel.h | 39 +- login/vgafont.c | 39 +- login/vgafont.h | 39 +- mkinitrd/crc32.c | 41 +- mkinitrd/crc32.h | 41 +- mkinitrd/initrdfs.c | 44 +- mkinitrd/ioleast.h | 47 +- mkinitrd/mkinitrd.c | 44 +- mkinitrd/rules.c | 41 +- mkinitrd/rules.h | 41 +- mkinitrd/serialize.c | 41 +- mkinitrd/serialize.h | 41 +- regress/regress.c | 42 +- regress/test-fmemopen.c | 39 +- regress/test-pthread-argv.c | 39 +- regress/test-pthread-basic.c | 39 +- regress/test-pthread-main-join.c | 39 +- regress/test-pthread-once.c | 39 +- regress/test-pthread-self.c | 39 +- regress/test-pthread-tls.c | 39 +- regress/test-signal-raise.c | 39 +- regress/test.h | 39 +- sf/sf.c | 42 +- sf/sfnc | 31 +- sf/sfncd | 31 +- sh/editline.c | 39 +- sh/editline.h | 39 +- sh/proper-sh.c | 39 +- sh/sh.c | 42 +- sh/showline.c | 39 +- sh/showline.h | 39 +- sh/util.c | 39 +- sh/util.h | 39 +- sysinstall/conf.c | 39 +- sysinstall/conf.h | 39 +- sysinstall/devices.c | 39 +- sysinstall/devices.h | 39 +- sysinstall/execute.c | 37 +- sysinstall/execute.h | 39 +- sysinstall/fileops.c | 39 +- sysinstall/fileops.h | 39 +- sysinstall/interactive.c | 39 +- sysinstall/interactive.h | 39 +- sysinstall/manifest.c | 39 +- sysinstall/manifest.h | 39 +- sysinstall/release.c | 39 +- sysinstall/release.h | 39 +- sysinstall/sysinstall.c | 39 +- sysinstall/sysmerge.c | 42 +- sysinstall/sysupgrade.c | 39 +- tix/porttix-create.c | 44 +- tix/srctix-create.c | 44 +- tix/tix-build.c | 44 +- tix/tix-collection.c | 44 +- tix/tix-eradicate-libtool-la | 33 +- tix/tix-execdiff.c | 44 +- tix/tix-execpatch.c | 44 +- tix/tix-install.c | 44 +- tix/tix-rmpatch.c | 44 +- tix/tix.c | 44 +- tix/util.h | 41 +- trianglix/trianglix.cpp | 41 +- trianglix/vector.h | 41 +- update-initrd/update-initrd | 34 +- utils/basename.c | 42 +- utils/cat.c | 42 +- utils/chkblayout.c | 42 +- utils/chmod.c | 42 +- utils/chroot.c | 42 +- utils/chvideomode.c | 42 +- utils/clear.c | 39 +- utils/colormake.c | 39 +- utils/column.c | 42 +- utils/command-not-found.c | 43 +- utils/cp.c | 42 +- utils/date.c | 39 +- utils/df.c | 42 +- utils/dirname.c | 42 +- utils/du.c | 42 +- utils/echo.c | 39 +- utils/env.c | 42 +- utils/expr.c | 42 +- utils/false.c | 39 +- utils/find.c | 39 +- utils/head.c | 39 +- utils/help.c | 39 +- utils/id.c | 42 +- utils/kernelinfo.c | 42 +- utils/kill.c | 42 +- utils/ln.c | 42 +- utils/ls.c | 42 +- utils/memstat.c | 39 +- utils/mkdir.c | 42 +- utils/mktemp.c | 42 +- utils/mv.c | 42 +- utils/pager.c | 42 +- utils/passwd.c | 42 +- utils/ps.c | 42 +- utils/pstree.c | 42 +- utils/pwd.c | 42 +- utils/realpath.c | 42 +- utils/rm.c | 42 +- utils/rmdir.c | 42 +- utils/sleep.c | 42 +- utils/sort.c | 42 +- utils/stat.c | 42 +- utils/tail.c | 42 +- utils/time.c | 39 +- utils/touch.c | 3 + utils/tr.c | 42 +- utils/true.c | 39 +- utils/type.c | 42 +- utils/uname.c | 42 +- utils/uniq.c | 42 +- utils/unmount.c | 42 +- utils/uptime.c | 39 +- utils/wc.c | 42 +- utils/which.c | 42 +- utils/xinstall.c | 39 +- utils/yes.c | 42 +- 1255 files changed, 22534 insertions(+), 29507 deletions(-) commit af40496ffb1ac991b43fba5a20d94aeece803fc0 Author: Jonas 'Sortie' Termansen Date: Mon Feb 29 00:39:54 2016 +0100 Convert utils to C. kernel/process.cpp | 2 +- libc/unistd/execvpe.c | 2 +- utils/Makefile | 8 ++--- utils/{basename.cpp => basename.c} | 6 ++-- utils/{cat.cpp => cat.c} | 6 ++-- utils/{chkblayout.cpp => chkblayout.c} | 5 +-- utils/{chmod.cpp => chmod.c} | 6 ++-- utils/{chroot.cpp => chroot.c} | 6 ++-- utils/{chvideomode.cpp => chvideomode.c} | 39 ++++++++++++---------- utils/{clear.cpp => clear.c} | 4 +-- utils/{colormake.cpp => colormake.c} | 13 ++++---- utils/{column.cpp => column.c} | 6 ++-- .../{command-not-found.cpp => command-not-found.c} | 2 +- utils/{cp.cpp => cp.c} | 8 +++-- utils/{date.cpp => date.c} | 4 +-- utils/{df.cpp => df.c} | 8 +++-- utils/{dirname.cpp => dirname.c} | 6 ++-- utils/{du.cpp => du.c} | 20 ++++++----- utils/{echo.cpp => echo.c} | 2 +- utils/{env.cpp => env.c} | 8 +++-- utils/{expr.cpp => expr.c} | 16 +++++---- utils/{false.cpp => false.c} | 2 +- utils/{find.cpp => find.c} | 3 +- utils/{head.cpp => head.c} | 4 +-- utils/{help.cpp => help.c} | 7 ++-- utils/{id.cpp => id.c} | 6 ++-- utils/{kernelinfo.cpp => kernelinfo.c} | 8 +++-- utils/{kill.cpp => kill.c} | 10 +++--- utils/{ln.cpp => ln.c} | 6 ++-- utils/{ls.cpp => ls.c} | 6 ++-- utils/{memstat.cpp => memstat.c} | 20 +++++------ utils/{mkdir.cpp => mkdir.c} | 8 +++-- utils/{mktemp.cpp => mktemp.c} | 6 ++-- utils/{mv.cpp => mv.c} | 6 ++-- utils/{pager.cpp => pager.c} | 6 ++-- utils/{passwd.cpp => passwd.c} | 5 +-- utils/{ps.cpp => ps.c} | 6 ++-- utils/{pstree.cpp => pstree.c} | 6 ++-- utils/{pwd.cpp => pwd.c} | 11 +++--- utils/{realpath.cpp => realpath.c} | 5 +-- utils/{rm.cpp => rm.c} | 13 +++++--- utils/{rmdir.cpp => rmdir.c} | 8 +++-- utils/{sleep.cpp => sleep.c} | 6 ++-- utils/{sort.cpp => sort.c} | 14 +++++--- utils/{stat.cpp => stat.c} | 6 ++-- utils/{tail.cpp => tail.c} | 21 ++++++------ utils/{time.cpp => time.c} | 2 +- utils/{touch.cpp => touch.c} | 1 + utils/{tr.cpp => tr.c} | 6 ++-- utils/{true.cpp => true.c} | 2 +- utils/{type.cpp => type.c} | 14 ++++---- utils/{uname.cpp => uname.c} | 8 +++-- utils/{uniq.cpp => uniq.c} | 6 ++-- utils/{unmount.cpp => unmount.c} | 6 ++-- utils/{uptime.cpp => uptime.c} | 4 +-- utils/{wc.cpp => wc.c} | 19 ++++++----- utils/{which.cpp => which.c} | 8 +++-- utils/{xinstall.cpp => xinstall.c} | 4 +-- utils/{yes.cpp => yes.c} | 6 ++-- 59 files changed, 273 insertions(+), 189 deletions(-) commit 1cc29fe0eeec1e29eecd14ac734e91e96a2d1388 Author: Jonas 'Sortie' Termansen Date: Mon Feb 29 00:10:33 2016 +0100 Convert tix to C. tix/Makefile | 12 +++-- tix/{porttix-create.cpp => porttix-create.c} | 15 +++--- tix/{srctix-create.cpp => srctix-create.c} | 9 ++-- tix/{tix-build.cpp => tix-build.c} | 73 ++++++++++++++-------------- tix/{tix-collection.cpp => tix-collection.c} | 9 ++-- tix/{tix-execdiff.cpp => tix-execdiff.c} | 12 ++--- tix/{tix-execpatch.cpp => tix-execpatch.c} | 9 ++-- tix/{tix-install.cpp => tix-install.c} | 9 ++-- tix/{tix-rmpatch.cpp => tix-rmpatch.c} | 12 ++--- tix/{tix.cpp => tix.c} | 11 ++--- tix/util.h | 57 +++++++++++++++------- 11 files changed, 123 insertions(+), 105 deletions(-) commit 423285b855cd89c1bac42ddc41405a079625f595 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 23:37:42 2016 +0100 Convert sh to C. sh/Makefile | 18 +++++++-------- sh/{editline.cpp => editline.c} | 6 +++-- sh/{proper-sh.cpp => proper-sh.c} | 7 +++--- sh/{sh.cpp => sh.c} | 48 ++++++++++++++++++++++++--------------- sh/{showline.cpp => showline.c} | 3 ++- sh/{util.cpp => util.c} | 10 ++++++-- sh/util.h | 3 ++- 7 files changed, 59 insertions(+), 36 deletions(-) commit 8d580338464db9ac7947abca9a7af2c60446f347 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 23:17:47 2016 +0100 Convert regress to C. regress/.gitignore | 2 +- regress/Makefile | 8 ++++---- regress/{regress.c++ => regress.c} | 8 +++++--- regress/{test-fmemopen.c++ => test-fmemopen.c} | 2 +- regress/{test-pthread-argv.c++ => test-pthread-argv.c} | 10 +++++++--- regress/{test-pthread-basic.c++ => test-pthread-basic.c} | 2 +- .../{test-pthread-main-join.c++ => test-pthread-main-join.c} | 2 +- regress/{test-pthread-once.c++ => test-pthread-once.c} | 8 +++++--- regress/{test-pthread-self.c++ => test-pthread-self.c} | 2 +- regress/{test-pthread-tls.c++ => test-pthread-tls.c} | 6 ++++-- regress/{test-signal-raise.c++ => test-signal-raise.c} | 2 +- 11 files changed, 31 insertions(+), 21 deletions(-) commit 9ea3edf36fd4efc39914bbca7db83f6852e9cc92 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 23:02:50 2016 +0100 Convert mkinitrd to C. mkinitrd/Makefile | 12 ++-- mkinitrd/{crc32.cpp => crc32.c} | 3 +- mkinitrd/{initrdfs.cpp => initrdfs.c} | 12 ++-- mkinitrd/{mkinitrd.cpp => mkinitrd.c} | 94 ++++++++++++------------ mkinitrd/{rules.cpp => rules.c} | 124 ++++++++++++-------------------- mkinitrd/rules.h | 40 +++-------- mkinitrd/{serialize.cpp => serialize.c} | 2 +- 7 files changed, 120 insertions(+), 167 deletions(-) commit f16a7693d692a072d41d9956bec743908b680ca7 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 22:13:51 2016 +0100 Convert init to C. init/Makefile | 10 +++++----- init/{init.c++ => init.c} | 9 ++++----- 2 files changed, 9 insertions(+), 10 deletions(-) commit f0470869a94b1894c970ab8af627f471e5d44643 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 22:11:13 2016 +0100 Convert aquatinspitz to C. games/Makefile | 7 ++++++- games/{aquatinspitz.cpp => aquatinspitz.c} | 22 +++++++++++----------- 2 files changed, 17 insertions(+), 12 deletions(-) commit e004de88278ff59f9802266f306566ad72f70e29 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 17:36:19 2016 +0100 Convert editor to C. editor/Makefile | 10 ++++----- editor/{command.c++ => command.c} | 42 +++++++++++++++++------------------ editor/{command.h++ => command.h} | 6 ++--- editor/{cursor.c++ => cursor.c} | 13 +++++------ editor/{cursor.h++ => cursor.h} | 6 ++--- editor/{display.c++ => display.c} | 26 ++++++++++------------ editor/{display.h++ => display.h} | 6 ++--- editor/{editor.c++ => editor.c} | 36 +++++++++++++++--------------- editor/{editor.h++ => editor.h} | 8 +++---- editor/{highlight.c++ => highlight.c} | 27 +++++++++++----------- editor/{highlight.h++ => highlight.h} | 6 ++--- editor/{input.c++ => input.c} | 18 +++++++-------- editor/{input.h++ => input.h} | 6 ++--- editor/{modal.c++ => modal.c} | 19 +++++++--------- editor/{modal.h++ => modal.h} | 6 ++--- editor/{multibyte.c++ => multibyte.c} | 9 +++----- editor/{multibyte.h++ => multibyte.h} | 6 ++--- editor/{terminal.c++ => terminal.c} | 9 +++----- editor/{terminal.h++ => terminal.h} | 6 ++--- 19 files changed, 124 insertions(+), 141 deletions(-) commit 238f0cca0b4d98392a3332acf6d595f6df495ce2 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 16:45:58 2016 +0100 Convert carray to C. carray/Makefile | 12 ++++++++---- carray/{carray.c++ => carray.c} | 6 ++++-- 2 files changed, 12 insertions(+), 6 deletions(-) commit 08ec6cafc8375817b17c6f267c268d4369118345 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 16:42:31 2016 +0100 Convert bench to C. bench/Makefile | 8 ++++---- bench/{benchctxswitch.cpp => benchctxswitch.c} | 5 +++-- bench/{benchsyscall.cpp => benchsyscall.c} | 5 ++--- 3 files changed, 9 insertions(+), 9 deletions(-) commit 114aa29878fe076e13461a73a75ae71a32d85681 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 16:37:36 2016 +0100 Convert dispd to C. dispd/Makefile | 35 ++++++++++----------------------- dispd/client/framebuffer.h | 8 -------- dispd/client/{library.cpp => library.c} | 5 +++-- dispd/client/{session.cpp => session.c} | 11 +++++++---- dispd/client/{window.cpp => window.c} | 6 +++--- dispd/include/dispd.h | 2 +- dispd/server/dispd.cpp | 32 ------------------------------ 7 files changed, 24 insertions(+), 75 deletions(-) commit 8e988c1bf17d4513de9bb074fec4ae7eb230ee68 Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 13:02:58 2016 +0100 Convert libpthread to C and merge into libc. Makefile | 3 +- libc/Makefile | 57 ++++++++++++- {libpthread => libc}/include/__/pthread.h | 32 ++++---- libc/include/features.h | 3 +- {libpthread => libc}/include/pthread.h | 24 +++--- {libpthread => libc}/include/semaphore.h | 14 ++-- libc/include/unistd.h | 18 ++-- libc/init/init.c | 44 +++++++++- .../pthread/pthread_attr_destroy.c | 17 ++-- .../pthread/pthread_attr_getdetachstate.c | 15 ++-- .../pthread/pthread_attr_getstacksize.c | 15 ++-- .../pthread/pthread_attr_init.c | 16 ++-- .../pthread/pthread_attr_setdetachstate.c | 15 ++-- .../pthread/pthread_attr_setstacksize.c | 16 ++-- .../pthread/pthread_cond_broadcast.c | 19 +++-- .../pthread/pthread_cond_destroy.c | 17 ++-- .../pthread/pthread_cond_init.c | 15 ++-- .../pthread/pthread_cond_signal.c | 16 ++-- .../pthread/pthread_cond_timedwait.c | 15 ++-- .../pthread/pthread_cond_wait.c | 15 ++-- .../pthread/pthread_condattr_destroy.c | 17 ++-- .../pthread/pthread_condattr_getclock.c | 15 ++-- .../pthread/pthread_condattr_init.c | 16 ++-- .../pthread/pthread_condattr_setclock.c | 15 ++-- .../pthread/pthread_create.c | 62 +++++++------- .../pthread/pthread_detach.c | 16 ++-- .../pthread/pthread_equal.c | 16 ++-- .../pthread/pthread_exit.c | 16 ++-- .../pthread/pthread_getspecific.c | 16 ++-- .../pthread/pthread_join.c | 16 ++-- .../pthread/pthread_key_create.c | 18 ++-- .../pthread/pthread_key_delete.c | 16 ++-- libc/pthread/pthread_keys.c | 31 +++++++ .../pthread/pthread_mutex_destroy.c | 17 ++-- .../pthread/pthread_mutex_init.c | 15 ++-- .../pthread/pthread_mutex_lock.c | 16 ++-- .../pthread/pthread_mutex_trylock.c | 16 ++-- .../pthread/pthread_mutex_unlock.c | 16 ++-- .../pthread/pthread_mutexattr_destroy.c | 17 ++-- .../pthread/pthread_mutexattr_gettype.c | 15 ++-- .../pthread/pthread_mutexattr_init.c | 16 ++-- .../pthread/pthread_mutexattr_settype.c | 16 ++-- .../pthread/pthread_once.c | 15 ++-- .../pthread/pthread_rwlock_destroy.c | 17 ++-- .../pthread/pthread_rwlock_init.c | 20 ++--- .../pthread/pthread_rwlock_rdlock.c | 16 ++-- .../pthread/pthread_rwlock_tryrdlock.c | 19 +++-- .../pthread/pthread_rwlock_trywrlock.c | 19 +++-- .../pthread/pthread_rwlock_unlock.c | 16 ++-- .../pthread/pthread_rwlock_wrlock.c | 16 ++-- .../pthread/pthread_rwlockattr_destroy.c | 16 ++-- .../pthread/pthread_rwlockattr_init.c | 16 ++-- .../pthread/pthread_self.c | 16 ++-- .../pthread/pthread_setspecific.c | 16 ++-- .../semaphore/sem_destroy.c | 16 ++-- .../semaphore/sem_getvalue.c | 16 ++-- .../sem_init.c++ => libc/semaphore/sem_init.c | 16 ++-- .../sem_post.c++ => libc/semaphore/sem_post.c | 17 ++-- .../semaphore/sem_timedwait.c | 15 ++-- .../semaphore/sem_trywait.c | 17 ++-- .../sem_wait.c++ => libc/semaphore/sem_wait.c | 16 ++-- .../signal/pthread_sigmask.c | 15 ++-- libpthread/.gitignore | 2 - libpthread/Makefile | 96 ---------------------- libpthread/pthread_initialize.c++ | 82 ------------------ 65 files changed, 622 insertions(+), 688 deletions(-) commit 01b59c19471a566c67c8da747d11d003bf94e11c Author: Jonas 'Sortie' Termansen Date: Sun Feb 28 12:10:36 2016 +0100 Convert libc to C. kernel/Makefile | 1 + kernel/include/sortix/display.h | 6 +- kernel/libk.cpp | 177 +++++++++++++++++++++ kernel/process.cpp | 2 +- libc/Makefile | 10 +- libc/arpa/inet/{inet_ntoa.cpp => inet_addr.c} | 5 +- libc/arpa/inet/{inet_addr.cpp => inet_ntoa.c} | 5 +- libc/arpa/inet/{inet_ntop.cpp => inet_ntop.c} | 12 +- libc/arpa/inet/{inet_pton.cpp => inet_pton.c} | 7 +- libc/assert/{__assert.cpp => __assert.c} | 12 +- libc/blf/{blowfish.cpp => blowfish.c} | 13 -- libc/c++/{c++.cpp => c++.c++} | 6 +- libc/c++/{op-new.cpp => op-new.c++} | 2 +- libc/ctype/{isalnum.cpp => isalnum.c} | 4 +- libc/ctype/{isalpha.cpp => isalpha.c} | 4 +- libc/ctype/{isascii.cpp => isascii.c} | 4 +- libc/ctype/{isblank.cpp => isblank.c} | 4 +- libc/ctype/{iscntrl.cpp => iscntrl.c} | 4 +- libc/ctype/{isdigit.cpp => isdigit.c} | 4 +- libc/ctype/{isgraph.cpp => isgraph.c} | 4 +- libc/ctype/{islower.cpp => islower.c} | 4 +- libc/ctype/{isprint.cpp => isprint.c} | 4 +- libc/ctype/{ispunct.cpp => ispunct.c} | 4 +- libc/ctype/{isspace.cpp => isspace.c} | 4 +- libc/ctype/{isupper.cpp => isupper.c} | 4 +- libc/ctype/{isxdigit.cpp => isxdigit.c} | 4 +- libc/ctype/{tolower.cpp => tolower.c} | 4 +- libc/ctype/{toupper.cpp => toupper.c} | 4 +- libc/dirent/{alphasort.cpp => alphasort.c} | 4 +- libc/dirent/{alphasort_r.cpp => alphasort_r.c} | 5 +- libc/dirent/{closedir.cpp => closedir.c} | 4 +- libc/dirent/{dirfd.cpp => dirfd.c} | 4 +- libc/dirent/{dscandir_r.cpp => dscandir_r.c} | 9 +- libc/dirent/{fdopendir.cpp => fdopendir.c} | 4 +- libc/dirent/{opendir.cpp => opendir.c} | 4 +- libc/dirent/{readdir.cpp => readdir.c} | 4 +- libc/dirent/{rewinddir.cpp => rewinddir.c} | 4 +- libc/dirent/{scandir.cpp => scandir.c} | 3 +- libc/dirent/{versionsort.cpp => versionsort.c} | 4 +- libc/dirent/{versionsort_r.cpp => versionsort_r.c} | 5 +- libc/dlfcn/{dlfcn.cpp => dlfcn.c} | 10 +- libc/err/{err.cpp => err.c} | 4 +- libc/err/{errx.cpp => errx.c} | 4 +- libc/err/{verr.cpp => verr.c} | 4 +- libc/err/{verrx.cpp => verrx.c} | 4 +- libc/err/{vwarn.cpp => vwarn.c} | 4 +- libc/err/{vwarnx.cpp => vwarnx.c} | 4 +- libc/err/{warn.cpp => warn.c} | 4 +- libc/err/{warnx.cpp => warnx.c} | 4 +- libc/errno/{errno.cpp => errno.c} | 18 +-- libc/error/{gnu_error.cpp => gnu_error.c} | 4 +- libc/fcntl/{creat.cpp => creat.c} | 4 +- libc/fcntl/{fcntl.cpp => fcntl.c} | 4 +- libc/fcntl/{open.cpp => open.c} | 4 +- libc/fcntl/{openat.cpp => openat.c} | 4 +- libc/fnmatch/{fnmatch.cpp => fnmatch.c} | 5 +- libc/fsmarshall/{fsm_fsbind.cpp => fsm_fsbind.c} | 4 +- libc/fsmarshall/{fsm_mountat.cpp => fsm_mountat.c} | 4 +- libc/fstab/{endfsent.cpp => endfsent.c} | 4 +- libc/fstab/{getfsent.cpp => getfsent.c} | 4 +- libc/fstab/{getfsfile.cpp => getfsfile.c} | 4 +- libc/fstab/{getfsspec.cpp => getfsspec.c} | 4 +- libc/fstab/{scanfsent.cpp => scanfsent.c} | 4 +- libc/fstab/{setfsent.cpp => setfsent.c} | 6 +- libc/getopt/{getopt.cpp => getopt.c} | 4 +- libc/getopt/{getopt_long.cpp => getopt_long.c} | 12 +- libc/grp/{endgrent.cpp => endgrent.c} | 4 +- libc/grp/{fgetgrent.cpp => fgetgrent.c} | 7 +- libc/grp/{fgetgrent_r.cpp => fgetgrent_r.c} | 8 +- libc/grp/{getgrent.cpp => getgrent.c} | 4 +- libc/grp/{getgrent_r.cpp => getgrent_r.c} | 3 +- libc/grp/{getgrgid.cpp => getgrgid.c} | 7 +- libc/grp/{getgrgid_r.cpp => getgrgid_r.c} | 3 +- libc/grp/{getgrnam.cpp => getgrnam.c} | 7 +- libc/grp/{getgrnam_r.cpp => getgrnam_r.c} | 3 +- libc/grp/{opengr.cpp => opengr.c} | 4 +- libc/grp/{setgrent.cpp => setgrent.c} | 6 +- libc/include/FILE.h | 4 +- libc/include/dlfcn.h | 2 +- libc/include/libk.h | 63 ++++++++ libc/include/sys/cdefs.h | 4 - libc/include/sys/syscall.h | 2 +- libc/include/timespec.h | 2 +- libc/init/{init.cpp => init.c} | 8 +- libc/inttypes/{imaxabs.cpp => imaxabs.c} | 4 +- libc/inttypes/{imaxdiv.cpp => imaxdiv.c} | 4 +- libc/inttypes/{strtoimax.cpp => strtoimax.c} | 4 +- libc/inttypes/{strtoumax.cpp => strtoumax.c} | 4 +- libc/inttypes/{wcstoimax.cpp => wcstoimax.c} | 4 +- libc/inttypes/{wcstoumax.cpp => wcstoumax.c} | 4 +- libc/ioleast/{preadall.cpp => preadall.c} | 4 +- libc/ioleast/{preadleast.cpp => preadleast.c} | 3 +- libc/ioleast/{pwriteall.cpp => pwriteall.c} | 4 +- libc/ioleast/{pwriteleast.cpp => pwriteleast.c} | 3 +- libc/ioleast/{readall.cpp => readall.c} | 4 +- libc/ioleast/{readleast.cpp => readleast.c} | 3 +- libc/ioleast/{writeall.cpp => writeall.c} | 4 +- libc/ioleast/{writeleast.cpp => writeleast.c} | 3 +- libc/libgen/{basename.cpp => basename.c} | 4 +- libc/libgen/{dirname.cpp => dirname.c} | 4 +- libc/locale/{localeconv.cpp => localeconv.c} | 4 +- libc/locale/{setlocale.cpp => setlocale.c} | 4 +- ...rrent_part.cpp => __heap_expand_current_part.c} | 44 ++--- libc/malloc/__heap_lock.c | 43 +++++ libc/malloc/__heap_lock.cpp | 47 ------ libc/malloc/__heap_unlock.c | 43 +++++ libc/malloc/__heap_unlock.cpp | 47 ------ libc/malloc/{__heap_verify.cpp => __heap_verify.c} | 4 +- .../{heap_get_paranoia.cpp => heap_get_paranoia.c} | 8 +- libc/malloc/heap_init.c | 33 ++++ libc/malloc/heap_init.cpp | 41 ----- libc/msr/{rdmsr.cpp => rdmsr.c} | 4 +- libc/msr/{wrmsr.cpp => wrmsr.c} | 4 +- libc/netdb/{setnetent.cpp => endnetent.c} | 4 +- libc/netdb/{setprotoent.cpp => endprotoent.c} | 4 +- libc/netdb/{setservent.cpp => endservent.c} | 4 +- libc/netdb/{freeaddrinfo.cpp => freeaddrinfo.c} | 4 +- libc/netdb/{gai_strerror.cpp => gai_strerror.c} | 4 +- libc/netdb/{getaddrinfo.cpp => getaddrinfo.c} | 11 +- libc/netdb/{getnameinfo.cpp => getnameinfo.c} | 19 ++- libc/netdb/{getnetbyaddr.cpp => getnetbyaddr.c} | 6 +- libc/netdb/{getnetbyname.cpp => getnetbyname.c} | 5 +- libc/netdb/{endnetent.cpp => getnetent.c} | 4 +- .../{getprotobynumber.cpp => getprotobyname.c} | 5 +- .../{getprotobyname.cpp => getprotobynumber.c} | 5 +- libc/netdb/{endprotoent.cpp => getprotoent.c} | 4 +- libc/netdb/{getservbyport.cpp => getservbyname.c} | 6 +- libc/netdb/{getservbyname.cpp => getservbyport.c} | 6 +- libc/netdb/{endservent.cpp => getservent.c} | 4 +- libc/netdb/{getnetent.cpp => setnetent.c} | 5 +- libc/netdb/{getprotoent.cpp => setprotoent.c} | 5 +- libc/netdb/{getservent.cpp => setservent.c} | 5 +- libc/netinet/in/{in6addr_any.cpp => in6addr_any.c} | 4 +- .../{in6addr_loopback.cpp => in6addr_loopback.c} | 4 +- libc/poll/{poll.cpp => poll.c} | 4 +- libc/poll/{ppoll.cpp => ppoll.c} | 6 +- libc/psctl/{psctl.cpp => psctl.c} | 4 +- libc/pwd/{bcrypt_newhash.cpp => bcrypt_newhash.c} | 2 - libc/pwd/{endpwent.cpp => endpwent.c} | 4 +- libc/pwd/{fgetpwent.cpp => fgetpwent.c} | 7 +- libc/pwd/{fgetpwent_r.cpp => fgetpwent_r.c} | 6 +- libc/pwd/{getpwent.cpp => getpwent.c} | 4 +- libc/pwd/{getpwent_r.cpp => getpwent_r.c} | 3 +- libc/pwd/{getpwnam.cpp => getpwnam.c} | 7 +- libc/pwd/{getpwnam_r.cpp => getpwnam_r.c} | 3 +- libc/pwd/{getpwuid.cpp => getpwuid.c} | 7 +- libc/pwd/{getpwuid_r.cpp => getpwuid_r.c} | 3 +- libc/pwd/{openpw.cpp => openpw.c} | 4 +- libc/pwd/{setpwent.cpp => setpwent.c} | 6 +- libc/regex/{regcomp.cpp => regcomp.c} | 4 +- libc/regex/{regerror.cpp => regerror.c} | 3 +- libc/regex/{regexec.cpp => regexec.c} | 8 +- libc/regex/{regfree.cpp => regfree.c} | 4 +- libc/sched/{sched_yield.cpp => sched_yield.c} | 4 +- libc/scram/{scram.cpp => scram.c} | 4 +- libc/signal/{kill.cpp => kill.c} | 4 +- libc/signal/{killpg.cpp => killpg.c} | 4 +- libc/signal/{psiginfo.cpp => psiginfo.c} | 4 +- libc/signal/{psignal.cpp => psignal.c} | 4 +- libc/signal/{raise.cpp => raise.c} | 4 +- libc/signal/{sigaction.cpp => sigaction.c} | 3 +- libc/signal/{sigaddset.cpp => sigaddset.c} | 4 +- libc/signal/{sigaltstack.cpp => sigaltstack.c} | 4 +- libc/signal/{sigandset.cpp => sigandset.c} | 3 +- libc/signal/{sigdelset.cpp => sigdelset.c} | 4 +- libc/signal/{sigemptyset.cpp => sigemptyset.c} | 4 +- libc/signal/{sigfillset.cpp => sigfillset.c} | 4 +- libc/signal/{sigisemptyset.cpp => sigisemptyset.c} | 4 +- libc/signal/{sigismember.cpp => sigismember.c} | 4 +- libc/signal/{signal.cpp => signal.c} | 4 +- libc/signal/{signotset.cpp => signotset.c} | 3 +- libc/signal/{sigorset.cpp => sigorset.c} | 3 +- libc/signal/{sigpending.cpp => sigpending.c} | 4 +- libc/signal/{sigprocmask.cpp => sigprocmask.c} | 4 +- libc/signal/{sigsuspend.cpp => sigsuspend.c} | 4 +- .../{__stack_chk_fail.cpp => __stack_chk_fail.c} | 22 ++- libc/stdio/{asprintf.cpp => asprintf.c} | 3 +- libc/stdio/{cbprintf.cpp => cbprintf.c} | 3 +- libc/stdio/{clearerr.cpp => clearerr.c} | 4 +- .../{clearerr_unlocked.cpp => clearerr_unlocked.c} | 4 +- libc/stdio/{dprintf.cpp => dprintf.c} | 4 +- libc/stdio/{fclose.cpp => fclose.c} | 4 +- libc/stdio/{fdeletefile.cpp => fdeletefile.c} | 4 +- libc/stdio/{fdio_close.cpp => fdio_close.c} | 3 +- .../{fdio_install_fd.cpp => fdio_install_fd.c} | 5 +- .../{fdio_install_path.cpp => fdio_install_path.c} | 5 +- libc/stdio/{fdio_read.cpp => fdio_read.c} | 3 +- libc/stdio/{fdio_seek.cpp => fdio_seek.c} | 3 +- libc/stdio/{fdio_write.cpp => fdio_write.c} | 3 +- libc/stdio/{fdopen.cpp => fdopen.c} | 4 +- libc/stdio/{feof.cpp => feof.c} | 4 +- libc/stdio/{feof_unlocked.cpp => feof_unlocked.c} | 4 +- libc/stdio/{ferror.cpp => ferror.c} | 4 +- .../{ferror_unlocked.cpp => ferror_unlocked.c} | 4 +- libc/stdio/{fflush.cpp => fflush.c} | 6 +- ...lush_stop_reading.cpp => fflush_stop_reading.c} | 4 +- ...unlocked.cpp => fflush_stop_reading_unlocked.c} | 4 +- ...lush_stop_writing.cpp => fflush_stop_writing.c} | 4 +- ...unlocked.cpp => fflush_stop_writing_unlocked.c} | 4 +- .../{fflush_unlocked.cpp => fflush_unlocked.c} | 4 +- libc/stdio/{fgetc.cpp => fgetc.c} | 4 +- .../stdio/{fgetc_unlocked.cpp => fgetc_unlocked.c} | 4 +- libc/stdio/{fgetpos.cpp => fgetpos.c} | 4 +- libc/stdio/{fgets.cpp => fgets.c} | 4 +- .../stdio/{fgets_unlocked.cpp => fgets_unlocked.c} | 3 +- libc/stdio/{fileno.cpp => fileno.c} | 4 +- .../{fileno_unlocked.cpp => fileno_unlocked.c} | 4 +- libc/stdio/{flockfile.cpp => flockfile.c} | 4 +- libc/stdio/{fmemopen.cpp => fmemopen.c} | 4 +- libc/stdio/{fnewfile.cpp => fnewfile.c} | 7 +- libc/stdio/{fopen.cpp => fopen.c} | 4 +- libc/stdio/{fparsemode.cpp => fparsemode.c} | 4 +- libc/stdio/{fpipe.cpp => fpipe.c} | 4 +- libc/stdio/{fprintf.cpp => fprintf.c} | 4 +- .../{fprintf_unlocked.cpp => fprintf_unlocked.c} | 4 +- libc/stdio/{fputc.cpp => fputc.c} | 4 +- .../stdio/{fputc_unlocked.cpp => fputc_unlocked.c} | 4 +- libc/stdio/{fputs.cpp => fputs.c} | 4 +- .../stdio/{fputs_unlocked.cpp => fputs_unlocked.c} | 4 +- libc/stdio/{fread.cpp => fread.c} | 4 +- .../stdio/{fread_unlocked.cpp => fread_unlocked.c} | 3 +- libc/stdio/{fregister.cpp => fregister.c} | 4 +- libc/stdio/{freopen.cpp => freopen.c} | 4 +- libc/stdio/{fresetfile.cpp => fresetfile.c} | 6 +- libc/stdio/{fscanf.cpp => fscanf.c} | 4 +- .../{fscanf_unlocked.cpp => fscanf_unlocked.c} | 4 +- libc/stdio/{fseek.cpp => fseek.c} | 4 +- libc/stdio/{fseeko.cpp => fseeko.c} | 4 +- .../{fseeko_unlocked.cpp => fseeko_unlocked.c} | 4 +- libc/stdio/{fsetpos.cpp => fsetpos.c} | 4 +- libc/stdio/{fshutdown.cpp => fshutdown.c} | 4 +- libc/stdio/{ftell.cpp => ftell.c} | 4 +- libc/stdio/{ftello.cpp => ftello.c} | 4 +- .../{ftello_unlocked.cpp => ftello_unlocked.c} | 4 +- libc/stdio/{ftrylockfile.cpp => ftrylockfile.c} | 4 +- libc/stdio/{funlockfile.cpp => funlockfile.c} | 4 +- libc/stdio/{funregister.cpp => funregister.c} | 4 +- libc/stdio/{fwrite.cpp => fwrite.c} | 4 +- .../{fwrite_unlocked.cpp => fwrite_unlocked.c} | 3 +- libc/stdio/{getc.cpp => getc.c} | 4 +- libc/stdio/{getc_unlocked.cpp => getc_unlocked.c} | 4 +- libc/stdio/{getchar.cpp => getchar.c} | 4 +- .../{getchar_unlocked.cpp => getchar_unlocked.c} | 4 +- libc/stdio/{getdelim.cpp => getdelim.c} | 4 +- libc/stdio/{getline.cpp => getline.c} | 4 +- .../stdio/{open_memstream.cpp => open_memstream.c} | 4 +- libc/stdio/{perror.cpp => perror.c} | 4 +- libc/stdio/{popen.cpp => popen.c} | 14 +- libc/stdio/{printf.cpp => printf.c} | 4 +- libc/stdio/{putc.cpp => putc.c} | 4 +- libc/stdio/{putc_unlocked.cpp => putc_unlocked.c} | 4 +- libc/stdio/{putchar.cpp => putchar.c} | 4 +- .../{putchar_unlocked.cpp => putchar_unlocked.c} | 4 +- libc/stdio/{puts.cpp => puts.c} | 4 +- libc/stdio/{remove.cpp => remove.c} | 4 +- libc/stdio/{removeat.cpp => removeat.c} | 4 +- libc/stdio/{rename.cpp => rename.c} | 4 +- libc/stdio/{renameat.cpp => renameat.c} | 5 +- libc/stdio/{rewind.cpp => rewind.c} | 4 +- libc/stdio/{scanf.cpp => scanf.c} | 4 +- libc/stdio/{setbuf.cpp => setbuf.c} | 4 +- libc/stdio/{setvbuf.cpp => setvbuf.c} | 4 +- .../{setvbuf_unlocked.cpp => setvbuf_unlocked.c} | 6 +- libc/stdio/{snprintf.cpp => snprintf.c} | 3 +- libc/stdio/{sprintf.cpp => sprintf.c} | 4 +- libc/stdio/{sscanf.cpp => sscanf.c} | 4 +- libc/stdio/{stderr.cpp => stderr.c} | 8 +- libc/stdio/{stdin.cpp => stdin.c} | 6 +- libc/stdio/{stdout.cpp => stdout.c} | 8 +- libc/stdio/{tmpfile.cpp => tmpfile.c} | 4 +- libc/stdio/{ungetc.cpp => ungetc.c} | 4 +- .../{ungetc_unlocked.cpp => ungetc_unlocked.c} | 4 +- libc/stdio/{vasprintf.cpp => vasprintf.c} | 3 +- libc/stdio/{vcbprintf.cpp => vcbprintf.c} | 15 +- libc/stdio/{vdprintf.cpp => vdprintf.c} | 4 +- libc/stdio/{vfprintf.cpp => vfprintf.c} | 4 +- .../{vfprintf_unlocked.cpp => vfprintf_unlocked.c} | 3 +- libc/stdio/{vfscanf.cpp => vfscanf.c} | 4 +- .../{vfscanf_unlocked.cpp => vfscanf_unlocked.c} | 4 +- libc/stdio/{vprintf.cpp => vprintf.c} | 4 +- libc/stdio/{vscanf.cpp => vscanf.c} | 4 +- .../{vscanf_callback.cpp => vscanf_callback.c} | 18 +-- libc/stdio/{vsnprintf.cpp => vsnprintf.c} | 3 +- libc/stdio/{vsprintf.cpp => vsprintf.c} | 3 +- libc/stdio/{vsscanf.cpp => vsscanf.c} | 4 +- libc/stdio_ext/{__fbufsize.cpp => __fbufsize.c} | 4 +- libc/stdio_ext/{__fpending.cpp => __fpending.c} | 4 +- libc/stdio_ext/{__fpurge.cpp => __fpurge.c} | 4 +- libc/stdio_ext/{__freadable.cpp => __freadable.c} | 4 +- libc/stdio_ext/{__freading.cpp => __freading.c} | 4 +- libc/stdio_ext/{__fseterr.cpp => __fseterr.c} | 4 +- libc/stdio_ext/{__fwritable.cpp => __fwritable.c} | 4 +- libc/stdio_ext/{__fwriting.cpp => __fwriting.c} | 4 +- libc/stdlib/{_Exit.cpp => _Exit.c} | 4 +- libc/stdlib/{abort.cpp => abort.c} | 32 ++-- libc/stdlib/{abs.cpp => abs.c} | 4 +- libc/stdlib/{arc4random.cpp => arc4random.c} | 4 +- .../{arc4random_buf.cpp => arc4random_buf.c} | 43 ++--- ...arc4random_uniform.cpp => arc4random_uniform.c} | 2 +- libc/stdlib/{atexit.cpp => atexit.c} | 7 +- libc/stdlib/{atof.cpp => atof.c} | 6 +- libc/stdlib/{atoi.cpp => atoi.c} | 4 +- libc/stdlib/{atol.cpp => atol.c} | 4 +- libc/stdlib/{atoll.cpp => atoll.c} | 4 +- libc/stdlib/{bsearch.cpp => bsearch.c} | 6 +- libc/stdlib/{calloc.cpp => calloc.c} | 4 +- ...lize_file_name.cpp => canonicalize_file_name.c} | 4 +- ...ile_name_at.cpp => canonicalize_file_name_at.c} | 4 +- libc/stdlib/{clearenv.cpp => clearenv.c} | 4 +- libc/stdlib/{div.cpp => div.c} | 4 +- libc/stdlib/{exit.cpp => exit.c} | 19 +-- libc/stdlib/{free.cpp => free.c} | 24 ++- libc/stdlib/{getenv.cpp => getenv.c} | 5 +- libc/stdlib/{labs.cpp => labs.c} | 4 +- libc/stdlib/{ldiv.cpp => ldiv.c} | 4 +- libc/stdlib/{llabs.cpp => llabs.c} | 4 +- libc/stdlib/{lldiv.cpp => lldiv.c} | 4 +- libc/stdlib/{malloc.cpp => malloc.c} | 40 ++--- libc/stdlib/{mblen.cpp => mblen.c} | 4 +- libc/stdlib/{mbstowcs.cpp => mbstowcs.c} | 3 +- libc/stdlib/{mbtowc.cpp => mbtowc.c} | 4 +- libc/stdlib/{mkdtemp.cpp => mkdtemp.c} | 4 +- libc/stdlib/{mkdtemps.cpp => mkdtemps.c} | 8 +- libc/stdlib/{mkostemp.cpp => mkostemp.c} | 4 +- libc/stdlib/{mkostemps.cpp => mkostemps.c} | 8 +- libc/stdlib/{mkstemp.cpp => mkstemp.c} | 4 +- libc/stdlib/{mkstemps.cpp => mkstemps.c} | 4 +- libc/stdlib/{on_exit.cpp => on_exit.c} | 4 +- libc/stdlib/{qsort.cpp => qsort.c} | 3 +- libc/stdlib/{qsort_r.cpp => qsort_r.c} | 3 +- libc/stdlib/{rand.cpp => rand.c} | 8 +- libc/stdlib/{realloc.cpp => realloc.c} | 20 +-- libc/stdlib/{reallocarray.cpp => reallocarray.c} | 4 +- libc/stdlib/{realpath.cpp => realpath.c} | 3 +- libc/stdlib/{setenv.cpp => setenv.c} | 7 +- libc/stdlib/{strtod.cpp => strtod.c} | 4 +- libc/stdlib/{strtof.cpp => strtof.c} | 7 +- libc/stdlib/{strtol.cpp => strtol.c} | 85 +--------- libc/stdlib/{strtold.cpp => strtold.c} | 4 +- libc/stdlib/{strtoll.cpp => strtoll.c} | 4 +- libc/stdlib/{strtoul.cpp => strtoul.c} | 4 +- libc/stdlib/{strtoull.cpp => strtoull.c} | 4 +- libc/stdlib/{system.cpp => system.c} | 4 +- libc/stdlib/{unsetenv.cpp => unsetenv.c} | 5 +- libc/stdlib/{wcstombs.cpp => wcstombs.c} | 4 +- libc/stdlib/{wctomb.cpp => wctomb.c} | 4 +- .../{explicit_bzero.cpp => explicit_bzero.c} | 4 +- libc/string/{ffs.cpp => ffs.c} | 4 +- libc/string/{ffsl.cpp => ffsl.c} | 4 +- libc/string/{ffsll.cpp => ffsll.c} | 4 +- libc/string/{memccpy.cpp => memccpy.c} | 4 +- libc/string/{memchr.cpp => memchr.c} | 4 +- libc/string/{memcmp.cpp => memcmp.c} | 4 +- libc/string/{memcpy.cpp => memcpy.c} | 31 ++-- libc/string/{memmove.cpp => memmove.c} | 4 +- libc/string/{memrchr.cpp => memrchr.c} | 4 +- libc/string/{memset.cpp => memset.c} | 4 +- libc/string/{stpcpy.cpp => stpcpy.c} | 4 +- libc/string/{stpncpy.cpp => stpncpy.c} | 4 +- libc/string/{strcasecmp.cpp => strcasecmp.c} | 7 +- libc/string/{strcat.cpp => strcat.c} | 4 +- libc/string/{strchr.cpp => strchr.c} | 4 +- libc/string/{strchrnul.cpp => strchrnul.c} | 5 +- libc/string/{strcmp.cpp => strcmp.c} | 5 +- libc/string/{strcoll.cpp => strcoll.c} | 4 +- libc/string/{strcoll_l.cpp => strcoll_l.c} | 5 +- libc/string/{strcpy.cpp => strcpy.c} | 4 +- libc/string/{strcspn.cpp => strcspn.c} | 5 +- libc/string/{strdup.cpp => strdup.c} | 4 +- libc/string/{strerror.cpp => strerror.c} | 6 +- libc/string/{strerror_l.cpp => strerror_l.c} | 7 +- libc/string/{strerror_r.cpp => strerror_r.c} | 4 +- libc/string/{stresep.cpp => stresep.c} | 5 +- libc/string/{strlcat.cpp => strlcat.c} | 3 +- libc/string/{strlcpy.cpp => strlcpy.c} | 3 +- libc/string/{strlen.cpp => strlen.c} | 4 +- libc/string/{strncasecmp.cpp => strncasecmp.c} | 4 +- libc/string/{strncat.cpp => strncat.c} | 4 +- libc/string/{strncmp.cpp => strncmp.c} | 4 +- libc/string/{strncpy.cpp => strncpy.c} | 4 +- libc/string/{strndup.cpp => strndup.c} | 4 +- libc/string/{strnlen.cpp => strnlen.c} | 4 +- libc/string/{strpbrk.cpp => strpbrk.c} | 4 +- libc/string/{strrchr.cpp => strrchr.c} | 5 +- libc/string/{strsep.cpp => strsep.c} | 4 +- libc/string/{strsignal.cpp => strsignal.c} | 6 +- libc/string/{strspn.cpp => strspn.c} | 5 +- libc/string/{strstr.cpp => strstr.c} | 5 +- libc/string/{strtok.cpp => strtok.c} | 4 +- libc/string/{strtok_r.cpp => strtok_r.c} | 4 +- libc/string/{strverscmp.cpp => strverscmp.c} | 5 +- libc/string/{strxfrm.cpp => strxfrm.c} | 4 +- libc/string/{strxfrm_l.cpp => strxfrm_l.c} | 6 +- .../{timingsafe_memcmp.cpp => timingsafe_memcmp.c} | 1 - .../display/{dispmsg_issue.cpp => dispmsg_issue.c} | 4 +- libc/sys/ioctl/{ioctl.cpp => ioctl.c} | 4 +- .../kernelinfo/{kernelinfo.cpp => kernelinfo.c} | 4 +- libc/sys/mman/{mmap.cpp => mmap.c} | 3 +- libc/sys/mman/{mprotect.cpp => mprotect.c} | 4 +- libc/sys/mman/{munmap.cpp => munmap.c} | 4 +- libc/sys/mount/{unmount.cpp => unmount.c} | 4 +- libc/sys/mount/{unmountat.cpp => unmountat.c} | 4 +- .../readdirents/{readdirents.cpp => readdirents.c} | 4 +- .../resource/{getpriority.cpp => getpriority.c} | 4 +- libc/sys/resource/{getrlimit.cpp => getrlimit.c} | 4 +- libc/sys/resource/{getrusage.cpp => getrusage.c} | 4 +- libc/sys/resource/{prlimit.cpp => prlimit.c} | 3 +- .../resource/{setpriority.cpp => setpriority.c} | 4 +- libc/sys/resource/{setrlimit.cpp => setrlimit.c} | 4 +- libc/sys/select/{select.cpp => select.c} | 3 +- libc/sys/socket/{accept.cpp => accept.c} | 5 +- libc/sys/socket/{accept4.cpp => accept4.c} | 6 +- libc/sys/socket/{bind.cpp => bind.c} | 4 +- libc/sys/socket/{connect.cpp => connect.c} | 4 +- libc/sys/socket/{getpeername.cpp => getpeername.c} | 3 +- libc/sys/socket/{getsockname.cpp => getsockname.c} | 3 +- libc/sys/socket/{getsockopt.cpp => getsockopt.c} | 3 +- libc/sys/socket/{listen.cpp => listen.c} | 4 +- libc/sys/socket/{recv.cpp => recv.c} | 4 +- libc/sys/socket/{recvfrom.cpp => recvfrom.c} | 3 +- libc/sys/socket/{recvmsg.cpp => recvmsg.c} | 4 +- libc/sys/socket/{send.cpp => send.c} | 4 +- libc/sys/socket/{sendmsg.cpp => sendmsg.c} | 4 +- libc/sys/socket/{sendto.cpp => sendto.c} | 3 +- libc/sys/socket/{setsockopt.cpp => setsockopt.c} | 3 +- libc/sys/socket/{shutdown.cpp => shutdown.c} | 4 +- libc/sys/socket/{sockatmark.cpp => sockatmark.c} | 5 +- libc/sys/socket/{socket.cpp => socket.c} | 4 +- libc/sys/socket/{socketpair.cpp => socketpair.c} | 5 +- libc/sys/stat/{chmod.cpp => chmod.c} | 4 +- libc/sys/stat/{fchmod.cpp => fchmod.c} | 4 +- libc/sys/stat/{fchmodat.cpp => fchmodat.c} | 4 +- libc/sys/stat/{fstat.cpp => fstat.c} | 4 +- libc/sys/stat/{fstatat.cpp => fstatat.c} | 4 +- libc/sys/stat/{futimens.cpp => futimens.c} | 4 +- libc/sys/stat/{getumask.cpp => getumask.c} | 4 +- libc/sys/stat/{lstat.cpp => lstat.c} | 4 +- libc/sys/stat/{mkdir.cpp => mkdir.c} | 4 +- libc/sys/stat/{mkdirat.cpp => mkdirat.c} | 4 +- libc/sys/stat/{stat.cpp => stat.c} | 4 +- libc/sys/stat/{umask.cpp => umask.c} | 4 +- libc/sys/stat/{utimens.cpp => utimens.c} | 3 +- libc/sys/stat/{utimensat.cpp => utimensat.c} | 3 +- libc/sys/statvfs/{fstatvfs.cpp => fstatvfs.c} | 4 +- libc/sys/statvfs/{fstatvfsat.cpp => fstatvfsat.c} | 3 +- libc/sys/statvfs/{statvfs.cpp => statvfs.c} | 3 +- .../termmode/{gettermmode.cpp => gettermmode.c} | 4 +- .../termmode/{settermmode.cpp => settermmode.c} | 4 +- libc/sys/time/{gettimeofday.cpp => gettimeofday.c} | 5 +- libc/sys/times/{times.cpp => times.c} | 4 +- libc/sys/uio/{preadv.cpp => preadv.c} | 3 +- libc/sys/uio/{pwritev.cpp => pwritev.c} | 3 +- libc/sys/uio/{readv.cpp => readv.c} | 4 +- libc/sys/uio/{writev.cpp => writev.c} | 4 +- libc/sys/utsname/{uname.cpp => uname.c} | 4 +- libc/sys/wait/{wait.cpp => wait.c} | 4 +- libc/sys/wait/{waitpid.cpp => waitpid.c} | 4 +- libc/syslog/{closelog.cpp => closelog.c} | 4 +- libc/syslog/{connectlog.cpp => connectlog.c} | 4 +- libc/syslog/{openlog.cpp => openlog.c} | 4 +- libc/syslog/{setlogmask.cpp => setlogmask.c} | 4 +- libc/syslog/{syslog.cpp => syslog.c} | 4 +- libc/syslog/{vsyslog.cpp => vsyslog.c} | 14 +- libc/termios/{cfgetispeed.cpp => cfgetispeed.c} | 4 +- libc/termios/{cfgetospeed.cpp => cfgetospeed.c} | 4 +- libc/termios/{cfsetispeed.cpp => cfsetispeed.c} | 4 +- libc/termios/{cfsetospeed.cpp => cfsetospeed.c} | 4 +- libc/termios/{tcdrain.cpp => tcdrain.c} | 4 +- libc/termios/{tcflow.cpp => tcflow.c} | 4 +- libc/termios/{tcflush.cpp => tcflush.c} | 4 +- libc/termios/{tcgetattr.cpp => tcgetattr.c} | 4 +- libc/termios/{tcgetblob.cpp => tcgetblob.c} | 4 +- libc/termios/{tcgetsid.cpp => tcgetsid.c} | 4 +- .../{tcgetwincurpos.cpp => tcgetwincurpos.c} | 4 +- libc/termios/{tcgetwinsize.cpp => tcgetwinsize.c} | 4 +- libc/termios/{tcsendbreak.cpp => tcsendbreak.c} | 4 +- libc/termios/{tcsetattr.cpp => tcsetattr.c} | 4 +- libc/termios/{tcsetblob.cpp => tcsetblob.c} | 4 +- libc/time/{asctime.cpp => asctime.c} | 4 +- libc/time/{asctime_r.cpp => asctime_r.c} | 4 +- libc/time/{clock.cpp => clock.c} | 4 +- libc/time/{clock_getres.cpp => clock_getres.c} | 4 +- libc/time/{clock_gettime.cpp => clock_gettime.c} | 4 +- .../{clock_gettimeres.cpp => clock_gettimeres.c} | 7 +- .../{clock_nanosleep.cpp => clock_nanosleep.c} | 3 +- libc/time/{clock_settime.cpp => clock_settime.c} | 4 +- .../{clock_settimeres.cpp => clock_settimeres.c} | 7 +- libc/time/{ctime.cpp => ctime.c} | 4 +- libc/time/{ctime_r.cpp => ctime_r.c} | 4 +- libc/time/{difftime.cpp => difftime.c} | 4 +- libc/time/{gmtime.cpp => gmtime.c} | 4 +- libc/time/{gmtime_r.cpp => gmtime_r.c} | 7 +- libc/time/{localtime.cpp => localtime.c} | 4 +- libc/time/{localtime_r.cpp => localtime_r.c} | 4 +- libc/time/{mktime.cpp => mktime.c} | 4 +- libc/time/{nanosleep.cpp => nanosleep.c} | 4 +- libc/time/{strftime.cpp => strftime.c} | 7 +- libc/time/{strftime_l.cpp => strftime_l.c} | 6 +- libc/time/{time.cpp => time.c} | 4 +- libc/time/{timegm.cpp => timegm.c} | 4 +- libc/time/{timens.cpp => timens.c} | 4 +- libc/time/{timer_create.cpp => timer_create.c} | 7 +- libc/time/{timer_delete.cpp => timer_delete.c} | 4 +- .../{timer_getoverrun.cpp => timer_getoverrun.c} | 4 +- libc/time/{timer_gettime.cpp => timer_gettime.c} | 4 +- libc/time/{timer_settime.cpp => timer_settime.c} | 9 +- libc/time/{tzset.cpp => tzset.c} | 6 +- libc/timespec/{timespec.cpp => timespec.c} | 8 +- libc/ubsan/{ubsan.cpp => ubsan.c} | 44 ++--- libc/unistd/{_exit.cpp => _exit.c} | 4 +- libc/unistd/{access.cpp => access.c} | 4 +- libc/unistd/{alarm.cpp => alarm.c} | 4 +- libc/unistd/{alarmns.cpp => alarmns.c} | 4 +- libc/unistd/{chdir.cpp => chdir.c} | 4 +- libc/unistd/{chown.cpp => chown.c} | 4 +- libc/unistd/{chroot.cpp => chroot.c} | 4 +- libc/unistd/{close.cpp => close.c} | 4 +- libc/unistd/{closefrom.cpp => closefrom.c} | 4 +- libc/unistd/{confstr.cpp => confstr.c} | 4 +- libc/unistd/{crypt_newhash.cpp => crypt_newhash.c} | 2 - libc/unistd/{dup.cpp => dup.c} | 4 +- libc/unistd/{dup2.cpp => dup2.c} | 4 +- libc/unistd/{dup3.cpp => dup3.c} | 4 +- libc/unistd/{environ.cpp => environ.c} | 10 +- libc/unistd/{execl.cpp => execl.c} | 4 +- libc/unistd/{execle.cpp => execle.c} | 4 +- libc/unistd/{execlp.cpp => execlp.c} | 4 +- libc/unistd/{execlpe.cpp => execlpe.c} | 4 +- libc/unistd/{execv.cpp => execv.c} | 4 +- libc/unistd/{execve.cpp => execve.c} | 5 +- libc/unistd/{execvp.cpp => execvp.c} | 4 +- libc/unistd/{execvpe.cpp => execvpe.c} | 6 +- libc/unistd/{exit_thread.cpp => exit_thread.c} | 3 +- libc/unistd/{faccessat.cpp => faccessat.c} | 4 +- libc/unistd/{fchdir.cpp => fchdir.c} | 4 +- libc/unistd/{fchdirat.cpp => fchdirat.c} | 4 +- libc/unistd/{fchown.cpp => fchown.c} | 4 +- libc/unistd/{fchownat.cpp => fchownat.c} | 4 +- libc/unistd/{fchroot.cpp => fchroot.c} | 4 +- libc/unistd/{fchrootat.cpp => fchrootat.c} | 4 +- libc/unistd/{fork.cpp => fork.c} | 4 +- libc/unistd/{fpathconf.cpp => fpathconf.c} | 4 +- libc/unistd/{fsync.cpp => fsync.c} | 4 +- libc/unistd/{ftruncate.cpp => ftruncate.c} | 4 +- ...current_dir_name.cpp => get_current_dir_name.c} | 4 +- libc/unistd/{getcwd.cpp => getcwd.c} | 4 +- libc/unistd/{getdomainname.cpp => getdomainname.c} | 4 +- libc/unistd/{getegid.cpp => getegid.c} | 4 +- libc/unistd/{getentropy.cpp => getentropy.c} | 4 +- libc/unistd/{geteuid.cpp => geteuid.c} | 4 +- libc/unistd/{getgid.cpp => getgid.c} | 4 +- libc/unistd/{gethostname.cpp => gethostname.c} | 4 +- libc/unistd/{getlogin.cpp => getlogin.c} | 4 +- libc/unistd/{getlogin_r.cpp => getlogin_r.c} | 4 +- libc/unistd/{getpagesize.cpp => getpagesize.c} | 4 +- libc/unistd/{getpgid.cpp => getpgid.c} | 4 +- libc/unistd/{getpid.cpp => getpid.c} | 4 +- libc/unistd/{getppid.cpp => getppid.c} | 4 +- libc/unistd/{getuid.cpp => getuid.c} | 4 +- libc/unistd/{isatty.cpp => isatty.c} | 4 +- libc/unistd/{lchown.cpp => lchown.c} | 4 +- libc/unistd/{link.cpp => link.c} | 4 +- libc/unistd/{linkat.cpp => linkat.c} | 7 +- libc/unistd/{lseek.cpp => lseek.c} | 4 +- libc/unistd/{memstat.cpp => memstat.c} | 4 +- libc/unistd/{mkpartition.cpp => mkpartition.c} | 4 +- libc/unistd/{pathconf.cpp => pathconf.c} | 4 +- libc/unistd/{pipe.cpp => pipe.c} | 4 +- libc/unistd/{pipe2.cpp => pipe2.c} | 4 +- libc/unistd/{pread.cpp => pread.c} | 4 +- libc/unistd/{pwrite.cpp => pwrite.c} | 4 +- libc/unistd/{read.cpp => read.c} | 4 +- libc/unistd/{readlink.cpp => readlink.c} | 5 +- libc/unistd/{readlinkat.cpp => readlinkat.c} | 6 +- libc/unistd/{rmdir.cpp => rmdir.c} | 4 +- libc/unistd/{setegid.cpp => setegid.c} | 4 +- libc/unistd/{seteuid.cpp => seteuid.c} | 4 +- libc/unistd/{setgid.cpp => setgid.c} | 4 +- libc/unistd/{sethostname.cpp => sethostname.c} | 4 +- libc/unistd/{setpgid.cpp => setpgid.c} | 4 +- libc/unistd/{setuid.cpp => setuid.c} | 4 +- libc/unistd/{sfork.cpp => sfork.c} | 6 +- libc/unistd/{sleep.cpp => sleep.c} | 4 +- libc/unistd/{symlink.cpp => symlink.c} | 4 +- libc/unistd/{symlinkat.cpp => symlinkat.c} | 4 +- libc/unistd/{sysconf.cpp => sysconf.c} | 4 +- libc/unistd/{tcgetpgrp.cpp => tcgetpgrp.c} | 4 +- libc/unistd/{tcsetpgrp.cpp => tcsetpgrp.c} | 4 +- libc/unistd/{tfork.cpp => tfork.c} | 4 +- libc/unistd/{truncate.cpp => truncate.c} | 4 +- libc/unistd/{truncateat.cpp => truncateat.c} | 4 +- libc/unistd/{ttyname.cpp => ttyname.c} | 4 +- libc/unistd/{ttyname_r.cpp => ttyname_r.c} | 4 +- libc/unistd/{unlink.cpp => unlink.c} | 4 +- libc/unistd/{unlinkat.cpp => unlinkat.c} | 4 +- libc/unistd/{usleep.cpp => usleep.c} | 4 +- libc/unistd/{write.cpp => write.c} | 4 +- libc/utime/{utime.cpp => utime.c} | 4 +- libc/wchar/{btowc.cpp => btowc.c} | 4 +- libc/wchar/{mbrlen.cpp => mbrlen.c} | 3 +- libc/wchar/{mbrtowc.cpp => mbrtowc.c} | 3 +- libc/wchar/{mbsinit.cpp => mbsinit.c} | 4 +- libc/wchar/{mbsnrtowcs.cpp => mbsnrtowcs.c} | 3 +- libc/wchar/{mbsrtowcs.cpp => mbsrtowcs.c} | 3 +- libc/wchar/{wcpcpy.cpp => wcpcpy.c} | 4 +- libc/wchar/{wcpncpy.cpp => wcpncpy.c} | 3 +- libc/wchar/{wcrtomb.cpp => wcrtomb.c} | 6 +- libc/wchar/{wcscasecmp.cpp => wcscasecmp.c} | 4 +- libc/wchar/{wcscat.cpp => wcscat.c} | 4 +- libc/wchar/{wcschr.cpp => wcschr.c} | 4 +- libc/wchar/{wcschrnul.cpp => wcschrnul.c} | 5 +- libc/wchar/{wcscmp.cpp => wcscmp.c} | 5 +- libc/wchar/{wcscoll.cpp => wcscoll.c} | 4 +- libc/wchar/{wcscpy.cpp => wcscpy.c} | 4 +- libc/wchar/{wcscspn.cpp => wcscspn.c} | 5 +- libc/wchar/{wcsdup.cpp => wcsdup.c} | 4 +- libc/wchar/{wcsftime.cpp => wcsftime.c} | 4 +- libc/wchar/{wcslcat.cpp => wcslcat.c} | 3 +- libc/wchar/{wcslcpy.cpp => wcslcpy.c} | 3 +- libc/wchar/{wcslen.cpp => wcslen.c} | 4 +- libc/wchar/{wcsncasecmp.cpp => wcsncasecmp.c} | 3 +- libc/wchar/{wcsncat.cpp => wcsncat.c} | 4 +- libc/wchar/{wcsncmp.cpp => wcsncmp.c} | 4 +- libc/wchar/{wcsncpy.cpp => wcsncpy.c} | 4 +- libc/wchar/{wcsnlen.cpp => wcsnlen.c} | 4 +- libc/wchar/{wcsnrtombs.cpp => wcsnrtombs.c} | 3 +- libc/wchar/{wcspbrk.cpp => wcspbrk.c} | 4 +- libc/wchar/{wcsrchr.cpp => wcsrchr.c} | 5 +- libc/wchar/{wcsrtombs.cpp => wcsrtombs.c} | 3 +- libc/wchar/{wcsspn.cpp => wcsspn.c} | 5 +- libc/wchar/{wcsstr.cpp => wcsstr.c} | 4 +- libc/wchar/{wcstod.cpp => wcstod.c} | 4 +- libc/wchar/{wcstof.cpp => wcstof.c} | 4 +- libc/wchar/{wcstok.cpp => wcstok.c} | 4 +- libc/wchar/{wcstol.cpp => wcstol.c} | 4 +- libc/wchar/{wcstold.cpp => wcstold.c} | 4 +- libc/wchar/{wcstoll.cpp => wcstoll.c} | 4 +- libc/wchar/{wcstoul.cpp => wcstoul.c} | 4 +- libc/wchar/{wcstoull.cpp => wcstoull.c} | 4 +- libc/wchar/{wcswidth.cpp => wcswidth.c} | 4 +- libc/wchar/{wcsxfrm.cpp => wcsxfrm.c} | 3 +- libc/wchar/{wctob.cpp => wctob.c} | 4 +- libc/wchar/{wcwidth.cpp => wcwidth.c} | 4 +- libc/wchar/{wmemchr.cpp => wmemchr.c} | 4 +- libc/wchar/{wmemcmp.cpp => wmemcmp.c} | 4 +- libc/wchar/{wmemcpy.cpp => wmemcpy.c} | 3 +- libc/wchar/{wmemmove.cpp => wmemmove.c} | 4 +- libc/wchar/{wmemset.cpp => wmemset.c} | 4 +- libc/wctype/{iswalnum.cpp => iswalnum.c} | 4 +- libc/wctype/{iswalpha.cpp => iswalpha.c} | 4 +- libc/wctype/{iswblank.cpp => iswblank.c} | 4 +- libc/wctype/{iswcntrl.cpp => iswcntrl.c} | 4 +- libc/wctype/{iswctype.cpp => iswctype.c} | 4 +- libc/wctype/{iswdigit.cpp => iswdigit.c} | 4 +- libc/wctype/{iswgraph.cpp => iswgraph.c} | 4 +- libc/wctype/{iswlower.cpp => iswlower.c} | 4 +- libc/wctype/{iswprint.cpp => iswprint.c} | 4 +- libc/wctype/{iswpunct.cpp => iswpunct.c} | 4 +- libc/wctype/{iswspace.cpp => iswspace.c} | 4 +- libc/wctype/{iswupper.cpp => iswupper.c} | 4 +- libc/wctype/{iswxdigit.cpp => iswxdigit.c} | 4 +- libc/wctype/{towlower.cpp => towlower.c} | 4 +- libc/wctype/{towupper.cpp => towupper.c} | 4 +- libc/wctype/{wctype.cpp => wctype.c} | 4 +- utils/du.cpp | 18 +-- utils/find.cpp | 4 +- utils/mv.cpp | 4 +- utils/which.cpp | 2 +- 668 files changed, 1895 insertions(+), 1851 deletions(-) commit f6339421244b0c93a85e6178d59a4c1716555ac8 Author: Jonas 'Sortie' Termansen Date: Sat Feb 27 16:40:36 2016 +0100 Replace crc32 code with libz implementation. mkinitrd/Makefile | 4 +- mkinitrd/crc32.cpp | 54 +---- mkinitrd/crc32.h | 14 +- mkinitrd/zcrc32.c | 613 +++++++++++++++++++++++++++++++++++++++++++++++++++++ mkinitrd/zcrc32.h | 49 +++++ 5 files changed, 676 insertions(+), 58 deletions(-) commit 3487b62152599dffe481e7a2e97d187930597829 Author: Jonas 'Sortie' Termansen Date: Sat Feb 27 16:16:44 2016 +0100 Remove dead MTRR code from the kernel. kernel/Makefile | 1 - kernel/include/sortix/kernel/mtrr.h | 47 --------- kernel/x86-family/mtrr.cpp | 194 ------------------------------------ 3 files changed, 242 deletions(-) commit 6cab6d7affb49942ef2fe27e0bd47b922973fefd Author: Jonas 'Sortie' Termansen Date: Sat Feb 27 16:03:28 2016 +0100 Replace with public domain version from musl. libc/include/elf.h | 4306 ++++++++++++++++++++++++---------------------------- 1 file changed, 2018 insertions(+), 2288 deletions(-) commit 4f07e94b0c6cec9fc85dd6390064a19d6d81213c Author: Jonas 'Sortie' Termansen Date: Sat Feb 27 14:12:10 2016 +0100 Rewrite strtof(3). libc/stdlib/strtod.cpp | 6 +- libc/stdlib/strtof.cpp | 186 +++++++++++++++++++++++++++++++++++++----------- libc/stdlib/strtold.cpp | 6 +- libc/wchar/wcstod.cpp | 6 +- libc/wchar/wcstof.cpp | 6 +- libc/wchar/wcstold.cpp | 6 +- 6 files changed, 170 insertions(+), 46 deletions(-) commit c5948fdd2838957bf0913fdce8331a65f9291569 Author: Jonas 'Sortie' Termansen Date: Mon Feb 29 01:34:47 2016 +0100 Fix executable manual pages. editor/Makefile | 4 ++-- sf/Makefile | 6 +++--- sysinstall/Makefile | 6 +++--- update-initrd/Makefile | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) commit f29f8e7679a9bf11ede12e98f58f5552ec4fb56f Author: Jonas 'Sortie' Termansen Date: Mon Feb 29 00:53:33 2016 +0100 Fix -Wstrict-prototypes issues. disked/disked.c | 4 ++-- init/init.c++ | 10 +++++----- sysinstall/sysinstall.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) commit 4ee8f9ec38401b00661b5d2b865935de2153b9ec Author: Jonas 'Sortie' Termansen Date: Wed Feb 24 23:28:57 2016 +0100 Save modified file on editor(1) open and quit. editor/command.c++ | 5 +++- editor/display.c++ | 8 ++++-- editor/editor.h++ | 3 +++ editor/modal.c++ | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++- editor/modal.h++ | 3 +++ 5 files changed, 86 insertions(+), 4 deletions(-) commit d472818380a5b8edd93c804da9cd971469cd6ce4 Author: Jonas 'Sortie' Termansen Date: Wed Feb 24 22:57:15 2016 +0100 Fix pager(1) bugs. utils/pager.cpp | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) commit 77129524eb14ce2382db7827bf5995673d21b942 Author: Alexandros Alexandrou Date: Wed Feb 24 17:14:08 2016 +0100 Add touch(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/touch.cpp | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 173 insertions(+) commit ede0571926d369541ff1b64a7a7c8ef72efd087a Author: Jonas 'Sortie' Termansen Date: Wed Feb 24 16:29:11 2016 +0100 Add UTIME_NOW and UTIME_OMIT. ext/fsmarshall.cpp | 21 ++++++++++++++++----- kernel/descriptor.cpp | 29 +++++++++++++++++++++++------ kernel/fs/user.cpp | 15 +++++---------- kernel/include/sortix/kernel/descriptor.h | 5 ++--- kernel/include/sortix/kernel/inode.h | 10 +++------- kernel/include/sortix/kernel/vnode.h | 5 ++--- kernel/include/sortix/stat.h | 5 ++++- kernel/initrd.cpp | 9 +++++---- kernel/inode.cpp | 23 +++++++++++++---------- kernel/io.cpp | 10 ++-------- kernel/vnode.cpp | 8 +++----- 11 files changed, 78 insertions(+), 62 deletions(-) commit 02c6316e95976d2b32affe63eb584d4b8b4a5f52 Author: Jonas 'Sortie' Termansen Date: Mon Feb 22 00:12:00 2016 +0100 Remove kernel debugger, old kernel US layout and kernel symbol code. The debugger has fallen behind and has become a maintenance burden. It was the only user of the old kernel US layout system, which is good to get rid of. The debugger didn't work with graphical output and was likely to conflict with the new keyboard system if used, which no longer triggered it. The kernel symbol code was removed to simplify the kernel. The kernel debugger was an useful debugging feature, but it needs to be done in a better way before it can be added back. kernel/Makefile | 3 - kernel/debugger.cpp | 639 -------------------------------- kernel/elf.cpp | 81 ---- kernel/include/sortix/kernel/debugger.h | 36 -- kernel/include/sortix/kernel/process.h | 5 - kernel/include/sortix/kernel/symbol.h | 52 --- kernel/interrupt.cpp | 1 - kernel/kb/layout/us.cpp | 174 --------- kernel/kb/layout/us.h | 47 --- kernel/kernel.cpp | 1 - kernel/process.cpp | 37 -- kernel/symbol.cpp | 65 ---- kernel/x86-family/interrupt.cpp | 12 - 13 files changed, 1153 deletions(-) commit 478468a04e4982e437ea8efe0cd5720a386faa72 Author: Jonas 'Sortie' Termansen Date: Sun Feb 21 22:08:37 2016 +0100 Fix sysmerge delayed upgrade bricking system. It ran update-initrd before removing /sysmerge, which caused the initrd to attempt another upgrade, but there was no image in /sysmerge. sysinstall/sysmerge.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit f52fb3202c477cb313bc4fa7e12a7486e5cf18a8 Author: Jonas 'Sortie' Termansen Date: Thu Feb 18 22:15:36 2016 +0100 Add sysinstall(8), sysmerge(8), and sysupgrade(8). Makefile | 35 +- build-aux/iso-grub-cfg.sh | 2 + doc/welcome | 4 + init/init.8 | 5 + init/init.c++ | 53 ++- share/man/man5/upgrade.conf.5 | 105 +++++ share/man/man7/development.7 | 37 +- share/man/man7/hier.7 | 6 +- share/man/man7/installation.7 | 338 +++++++++++++++ share/man/man7/upgrade.7 | 120 +++++ share/man/man7/user-guide.7 | 13 +- sysinstall/.gitignore | 4 + sysinstall/Makefile | 75 ++++ sysinstall/conf.c | 115 +++++ sysinstall/conf.h | 37 ++ sysinstall/devices.c | 416 ++++++++++++++++++ sysinstall/devices.h | 58 +++ sysinstall/execute.c | 131 ++++++ sysinstall/execute.h | 28 ++ sysinstall/fileops.c | 85 ++++ sysinstall/fileops.h | 30 ++ sysinstall/interactive.c | 222 ++++++++++ sysinstall/interactive.h | 42 ++ sysinstall/manifest.c | 411 ++++++++++++++++++ sysinstall/manifest.h | 33 ++ sysinstall/release.c | 206 +++++++++ sysinstall/release.h | 41 ++ sysinstall/sysinstall.8 | 23 + sysinstall/sysinstall.c | 985 ++++++++++++++++++++++++++++++++++++++++++ sysinstall/sysmerge.8 | 123 ++++++ sysinstall/sysmerge.c | 260 +++++++++++ sysinstall/sysupgrade.8 | 25 ++ sysinstall/sysupgrade.c | 866 +++++++++++++++++++++++++++++++++++++ update-initrd/update-initrd | 20 +- 34 files changed, 4894 insertions(+), 60 deletions(-) commit 8af81a18648e2ba5a7b3eed644463a61b303a613 Author: Jonas 'Sortie' Termansen Date: Fri Jul 24 02:22:37 2015 +0200 Add disked(8). Makefile | 1 + disked/.gitignore | 1 + disked/Makefile | 29 + disked/disked.8 | 189 ++++ disked/disked.c | 2842 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 3062 insertions(+) commit e32ca1d7b93a305a26137443021c9277b22d693b Author: Jonas 'Sortie' Termansen Date: Mon Feb 15 15:08:55 2016 +0100 Add support for multiple mount points to init(8). init/init.8 | 28 +-- init/init.c++ | 698 +++++++++++++++++++++++++++++++++------------------------- 2 files changed, 405 insertions(+), 321 deletions(-) commit ebdb2a844f00aeb442965e0f0a8f31f374c72383 Author: Jonas 'Sortie' Termansen Date: Thu Feb 18 22:02:40 2016 +0100 Disable PS/2 port testing. This is reportedly a problem with some emulated PS/2 controllers. glauxosdever reported his computer responds 0x50 0x00 instead of just 0x00. OpenBSD has commented out this check in sys/dev/ic/pckbc.c, claiming it's a problem with some controllers and that some might even hang. I doubt not testing ports is going to be a problem, as the identitication code runs next and verifies devices and all relevant modern hardware probably has this working well enough. kernel/x86-family/ps2.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 2ab9139f35d86488c0fc57deac351f7fa53473d0 Author: Jonas 'Sortie' Termansen Date: Thu Feb 18 22:02:07 2016 +0100 Fix missing malloc check in canonicalize_file_name_at(3). libc/stdlib/canonicalize_file_name_at.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 065a51cb0050bc5dbe7d3ec2521fc988439a9fe9 Author: Jonas 'Sortie' Termansen Date: Wed Feb 17 23:47:39 2016 +0100 Fix user-space filesystem st_dev values being non-unique. kernel/fs/user.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 2f50a0303508da89cd68ca03f0391733a4213dff Author: Jonas 'Sortie' Termansen Date: Sat Feb 13 20:08:19 2016 +0100 Fix du(1) locale issues in build-aux/iso-grub-cfg.sh. build-aux/iso-grub-cfg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 16c5738a20667d186f225202862ca95394c282c2 Author: Jonas 'Sortie' Termansen Date: Sat Feb 13 19:28:33 2016 +0100 Fix typo in PS/2 error string. Discovered by Alexandros Alexandrou. kernel/x86-family/ps2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b15d30ea0c8898f0c6f44c53f49047b3a321af92 Author: Jonas 'Sortie' Termansen Date: Sun Feb 7 23:59:00 2016 +0100 Fix Makefile build breakage. Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 170ccfcc89cc70b95399029b5581d09298ef3717 Author: Jonas 'Sortie' Termansen Date: Mon Dec 28 02:10:51 2015 +0100 Load ports in their own initrds. Makefile | 94 ++++++++++++++++++++++++++------------------- build-aux/iso-grub-cfg.sh | 18 ++++++++- build-aux/iso-repository.sh | 28 ++++++++++++++ 3 files changed, 99 insertions(+), 41 deletions(-) commit c10628a2e298c8adf8dcce276590ac7d57b11f05 Author: Jonas 'Sortie' Termansen Date: Tue Jan 5 23:49:14 2016 +0100 Remove root makefile kernel targets. Makefile | 9 --------- 1 file changed, 9 deletions(-) commit 3648fce015066cf83836712bba33c6b0e3ba8556 Author: Jonas 'Sortie' Termansen Date: Fri Aug 14 17:24:44 2015 +0200 Add git repository to /src if applicable. Makefile | 25 ++++++++++++++++++++++++ share/man/man7/development.7 | 45 ++++++++++++++++++++++++++++++++++++++++++-- share/man/man7/user-guide.7 | 4 +++- 3 files changed, 71 insertions(+), 3 deletions(-) commit d85a0b70cc415e9a1ba1eeaeb5917bdd8e1be767 Author: Jonas 'Sortie' Termansen Date: Mon Jan 4 22:46:08 2016 +0100 Add /etc/machine. Makefile | 3 +++ build-aux/platform.mak | 1 + 2 files changed, 4 insertions(+) commit bdd9e2851b28eda860c922751138eb642e30db29 Author: Jonas 'Sortie' Termansen Date: Wed Aug 12 12:33:30 2015 +0200 Add /etc/sortix-release. Makefile | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 5ee7ff4e67c655c1b309c7da9273ac10a3c8fc00 Author: Jonas 'Sortie' Termansen Date: Tue Jul 28 01:45:35 2015 +0200 Add iso compression support. Makefile | 60 ++++++++------------- build-aux/iso-grub-cfg.sh | 126 +++++++++++++++++++++++++++++++++++++++++++ isosrc/boot/grub/grub.cfg | 17 ------ share/man/man7/development.7 | 7 +++ 4 files changed, 155 insertions(+), 55 deletions(-) commit e9e033212a98a96b628ba851bd5c8bf802614d75 Author: Jonas 'Sortie' Termansen Date: Sat Jul 25 14:03:38 2015 +0200 Generate lists of system files. .gitignore | 1 + Makefile | 73 +++++++++++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 57 insertions(+), 17 deletions(-) commit 80d238702d94cee388f98313436352ee679976c1 Author: Jonas 'Sortie' Termansen Date: Thu Oct 1 22:38:49 2015 +0200 Remove iso bootloader wallpaper and default resolution. It doesn't scale well to large resolutions or other aspect ratios. This fully lets the bootloader control the graphical resolution and will likely load faster. isosrc/boot/grub/grub.cfg | 10 ---------- isosrc/boot/grub/sortix.png | Bin 152351 -> 0 bytes 2 files changed, 10 deletions(-) commit 2228dee514423078a05448128332c6a962a8a35c Author: Jonas 'Sortie' Termansen Date: Sun Feb 7 22:19:46 2016 +0100 Fix mkinitrd(8) manifest support. mkinitrd/mkinitrd.cpp | 1 + mkinitrd/rules.cpp | 71 +++++++++++++++++++++++++++++++++++++-------------- mkinitrd/rules.h | 1 + 3 files changed, 54 insertions(+), 19 deletions(-) commit 52007a1793d1991d053f1d88d7f130b6e66b1c82 Author: Jonas 'Sortie' Termansen Date: Fri Aug 14 16:23:12 2015 +0000 Collect leaked inode references in extfs. ext/fsmarshall.cpp | 13 ++++++++++--- ext/fuse.cpp | 8 ++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) commit 01ee906d2546c6af379e7dd421d1078a25882204 Author: Jonas 'Sortie' Termansen Date: Fri Jan 1 15:01:13 2016 +0000 Add editor(5). editor/Makefile | 2 ++ editor/editor.1 | 16 +++++++++++++++- editor/editor.5 | 26 ++++++++++++++++++++++++++ editor/editor.c++ | 47 ++++++++++++++++++++++++++++++++++++++++++++++- editor/modal.c++ | 17 ++++++++++++++++- editor/modal.h++ | 3 ++- 6 files changed, 107 insertions(+), 4 deletions(-) commit ee971b463bf98d739e253d1afb0bfd635440f5d7 Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 21:54:28 2015 +0100 Create tix collection even if PACKAGES is empty. build-aux/build-ports.sh | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) commit 507d7d73abfb1db0835942a82850c0f0a309040a Author: Jonas 'Sortie' Termansen Date: Mon Dec 28 02:03:35 2015 +0100 Add --manifest option to mkinitrd(8). mkinitrd/mkinitrd.8 | 5 +++++ mkinitrd/mkinitrd.cpp | 12 +++++++++++ mkinitrd/rules.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++- mkinitrd/rules.h | 4 ++++ 4 files changed, 80 insertions(+), 1 deletion(-) commit bab21ae7dd0ebd221b5d93044cbca4e648402510 Author: Jonas 'Sortie' Termansen Date: Thu Nov 5 00:35:56 2015 +0100 Add tar and tix initrd support. kernel/include/sortix/tar.h | 49 +++++++ kernel/initrd.cpp | 342 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 391 insertions(+) commit 475bd7c26e017f07dd6b4ee436abc4e83bb29c21 Author: Jonas 'Sortie' Termansen Date: Wed Nov 4 14:05:51 2015 +0100 Add support for multiple initrds. kernel/Makefile | 1 - kernel/crc32.cpp | 72 -------- kernel/include/sortix/kernel/crc32.h | 46 ----- kernel/initrd.cpp | 325 ++++++++++++++++------------------- kernel/initrd.h | 12 +- kernel/kernel.cpp | 29 +--- 6 files changed, 159 insertions(+), 326 deletions(-) commit 391680a46836e530b1cf9774f349a2acce0388a6 Author: Jonas 'Sortie' Termansen Date: Fri Sep 25 14:56:45 2015 +0200 Add update-initrd(8). Makefile | 33 +-------------- share/man/man7/development.7 | 13 +++++- share/man/man7/initrd.7 | 9 ++++- update-initrd/Makefile | 14 +++++++ update-initrd/update-initrd | 94 +++++++++++++++++++++++++++++++++++++++++++ update-initrd/update-initrd.8 | 61 ++++++++++++++++++++++++++++ 6 files changed, 190 insertions(+), 34 deletions(-) commit caf632ccddc64c06f3cb4aef718d332b7e64ff93 Author: Jonas 'Sortie' Termansen Date: Fri Jul 24 02:26:28 2015 +0200 Remove mbrfs. Makefile | 1 - mbr/.gitignore | 1 - mbr/Makefile | 26 ------ mbr/mbrfs.cpp | 274 --------------------------------------------------------- 4 files changed, 302 deletions(-) commit 9fe234d4d81e8f00118c1e0c4d95aef401ffa589 Author: Jonas 'Sortie' Termansen Date: Fri Jul 24 02:24:23 2015 +0200 Rewrite init(8). Makefile | 11 +- ext/Makefile | 4 +- ext/extfs.cpp | 139 +----- init/Makefile | 8 +- init/init.8 | 182 +++++++ init/init.c++ | 1134 +++++++++++++++++++++++++++++--------------- kernel/kernel.cpp | 12 +- share/man/man5/videomode.5 | 46 ++ share/man/man7/initrd.7 | 2 +- share/man/man7/kernel.7 | 2 +- 10 files changed, 1012 insertions(+), 528 deletions(-) commit 70687ac610ad8678d7a4a3862c7d5ea09061d1d6 Author: Jonas 'Sortie' Termansen Date: Wed Nov 25 19:17:48 2015 +0100 Add passwd(1). login/login.8 | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/passwd.cpp | 242 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 245 insertions(+) commit 9a1786f6881ba6f996b7ca59455b4ebafa6d37e6 Author: Jonas 'Sortie' Termansen Date: Fri Dec 25 03:24:25 2015 +0100 Add login(8). Makefile | 1 + login/.gitignore | 3 + login/Makefile | 41 +++ login/arrow.rgb | Bin 0 -> 9216 bytes login/framebuffer.c | 176 +++++++++ login/framebuffer.h | 83 +++++ login/graphical.c | 845 ++++++++++++++++++++++++++++++++++++++++++++ login/login.8 | 74 ++++ login/login.c | 438 +++++++++++++++++++++++ login/login.h | 52 +++ login/pixel.c | 41 +++ login/pixel.h | 60 ++++ login/vgafont.c | 75 ++++ login/vgafont.h | 41 +++ share/man/man7/user-guide.7 | 9 +- trianglix/trianglix.cpp | 126 ++----- utils/command-not-found.cpp | 44 +++ 17 files changed, 2003 insertions(+), 106 deletions(-) commit 02d5dddc5b10182b2349138fb9157647e6871fc2 Author: Jonas 'Sortie' Termansen Date: Thu Feb 4 02:07:33 2016 +0100 Fix minor mistakes in new manual pages. mkinitrd/mkinitrd.8 | 2 +- sf/sfncd.1 | 2 +- share/man/man7/serial-transfer.7 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 1ca8ef0a48898dfe4b2c1b27edd754f74aa3e648 Author: Jonas 'Sortie' Termansen Date: Wed Oct 7 21:24:13 2015 +0200 Document mkinitrd(8) and initrdfs(8). mkinitrd/Makefile | 7 +++- mkinitrd/initrdfs.8 | 57 +++++++++++++++++++++++++ mkinitrd/mkinitrd.8 | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 181 insertions(+), 2 deletions(-) commit cbe969ba3294d212f6c1ab1de72e9f69f854ac17 Author: Jonas 'Sortie' Termansen Date: Sun Sep 20 03:32:38 2015 +0200 Add sf(1). Makefile | 4 + sf/.gitignore | 1 + sf/Makefile | 32 ++++++ sf/sf.1 | 64 +++++++++++ sf/sf.c | 228 +++++++++++++++++++++++++++++++++++++++ sf/sfnc | 30 ++++++ sf/sfnc.1 | 42 ++++++++ sf/sfncd | 35 ++++++ sf/sfncd.1 | 36 +++++++ share/man/man7/development.7 | 2 + share/man/man7/serial-transfer.7 | 130 ++++++++++++++++++++++ share/man/man7/user-guide.7 | 6 +- 12 files changed, 609 insertions(+), 1 deletion(-) commit 31394e401442dab56768b23db607d4304dfb6684 Author: Jonas 'Sortie' Termansen Date: Wed Feb 3 19:39:11 2016 +0100 Document editor(1). editor/Makefile | 2 ++ editor/editor.1 | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) commit b24103d45888800e0e006da05c0c461afaac4c55 Author: Jonas 'Sortie' Termansen Date: Tue Oct 6 00:32:19 2015 +0200 Add manual pages. Makefile | 18 +- README | 31 +- doc/Makefile | 2 - doc/cross-development | 282 ------------------ doc/user-guide | 580 ------------------------------------- doc/welcome | 8 +- share/man/man5/hostname.5 | 29 ++ share/man/man5/kblayout.5 | 43 +++ share/man/man7/cross-development.7 | 244 ++++++++++++++++ share/man/man7/development.7 | 258 +++++++++++++++++ share/man/man7/hier.7 | 51 ++++ share/man/man7/initrd.7 | 28 ++ share/man/man7/kernel.7 | 40 +++ share/man/man7/undocumented.7 | 10 + share/man/man7/user-guide.7 | 115 ++++++++ 15 files changed, 831 insertions(+), 908 deletions(-) commit e6a1cd6dee5d40770604c555e4f055eee1524ba4 Author: Jonas 'Sortie' Termansen Date: Sat Mar 7 13:34:18 2015 +0100 Add libmount. Makefile | 1 + libmount/.gitignore | 2 + libmount/Makefile | 46 +++++ libmount/biosboot.c | 87 ++++++++++ libmount/blockdevice.c | 84 +++++++++ libmount/crc32.c | 46 +++++ libmount/devices.c | 170 ++++++++++++++++++ libmount/ext2.c | 172 ++++++++++++++++++ libmount/extended.c | 85 +++++++++ libmount/filesystem.c | 102 +++++++++++ libmount/gpt.c | 325 +++++++++++++++++++++++++++++++++++ libmount/harddisk.c | 123 +++++++++++++ libmount/include/mount/biosboot.h | 42 +++++ libmount/include/mount/blockdevice.h | 66 +++++++ libmount/include/mount/devices.h | 46 +++++ libmount/include/mount/error.h | 56 ++++++ libmount/include/mount/ext2.h | 105 +++++++++++ libmount/include/mount/extended.h | 40 +++++ libmount/include/mount/filesystem.h | 79 +++++++++ libmount/include/mount/gpt.h | 93 ++++++++++ libmount/include/mount/harddisk.h | 65 +++++++ libmount/include/mount/mbr.h | 86 +++++++++ libmount/include/mount/partition.h | 109 ++++++++++++ libmount/include/mount/uuid.h | 46 +++++ libmount/mbr.c | 270 +++++++++++++++++++++++++++++ libmount/partition.c | 238 +++++++++++++++++++++++++ libmount/util.h | 74 ++++++++ libmount/uuid.c | 125 ++++++++++++++ 28 files changed, 2783 insertions(+) commit aff8f4d89cefb2147f656f001c4fe942a36b7eb0 Author: Jonas 'Sortie' Termansen Date: Wed Feb 3 00:59:55 2016 +0100 Fix files with incorrect copyright headers. editor/cursor.c++ | 2 +- editor/cursor.h++ | 2 +- sh/editline.cpp | 2 +- sh/sh.h | 0 trianglix/vector.h | 24 ++++++++++++++++++++++++ 5 files changed, 27 insertions(+), 3 deletions(-) commit 398eee1a8b45951d8c1a72a68799a3a2774d8193 Author: Jonas 'Sortie' Termansen Date: Mon May 27 23:55:24 2013 +0200 Add AHCI driver. README | 3 +- kernel/Makefile | 3 + kernel/disk/ahci/ahci.cpp | 121 ++++++++ kernel/disk/ahci/ahci.h | 49 +++ kernel/disk/ahci/hba.cpp | 280 +++++++++++++++++ kernel/disk/ahci/hba.h | 73 +++++ kernel/disk/ahci/port.cpp | 721 +++++++++++++++++++++++++++++++++++++++++++ kernel/disk/ahci/port.h | 122 ++++++++ kernel/disk/ahci/registers.h | 256 +++++++++++++++ kernel/kernel.cpp | 4 + 10 files changed, 1630 insertions(+), 2 deletions(-) commit 79e01c2ebab31e7a5f8b7e37f7cdbb286c182a37 Author: Jonas 'Sortie' Termansen Date: Sun Sep 28 00:47:44 2014 +0200 Rewrite ATA driver. kernel/Makefile | 7 +- kernel/ata.cpp | 477 ------------------- kernel/ata.h | 95 ---- kernel/disk/ata/ata.cpp | 66 +++ kernel/disk/ata/ata.h | 39 ++ kernel/disk/ata/hba.cpp | 337 ++++++++++++++ kernel/disk/ata/hba.h | 98 ++++ kernel/disk/ata/port.cpp | 784 ++++++++++++++++++++++++++++++++ kernel/disk/ata/port.h | 114 +++++ kernel/disk/ata/registers.h | 88 ++++ kernel/disk/node.cpp | 200 ++++++++ kernel/disk/node.h | 58 +++ kernel/include/sortix/kernel/harddisk.h | 57 +++ kernel/kernel.cpp | 2 +- 14 files changed, 1846 insertions(+), 576 deletions(-) commit c1db172431ecf83bbb4069e9accdb607f6270a97 Author: Jonas 'Sortie' Termansen Date: Mon Feb 1 01:59:24 2016 +0100 Remove suggested makefile example from porting-guide. It doesn't follow my current recommendations. doc/porting-guide | 99 ++----------------------------------------------------- 1 file changed, 3 insertions(+), 96 deletions(-) commit b37a679c72b03d997c614752bf7b135d8383c612 Author: Jonas 'Sortie' Termansen Date: Mon Feb 1 01:44:46 2016 +0100 Add -f to cp(1). utils/cp.cpp | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) commit bd14553a0f6e60e35312bbddf0f1d317ec430916 Author: Jonas 'Sortie' Termansen Date: Sun May 31 20:38:39 2015 +0200 Add df(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/df.cpp | 778 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 781 insertions(+) commit b0bbf1e013f7df0d1f94fb9340ca34f2c99b7888 Author: Jonas 'Sortie' Termansen Date: Wed Jan 27 21:23:54 2016 +0100 Fix fsm_mountat(2) error handling. kernel/io.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 230fade46821ff4a36529b148e558cce40641039 Author: Jonas 'Sortie' Termansen Date: Thu Dec 17 15:34:47 2015 +0100 Add /usr to . symbolic link. Makefile | 1 + 1 file changed, 1 insertion(+) commit 7a7ddc2d73b3171c8b3ab1168a906ed8b5018f5a Author: Jonas 'Sortie' Termansen Date: Fri Oct 9 15:27:50 2015 +0200 Add guard page debug malloc. libc/include/malloc.h | 23 ++++++++++++++++++- libc/stdlib/free.cpp | 38 ++++++++++++++++++++++++++----- libc/stdlib/malloc.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++----- libc/stdlib/realloc.cpp | 46 ++++++++++++++++++++++++++++++++----- 4 files changed, 151 insertions(+), 16 deletions(-) commit f876667cc562061bd5c9646aa20302d5be1a35c7 Author: Jonas 'Sortie' Termansen Date: Mon Jan 18 14:43:23 2016 +0100 Add socketpair(2) AF_UNIX stream support. libc/sys/socket/socketpair.cpp | 124 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 119 insertions(+), 5 deletions(-) commit 697d52b88a6d8e03ec8c996d2161a4928d0e0fb6 Author: Jonas 'Sortie' Termansen Date: Mon Jan 18 14:41:36 2016 +0100 Add basic getaddrinfo(3) support for localhost ports. libc/netdb/freeaddrinfo.cpp | 16 +++++--- libc/netdb/getaddrinfo.cpp | 93 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 97 insertions(+), 12 deletions(-) commit 7c3d9bf2b9a7b2572de1569fae9e835a98540a19 Author: Jonas 'Sortie' Termansen Date: Tue Dec 29 02:31:00 2015 +0100 Move tix to sbin. doc/cross-development | 7 +++++-- tix/Makefile | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) commit d1777d7afdd99a9d60aa5f5b8e1fe48bd1d38d50 Author: Jonas 'Sortie' Termansen Date: Mon Dec 28 21:33:45 2015 +0100 Add extfs and unmount suggestions to command-not-found(1). utils/command-not-found.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit 0c5eff44750f0e7fef99e51d2b931d7be83b6d39 Author: Jonas 'Sortie' Termansen Date: Mon Dec 28 20:55:31 2015 +0100 Add export builtin to sh(1). sh/sh.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) commit 0c7d1fe2c13c5989228d7da1ecac3a1d38994508 Author: Jonas 'Sortie' Termansen Date: Mon Dec 28 02:51:33 2015 +0100 Add -m support to mkdir(1). utils/mkdir.cpp | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 193 insertions(+), 19 deletions(-) commit 794cfd057a36eb15a0f69de1a3f5caedcceea75e Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 22:19:10 2015 +0100 Add keyboard number selection to chvideomode(1). utils/chvideomode.cpp | 89 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 34 deletions(-) commit 5ba7ce6802eccabb15acf01f0f57b25d60e0f3f4 Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 21:43:15 2015 +0100 Add backwards support to pager(1). utils/pager.cpp | 507 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 325 insertions(+), 182 deletions(-) commit c8315c1ac2889035c13dad89f7ef8cf2d46ff9f2 Author: Jonas 'Sortie' Termansen Date: Wed Dec 23 17:34:34 2015 +0100 Add extfs s_last_mounted support. ext/filesystem.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) commit e89dc046746d51e327beac13c38bf8ce24be51d9 Author: Jonas 'Sortie' Termansen Date: Wed Dec 23 17:07:53 2015 +0100 Add extfs support for d_type. ext/extfs.cpp | 17 +++++++++++++++++ ext/extfs.h | 1 + ext/fsmarshall.cpp | 6 +++++- ext/inode.cpp | 6 ++++-- 4 files changed, 27 insertions(+), 3 deletions(-) commit 624ceff9009604e0b5b44ec3dda0e67ac6201c7a Author: Jonas 'Sortie' Termansen Date: Sat Dec 19 04:01:20 2015 +0100 Add _PC_NAME_MAX support. libc/unistd/pathconf.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8b03a9ab94e8e396047a5597a7d350ec42b80daa Author: Jonas 'Sortie' Termansen Date: Tue Dec 1 22:16:29 2015 +0100 Update printf family to current coding conventions. libc/stdio/vasprintf.cpp | 63 ++++++++++---------- libc/stdio/vcbprintf.cpp | 123 +++++++++++++++++++++++---------------- libc/stdio/vdprintf.cpp | 8 +-- libc/stdio/vfprintf_unlocked.cpp | 11 ++-- libc/stdio/vsnprintf.cpp | 22 +++---- 5 files changed, 122 insertions(+), 105 deletions(-) commit b5f9876089eb281763e10edef4b4046dd43f7289 Author: Jonas 'Sortie' Termansen Date: Mon Nov 23 01:43:50 2015 +0100 Remove unnecessary libg.a. libc/Makefile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit 14c27ff3fa58c585129643f6c5edb6c8ec3bfb34 Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 23:21:10 2015 +0100 Preclean only in tix-build when the port is dirty. tix/tix-build.cpp | 43 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) commit 9e6876ff14b71d3e518c8fec3fc1e7ca73ca2873 Author: Jonas 'Sortie' Termansen Date: Fri Nov 20 23:54:04 2015 +0100 Split fdio into multiple files. libc/Makefile | 5 ++- libc/include/FILE.h | 3 +- libc/stdio/fdio.cpp | 72 ------------------------------------------ libc/stdio/fdio.h | 10 +----- libc/stdio/fdio_close.cpp | 35 ++++++++++++++++++++ libc/stdio/fdio_install_fd.cpp | 15 ++------- libc/stdio/fdio_read.cpp | 35 ++++++++++++++++++++ libc/stdio/fdio_seek.cpp | 35 ++++++++++++++++++++ libc/stdio/fdio_write.cpp | 35 ++++++++++++++++++++ libc/stdio/fileno.cpp | 2 +- libc/stdio/fileno_unlocked.cpp | 4 +-- libc/stdio/fmemopen.cpp | 4 +-- libc/stdio/freopen.cpp | 14 ++------ libc/stdio/open_memstream.cpp | 1 + libc/stdio/popen.cpp | 10 ++---- libc/stdio/stderr.cpp | 8 ++--- libc/stdio/stdin.cpp | 8 ++--- libc/stdio/stdout.cpp | 8 ++--- 18 files changed, 167 insertions(+), 137 deletions(-) commit 3320e29c95c648e568a52df2db7c3ff15f8c40c8 Author: Jonas 'Sortie' Termansen Date: Fri Nov 20 21:54:02 2015 +0100 Remove unused libc signal assembly files. libc/Makefile | 1 - libc/x64/signal.S | 36 ------------------------------------ libc/x86/signal.S | 41 ----------------------------------------- 3 files changed, 78 deletions(-) commit 4d2901b90e44acad24e29b4645f7b4f919861f8e Author: Jonas 'Sortie' Termansen Date: Fri Nov 20 21:52:06 2015 +0100 Split stdin, stdout and stderr into their own files. libc/Makefile | 4 +- libc/include/sys/cdefs.h | 12 ++++- libc/stdio/fflush.cpp | 5 ++ libc/stdio/stderr.cpp | 55 ++++++++++++++++++++++ libc/stdio/stdin.cpp | 56 ++++++++++++++++++++++ libc/stdio/stdio.cpp | 118 ----------------------------------------------- libc/stdio/stdout.cpp | 56 ++++++++++++++++++++++ libc/stdlib/exit.cpp | 33 ++++++++----- 8 files changed, 207 insertions(+), 132 deletions(-) commit 2e4b15daed117e5a1a19532a0aef6930dd9f32a8 Author: Jonas 'Sortie' Termansen Date: Fri Nov 20 02:56:43 2015 +0100 Simplify directory reading. ext/fsmarshall.cpp | 9 +-- kernel/descriptor.cpp | 30 +------- kernel/fs/kram.cpp | 36 ++++----- kernel/fs/kram.h | 4 +- kernel/fs/user.cpp | 19 +++-- kernel/include/sortix/dirent.h | 21 ++--- kernel/include/sortix/kernel/descriptor.h | 5 +- kernel/include/sortix/kernel/inode.h | 10 +-- kernel/include/sortix/kernel/syscall.h | 2 +- kernel/include/sortix/kernel/vnode.h | 6 +- kernel/initrd.cpp | 6 +- kernel/inode.cpp | 6 +- kernel/io.cpp | 5 +- kernel/vnode.cpp | 6 +- libc/Makefile | 12 +-- libc/dirent/closedir.cpp | 12 ++- libc/dirent/dclearerr.cpp | 31 -------- libc/dirent/deof.cpp | 31 -------- libc/dirent/derror.cpp | 31 -------- libc/dirent/dirfd.cpp | 7 +- libc/dirent/dnewdir.cpp | 45 ----------- libc/dirent/dregister.cpp | 36 --------- libc/dirent/dunregister.cpp | 41 ---------- libc/dirent/fdopendir.cpp | 123 ++---------------------------- libc/dirent/opendir.cpp | 9 ++- libc/dirent/readdir.cpp | 44 +++++------ libc/dirent/rewinddir.cpp | 8 +- libc/include/DIR.h | 19 +---- libc/include/dirent.h | 66 +++------------- libc/include/sys/readdirents.h | 24 +++--- libc/stdlib/exit.cpp | 3 - libc/sys/readdirents/readdirents.cpp | 10 +-- utils/chmod.cpp | 5 +- utils/du.cpp | 7 +- 34 files changed, 139 insertions(+), 590 deletions(-) commit 56085108b6dc64ea4f00ab16da66cc0717cd9a9f Author: Jonas 'Sortie' Termansen Date: Fri Nov 20 00:42:09 2015 +0100 Use fflush_unlocked as stdio's fflush_indirect. exit(3) already locks the file before calling fflush_indirect. libc/stdio/setvbuf_unlocked.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bb73362d239863f978617232017ad2dbcd22ab39 Author: Jonas 'Sortie' Termansen Date: Fri Nov 20 00:07:03 2015 +0100 Create stdio buffers at FILE creation time. This removes support for user-supplied buffers with setvbuf. libc/Makefile | 2 - libc/include/FILE.h | 11 ++---- libc/include/stdio.h | 16 ++++---- libc/stdio/fgetc_unlocked.cpp | 11 +++--- libc/stdio/fnewfile.cpp | 7 +++- libc/stdio/fputc_unlocked.cpp | 7 ++-- libc/stdio/fread_unlocked.cpp | 5 +-- libc/stdio/fresetfile.cpp | 2 + libc/stdio/fsetdefaultbuf.cpp | 33 ---------------- libc/stdio/fsetdefaultbuf_unlocked.cpp | 72 ---------------------------------- libc/stdio/fshutdown.cpp | 6 +-- libc/stdio/fwrite_unlocked.cpp | 5 +-- libc/stdio/setvbuf_unlocked.cpp | 28 ++++++++----- libc/stdio/stdio.cpp | 21 +++++----- libc/stdio/ungetc_unlocked.cpp | 7 ++-- libc/stdio_ext/__fbufsize.cpp | 4 +- 16 files changed, 65 insertions(+), 172 deletions(-) commit fe067c51509c096300fd060838c58f9bcffccd6a Author: Jonas 'Sortie' Termansen Date: Wed Nov 4 02:37:59 2015 +0100 Refactor boot page availability testing. kernel/x86-family/memorymanagement.cpp | 154 ++++++++++++++++++++------------- 1 file changed, 92 insertions(+), 62 deletions(-) commit cfb9dd6045cce745578ec0e1e9bc7ad362a32300 Author: Jonas 'Sortie' Termansen Date: Wed Nov 4 02:36:36 2015 +0100 Remove poorly implemented kernel symbol loading. kernel/kernel.cpp | 108 ------------------------------------------------------ 1 file changed, 108 deletions(-) commit 08bac6e3f65c53f82caf435dc93bacc1d3b55e72 Author: Jonas 'Sortie' Termansen Date: Fri Oct 30 18:10:08 2015 +0100 Add kernelinfo firmware string. kernel/kernelinfo.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 328f4e1fd69615335daaf8510fbc3e2c9f075f5a Author: Jonas 'Sortie' Termansen Date: Sun Oct 25 18:26:47 2015 +0100 Add features to ls(1) and fix implementation issues. New options: -1 Disable columnizing. -c Sort by file status change time. -C Column directory entries. -h Show file sizes with magnitude suffixes such as 42.3K. -r Sort entries in the opposite order. -R Recursively list directory contents. -S Sort by file size in decreasing order. -u Sort by access time. --color=always|auto|never Control whether colorizing is enabled. The output is now natively columnized instead of running a column(1) subprocess. Multiple operands are now implemented correctly (directory contents are columned separately rather than their concatenation, the name of each directory is printed prior to its content, ...). The file owner and group names are now shown rather than a hard-coded root. Long listings are now properly aligned. Mixing file and directory operands works correctly now. Columnizing is now vertical rather than across. Clean up the source code and remove cruft. Stat information on directory entries are read once only now, which which fixes an incosistent sort race condition when sorting according to lstat. Move to the openat paradigm. utils/ls.cpp | 1129 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 768 insertions(+), 361 deletions(-) commit 224c6595bc27bcda871fa0c828a439cf54d19664 Author: Jonas 'Sortie' Termansen Date: Fri Feb 6 14:43:02 2015 +0100 Build ports with -Werror=implicit-function-declaration. build-aux/build-ports.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d879c2343b66398fb43c3b7bb2b2eacad760553f Author: Jonas 'Sortie' Termansen Date: Tue Jan 27 21:45:18 2015 +0100 Build ports with -Werror=format. build-aux/build-ports.sh | 2 ++ 1 file changed, 2 insertions(+) commit 1e26626cc2ccf2fe31d6db8546a8fc9c3beeb3b4 Author: Jonas 'Sortie' Termansen Date: Sun Sep 27 23:49:12 2015 +0200 Silence extfs on unmount. ext/fsmarshall.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 01afa43fb0f1927eddee14c234c66e1f5fb0ff4c Author: Jonas 'Sortie' Termansen Date: Sun Sep 27 22:51:16 2015 +0200 Improve extfs incoming message reliability. ext/fsmarshall.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) commit ec990882b0da2030af2eaf59accd2b613e6d022a Author: Jonas 'Sortie' Termansen Date: Sun Sep 27 16:49:46 2015 +0200 Limit extfs device cache to 10% of system memory. ext/block.cpp | 23 +++++++++++++++++++---- ext/block.h | 3 +++ ext/device.cpp | 46 ++++++++++++++++++++++++++++++++++++---------- ext/device.h | 3 +++ 4 files changed, 61 insertions(+), 14 deletions(-) commit 4839a97d91ebea8642e582e4169ef3be000990c2 Author: Jonas 'Sortie' Termansen Date: Sun Oct 4 19:00:56 2015 +0200 Add colormake support for cc and c++. utils/colormake.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ba5af691f91ba5595b2b291b2445bf0222a5b222 Author: Jonas 'Sortie' Termansen Date: Sun Oct 4 18:59:25 2015 +0200 Add find(1) symbolic link support. utils/find.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4333b2e69567d0e79a347ebb6be835ad41cb0318 Author: Jonas 'Sortie' Termansen Date: Sun Oct 4 18:58:44 2015 +0200 Add ln(1) target directory support. utils/ln.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 63d42cd686fdabe77e29d92888496075ffc8af71 Author: Jonas 'Sortie' Termansen Date: Mon Sep 21 23:56:11 2015 +0200 Add fstab(3). libc/Makefile | 6 +++ libc/fstab/endfsent.cpp | 34 ++++++++++++++++ libc/fstab/getfsent.cpp | 48 ++++++++++++++++++++++ libc/fstab/getfsfile.cpp | 37 +++++++++++++++++ libc/fstab/getfsspec.cpp | 37 +++++++++++++++++ libc/fstab/scanfsent.cpp | 101 +++++++++++++++++++++++++++++++++++++++++++++++ libc/fstab/setfsent.cpp | 37 +++++++++++++++++ libc/include/fstab.h | 71 +++++++++++++++++++++++++++++++++ 8 files changed, 371 insertions(+) commit 360eaaf527a6b285270cef8e162c69ad8943d55c Author: Jonas 'Sortie' Termansen Date: Tue Sep 22 00:00:28 2015 +0200 Declare file in the set function of setgetend functions. libc/grp/getgrent.cpp | 2 -- libc/grp/setgrent.cpp | 6 ++++-- libc/pwd/getpwent.cpp | 2 -- libc/pwd/setpwent.cpp | 6 ++++-- 4 files changed, 8 insertions(+), 8 deletions(-) commit 4b1079510b708fa4c755f8c7940dd9087e75910f Author: Jonas 'Sortie' Termansen Date: Sun Sep 20 22:04:58 2015 +0200 Execute only programs with an executable bit set. kernel/process.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 9ccfdb99906f84cc43c203b76d69b716b94ab0d1 Author: Jonas 'Sortie' Termansen Date: Wed Sep 30 14:22:33 2015 +0200 Modernize tix temporary files and directory creation. build-aux/build-ports.sh | 5 ----- build-aux/clean-ports.sh | 5 ----- tix/porttix-create.cpp | 8 ++++---- tix/srctix-create.cpp | 14 +++++++------- tix/tix-build.cpp | 38 +++++++++++++++++--------------------- tix/util.h | 16 ++++++++++++---- 6 files changed, 40 insertions(+), 46 deletions(-) commit beaa824076f37412b3606e241d00932b4fc1befb Author: Jonas 'Sortie' Termansen Date: Wed Sep 9 19:26:24 2015 +0200 Store tixinfo and manifest on tix install. build-aux/build-ports.sh | 4 +-- tix/tix-collection.cpp | 17 ++++++++++++ tix/tix-install.cpp | 50 ++++++++++++++++++++++++++++++++- tix/util.h | 72 +++++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 133 insertions(+), 10 deletions(-) commit 8174ab7b30d9febdd065a32a25029cb30d3dd042 Author: Jonas 'Sortie' Termansen Date: Sun Aug 30 14:55:37 2015 +0200 Remove tix util.h cruft. tix/util.h | 55 ------------------------------------------------------- 1 file changed, 55 deletions(-) commit e5590985d5838dfdacc342b1c1d682f36f744396 Author: Jonas 'Sortie' Termansen Date: Sat Aug 29 22:10:24 2015 +0200 Restore tix repository support. tix/tix.cpp | 62 ++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 23 deletions(-) commit f4560a952790cdf5a8c4b6da869c40644ab0f8b4 Author: Jonas 'Sortie' Termansen Date: Sat Aug 29 21:33:40 2015 +0200 Remove tix tools command line interface cruft. This removes the ability to override standard shell utilities using environment variables. The standard names are invoked unconditionally and can be overridden using the standard approach of adding replacements to the PATH. Additionally environment variables like PREFIX and HOST are no longer honored as defaults for the --prefix and --host options. These features are removed because they've never been used and cause more trouble than they are worth. The tix collection option now defaults to the root directory to simplify common invocations. The tix-build prefix also now defaults to the empty prefix. Support installing multiple packages at once with tix-install. Tighten file and directory creation modes while here. Add --generation for forward compatibility. Silence tix-collection creation. Fix uninitialized getline invocations. Fix porttix-create buffer overflow. build-aux/build-ports.sh | 5 ++- tix/porttix-create.cpp | 42 +++++++++------------ tix/srctix-create.cpp | 28 +++++--------- tix/tix-build.cpp | 41 +++++++++++--------- tix/tix-collection.cpp | 17 +++++---- tix/tix-install.cpp | 98 +++++++++++++++++++++++++----------------------- tix/tix.cpp | 19 +++------- tix/util.h | 36 ++++++++++-------- 8 files changed, 143 insertions(+), 143 deletions(-) commit 257419f6fab3d70752377f0c29e142e78915c84a Author: Jonas 'Sortie' Termansen Date: Fri Aug 28 16:20:11 2015 +0200 Remove libm exec-include directory. libm/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 2e3d7c45afb836566b724124f860a5029dc2b899 Author: Jonas 'Sortie' Termansen Date: Thu Aug 27 21:39:09 2015 +0200 Add paging no-execute and write protection support. Enable the NX bit on x86_64 and set if not PROT_EXEC and enable the write protection mode (CR0.WP) that disables the default behavior where the kernel is able to write to read-only memory. Fix kernel broken assumptions it can access read-only memory and take care to never set PROT_KWRITE on user-space pages unless PROT_WRITE is also set, otherwise user-space will be able to write to read-only memory. This achieves X^W in the whole system except for the core kernel itself as it is currently don't know the purpose of pages when identity mapping the first 4 MiB. kernel/elf.cpp | 18 ++++++++------- kernel/initrd.cpp | 2 +- kernel/memorymanagement.cpp | 14 ++++++++++-- kernel/process.cpp | 18 +++++++++------ kernel/x64/boot.S | 10 ++++---- kernel/x86-family/memorymanagement.cpp | 42 ++++++++++++++++++++++------------ kernel/x86-family/memorymanagement.h | 11 ++++++--- kernel/x86/boot.S | 6 +++-- 8 files changed, 80 insertions(+), 41 deletions(-) commit c8bbd6e0aa615407f369d035f45ddc0d05aafbd3 Author: Jonas 'Sortie' Termansen Date: Mon Jan 25 16:30:17 2016 +0100 Restore terminal when games quit. games/aquatinspitz.cpp | 44 +++++++++++++++++++++++++++++++++++++++++++- games/asteroids.cpp | 42 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 84 insertions(+), 2 deletions(-) commit bff1265d62ee0ef79c763024bd6b8d492ac5f688 Author: Jonas 'Sortie' Termansen Date: Sat Jan 23 20:55:41 2016 +0100 Add termios(2). init/init.c++ | 13 +- kernel/debugger.cpp | 8 +- kernel/descriptor.cpp | 35 ++ kernel/fs/user.cpp | 123 ++++- kernel/include/sortix/ioctl.h | 41 ++ kernel/include/sortix/kernel/descriptor.h | 10 +- kernel/include/sortix/kernel/inode.h | 17 +- kernel/include/sortix/kernel/syscall.h | 10 +- kernel/include/sortix/kernel/vnode.h | 10 +- kernel/include/sortix/syscall.h | 14 +- kernel/include/sortix/termios.h | 124 ++++- kernel/include/sortix/termmode.h | 20 +- kernel/include/sortix/winsize.h | 52 ++ kernel/inode.cpp | 37 +- kernel/io.cpp | 78 ++- kernel/linebuffer.cpp | 8 + kernel/linebuffer.h | 1 + kernel/logterminal.cpp | 783 ++++++++++++++++++++++-------- kernel/logterminal.h | 28 +- kernel/syscall.cpp | 14 +- kernel/vnode.cpp | 37 +- libc/Makefile | 11 + libc/include/fsmarshall-msg.h | 63 ++- libc/include/sys/ioctl.h | 5 +- libc/include/termios.h | 26 +- libc/sys/ioctl/ioctl.cpp | 18 +- libc/termios/cfgetispeed.cpp | 30 ++ libc/termios/cfgetospeed.cpp | 30 ++ libc/termios/cfsetispeed.cpp | 31 ++ libc/termios/cfsetospeed.cpp | 31 ++ libc/termios/tcdrain.cpp | 34 ++ libc/termios/tcflow.cpp | 34 ++ libc/termios/tcflush.cpp | 34 ++ libc/termios/tcgetattr.cpp | 34 ++ libc/termios/tcgetsid.cpp | 34 ++ libc/termios/tcsendbreak.cpp | 34 ++ libc/termios/tcsetattr.cpp | 34 ++ sh/editline.cpp | 11 +- trianglix/trianglix.cpp | 20 +- 39 files changed, 1682 insertions(+), 295 deletions(-) commit 8f233b4a10c40faea78d8e2d8aee422999229e4b Author: Jonas 'Sortie' Termansen Date: Sun Oct 4 18:54:40 2015 +0200 Add console backspace bold and underline support. Combine textbuffer char and attr concepts while here. kernel/include/sortix/kernel/textbuffer.h | 19 ++++++--- kernel/lfbtextbuffer.cpp | 71 +++++++------------------------ kernel/lfbtextbuffer.h | 11 ++--- kernel/log.cpp | 6 +-- kernel/logterminal.cpp | 11 +++-- kernel/textterminal.cpp | 62 +++++++++++++++++---------- kernel/textterminal.h | 1 + kernel/vgatextbuffer.cpp | 60 ++++++++++++-------------- kernel/vgatextbuffer.h | 10 ++--- 9 files changed, 111 insertions(+), 140 deletions(-) commit 9297ff2a2092686a15a0be1d25d0144ce0662754 Author: Jonas 'Sortie' Termansen Date: Fri May 1 01:21:10 2015 +0200 Add PS/2 mouse driver. kernel/Makefile | 1 + kernel/kernel.cpp | 17 +++- kernel/mouse/ps2.cpp | 266 +++++++++++++++++++++++++++++++++++++++++++++++++++ kernel/mouse/ps2.h | 108 +++++++++++++++++++++ 4 files changed, 391 insertions(+), 1 deletion(-) commit 306709fc4abdc04bd16dff57dfa047e53811544c Author: Jonas 'Sortie' Termansen Date: Fri May 1 00:06:41 2015 +0200 Add PS/2 controller driver. doc/cross-development | 12 +- kernel/Makefile | 1 + kernel/include/sortix/kernel/ps2.h | 44 ++++ kernel/kb/ps2.cpp | 233 +++++++++++---------- kernel/kb/ps2.h | 40 ++-- kernel/kernel.cpp | 4 +- kernel/x86-family/ps2.cpp | 410 +++++++++++++++++++++++++++++++++++++ kernel/x86-family/ps2.h | 40 ++++ 8 files changed, 657 insertions(+), 127 deletions(-) commit 3d48c7f65852194d6283d387565af1a795ae181b Author: Meisaka Yukara Date: Fri Jan 22 21:16:39 2016 +0100 Fix firing of absolute clocks. kernel/clock.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dbe6b32b1f95fa252d0a138db6eeb0def95900cb Author: Jonas 'Sortie' Termansen Date: Mon Jan 18 14:42:27 2016 +0100 Fix scanf integer parsing. libc/stdio/vscanf_callback.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2e9153cdb9f3f227a3fa1307101f0039e61a137f Author: Jonas 'Sortie' Termansen Date: Mon Jan 18 14:38:16 2016 +0100 Fix inet_addr and inet_ntoa not being part of _SORTIX_SOURCE. libc/include/arpa/inet.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit dc07435002da3503f75f4e242bbb29eaef7dfbf7 Author: Jonas 'Sortie' Termansen Date: Mon Jan 18 14:35:59 2016 +0100 Fix closefrom(2) infinite loop. kernel/dtable.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9a59ef23134e3d2a0ae157b5d7c4af15ce42f62f Author: Jonas 'Sortie' Termansen Date: Mon Jan 18 14:35:01 2016 +0100 Fix select(2) conformance issues. libc/include/sys/select.h | 6 ++-- libc/sys/select/select.cpp | 85 +++++++++++++++++++++++++++++++--------------- 2 files changed, 61 insertions(+), 30 deletions(-) commit b2f78fb4e12e362a7e11b5c0cf80a8814005f286 Author: Jonas 'Sortie' Termansen Date: Mon Jan 18 14:32:46 2016 +0100 Fix trianglix buffer underflow. trianglix/trianglix.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit fbfe159046368bb4966751be6392566bea2db43c Author: Jonas 'Sortie' Termansen Date: Sat Jan 9 00:53:46 2016 +0100 Add crypt_checkpass(3) and crypt_newhash(3). libc/Makefile | 1 + libc/include/unistd.h | 2 + libc/unistd/crypt_newhash.cpp | 90 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) commit 53711549afc073fcaef84174fd516afb4011fb97 Author: Jonas 'Sortie' Termansen Date: Mon Jan 19 20:58:44 2015 +0100 Add bcrypt_checkhash(3) and bcrypt_newhash(3). libc/Makefile | 2 + libc/blf/blowfish.cpp | 642 ++++++++++++++++++++++++++++++++++++++++++++ libc/include/blf.h | 93 +++++++ libc/include/pwd.h | 2 + libc/pwd/bcrypt_newhash.cpp | 378 ++++++++++++++++++++++++++ 5 files changed, 1117 insertions(+) commit ff8b2be5154d102a5ea30a708f640de88f2c7661 Author: Jonas 'Sortie' Termansen Date: Sat Jan 9 01:16:42 2016 +0100 Implement CLOCK_THREAD_CPUTIME_ID and CLOCK_THREAD_SYSTIME_ID. kernel/include/sortix/kernel/thread.h | 3 +++ kernel/include/sortix/kernel/time.h | 2 ++ kernel/process.cpp | 1 - kernel/thread.cpp | 3 +++ kernel/time.cpp | 12 ++++++++++-- kernel/x86-family/time.cpp | 10 ++++++++++ 6 files changed, 28 insertions(+), 3 deletions(-) commit af9cc8ed05f72e281e23d75e4313d0d3eceffe9a Author: Jonas 'Sortie' Termansen Date: Sun May 10 20:28:08 2015 +0200 Schedule full console redraw after user-space framebuffer write. kernel/include/sortix/kernel/log.h | 6 ++++++ kernel/include/sortix/kernel/textbuffer.h | 1 + kernel/lfbtextbuffer.cpp | 23 +++++++++++++++++++---- kernel/lfbtextbuffer.h | 3 +++ kernel/log.cpp | 7 +++++++ kernel/textterminal.cpp | 9 +++++++++ kernel/textterminal.h | 1 + kernel/vgatextbuffer.cpp | 4 ++++ kernel/vgatextbuffer.h | 1 + kernel/video.cpp | 2 ++ 10 files changed, 53 insertions(+), 4 deletions(-) commit dad5c57f33f0ea5d69435f6022e7e15fb233199c Author: Jonas 'Sortie' Termansen Date: Fri Mar 20 00:07:43 2015 +0100 Allow bootloader bitmap framebuffer modesetting. kernel/.gitignore | 1 + kernel/Makefile | 6 +- kernel/include/sortix/kernel/log.h | 6 + kernel/include/sortix/kernel/textbuffer.h | 1 + kernel/kernel.cpp | 9 ++ kernel/lfbtextbuffer.cpp | 27 ++-- kernel/lfbtextbuffer.h | 3 +- kernel/log.cpp | 41 ++++- kernel/scheduler.cpp | 4 +- kernel/vga.cpp | 42 +---- kernel/vgafont.f16 | Bin 0 -> 4096 bytes kernel/vgatextbuffer.cpp | 4 + kernel/vgatextbuffer.h | 1 + kernel/video.cpp | 251 ++++++++++++++++++++++++------ kernel/x64/boot.S | 9 +- kernel/x86/boot.S | 9 +- 16 files changed, 315 insertions(+), 99 deletions(-) commit 8c7c6fa59f7fbd8366e13c22eb0dbfc2b256d54d Author: Jonas 'Sortie' Termansen Date: Mon Oct 26 00:09:28 2015 +0100 Center ascii cat on boot. init/init.c++ | 4 --- kernel/include/sortix/kernel/log.h | 1 + kernel/kernel.cpp | 7 ++-- kernel/log.cpp | 20 +++++++++++ kernel/panic.cpp | 39 +++++++++++---------- libc/include/brand.h | 70 ++++++++++++++++---------------------- 6 files changed, 75 insertions(+), 66 deletions(-) commit f58c70d08143799f36a465faa11e91f3bd35f2ac Author: Jonas 'Sortie' Termansen Date: Sat Mar 21 17:28:27 2015 +0100 Init keyboard layout from /etc/kblayout. init/init.c++ | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) commit 9d3aecfa07baa8b563affa945d019e691753f6ef Author: Jonas 'Sortie' Termansen Date: Sat Jan 31 00:16:29 2015 +0100 Work around sync on close bottleneck. kernel/io.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 74fe0080011a659c8d8bae31ea8eb934b6691cf6 Author: Jonas 'Sortie' Termansen Date: Fri Jan 8 00:47:35 2016 +0100 Silence static analysis warnings. kernel/elf.cpp | 1 + kernel/interrupt.cpp | 1 + libc/grp/fgetgrent_r.cpp | 1 - 3 files changed, 2 insertions(+), 1 deletion(-) commit f3e3c98084f92e0e3f71282775b18282d43c3276 Author: Jonas 'Sortie' Termansen Date: Fri Jan 8 00:46:48 2016 +0100 Fix ls realloc loop. utils/ls.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 8b52c0d818af72bd2ab933a41f738d7c1f797e20 Author: Jonas 'Sortie' Termansen Date: Fri Jan 8 00:46:18 2016 +0100 Fix wrong type in calloc sizeof. utils/column.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a45b93785c001460cc11b30892865e10bec82d72 Author: Jonas 'Sortie' Termansen Date: Fri Jan 8 00:40:54 2016 +0100 Fix program loading bugs. kernel/process.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) commit 48c6ccdf068a0639f46d8fa39df09ca61dc16841 Author: Jonas 'Sortie' Termansen Date: Fri Jan 8 00:38:47 2016 +0100 Fix MapPCIBAR potential overflow. kernel/pci-mmio.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 055f502c02524b6f271e58e54ffe7e5b61f97fe1 Author: Jonas 'Sortie' Termansen Date: Fri Jan 8 00:35:48 2016 +0100 Fix dup3(2) O_CLOEXEC and O_CLOFORK handling. kernel/io.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ee9ec2eda1892570577a41f699aaa7966382e4ab Author: Jonas 'Sortie' Termansen Date: Sat Mar 21 00:38:37 2015 +0100 Add aquatinspitz support to trianglix. trianglix/trianglix.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 0eeb9d1e56e3db18ea2cc239402cfa0bbf156010 Author: Jonas 'Sortie' Termansen Date: Tue Jan 5 20:39:41 2016 +0100 Fix pow and powf undefined behavior in libm. libm/src/e_pow.c | 2 +- libm/src/e_powf.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit a43c89650f1368aaad620fcecb95f07d9350e6ca Author: Jonas 'Sortie' Termansen Date: Mon Dec 28 21:38:29 2015 +0100 Fix typo in porting guide. doc/porting-guide | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fad73ab3e19670ca5ec2136cf8dbfe85c4b2eb19 Author: Jonas 'Sortie' Termansen Date: Mon Dec 28 02:02:38 2015 +0100 Fix broken unknown short option reporting. utils/ln.cpp | 2 +- utils/mkdir.cpp | 2 +- utils/rm.cpp | 2 +- utils/rmdir.cpp | 2 +- utils/uname.cpp | 2 +- utils/which.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) commit ffe59b9c7c695d19a865bacf46cc3e11081094df Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 21:41:26 2015 +0100 Fix mbrtowc decoding surrogates. libc/wchar/mbrtowc.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 8fabfc5f7b59118e0cc0a728c808222b2ff54cb4 Author: Jonas 'Sortie' Termansen Date: Sun Dec 27 21:36:44 2015 +0100 Fix kernel console rendering U+007F. kernel/textterminal.cpp | 1 + 1 file changed, 1 insertion(+) commit 3e068bc88fe2ae6842ce84a639aaf7e569f78dfb Author: Jonas 'Sortie' Termansen Date: Sat Dec 26 19:23:58 2015 +0100 Fix x86 Alignment Check and Security Exception handlers. The processor pushes an error code when delivering these exception. Discovered by Alexandros Alexandrou. kernel/x64/interrupt.S | 6 +++--- kernel/x86/interrupt.S | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) commit e3e32ca3cfafd2e2dc7eebb0b09e3d00b1636fe0 Author: Jonas 'Sortie' Termansen Date: Fri Dec 25 15:28:21 2015 +0100 Fix linecount target being out of sync. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7a3b4f06c53665424013da89efeec1786b5dc5c2 Author: Jonas 'Sortie' Termansen Date: Wed Dec 23 16:13:05 2015 +0100 Fix trianglix file creation permissions. trianglix/trianglix.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 8f1353eb949ebcb69fb756d8d908bcb40885249e Author: Jonas 'Sortie' Termansen Date: Sat Dec 19 04:02:09 2015 +0100 Fix getaddrinfo error reporting. libc/netdb/gai_strerror.cpp | 21 ++++++++++++++++----- libc/netdb/getaddrinfo.cpp | 5 ++--- 2 files changed, 18 insertions(+), 8 deletions(-) commit 22351d7f721777762d4eeebaa4f254f7adc5e00d Author: Jonas 'Sortie' Termansen Date: Fri Aug 14 16:24:14 2015 +0000 Fix untimely delivery of signals during userfs reference count messages. kernel/fs/user.cpp | 14 +++++++++++++- kernel/include/sortix/kernel/thread.h | 4 +++- kernel/signal.cpp | 10 +++++++++- kernel/thread.cpp | 3 ++- 4 files changed, 27 insertions(+), 4 deletions(-) commit 8e86952abf717115cdc4657d6ce6bcc7790bf02a Author: Jonas 'Sortie' Termansen Date: Sun Sep 28 20:25:57 2014 +0200 Add aquatinspitz(1). games/.gitignore | 1 + games/Makefile | 1 + games/aquatinspitz.cpp | 392 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 394 insertions(+) commit 559857b97e51f463da0f9386682a5fb3f866c05f Author: Jonas 'Sortie' Termansen Date: Wed Dec 23 17:49:33 2015 +0100 Fix features.h inclusions not yet changed to sys/cdefs.h. kernel/include/sortix/kernel/time.h | 5 +---- libpthread/include/semaphore.h | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) commit 1e7bbace90064ab434029bdeeea42cf8f89779d7 Author: Jonas 'Sortie' Termansen Date: Wed Dec 23 17:22:15 2015 +0100 Fix uninitialized variable in chvideomode option parsing. utils/chvideomode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8274981a81dfdeafe6f4569e3228e41950655c01 Author: Jonas 'Sortie' Termansen Date: Tue May 6 00:15:52 2014 +0200 Add chkblayout(1). doc/user-guide | 32 +++++++++-- utils/.gitignore | 1 + utils/Makefile | 1 + utils/chkblayout.cpp | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 179 insertions(+), 4 deletions(-) commit f60b2c6ec4ad30888085c3915af655a8d87481f1 Author: Jonas 'Sortie' Termansen Date: Tue Apr 22 14:01:39 2014 +0200 Add keyboard layout support to kernel. kernel/.gitignore | 2 + kernel/Makefile | 10 ++ kernel/include/sortix/kernel/keyboard.h | 8 -- kernel/kb/default-kblayout.kblayout | 1 + kernel/kb/kblayout.cpp | 163 ++++++++++++++++++++++++++++++++ kernel/kb/kblayout.h | 60 ++++++++++++ kernel/kb/layout/us.cpp | 108 ++++++++++----------- kernel/kb/layout/us.h | 10 +- kernel/kernel.cpp | 9 +- kernel/logterminal.cpp | 42 ++++++-- kernel/logterminal.h | 9 +- 11 files changed, 338 insertions(+), 84 deletions(-) commit 98ed222c8e9c3b31e385287083620f2ba8650673 Author: Jonas 'Sortie' Termansen Date: Tue May 6 00:16:46 2014 +0200 Add keyboard layout collection. Makefile | 1 + kblayout/.gitignore | 4 + kblayout/Makefile | 26 ++++++ kblayout/dk.kblayout | 246 +++++++++++++++++++++++++++++++++++++++++++++++++++ kblayout/us.kblayout | 209 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 486 insertions(+) commit 7da84494ab4dd76f78949141eb57f022b3ad4ddb Author: Jonas 'Sortie' Termansen Date: Mon Apr 21 18:43:59 2014 +0200 Add kblayout-compiler(1). Makefile | 4 + kblayout-compiler/.gitignore | 1 + kblayout-compiler/Makefile | 26 ++ kblayout-compiler/kblayout-compiler.c | 704 ++++++++++++++++++++++++++++++++++ kblayout-compiler/kblayout.h | 1 + kernel/include/sortix/kblayout.h | 63 +++ 6 files changed, 799 insertions(+) commit 02f95d6c1c4ac4a8692e9c874cf28f837c73403c Author: Jonas 'Sortie' Termansen Date: Fri Aug 21 17:24:57 2015 +0200 Add in6addr_any and in6addr_loopback. libc/Makefile | 2 ++ libc/netinet/in/in6addr_any.cpp | 27 +++++++++++++++++++++++++++ libc/netinet/in/in6addr_loopback.cpp | 27 +++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) commit 610b60fa0d16d1c64f8dce481f2655d60c4a7a52 Author: Jonas 'Sortie' Termansen Date: Fri Aug 21 17:43:22 2015 +0200 Import public domain macros from musl. libc/include/netinet/in.h | 91 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 66 insertions(+), 25 deletions(-) commit 75808c637d3cb4aa33ab69dd4a78de45d8484d4c Author: Jonas 'Sortie' Termansen Date: Tue Dec 15 23:43:08 2015 +0100 Add regex(3). libc/Makefile | 4 + libc/include/regex.h | 177 ++++++++++++ libc/regex/regcomp.cpp | 727 ++++++++++++++++++++++++++++++++++++++++++++++++ libc/regex/regerror.cpp | 56 ++++ libc/regex/regexec.cpp | 253 +++++++++++++++++ libc/regex/regfree.cpp | 72 +++++ utils/expr.cpp | 55 +++- 7 files changed, 1338 insertions(+), 6 deletions(-) commit 5a3e18197507639f651c3046cc47d5376b6a5d3c Author: Jonas 'Sortie' Termansen Date: Wed Oct 22 00:00:08 2014 +0200 Add stack smash protection support. libc/Makefile | 3 +- libc/ssp/__stack_chk_fail.cpp | 64 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) commit 9b6d60d9d23471e3293f1e65629170eca4cc4740 Author: Jonas 'Sortie' Termansen Date: Mon Nov 24 17:08:33 2014 +0100 Add undefined behavior sanitizer support. libc/Makefile | 1 + libc/ubsan/ubsan.cpp | 413 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 414 insertions(+) commit 4b6b06bbc881c6b252b14c6bbd80b449dda5042f Author: Jonas 'Sortie' Termansen Date: Tue Oct 27 17:34:28 2015 +0100 Add scram(2). kernel/include/sortix/kernel/syscall.h | 1 + kernel/include/sortix/syscall.h | 10 +++- kernel/process.cpp | 90 ++++++++++++++++++++++++++++++++++ kernel/syscall.cpp | 8 +++ libc/Makefile | 1 + libc/assert/__assert.cpp | 16 +++--- libc/include/scram.h | 61 +++++++++++++++++++++++ libc/scram/scram.cpp | 35 +++++++++++++ libc/stdlib/realpath.cpp | 36 ++++++-------- 9 files changed, 229 insertions(+), 29 deletions(-) commit f2eb347e9f025c2bbf7a80bcc26ff5221b31b8c2 Author: Jonas 'Sortie' Termansen Date: Sat Dec 12 22:52:14 2015 +0100 Fix PS2Keyboard memcpy(dest, NULL, 0) undefined behavior. kernel/kb/ps2.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) commit 421f907055c953b02cf95f568800afb0c00f5009 Author: Jonas 'Sortie' Termansen Date: Wed Aug 19 15:01:05 2015 +0200 Report ix86 model in uname(2). libc/sys/utsname/uname.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit ab27c8594898b2d73f9508c55548426987780a4e Author: Jonas 'Sortie' Termansen Date: Wed Aug 19 14:53:53 2015 +0200 Implement sigaction(2) SA_RESETHAND. kernel/signal.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit a90151e508fc0d7288c270d9dfaf6854e1e73f81 Author: Jonas 'Sortie' Termansen Date: Mon Aug 17 23:15:39 2015 +0200 Set MB_CUR_MAX to 4. libc/include/stdlib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fd5a850e486ce001fcf041185867170a1cfe57c7 Author: Jonas 'Sortie' Termansen Date: Mon Aug 17 23:14:17 2015 +0200 Use signal handlers in time(1) instead of process groups. utils/time.cpp | 74 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 24 deletions(-) commit 7d10c4caaa423e017fb010a1de8aa5b16a81c4e8 Author: Jonas 'Sortie' Termansen Date: Fri Aug 14 15:16:01 2015 +0200 Add pager(1) -rR options. utils/pager.cpp | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 195 insertions(+), 18 deletions(-) commit e4cd654236d64b354f15b7db11a410240fdca07e Author: Jonas 'Sortie' Termansen Date: Wed Aug 12 23:35:07 2015 +0200 Increase default stack size of new threads to 80 KiB. This fixes a crash where git has a 64 KiB stack buffer. libpthread/pthread_attr_init.c++ | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 802c12e64aa8ad37294899cfd1e3e36a5fbb0e8f Author: Jonas 'Sortie' Termansen Date: Wed Aug 12 21:21:41 2015 +0200 Implement ppoll(2) timeouts. kernel/poll.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) commit 0045f18c81e6007183db944de98deefb654e226b Author: Jonas 'Sortie' Termansen Date: Sat Aug 1 14:51:08 2015 +0200 Remove kernel Scheduler::Init(). kernel/include/sortix/kernel/scheduler.h | 1 - kernel/kernel.cpp | 3 --- kernel/scheduler.cpp | 7 ------- 3 files changed, 11 deletions(-) commit 7185cb33c78271c22a852540fcd81f5111eb4933 Author: Jonas 'Sortie' Termansen Date: Sat Aug 1 14:35:47 2015 +0200 Remove setlocale thread safety. This interface isn't standardized to be thread safe so nobody can rely on it. Additionally this only thread secures setlocale, but not all the code that might depend on the current locale, so it is pointless. libc/include/locale.h | 7 +------ libc/locale/setlocale.cpp | 22 ++++++---------------- 2 files changed, 7 insertions(+), 22 deletions(-) commit 9d6bd9b8307569ef7655be691ee7a6e003cc38a0 Author: Jonas 'Sortie' Termansen Date: Sat Aug 1 13:55:18 2015 +0200 Add stat(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/stat.cpp | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 218 insertions(+) commit 6dce46c0815ed5e4eb955987350b2ee49d3cec7e Author: Jonas 'Sortie' Termansen Date: Fri Jul 31 17:44:29 2015 +0200 Add pstree(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/pstree.cpp | 197 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 200 insertions(+) commit 416c87aed9279fc0a69df841061fb647d3b3d9d2 Author: Jonas 'Sortie' Termansen Date: Fri Jul 31 01:21:04 2015 +0200 Add ps(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/ps.cpp | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 201 insertions(+) commit cee24359d88961e6f69d8e6441fc904bcd2c88ae Author: Jonas 'Sortie' Termansen Date: Fri Jul 31 01:20:13 2015 +0200 Add psctl(2). kernel/Makefile | 1 + kernel/include/sortix/kernel/process.h | 2 +- kernel/include/sortix/kernel/ptable.h | 2 + kernel/include/sortix/kernel/syscall.h | 1 + kernel/include/sortix/psctl.h | 105 +++++++++++++++++++++ kernel/include/sortix/syscall.h | 4 +- kernel/psctl.cpp | 166 +++++++++++++++++++++++++++++++++ kernel/ptable.cpp | 30 +++++- kernel/syscall.cpp | 2 + libc/Makefile | 1 + libc/include/psctl.h | 49 ++++++++++ libc/psctl/psctl.cpp | 39 ++++++++ 12 files changed, 399 insertions(+), 3 deletions(-) commit 67af95c7eeeda0e5f0ec61e811f64fde2e23d58f Author: Jonas 'Sortie' Termansen Date: Thu Jul 30 01:08:23 2015 +0200 Update command line parsing to current coding conventions. carray/carray.c++ | 4 -- mkinitrd/initrdfs.cpp | 103 ++++++++++++++++++++++-------------------- tix/Makefile | 3 +- tix/porttix-create.cpp | 24 +++++----- tix/srctix-create.cpp | 35 +++++++-------- tix/tix-build.cpp | 39 +++++++--------- tix/tix-collection.cpp | 43 +++++++++--------- tix/tix-execdiff.cpp | 35 +++++++-------- tix/tix-execpatch.cpp | 32 +++++++------- tix/tix-install.cpp | 40 ++++++++--------- tix/tix-rmpatch.cpp | 30 +++++++------ tix/tix.cpp | 38 +++++++--------- tix/util.h | 18 ++++---- utils/cat.cpp | 6 +-- utils/chvideomode.cpp | 12 ++--- utils/column.cpp | 12 ++--- utils/cp.cpp | 12 ++--- utils/du.cpp | 6 +-- utils/env.cpp | 2 +- utils/kernelinfo.cpp | 53 ++++++++++++++-------- utils/ln.cpp | 67 ++++++++++++++-------------- utils/ls.cpp | 4 -- utils/mkdir.cpp | 64 +++++++++++++++------------ utils/mv.cpp | 2 +- utils/pager.cpp | 12 ++--- utils/pwd.cpp | 4 -- utils/rm.cpp | 70 +++++++++++++++-------------- utils/rmdir.cpp | 64 ++++++++++++++------------- utils/tail.cpp | 118 +++++++++++++++++++++++++++++-------------------- utils/type.cpp | 41 +++++++++++------ utils/uname.cpp | 96 +++++++++++++++++++++++----------------- utils/wc.cpp | 6 +-- utils/which.cpp | 64 ++++++++++++++------------- 33 files changed, 603 insertions(+), 556 deletions(-) commit 4e918687cea47af2015967f0d370db71862cc03f Author: Jonas 'Sortie' Termansen Date: Wed Jul 29 01:43:48 2015 +0200 Add kill(1). utils/kill.cpp | 282 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 263 insertions(+), 19 deletions(-) commit 716ac0dceb6332259881bf7da687dee9bd966948 Author: Jonas 'Sortie' Termansen Date: Sat Dec 12 19:21:09 2015 +0100 Fix logterminal TERMMODE_LINEBUFFER checking. kernel/logterminal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cf5c2706b3673c14c2dc8218de6478b7de78c6c6 Author: Jonas 'Sortie' Termansen Date: Fri Dec 11 02:52:06 2015 +0100 Fix unintended extra fork in chroot(1). utils/chroot.cpp | 6 ------ 1 file changed, 6 deletions(-) commit 23810c1a482bbd6cc51cba5b5c5ce7786fd4827b Author: Jonas 'Sortie' Termansen Date: Tue Dec 1 21:09:59 2015 +0100 Fix snprintf(NULL, 0, ...) undefined behavior. libc/stdio/snprintf.cpp | 2 +- libc/stdio/sprintf.cpp | 2 +- libc/stdio/vsnprintf.cpp | 38 ++++++++++++++++++-------------------- libc/stdio/vsprintf.cpp | 2 +- 4 files changed, 21 insertions(+), 23 deletions(-) commit 15fd58b6a0d15fc8625b07fedc907b03264630c7 Author: Jonas 'Sortie' Termansen Date: Mon Nov 23 15:34:32 2015 +0100 Fix tr buffer overrun and shadowed delete array. utils/tr.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) commit 24cf8f42b8dd6a1ea5ae4c03c7d052dab4e1e2f4 Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 00:41:44 2015 +0100 Silence maybe initialized warning in sigsuspend. kernel/signal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 32feba27094fdd2eeb78d805d4f82c790800ba94 Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 00:39:46 2015 +0100 Fix memcpy(dest, NULL, 0) undefined behavior. kernel/linebuffer.cpp | 9 ++++++--- kernel/ptable.cpp | 8 ++++++-- kernel/video.cpp | 8 ++++++-- 3 files changed, 18 insertions(+), 7 deletions(-) commit ef36a94912d071d10106e2b810fe795dd9c23571 Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 00:32:17 2015 +0100 Fix incorrect flush error check in fputc_unlocked(3). libc/stdio/fputc_unlocked.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1acf16dea0a09e369a51248923866a88ade479bd Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 00:28:33 2015 +0100 Fix kernel makefile finding crtbegin.o and crtend.o when not needed. kernel/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit ba4fa253412417f150f6385afe2623a12179b460 Author: Jonas 'Sortie' Termansen Date: Sun Nov 22 00:25:57 2015 +0100 Fix mkinitrd creating unaligned structs. mkinitrd/mkinitrd.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) commit b8f12a6856f9fb4d2b36a8174f5f80fc724c871f Author: Jonas 'Sortie' Termansen Date: Sat Nov 21 01:08:10 2015 +0100 Fix fread/fwrite zero division when size is zero. libc/stdio/fread_unlocked.cpp | 2 ++ libc/stdio/fwrite_unlocked.cpp | 2 ++ 2 files changed, 4 insertions(+) commit 0100b6185561d0d2974b7909cf1ab5c227cac1e0 Author: Jonas 'Sortie' Termansen Date: Fri Nov 20 00:25:12 2015 +0100 Fix fflush(NULL) flushing input streams. libc/stdio/fflush.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 14a47ea15ebb341a21348e29ffa2d99386cbcd2d Author: Jonas 'Sortie' Termansen Date: Sat Jul 25 22:52:39 2015 +0200 Decide tix build triplets on Sortix without running cc. tix/util.h | 7 +++++++ 1 file changed, 7 insertions(+) commit 1080ffa5fb0b46f24a9f3ceaae93df6597bc2cd4 Author: Jonas 'Sortie' Termansen Date: Thu Apr 2 16:27:11 2015 +0200 Refactor and improve shell greatly. doc/user-guide | 22 +- sh/sh.cpp | 1388 ++++++++++++++++++++++++++++++++++++++++++++------------ sh/util.cpp | 102 +++++ sh/util.h | 16 + 4 files changed, 1227 insertions(+), 301 deletions(-) commit 54b80263a2363436c7d5cd3f173f6750ad8a3b03 Author: Jonas 'Sortie' Termansen Date: Wed Apr 1 00:23:03 2015 +0200 Add -d option to chroot(1). utils/chroot.cpp | 129 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 106 insertions(+), 23 deletions(-) commit f4995c24f4e5d40a0804b8bb0527cf714dc00cf1 Author: Jonas 'Sortie' Termansen Date: Tue Aug 11 13:57:38 2015 +0200 Add kernel --init option. kernel/kernel.cpp | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) commit 62b5d45a78eb872b3150ac2b1ec236e7588bc1ef Author: Jonas 'Sortie' Termansen Date: Tue Aug 11 13:28:04 2015 +0200 Add kernel command line support. kernel/kernel.cpp | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) commit fc637c8880507676b75ba82679dff177a870a8df Author: Jonas 'Sortie' Termansen Date: Fri Jul 31 21:59:27 2015 +0200 Prevent orphan processes from becoming zombies. init/init.c++ | 32 +----------------- kernel/include/sortix/kernel/process.h | 2 +- kernel/process.cpp | 59 ++++++++++++++-------------------- 3 files changed, 26 insertions(+), 67 deletions(-) commit 44d4807fc44225bcb56f0aefe23f0f549b2d3356 Author: Jonas 'Sortie' Termansen Date: Thu Jul 30 01:17:10 2015 +0200 Add ENOMOUNT. kernel/vnode.cpp | 2 +- libc/include/errno.h | 1 + libc/string/strerror.cpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) commit b2aae6094f1d1f5f7f69616ca95a820aa6576859 Author: Jonas 'Sortie' Termansen Date: Sat Jul 25 04:04:08 2015 +0200 Add mkinitrd support for multiple roots. mkinitrd/mkinitrd.cpp | 131 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 113 insertions(+), 18 deletions(-) commit 3191e18966cec70ef68596065b8513c059ced797 Author: Jonas 'Sortie' Termansen Date: Sat Jul 25 02:41:19 2015 +0200 Cache only mkinitrd nodes with multiple hardlinks. mkinitrd/mkinitrd.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) commit 9554bab714452c8b59ec8301f5abcecf88ff2f7c Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 22:59:50 2015 +0200 Add editor highlight support for diff. editor/editor.c++ | 10 +++++----- editor/editor.h++ | 4 +++- editor/highlight.c++ | 53 ++++++++++++++++++++++++++++++++++++++++++++-------- editor/highlight.h++ | 11 +++++++++-- editor/modal.c++ | 12 +++++++++--- 5 files changed, 71 insertions(+), 19 deletions(-) commit 09084cf12d29f60756efe9c3dd051cf4c5ca0686 Author: Jonas 'Sortie' Termansen Date: Tue Oct 27 13:45:47 2015 +0100 Fix format nonliteral in psignal(3). libc/signal/psignal.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 91087d9199d6d6feffae8194118156c5b481db72 Author: Jonas 'Sortie' Termansen Date: Sat Oct 24 16:04:53 2015 +0200 Fix iswgraph unicode support. libc/wctype/iswgraph.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit bae08f13ef8a0027f20f779e64ddb2c1cfb986f9 Author: Jonas 'Sortie' Termansen Date: Thu Oct 22 23:37:19 2015 +0000 Fix fsmarshall not handling users and groups. This is an incompatible ABI change. ext/extfs.cpp | 4 ++ ext/extfs.h | 3 + ext/fsmarshall.cpp | 12 +++- ext/inode.cpp | 35 ++++++++---- kernel/fs/user.cpp | 124 +++++++++++++++++++++++------------------- libc/include/fsmarshall-msg.h | 2 + 6 files changed, 111 insertions(+), 69 deletions(-) commit 8a653584c4331496c8445580b27cbaaa3f6b2e19 Author: Jonas 'Sortie' Termansen Date: Sun Oct 11 23:24:09 2015 +0200 Fix strtol multiplication overflow check. libc/stdlib/strtol.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f0f82fcb238c6c7428d884fd8da4b1071a4546f4 Author: Jonas 'Sortie' Termansen Date: Sat Oct 10 01:24:17 2015 +0200 Fix tmpfile(3) insecure file creation. libc/stdio/tmpfile.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) commit 7c6e6ef317e1ccc3d6764a04e8fb5674d385b5bc Author: Jonas 'Sortie' Termansen Date: Fri Oct 9 15:19:07 2015 +0200 Fix kernel string copy from user-space. kernel/copy.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 2727d9fb5021cb914ba61808f604fb7ff0f89986 Author: Jonas 'Sortie' Termansen Date: Fri Oct 9 01:40:29 2015 +0200 Fix pipe destruction race condition. kernel/pipe.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) commit 12b5044bc7a356e0728aa67b08f2baa86c8425b7 Author: Jonas 'Sortie' Termansen Date: Thu Oct 8 21:33:36 2015 +0200 Fix signal delivery during context switch. kernel/scheduler.cpp | 101 +++++++++++++++++++++++++++++++++++++++++++++++-- kernel/x64/interrupt.S | 3 ++ kernel/x86/interrupt.S | 3 ++ 3 files changed, 103 insertions(+), 4 deletions(-) commit 82775c4803da22b87c7b107c5b9caa7bd77fbf82 Author: Jonas 'Sortie' Termansen Date: Thu Oct 8 15:55:04 2015 +0200 Fix extfs invalid block free on truncation. ext/inode.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 4ad93ec6183a5618cd63a9db269595d15230d32f Author: Jonas 'Sortie' Termansen Date: Wed Oct 7 21:29:46 2015 +0200 Fix mkinitrd(8) default rule boolean parsing. mkinitrd/rules.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6138e94124b9b0c75995fa0613baffe6b9949d9d Author: Jonas 'Sortie' Termansen Date: Sun Oct 4 19:00:40 2015 +0200 Fix colormake not resetting color. utils/colormake.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 5cee2e9bc76bd07695d671935a260afed1e9ae99 Author: Jonas 'Sortie' Termansen Date: Mon Sep 28 00:39:17 2015 +0200 Fix shell line rendering use of after free. sh/showline.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) commit 6a177d4d791eef3522ede29357671611d045e95a Author: Jonas 'Sortie' Termansen Date: Thu Apr 2 15:56:08 2015 +0200 Split shell into multiple files. sh/Makefile | 10 +- sh/editline.cpp | 621 +++++++++++++++++++++++++++++++++++ sh/editline.h | 91 ++++++ sh/sh.cpp | 996 +------------------------------------------------------- sh/sh.h | 0 sh/showline.cpp | 377 +++++++++++++++++++++ sh/showline.h | 63 ++++ sh/util.cpp | 37 +++ sh/util.h | 29 ++ 9 files changed, 1230 insertions(+), 994 deletions(-) commit a5d050fc49a7b4004001bf6ce0a61cbc5a2673ae Author: Jonas 'Sortie' Termansen Date: Mon Feb 16 14:18:13 2015 +0100 Add realpath(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/realpath.cpp | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 117 insertions(+) commit 875ce1adf733a0aeb9d50d69c81834c8b82f130b Author: Jonas 'Sortie' Termansen Date: Mon Sep 28 01:56:56 2015 +0200 Fix faccessat(2) not reporting correct permissions. kernel/io.cpp | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) commit 4c2a93ea02480a590e1c080cbe5e5beb689c1c6c Author: Jonas 'Sortie' Termansen Date: Mon Sep 28 01:21:08 2015 +0200 Fix munmap(2) shrink from right logic. This fixes a rather nasty issue where gcc's garbage collection triggered a munmap call with the effect that it began unmapping huge amounts of kernel data until the system triple faulted. kernel/memorymanagement.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit 40c2fd12dcf93bd78c9699bb4bdb97ef41caac82 Author: Jonas 'Sortie' Termansen Date: Tue Aug 18 17:48:20 2015 +0200 Fix logterminal TERMMODE_UNICODE checking. kernel/logterminal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6725972e1125ad1b52690302e994173aaa65d78f Author: Jonas 'Sortie' Termansen Date: Sun Sep 20 21:41:05 2015 +0200 Fix LinkInodeInDir return value. The callers expected it to return an int different than 0 on failure. The link method returns different than 0 on failure. This actually worked by lucky coincidence. Change the return type to int and 0 on success, and -1 on failure per popular demand. Thanks to Meisaka Yukara for spotting this. kernel/descriptor.cpp | 14 +++++++------- kernel/include/sortix/kernel/descriptor.h | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) commit 275541383ce5301dbc45b1d8bbbb042bc678d719 Author: Jonas 'Sortie' Termansen Date: Sat Sep 19 19:37:05 2015 +0200 Fix dtable return value type errors and missing input validation. Update to current coding conventions while here. Thanks to Meisaka Yukara for spotting the return value type errors. kernel/dtable.cpp | 111 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 49 deletions(-) commit 3501b1e701b97144edb76294f6f098f8bb2093e9 Author: Jonas 'Sortie' Termansen Date: Mon Sep 14 23:45:07 2015 +0200 Fix console margin not having color of nearest neighbour. kernel/lfbtextbuffer.cpp | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) commit ac6f016748f58fc871cb93e337077b6b1942282a Author: Jonas 'Sortie' Termansen Date: Mon Sep 14 22:50:37 2015 +0200 Fix partition reads and writes at end. kernel/partition.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) commit 6813a26196a23e44384cab113d2998574d91798c Author: Jonas 'Sortie' Termansen Date: Fri Sep 11 15:50:11 2015 +0200 Fix box drawing character ninth column rendering. kernel/lfbtextbuffer.cpp | 18 ++++++++++-------- kernel/vga.h | 5 +---- 2 files changed, 11 insertions(+), 12 deletions(-) commit 73a182f80c601d8bd45ac6893439481371f44134 Author: Jonas 'Sortie' Termansen Date: Sat Jan 17 22:17:26 2015 +0100 Add interface to get 32-bit pages. kernel/include/sortix/kernel/memorymanagement.h | 2 ++ kernel/x86-family/memorymanagement.cpp | 34 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+) commit eb11613da6b258f10bc20bef63ee0a6519814714 Author: Jonas 'Sortie' Termansen Date: Fri Jan 16 01:18:22 2015 +0100 Add interface to wait for IO port changes. kernel/include/sortix/kernel/ioport.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 39d8894fc05cfdd2d92115f121a49f111fa6aa67 Author: Jonas 'Sortie' Termansen Date: Fri May 15 19:02:06 2015 +0200 Write newline when closing the kernel debugger. kernel/debugger.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 41d4dbdce778d1f4264803fb30b41724003d8e89 Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 18:15:25 2015 +0200 Fix extfs read-only support. ext/blockgroup.cpp | 6 ++++++ ext/device.cpp | 1 + ext/extfs.cpp | 2 +- ext/filesystem.cpp | 32 ++++++++++++++++++++++---------- ext/fsmarshall.cpp | 4 ++++ ext/fuse.cpp | 10 ++++++++++ ext/inode.cpp | 41 ++++++++++++++++++++++++++++++++++++++--- 7 files changed, 82 insertions(+), 14 deletions(-) commit e2202b2ddbfafd3dcbd46c7cf79d2074f19da962 Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 18:06:19 2015 +0200 Fix extfs unhandled allocation failures. This is not sufficient. The operator new calls are dangerous right now because they throw exceptions (not handled) on error instead of returning NULL. This needs to be changed to operator new nothrow instead. ext/blockgroup.cpp | 4 ++++ ext/device.cpp | 14 ++++++++++++-- ext/extfs.cpp | 6 ++++++ ext/filesystem.cpp | 15 +++++++++++++++ ext/fuse.cpp | 29 ++++++++++++++++------------- ext/inode.cpp | 34 +++++++++++++++++++++++++++------- 6 files changed, 80 insertions(+), 22 deletions(-) commit bc928e99a4aa30feaae608ba9f3122548045c97e Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 17:14:11 2015 +0200 Fix extfs coding style and general issues. This cleans up constructors so fields are initialized in the same order they are declared in. This makes it trivial to spot accidentally uninitialized fields. This fixes a minor argument parsing bug when the mount path isn't set, but fortunately argv[argc] is NULL and we wanted to set it to NULL anyway. This prevents excessively large block sizes from being used. This improves inode value range checks in the fsmarshall code. Inode 0 is not a valid inode. The new code for this is also simpler. This prevents creating links with names larger than 255 bytes. This adds a check to ensure inodes don't overflow the hardlink count. This ensures the dirent filetype is only set if supported. ext/blockgroup.cpp | 4 ++ ext/blockgroup.h | 8 +-- ext/device.cpp | 24 ++++----- ext/extfs.cpp | 66 ++++++++++++++----------- ext/filesystem.cpp | 51 ++++++++++--------- ext/filesystem.h | 2 +- ext/fsmarshall.cpp | 140 ++++++++++++++++++++++++----------------------------- ext/fuse.cpp | 11 ++--- ext/inode.cpp | 107 ++++++++++++++++------------------------ ext/inode.h | 2 - 10 files changed, 197 insertions(+), 218 deletions(-) commit c88dadae8ba5f4c6f46346306824a54c9cbd2b2d Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 18:26:40 2015 +0200 Fix extfs fuse readlink buffer overrun. ext/fuse.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7953023517ac974072ca62fb397643381f5bde6c Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 18:23:47 2015 +0200 Fix extfs fsmarshall symlink error case. ext/fsmarshall.cpp | 1 + 1 file changed, 1 insertion(+) commit 0da44df5cebcb20450b1bf09a2a99e9546116baa Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 18:23:01 2015 +0200 Fix extfs fsmarshall read/write/readlink error reporting. ext/fsmarshall.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit dd8b4198ec3b87c23ba718db0d3aa76b653d754d Author: Jonas 'Sortie' Termansen Date: Wed Jul 8 22:41:38 2015 +0200 Fix extfs unmaintained invariant on bitmap free. ext/blockgroup.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 5deb51eeae478c31048a05912ace47269441b7ce Author: Jonas 'Sortie' Termansen Date: Wed Jul 8 22:38:14 2015 +0200 Fix extfs reference counts. ext/blockgroup.cpp | 4 ++++ ext/fsmarshall.cpp | 14 ++++++++++---- ext/fuse.cpp | 8 ++++---- ext/inode.cpp | 32 ++++++++++++++++++++------------ ext/inode.h | 3 ++- 5 files changed, 40 insertions(+), 21 deletions(-) commit 21c82e4467251cee412e6ec961b783ba394bade2 Author: Jonas 'Sortie' Termansen Date: Thu Jul 2 22:10:00 2015 +0200 Fix missing static keyword in extfs. ext/device.h | 4 +- ext/ext-constants.h | 166 ++++++++++++++++++++++++++-------------------------- ext/extfs.cpp | 10 ++-- ext/filesystem.h | 2 +- ext/fsmarshall.h | 1 + ext/util.h | 8 +-- 6 files changed, 96 insertions(+), 95 deletions(-) commit b5b2d159c646b9b5d088a0c08b2bf14e842390e4 Author: Jonas 'Sortie' Termansen Date: Thu Jul 2 16:34:52 2015 +0200 Fix extfs mkdir setting bad mode. ext/fsmarshall.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ac785d861eab43fbf5523d6c80e372e408027e32 Author: Jonas 'Sortie' Termansen Date: Thu May 21 21:02:23 2015 +0200 Add extfs optimized symlink write support. ext/inode.cpp | 78 +++++++++++++++++++++++++++++++++++++++++++++++++---------- ext/inode.h | 1 + 2 files changed, 66 insertions(+), 13 deletions(-) commit 147aae31b1ac57b20868fe9ab553426e2d6c3384 Author: Jonas 'Sortie' Termansen Date: Sun May 17 00:25:58 2015 +0200 Sync extfs device file descriptor. ext/device.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 78d3a673aa9bd241f1acf5fa1b9e6024d048d389 Author: Jonas 'Sortie' Termansen Date: Wed Apr 1 00:25:09 2015 +0200 Add statvfs support to extfs. ext/fsmarshall.cpp | 29 +++++++++++++++++++++++++++++ ext/fuse.cpp | 19 +++++++++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) commit d85f446da922090e44379122c91d138a98ac6d54 Author: Jonas 'Sortie' Termansen Date: Mon Feb 16 15:43:56 2015 +0100 Add tcgetblob support to extfs. ext/device.cpp | 3 ++- ext/device.h | 3 ++- ext/extfs.cpp | 4 ++-- ext/filesystem.cpp | 3 ++- ext/filesystem.h | 3 ++- ext/fsmarshall.cpp | 40 +++++++++++++++++++++++++++++++++++++++- 6 files changed, 49 insertions(+), 7 deletions(-) commit 6e8f17b5df1a7a69de495937666a2d9ed341b16c Author: Jonas 'Sortie' Termansen Date: Sat Jan 31 00:19:29 2015 +0100 Add extfs background sync thread. ext/Makefile | 3 ++- ext/block.cpp | 22 ++++++++++++++- ext/block.h | 3 +++ ext/device.cpp | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ext/device.h | 9 +++++++ ext/fsmarshall.cpp | 5 +++- 6 files changed, 118 insertions(+), 3 deletions(-) commit 26336de7ff8df555658d8fbd3ecb51a6fcdf3034 Author: Jonas 'Sortie' Termansen Date: Fri Jan 30 16:27:38 2015 +0100 Split extfs frontends into their own files. ext/device.cpp | 2 + ext/extfs.cpp | 1256 +--------------------------------------------------- ext/extfs.h | 32 ++ ext/fsmarshall.cpp | 717 ++++++++++++++++++++++++++++++ ext/fsmarshall.h | 33 ++ ext/fuse.cpp | 586 ++++++++++++++++++++++++ ext/fuse.h | 35 ++ 7 files changed, 1417 insertions(+), 1244 deletions(-) commit de21e9c8e20fa06c1d8c84b1bf7b23f92822a93e Author: Jonas 'Sortie' Termansen Date: Fri Jan 30 15:37:45 2015 +0100 Refactor extfs dirty pattern to BeginWrite then FinishWrite pattern. ext/block.cpp | 8 +++-- ext/block.h | 5 +-- ext/blockgroup.cpp | 59 +++++++++++++++++++++++------------- ext/blockgroup.h | 5 +-- ext/device.cpp | 8 +++-- ext/device.h | 2 +- ext/extfs.cpp | 7 +++-- ext/filesystem.cpp | 23 +++++++++----- ext/filesystem.h | 5 +-- ext/inode.cpp | 89 ++++++++++++++++++++++++++++++++++++------------------ ext/inode.h | 5 +-- 11 files changed, 142 insertions(+), 74 deletions(-) commit 34a832dbf3d0a78969cf0b77ff7ac8b4395d1bfb Author: Jonas 'Sortie' Termansen Date: Sun May 31 20:17:56 2015 +0200 Add tcgetblob and statvfs support to kramfs. kernel/fs/kram.cpp | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++- kernel/fs/kram.h | 8 +++++- 2 files changed, 90 insertions(+), 2 deletions(-) commit 143e0a20593c3bc6764a8f07adc4ccbc906c5f92 Author: Jonas 'Sortie' Termansen Date: Wed Apr 1 00:24:16 2015 +0200 Pass --keep-directory-symlink to tix-install child tar extract. tix/tix-install.cpp | 1 + 1 file changed, 1 insertion(+) commit 8f8ead93f1b42e673db33ffde3d40128e8502162 Author: Jonas 'Sortie' Termansen Date: Sat Jun 27 03:12:01 2015 +0200 Add id(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/id.cpp | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 243 insertions(+) commit 213b3636bb2989f2429f6eaaebc14e0541541753 Author: Jonas 'Sortie' Termansen Date: Thu Jun 11 21:48:12 2015 +0200 Add open_memstream(3). libc/Makefile | 1 + libc/include/stdio.h | 2 +- libc/stdio/open_memstream.cpp | 122 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 1 deletion(-) commit 00f3e97cf73df5d8eefcc477c9140218cf6010c5 Author: Jonas 'Sortie' Termansen Date: Wed Jun 10 23:24:00 2015 +0200 Replace userland perror calls. bench/benchctxswitch.cpp | 7 +++++-- bench/benchsyscall.cpp | 4 +++- utils/find.cpp | 2 +- utils/kernelinfo.cpp | 6 ++++-- utils/ls.cpp | 2 +- utils/memstat.cpp | 4 +++- 6 files changed, 17 insertions(+), 8 deletions(-) commit f1571ebaf4b38bdf9ebf7f2e9369ead538cd3c28 Author: Jonas 'Sortie' Termansen Date: Wed Jun 10 23:12:34 2015 +0200 Add err(3). libc/Makefile | 8 ++++++++ libc/err/err.cpp | 34 ++++++++++++++++++++++++++++++++ libc/err/errx.cpp | 34 ++++++++++++++++++++++++++++++++ libc/err/verr.cpp | 33 +++++++++++++++++++++++++++++++ libc/err/verrx.cpp | 33 +++++++++++++++++++++++++++++++ libc/err/vwarn.cpp | 43 ++++++++++++++++++++++++++++++++++++++++ libc/err/vwarnx.cpp | 41 ++++++++++++++++++++++++++++++++++++++ libc/err/warn.cpp | 34 ++++++++++++++++++++++++++++++++ libc/err/warnx.cpp | 34 ++++++++++++++++++++++++++++++++ libc/include/err.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 351 insertions(+) commit 211bc0c5f2edb34eaf1a4937d233bde6a0a53464 Author: Jonas 'Sortie' Termansen Date: Thu Jun 4 00:38:14 2015 +0200 Clean up asteroids. games/asteroids.cpp | 231 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 135 insertions(+), 96 deletions(-) commit ae1ed0c13c403495381a7ed771b054f29ce3e0ff Author: Jonas 'Sortie' Termansen Date: Mon Jun 1 17:06:06 2015 +0200 Replace strtok_r uses with strsep. kernel/debugger.cpp | 6 +++--- sh/sh.cpp | 4 +--- trianglix/trianglix.cpp | 4 +--- 3 files changed, 5 insertions(+), 9 deletions(-) commit b180a14412f5ee37f5791d5a7f6ef01275fbdc08 Author: Jonas 'Sortie' Termansen Date: Sun May 31 22:11:16 2015 +0100 Add mktemp(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/mktemp.cpp | 280 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 283 insertions(+) commit 3ef38cf9369ff92f91afaa0495eb4308aafd691f Author: Jonas 'Sortie' Termansen Date: Mon Jun 1 16:57:53 2015 +0200 Remove P_tmpdir. libc/include/stdio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 59e7dd00c57e56a5af19605732e26bd36699db94 Author: Jonas 'Sortie' Termansen Date: Tue Jun 2 13:33:07 2015 +0200 Add mkdtemps(3). libc/Makefile | 1 + libc/include/stdlib.h | 1 + libc/stdlib/mkdtemp.cpp | 37 +-------------------------- libc/stdlib/mkdtemps.cpp | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 36 deletions(-) commit fb29ff42e0f9a0b2bf9414588cf8bae6fc5e24c9 Author: Jonas 'Sortie' Termansen Date: Thu May 21 21:35:36 2015 +0200 Optimize puts and fputs. libc/stdio/fputs_unlocked.cpp | 7 +++---- libc/stdio/puts.cpp | 12 ++++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) commit 0fc3d70716069a5712e1f4edb4ad1bcbbb382025 Author: Jonas 'Sortie' Termansen Date: Sat May 16 19:22:21 2015 +0200 Clear registers after system calls. kernel/signal.cpp | 4 ++++ kernel/x64/syscall.S | 36 +++++++++++++++++++++++++++--------- kernel/x86/syscall.S | 26 ++++++++++++++++++-------- 3 files changed, 49 insertions(+), 17 deletions(-) commit 33c7f489090c93ac9c78ee1d2ca70c9668422154 Author: Jonas 'Sortie' Termansen Date: Sat May 16 14:46:01 2015 +0200 Add unset variable feature to tix-build. tix/tix-build.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) commit 095a264d26de5d340acf1a91a33a5734656d5222 Author: Jonas 'Sortie' Termansen Date: Sat May 16 14:36:35 2015 +0200 Always set tool variables in tix-build. tix/tix-build.cpp | 72 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 63 insertions(+), 9 deletions(-) commit a79aeed0c1fce8927adf1da0bd9548902a095bae Author: Jonas 'Sortie' Termansen Date: Wed May 13 18:10:37 2015 +0200 Remove __BEGIN_DECLS and __END_DECLS. dispd/client/framebuffer.h | 2 +- dispd/client/session.h | 2 +- dispd/client/window.h | 2 +- kernel/include/sortix/__/dirent.h | 8 ++++++-- kernel/include/sortix/__/dt.h | 8 ++++++-- kernel/include/sortix/__/sigset.h | 8 ++++++-- kernel/include/sortix/__/stat.h | 8 ++++++-- kernel/include/sortix/__/types.h | 8 ++++++-- kernel/include/sortix/__/wait.h | 8 ++++++-- kernel/include/sortix/clock.h | 8 ++++++-- kernel/include/sortix/dirent.h | 8 ++++++-- kernel/include/sortix/display.h | 8 ++++++-- kernel/include/sortix/exit.h | 8 ++++++-- kernel/include/sortix/fcntl.h | 8 ++++++-- kernel/include/sortix/fork.h | 8 ++++++-- kernel/include/sortix/initrd.h | 8 ++++++-- kernel/include/sortix/itimerspec.h | 8 ++++++-- kernel/include/sortix/kernel/kthread.h | 2 +- kernel/include/sortix/limits.h | 8 ++++++-- kernel/include/sortix/mount.h | 8 ++++++-- kernel/include/sortix/poll.h | 8 ++++++-- kernel/include/sortix/resource.h | 8 ++++++-- kernel/include/sortix/seek.h | 8 ++++++-- kernel/include/sortix/sigaction.h | 8 ++++++-- kernel/include/sortix/sigevent.h | 8 ++++++-- kernel/include/sortix/siginfo.h | 8 ++++++-- kernel/include/sortix/signal.h | 8 ++++++-- kernel/include/sortix/sigprocmask.h | 8 ++++++-- kernel/include/sortix/sigset.h | 8 ++++++-- kernel/include/sortix/sigval.h | 8 ++++++-- kernel/include/sortix/socket.h | 8 ++++++-- kernel/include/sortix/stack.h | 8 ++++++-- kernel/include/sortix/stat.h | 8 ++++++-- kernel/include/sortix/statvfs.h | 8 ++++++-- kernel/include/sortix/termios.h | 8 ++++++-- kernel/include/sortix/time.h | 8 ++++++-- kernel/include/sortix/timespec.h | 8 ++++++-- kernel/include/sortix/tmns.h | 8 ++++++-- kernel/include/sortix/ucontext.h | 8 ++++++-- kernel/include/sortix/uio.h | 8 ++++++-- kernel/include/sortix/unistd.h | 8 ++++++-- kernel/include/sortix/uthread.h | 8 ++++++-- kernel/include/sortix/vga.h | 8 ++++++-- kernel/include/sortix/wait.h | 8 ++++++-- kernel/syscall.cpp | 2 +- kernel/x86-family/gdt.cpp | 4 ++-- libc/include/DIR.h | 8 ++++++-- libc/include/FILE.h | 8 ++++++-- libc/include/__/byteswap.h | 8 ++++++-- libc/include/__/endian.h | 8 ++++++-- libc/include/__/stdint.h | 8 ++++++-- libc/include/__/wchar.h | 8 ++++++-- libc/include/alloca.h | 8 ++++++-- libc/include/ar.h | 8 ++++++-- libc/include/argp.h | 8 ++++++-- libc/include/arpa/inet.h | 8 ++++++-- libc/include/assert.h | 8 ++++++-- libc/include/byteswap.h | 8 ++++++-- libc/include/ctype.h | 8 ++++++-- libc/include/dirent.h | 8 ++++++-- libc/include/dlfcn.h | 8 ++++++-- libc/include/elf.h | 8 ++++++-- libc/include/endian.h | 8 ++++++-- libc/include/errno.h | 8 ++++++-- libc/include/error.h | 8 ++++++-- libc/include/fcntl.h | 8 ++++++-- libc/include/fnmatch.h | 8 ++++++-- libc/include/fsmarshall-msg.h | 8 ++++++-- libc/include/fsmarshall.h | 8 ++++++-- libc/include/getopt.h | 8 ++++++-- libc/include/grp.h | 8 ++++++-- libc/include/inttypes.h | 8 ++++++-- libc/include/ioleast.h | 8 ++++++-- libc/include/libgen.h | 8 ++++++-- libc/include/locale.h | 8 ++++++-- libc/include/malloc.h | 8 ++++++-- libc/include/msr.h | 8 ++++++-- libc/include/netdb.h | 8 ++++++-- libc/include/netinet/in.h | 8 ++++++-- libc/include/netinet/tcp.h | 8 ++++++-- libc/include/poll.h | 16 ++++++++++++---- libc/include/pwd.h | 8 ++++++-- libc/include/sched.h | 8 ++++++-- libc/include/setjmp.h | 8 ++++++-- libc/include/signal.h | 8 ++++++-- libc/include/stdint.h | 8 ++++++-- libc/include/stdio.h | 8 ++++++-- libc/include/stdio_ext.h | 8 ++++++-- libc/include/stdlib.h | 8 ++++++-- libc/include/string.h | 8 ++++++-- libc/include/sys/cdefs.h | 9 --------- libc/include/sys/display.h | 8 ++++++-- libc/include/sys/ioctl.h | 8 ++++++-- libc/include/sys/kernelinfo.h | 8 ++++++-- libc/include/sys/mman.h | 8 ++++++-- libc/include/sys/mount.h | 8 ++++++-- libc/include/sys/readdirents.h | 8 ++++++-- libc/include/sys/resource.h | 8 ++++++-- libc/include/sys/select.h | 16 ++++++++++++---- libc/include/sys/socket.h | 16 ++++++++++++---- libc/include/sys/stat.h | 16 ++++++++++++---- libc/include/sys/statvfs.h | 8 ++++++-- libc/include/sys/syscall.h | 10 +++++++--- libc/include/sys/termmode.h | 8 ++++++-- libc/include/sys/time.h | 8 ++++++-- libc/include/sys/times.h | 8 ++++++-- libc/include/sys/types.h | 8 ++++++-- libc/include/sys/uio.h | 16 ++++++++++++---- libc/include/sys/un.h | 8 ++++++-- libc/include/sys/utsname.h | 8 ++++++-- libc/include/sys/wait.h | 8 ++++++-- libc/include/syslog.h | 8 ++++++-- libc/include/system-elf.h | 8 ++++++-- libc/include/termios.h | 8 ++++++-- libc/include/time.h | 24 ++++++++++++++++++------ libc/include/timespec.h | 16 ++++++++++++---- libc/include/unistd.h | 8 ++++++-- libc/include/utime.h | 8 ++++++-- libc/include/wchar.h | 8 ++++++-- libc/include/wctype.h | 8 ++++++-- libc/stdio/fdio.h | 8 ++++++-- libc/stdio/stdio.cpp | 2 +- libm/include/__/math.h | 8 ++++++-- libm/include/complex.h | 8 ++++++-- libm/include/fenv.h | 8 ++++++-- libm/include/ieee754.h | 8 ++++++-- libm/include/ieeefp.h | 8 ++++++-- libm/include/math.h | 8 ++++++-- libpthread/include/__/pthread.h | 8 ++++++-- libpthread/include/pthread.h | 8 ++++++-- libpthread/include/semaphore.h | 8 ++++++-- 131 files changed, 795 insertions(+), 280 deletions(-) commit 5915e2cd1479e4fcd87ef618bee78dc67b2801f7 Author: Jonas 'Sortie' Termansen Date: Wed May 13 17:48:28 2015 +0200 Add closefrom(2). kernel/dtable.cpp | 31 ++++++++++++++++++++++++++++--- kernel/include/sortix/kernel/dtable.h | 4 +++- kernel/include/sortix/kernel/syscall.h | 1 + kernel/include/sortix/syscall.h | 5 +++-- kernel/io.cpp | 9 +++++++++ kernel/syscall.cpp | 3 ++- libc/Makefile | 1 + libc/include/unistd.h | 3 ++- libc/unistd/closefrom.cpp | 34 ++++++++++++++++++++++++++++++++++ 9 files changed, 83 insertions(+), 8 deletions(-) commit aa09f8cecca0790f8fc18b19baefb980caf8bec1 Author: Jonas 'Sortie' Termansen Date: Wed May 13 17:09:54 2015 +0200 Simplify kernel PrepareLookup. kernel/io.cpp | 102 +++++++++++++++++++++++----------------------------------- 1 file changed, 41 insertions(+), 61 deletions(-) commit f3f7ede68d53e785f673c19b4e151beda97c1a51 Author: Jonas 'Sortie' Termansen Date: Tue May 12 16:41:28 2015 +0200 Remove _DIRENT_HAVE_D_FOO and _D_BAR_NAMLEN. libc/include/dirent.h | 10 ---------- 1 file changed, 10 deletions(-) commit 4cb9ccfc4bbcf4e6ae197c809ec0a2a4b6d6d56b Author: Jonas 'Sortie' Termansen Date: Sun May 10 23:50:02 2015 +0200 Rename libc/time/times.cpp to libc/sys/times/times.cpp. libc/Makefile | 2 +- libc/{time => sys/times}/times.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 3750de1f11f507d0c264cc4c3fc97332af2a14d5 Author: Jonas 'Sortie' Termansen Date: Sun May 10 23:40:45 2015 +0200 Rename struct FILE to struct __FILE. libc/include/FILE.h | 12 ++++++------ libc/include/grp.h | 4 ++-- libc/include/pwd.h | 4 ++-- libc/include/stdio.h | 2 +- libc/include/wchar.h | 4 ++-- 5 files changed, 13 insertions(+), 13 deletions(-) commit 7098286b347942232582aba57f87754826898d91 Author: Jonas 'Sortie' Termansen Date: Sun May 10 23:40:29 2015 +0200 Rename struct DIR to struct __DIR. libc/include/DIR.h | 6 +++--- libc/include/dirent.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) commit b8c91e36f4f9af10f90d8d27f418c6d82c9131d2 Author: Jonas 'Sortie' Termansen Date: Sun May 10 23:19:30 2015 +0200 Remove FLOAT_WORD_ORDER. libc/include/__/endian.h | 1 - libc/include/endian.h | 1 - libm/include/ieee754.h | 8 +------- 3 files changed, 1 insertion(+), 9 deletions(-) commit 75cf34cb8e6a4c0c1d8c7f8da0270b04a9d2939f Author: Jonas 'Sortie' Termansen Date: Sun May 10 23:09:34 2015 +0200 Add random device. kernel/Makefile | 1 + kernel/fs/random.cpp | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++ kernel/fs/random.h | 48 +++++++++++++++++++++++ kernel/kernel.cpp | 11 ++++++ 4 files changed, 166 insertions(+) commit 6405e2ea6e0d374e490dae3fb43eefcb2d00cd25 Author: Jonas 'Sortie' Termansen Date: Sun May 10 22:24:20 2015 +0200 Add arc4random support to the kernel. kernel/include/sortix/kernel/random.h | 39 +++++++++++++++++++++++++++++++++++ kernel/random.cpp | 29 +++++++++++++++++++++++--- libc/Makefile | 6 +++--- libc/stdlib/arc4random_buf.cpp | 27 +++++++++++++++++++++++- 4 files changed, 94 insertions(+), 7 deletions(-) commit 5ba37a99241332c6cf44a9acdca1f38d590d4a6f Author: Jonas 'Sortie' Termansen Date: Sun May 10 16:05:31 2015 +0200 Honor feature macros in . libc/include/termios.h | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) commit d7b1dce054139646e936da5cab11353965bc66c3 Author: Jonas 'Sortie' Termansen Date: Mon Apr 13 22:07:35 2015 +0200 Dumb down echo(1). Options and escape sequences are fatally incompatible with historic echo that has no room for such extensions. Instead they pose risk because it is harder to use echo on unvalidated input safely and because any further extensions potentially break existing scripts. Use printf(1) instead. Makefile | 2 +- build-aux/build-ports.sh | 8 +- utils/echo.cpp | 186 ++--------------------------------------------- 3 files changed, 13 insertions(+), 183 deletions(-) commit 91ab47f99cd2c25f512f811fb364f567190e69ee Author: Jonas 'Sortie' Termansen Date: Sat Mar 21 17:21:40 2015 +0100 Deprecate stdio_ext API. libc/Makefile | 24 +++++--------- libc/include/stdio.h | 24 +------------- libc/include/stdio_ext.h | 10 +++--- libc/stdio/fbufsize_unlocked.cpp | 30 ----------------- libc/stdio/fpending_unlocked.cpp | 30 ----------------- libc/stdio/fpurge.cpp | 32 ------------------ libc/stdio/freadable.cpp | 33 ------------------- libc/stdio/freading.cpp | 33 ------------------- libc/stdio/fseterr.cpp | 38 ---------------------- libc/stdio/fwritable.cpp | 33 ------------------- libc/stdio/fwriting.cpp | 33 ------------------- .../fbufsize.cpp => stdio_ext/__fbufsize.cpp} | 9 ++--- .../fpending.cpp => stdio_ext/__fpending.cpp} | 11 ++++--- .../fpurge_unlocked.cpp => stdio_ext/__fpurge.cpp} | 9 +++-- .../__freadable.cpp} | 12 ++++--- .../__freading.cpp} | 18 ++++++---- .../__fseterr.cpp} | 9 +++-- .../__fwritable.cpp} | 12 ++++--- .../__fwriting.cpp} | 16 +++++---- 19 files changed, 74 insertions(+), 342 deletions(-) commit 20698b35c722100ed1190949befc14dd4fcb139e Author: Jonas 'Sortie' Termansen Date: Thu Mar 19 14:27:03 2015 +0100 Refactor kernel log. kernel/include/sortix/kernel/log.h | 13 ++- kernel/include/sortix/kernel/textbuffer.h | 14 ++-- kernel/include/sortix/kernel/video.h | 3 +- kernel/kernel.cpp | 115 +-------------------------- kernel/log.cpp | 127 +++++++++++++++++++++++++++++- kernel/textbuffer.cpp | 37 ++++----- kernel/textterminal.cpp | 6 +- kernel/textterminal.h | 10 +-- kernel/video.cpp | 17 +--- 9 files changed, 171 insertions(+), 171 deletions(-) commit 77467b77683fcee7ce8a32aeb86defe31bb54165 Author: Jonas 'Sortie' Termansen Date: Thu Mar 19 00:24:36 2015 +0100 Detect physical memory before initializing the kernel log. kernel/include/sortix/kernel/log.h | 6 --- kernel/kernel.cpp | 6 +-- kernel/memorymanagement.cpp | 13 ------- kernel/panic.cpp | 4 ++ kernel/x86-family/memorymanagement.cpp | 67 +++++++++------------------------- 5 files changed, 25 insertions(+), 71 deletions(-) commit 218875eb79b80bfed4cdb2b6193744614abd7caa Author: Jonas 'Sortie' Termansen Date: Mon Mar 16 17:24:17 2015 +0100 Initialize paging before KernelInit. kernel/com.cpp | 37 +++++---- kernel/com.h | 1 - kernel/include/sortix/kernel/memorymanagement.h | 4 +- kernel/kernel.cpp | 20 ++--- kernel/x64/boot.S | 99 ++++++++++++++++++------- kernel/x64/memorymanagement.cpp | 83 +-------------------- kernel/x86-family/memorymanagement.cpp | 32 +++----- kernel/x86/boot.S | 51 +++++++++++++ kernel/x86/memorymanagement.cpp | 67 +---------------- 9 files changed, 161 insertions(+), 233 deletions(-) commit a422c394b81c4926d1125f2e202d9328f33fe695 Author: Jonas 'Sortie' Termansen Date: Mon Mar 16 00:13:56 2015 +0100 Initialize the GDT in the bootstrap assembly. kernel/Makefile | 4 +- kernel/include/sortix/kernel/panic.h | 3 +- kernel/include/sortix/kernel/registers.h | 2 + kernel/kernel.cpp | 6 +- kernel/x64/base.S | 67 -------- kernel/x64/boot.S | 178 +++++++++---------- kernel/x86-family/gdt.cpp | 285 ++++++++++++++----------------- kernel/x86-family/gdt.h | 5 +- kernel/x86/base.S | 62 ------- kernel/x86/boot.S | 104 ++++++++--- 10 files changed, 290 insertions(+), 426 deletions(-) commit cf55531aae1c579ceacb6b716fce826bb20d7f35 Author: Jonas 'Sortie' Termansen Date: Sat Mar 21 13:05:12 2015 +0100 Make nfds_t size_t. kernel/include/sortix/kernel/syscall.h | 2 +- kernel/include/sortix/poll.h | 4 ++-- kernel/poll.cpp | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) commit 248f446089fa914c8014cd1fc3988ab34b8d161c Author: Jonas 'Sortie' Termansen Date: Tue Feb 17 21:37:11 2015 +0100 Remove st_atime, st_ctime and st_mtime deprecation warnings. This battle isn't worth fighting at this time. libc/include/sys/stat.h | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) commit ef45218660f47600bda99287e867dd302abdf504 Author: Jonas 'Sortie' Termansen Date: Tue Feb 17 21:35:00 2015 +0100 Add S_ISGID and S_ISUID. I originally left them out because Sortix doesn't have setuid and setgid executable support, but this created considerable compatibility issues and it is better to supply them as the mode bits still exist and can be set. ext/extfs.cpp | 10 +--------- kernel/include/sortix/initrd.h | 5 ++--- kernel/include/sortix/stat.h | 7 +++---- utils/ls.cpp | 9 +++++++-- 4 files changed, 13 insertions(+), 18 deletions(-) commit c7165cdcb491b8e7ca3443e13ebcf2c20c7c96cc Author: Jonas 'Sortie' Termansen Date: Sun Feb 15 12:54:19 2015 +0100 Add /sbin to PATH. Makefile | 1 + init/init.c++ | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) commit a5eacdbdcc12f447244fee6d1cb9c3290d1dd618 Author: Jonas 'Sortie' Termansen Date: Wed Aug 19 23:42:45 2015 +0200 Fix log terminal write insecure copying. kernel/logterminal.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 6cf07034d5f45d3cbab6ad865916c63e8466b123 Author: Jonas 'Sortie' Termansen Date: Wed Aug 12 23:38:31 2015 +0200 Fix missing parenthesizes in macros. kernel/include/sortix/__/wait.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 840c8e6b02f92da9935280f21959158bd77ed428 Author: Jonas 'Sortie' Termansen Date: Wed Aug 12 23:33:03 2015 +0200 Fix pager double prompt if paging during special character. utils/pager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 158716f96adb53eed00b241745e26f88c0517fb4 Author: Jonas 'Sortie' Termansen Date: Tue Aug 11 15:37:05 2015 +0200 Fix ctype invocations with wrong domain. editor/modal.c++ | 10 +++++----- kernel/process.cpp | 4 ++-- mkinitrd/rules.cpp | 10 ++++++---- sh/sh.cpp | 4 ++-- tix/util.h | 10 +++++----- 5 files changed, 20 insertions(+), 18 deletions(-) commit ec38222f9ba21748ee03c13f2d7681da3dc50a01 Author: Jonas 'Sortie' Termansen Date: Tue Aug 11 12:18:35 2015 +0200 Fix head(1) and tail(1) directory handling. utils/tail.cpp | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) commit a30619382431c5d7be529004024d92a5470f5ad3 Author: Jonas 'Sortie' Termansen Date: Sat Aug 1 13:52:27 2015 +0200 Fix mkinitrd default uid and gid not being root. mkinitrd/mkinitrd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit cd21cd41c390cedc9aa3973502b0574cadc50da2 Author: Jonas 'Sortie' Termansen Date: Sat Jul 25 14:38:18 2015 +0200 Fix tix-collection multiarch compatibility applying to Sortix. tix/tix-collection.cpp | 4 ++++ 1 file changed, 4 insertions(+) commit 1dee12e58e7116d2746ba6022135e18e7fa9345e Author: Jonas 'Sortie' Termansen Date: Mon Jul 27 00:39:48 2015 +0200 Fix typo in initrd extraction failure panic. kernel/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 320b953e20c4f2154bc786dac302f52c6e76d17f Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 18:32:52 2015 +0200 Fix libm makefile missing quotes around grep pattern. libm/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit fffefeba8f928b00f87e38fdd5267cb749fbc134 Author: Jonas 'Sortie' Termansen Date: Thu Jul 9 18:32:04 2015 +0200 Fix execve(2) keeping program descriptors open. kernel/process.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 4df23d9a3690e1cc84f712df92d0b2a93002816b Author: Jonas 'Sortie' Termansen Date: Sun Jun 28 17:11:07 2015 +0200 Fix README typos. README | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0cdedb40080e1a40b4f8e5d66e55caf16684a7ac Author: Jonas 'Sortie' Termansen Date: Mon Jun 29 17:12:41 2015 +0200 Fix duplicate 1972 row in the leap second table. libc/time/gmtime_r.cpp | 1 - 1 file changed, 1 deletion(-) commit 6d052efd19e01cfae10cf7703d00f332cebc1188 Author: Jonas 'Sortie' Termansen Date: Sat Jun 27 03:18:24 2015 +0200 Fix unbounded memory usage and infinite loop in fgetgrent_r(3). libc/grp/fgetgrent_r.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 53f20c5519b743f83e74cc021b2494728b8efb0b Author: Jonas 'Sortie' Termansen Date: Fri Jun 26 22:56:33 2015 +0200 Fix printf checking of print_string utility functions. init/init.c++ | 3 ++- tix/util.h | 1 + trianglix/trianglix.cpp | 6 ++++-- 3 files changed, 7 insertions(+), 3 deletions(-) commit e001dca46bd83d41fcb7731fe1d63a99146e8104 Author: Jonas 'Sortie' Termansen Date: Fri Jun 12 22:37:16 2015 +0200 Fix LOCALEDIR make variable. build-aux/dirs.mak | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) commit 13e8e092a6c795c82b80b3c166239902d36251b0 Author: Jonas 'Sortie' Termansen Date: Tue Jun 2 13:31:18 2015 +0200 Fix mkostemps and mkdtemp not restoring X's on error. libc/stdlib/mkdtemp.cpp | 2 ++ libc/stdlib/mkostemps.cpp | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) commit 447f0596ad9671e19749e7c0281dd536fe6e1ba5 Author: Jonas 'Sortie' Termansen Date: Sun May 31 21:08:27 2015 +0200 Fix FSM_RESP_TCGETWINCURPOS being equal to FSM_REQ_STATVFS. libc/include/fsmarshall-msg.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit d23525113929900b47e4638e93688268b199bedd Author: Jonas 'Sortie' Termansen Date: Sun May 31 20:17:34 2015 +0200 Fix AbstractInode::statvfs not setting f_favail. kernel/inode.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 779bbe19ddfa0c3fbd5d8112a44aa44bdd2c1f2e Author: Jonas 'Sortie' Termansen Date: Sun May 31 12:02:42 2015 +0200 Fix vulnerability if p_filesz exceeds p_memsz in ELF loader. kernel/elf.cpp | 2 ++ 1 file changed, 2 insertions(+) commit c81610f7a33fe17fc6fe4571ecd1cfb458ff4857 Author: Jonas 'Sortie' Termansen Date: Fri May 22 16:34:22 2015 +0200 Fix du counting block devices. utils/du.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 8d89a6f8adf8165581c6d354d200efca9d49ce33 Author: Jonas 'Sortie' Termansen Date: Fri May 22 19:52:32 2015 +0200 Fix poll(2) timeout not being miliseconds. libc/poll/poll.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 2291076f1924f7712dbd961700257db6f6b34dac Author: Jonas 'Sortie' Termansen Date: Fri May 22 19:47:38 2015 +0200 Fix poll zero timeout not being instant wakeup. kernel/poll.cpp | 8 +++++--- trianglix/trianglix.cpp | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) commit 40594eba1c7ad24a8892827e07460e1e5b4ab26d Author: Jonas 'Sortie' Termansen Date: Sun May 17 18:51:39 2015 +0200 Fix sort(1) reverse sort not working. utils/sort.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit c4077e9a4b92817fa2a1eb9bb1f2793810556404 Author: Jonas 'Sortie' Termansen Date: Sun May 17 00:15:26 2015 +0200 Fix isosrc not being copied to /src. Makefile | 1 + 1 file changed, 1 insertion(+) commit 9acc74de288ba39fef92517a3a89c962690b7011 Author: Jonas 'Sortie' Termansen Date: Thu May 14 15:18:58 2015 +0200 Fix read-only mmap with backing store. kernel/elf.cpp | 5 +++++ kernel/include/sortix/kernel/process.h | 1 + kernel/memorymanagement.cpp | 26 ++++++++++++++++---------- kernel/process.cpp | 8 +++++++- 4 files changed, 29 insertions(+), 11 deletions(-) commit 423fbad83583fffa7779d64dbf50af26c4af3850 Author: Jonas 'Sortie' Termansen Date: Wed May 13 20:06:54 2015 +0200 Fix perror(3) compliance. libc/stdio/perror.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit d068a352f7ad4fe0cb0860817dac4b32521cb208 Author: Jonas 'Sortie' Termansen Date: Wed May 13 19:22:03 2015 +0200 Fix missing lock in kernel descriptor fork. kernel/descriptor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 55890850841cb8d9ed8236d54aff0f2e994793c3 Author: Jonas 'Sortie' Termansen Date: Wed May 13 18:49:06 2015 +0200 Fix unlinkat potentially following paths twice. kernel/descriptor.cpp | 24 ++++++++++-------------- kernel/include/sortix/kernel/descriptor.h | 3 +-- kernel/initrd.cpp | 4 ++-- kernel/io.cpp | 8 +------- 4 files changed, 14 insertions(+), 25 deletions(-) commit 8c0252300ece746f91a2454a967c1e4b0c9b7d9b Author: Jonas 'Sortie' Termansen Date: Wed May 13 18:25:59 2015 +0200 Fix strtol isspace calls. libc/inttypes/strtoimax.cpp | 1 + libc/inttypes/strtoumax.cpp | 1 + libc/inttypes/wcstoimax.cpp | 1 + libc/inttypes/wcstoumax.cpp | 1 + libc/stdlib/strtol.cpp | 5 +++-- libc/stdlib/strtoll.cpp | 1 + libc/stdlib/strtoul.cpp | 1 + libc/stdlib/strtoull.cpp | 1 + libc/wchar/wcstol.cpp | 1 + libc/wchar/wcstoll.cpp | 1 + libc/wchar/wcstoul.cpp | 1 + libc/wchar/wcstoull.cpp | 1 + 12 files changed, 14 insertions(+), 2 deletions(-) commit 1d7c157848088e771e7975b4703820e0b4752e88 Author: Jonas 'Sortie' Termansen Date: Tue May 12 22:03:08 2015 +0200 Fix ls closing stdout twice. utils/ls.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit f3e4be0d83022d9613417f0ca7d8b30cf6ce5b14 Author: Jonas 'Sortie' Termansen Date: Mon May 11 15:49:29 2015 +0200 Fix getdelim(3). init/init.c++ | 3 +++ libc/stdio/getdelim.cpp | 69 +++++++++++++++++++++++-------------------------- tix/util.h | 5 ++++ utils/colormake.cpp | 2 ++ utils/column.cpp | 3 +-- utils/sort.cpp | 1 + utils/tail.cpp | 1 + utils/uniq.cpp | 1 + 8 files changed, 47 insertions(+), 38 deletions(-) commit 86c5bc52b3764a2f286f4ebbd7d0bfd145d874fa Author: Jonas 'Sortie' Termansen Date: Sat May 9 21:58:28 2015 +0200 Fix PipeNode destructor not being virtual. kernel/pipe.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit e259e8ae52fe3fd985b5964c391d11d88546cc15 Author: Jonas 'Sortie' Termansen Date: Sun May 10 16:55:57 2015 +0200 Use standard compiler environment variables. build-aux/compiler.mak | 70 +++++++++++++++++++++++--------------------------- kernel/Makefile | 16 ++++++------ libc/Makefile | 24 ++++++++--------- libm/Makefile | 8 +++--- libpthread/Makefile | 6 ++--- 5 files changed, 59 insertions(+), 65 deletions(-) commit d05bc1c6f57328c0208a9d152b45830bfbd0a314 Author: Jonas 'Sortie' Termansen Date: Sat Apr 25 23:11:21 2015 +0200 Fix foo-all-archs targets. Makefile | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit 0f9a3d93a65b261b804802c3a267207aa31cbb3a Author: Jonas 'Sortie' Termansen Date: Sat Apr 25 16:02:30 2015 +0200 Use SORTIX_SYSROOT instead of SYSROOT in cross-development. doc/cross-development | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit a5d14bf3c0991a388d59659ce85b1463ea0da15c Author: Jonas 'Sortie' Termansen Date: Sat Apr 25 16:01:55 2015 +0200 Link to the preferred users-cs.au.dk instead. README | 2 +- doc/cross-development | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit dd26ee724a4c59f01a13379be4ef683dec54ed19 Author: Jonas 'Sortie' Termansen Date: Fri Apr 24 18:56:32 2015 +0200 Fix tix-build honoring empty triplet variables. tix/tix-build.cpp | 4 ++-- tix/util.h | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) commit b2addd979c74ce667316a1f8d8087f78df937fba Author: Jonas 'Sortie' Termansen Date: Fri Apr 24 18:35:08 2015 +0200 Fix tix-build considering empty strings as valid target triplets. tix/tix-build.cpp | 7 +++++++ 1 file changed, 7 insertions(+) commit 57cd616f5954761d57c4c7d011d18f7df1c2e1c1 Author: Jonas 'Sortie' Termansen Date: Fri Apr 24 17:57:36 2015 +0200 Ignore makefile projects failing to clean. tix/tix-build.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 8afe04a35dbc269df8ec67672a5dd476cb165843 Author: Jonas 'Sortie' Termansen Date: Fri Apr 24 13:26:20 2015 +0200 Fix tix-build not handling gcc compatibility issues too. tix/tix-build.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 62514a1e1eb3710ef7a1357347e6eab8b8b10149 Author: Jonas 'Sortie' Termansen Date: Thu Apr 23 22:12:24 2015 +0200 Fix root Makefile setting SYSROOT for build tools targets. Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 28744951114e6919c6d293b5bb0b671e7ffb9b2b Author: Jonas 'Sortie' Termansen Date: Fri Jan 23 00:07:15 2015 +0100 Remove per-architecture exec-prefixes from filesystem hierarchy. Makefile | 52 +++++++---------- build-aux/build-ports.sh | 8 ++- build-aux/compiler.mak | 7 ++- build-aux/dirs.mak | 2 +- build-aux/platform.mak | 10 ---- doc/user-guide | 7 +-- init/init.c++ | 11 +--- kernel/Makefile | 4 +- kernel/kernel.cpp | 15 +---- tix/tix-build.cpp | 144 +++++++++++++++++++++++++++++++++++++---------- tix/tix-collection.cpp | 25 ++++++-- tix/tix-install.cpp | 32 +++++------ 12 files changed, 189 insertions(+), 128 deletions(-) commit 25482f875e3f098a302f439a1298003cee641045 Author: Jonas 'Sortie' Termansen Date: Fri Feb 6 16:20:54 2015 +0100 Remove mktemp(3). doc/obsolete-stuff | 9 +++++++++ libc/Makefile | 1 - libc/include/stdlib.h | 4 ---- libc/stdlib/mktemp.cpp | 37 ------------------------------------- 4 files changed, 9 insertions(+), 42 deletions(-) commit 3db8ef705e77114128b3804a1c4c83f77856d006 Author: Jonas 'Sortie' Termansen Date: Sat Apr 11 22:48:36 2015 +0200 Fix suggested porting-guide template makefile. doc/porting-guide | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) commit 5444d1014e8a7359b955e6cf398541c4b3fd34aa Author: Jonas 'Sortie' Termansen Date: Mon Feb 16 15:33:16 2015 +0100 Fix extfs leaking inode reference on readlink failure. ext/extfs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e0ee3017e12f27a9f1998bdbe9546f3061a2f970 Author: Jonas 'Sortie' Termansen Date: Mon Feb 16 15:27:33 2015 +0100 Fix extfs FUSE backend missing symbolic link support. ext/extfs.cpp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) commit be1585488d509d81072bd22898eb265bd11203c6 Author: Jonas 'Sortie' Termansen Date: Sat Mar 21 13:20:33 2015 +0100 Fix editor rendering special characters to the terminal. editor/terminal.c++ | 6 ++++++ 1 file changed, 6 insertions(+) commit 38f8384d78bc89586b8d47d5c4ffe0e5e6c65a45 Author: Jonas 'Sortie' Termansen Date: Sun Mar 15 20:37:03 2015 +0100 Fix ungetc EOF having side effects. libc/stdio/ungetc_unlocked.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit 0a63d26bf78ea89fcb38dd386a1df9b5ae07db45 Author: Jonas 'Sortie' Termansen Date: Sat Mar 7 13:33:10 2015 +0100 Fix double semicolons. editor/display.c++ | 2 +- libc/include/msr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6371e33d7136116366e0f1e7bdb561f74215c05a Author: Jonas 'Sortie' Termansen Date: Thu Apr 2 15:34:07 2015 +0200 Fix shadowed variable in shell. sh/sh.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 1144a7bd99083cf67f189b6cc6278b740e9200e8 Author: Jonas 'Sortie' Termansen Date: Wed Apr 1 00:24:51 2015 +0200 Fix unmount double unref. kernel/vnode.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit d383ada0d84297e553bda22126f0498a56a06751 Author: Jonas 'Sortie' Termansen Date: Tue Feb 17 21:19:39 2015 +0100 Fix fake kernel entropy being entirely static. kernel/random.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit 3bef590a0fe948866d52948c9e47fb7fc511a4ec Author: Jonas 'Sortie' Termansen Date: Mon Feb 16 16:33:40 2015 +0100 Fix shell tab-completion PATH parsing. sh/sh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d511bfb75b93ae56a3700bd443401ae2c5b43587 Author: Jonas 'Sortie' Termansen Date: Mon Feb 16 14:23:34 2015 +0100 Fix partition inode type and stat method. kernel/partition.cpp | 20 ++++++++++++++++++-- kernel/partition.h | 3 ++- 2 files changed, 20 insertions(+), 3 deletions(-) commit 472e31a9a152873f807fd58d2878d9c302484f07 Author: Jonas 'Sortie' Termansen Date: Mon Feb 16 14:22:20 2015 +0100 Fix exit_thread(2) passing unaligned sizes to UnmapMemory. kernel/thread.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 8eae7f359a7511127136b0d1f49c4ec1cd2a57ca Author: Jonas 'Sortie' Termansen Date: Sun Feb 15 12:58:17 2015 +0100 Fix shell lexical chdir slash appending and fd leaks. sh/sh.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) commit 0806a9dfb14851b3758a1194ccf5a0b123be3468 Author: Jonas 'Sortie' Termansen Date: Sun Feb 15 12:54:49 2015 +0100 Fix typo in kernel multiboot compliance check. kernel/kernel.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 0087b43c3b5e2d939a53e8e3229d9cd58c15cf7b Author: Jonas 'Sortie' Termansen Date: Wed Mar 11 13:59:03 2015 +0100 Migrate to gitlab. README | 4 ++-- doc/cross-development | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit 825029a24ac76bc37c5599adb25b63066f3153c5 Author: Jonas 'Sortie' Termansen Date: Wed Feb 11 17:41:30 2015 +0100 Fix kernel Makefile cleaning root directory files if CPU is unset. kernel/Makefile | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) commit 60f85af7c4137348e830f9525c4f2032f94c4bb5 Author: Jonas 'Sortie' Termansen Date: Wed Feb 11 17:35:03 2015 +0100 Fix strtol multiplication overflow check. libc/stdlib/strtol.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0096eb82a3755e280b316438708800fbfda73d37 Author: Jonas 'Sortie' Termansen Date: Mon Feb 9 20:45:24 2015 +0100 Fix make -p typo in doc/cross-development. doc/cross-development | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8cd4c1f5a04dbace6a7622f5a34d5aecbf6ae8f8 Author: Jonas 'Sortie' Termansen Date: Fri Feb 6 16:18:11 2015 +0100 Add mkdtemp(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/stdlib/mkdtemp.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) commit f0e3e2cfef611574d5a35bb2d9adfb9605e4d6f7 Author: Jonas 'Sortie' Termansen Date: Fri Feb 6 16:02:59 2015 +0100 Add mkostemps(3) family. libc/Makefile | 3 +++ libc/include/stdlib.h | 5 +++- libc/stdlib/mkostemp.cpp | 30 +++++++++++++++++++++ libc/stdlib/mkostemps.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++++ libc/stdlib/mkstemp.cpp | 39 +++------------------------- libc/stdlib/mkstemps.cpp | 30 +++++++++++++++++++++ 6 files changed, 136 insertions(+), 37 deletions(-) commit 472bba3db35fb19d2b2b3cb1d00c04461e09dafd Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 19:17:21 2015 +0100 Add __fseterr for gnulib compatibility. libc/include/stdio_ext.h | 3 ++- libc/stdio/fseterr.cpp | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) commit b2f1c72cc79cc6f31d2ebad5630d666c3327d254 Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 17:01:13 2015 +0100 Remove _WANT_ENVIRON remnants. libc/unistd/execv.cpp | 1 - libc/unistd/execvp.cpp | 1 - 2 files changed, 2 deletions(-) commit 577323b9508830cfb1996e6c45f800e2ba34daaa Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 18:20:53 2015 +0100 Update the ioleast family to current coding conventions. ext/ioleast.h | 117 +++++++++++++++++++++++-------------------- libc/ioleast/preadleast.cpp | 32 ++++++------ libc/ioleast/pwriteleast.cpp | 32 ++++++------ libc/ioleast/readleast.cpp | 32 ++++++------ libc/ioleast/writeleast.cpp | 32 ++++++------ mkinitrd/ioleast.h | 117 +++++++++++++++++++++++-------------------- 6 files changed, 194 insertions(+), 168 deletions(-) commit 56267517ec027a246c79f2558135a7615d574330 Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 17:17:20 2015 +0100 Update ttyname_r to current coding conventions. libc/unistd/ttyname_r.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit f384fcdff193ed1d5317e39c1e015b62c7445204 Author: Jonas 'Sortie' Termansen Date: Fri Jan 16 01:15:24 2015 +0100 Run time(1) children in their own process group. utils/time.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit ebb75f656c0500c28015f4727957d6fa02350b84 Author: Jonas 'Sortie' Termansen Date: Tue Jan 27 21:46:08 2015 +0100 Honor O_EXCL only if O_CREAT. ext/inode.cpp | 2 +- kernel/fs/kram.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 4f7c5ebdd3422cc828047d1e76b4205d0d1fa778 Author: Jonas 'Sortie' Termansen Date: Fri Jan 16 01:18:40 2015 +0100 Fix PCI code. kernel/Makefile | 1 + kernel/include/sortix/kernel/pci.h | 73 ++++++++++++++++++++++++++++++---- kernel/pci.cpp | 53 +++++++++++++++++-------- kernel/x86-family/ioport.cpp | 80 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 184 insertions(+), 23 deletions(-) commit 1bc265041380560bbf0f004f5baf1e726588e261 Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 17:19:20 2015 +0100 Fix inclusion style. libc/fcntl/openat.cpp | 1 + libc/signal/kill.cpp | 1 + libc/signal/raise.cpp | 1 + libc/unistd/dup2.cpp | 1 + libc/unistd/execve.cpp | 1 + libc/unistd/faccessat.cpp | 1 + libc/unistd/fchdir.cpp | 1 + libc/unistd/fchroot.cpp | 1 + libc/unistd/getpagesize.cpp | 1 + libc/unistd/getpid.cpp | 1 + libc/unistd/getppid.cpp | 1 + libc/unistd/isatty.cpp | 1 + libc/unistd/lseek.cpp | 1 + libc/unistd/memstat.cpp | 1 + libc/unistd/tfork.cpp | 1 + libc/unistd/truncateat.cpp | 1 + libc/unistd/unlinkat.cpp | 1 + 17 files changed, 17 insertions(+) commit 8322d5f82cdb20c115005ffebb5b8853324cd25b Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 17:06:48 2015 +0100 Fix getlogin_r memory leak. libc/unistd/getlogin_r.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a22cca77f56ae4cac8726d7fad9b5ea4d8d8625a Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 13:16:23 2015 +0100 Fix extfs O_DIRECTORY error codes. ext/inode.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 22a510e9577e73d4f044a25adbdd89dd568f7fc4 Author: Jonas 'Sortie' Termansen Date: Sat Jan 31 15:04:28 2015 +0100 Fix extfs uninitialized inode members. ext/inode.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 3d6fc8438ab2b5c94ffb00a6d4325d8217705a41 Author: Jonas 'Sortie' Termansen Date: Sat Jan 31 15:02:44 2015 +0100 Fix extfs chmod never succeeding. ext/extfs.cpp | 1 + 1 file changed, 1 insertion(+) commit 3754dbd5cd9b6a1f15f0f8baf1c3191d52a7d9b7 Author: Jonas 'Sortie' Termansen Date: Fri Jan 30 15:45:17 2015 +0100 Fix extfs fuse frontend not compiling. ext/ioleast.cpp | 73 --------------------------------------------------------- 1 file changed, 73 deletions(-) commit 231f73c4f982987773be5a96370d913e5aaf567c Author: Jonas 'Sortie' Termansen Date: Thu Jan 29 21:06:06 2015 +0100 Fix extfs symbolic link access and truncation bugs. ext/extfs.cpp | 4 ++-- ext/inode.cpp | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) commit 00f9af4bf37c48905152728dc7dbf48728239f5a Author: Jonas 'Sortie' Termansen Date: Fri Jan 16 01:14:42 2015 +0100 Fix extfs filesystem typo. ext/extfs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e76d4a90c5148a7b25c97b91ce56aa14f80bd7df Author: Jonas 'Sortie' Termansen Date: Wed Feb 4 18:55:45 2015 +0100 Silence maybe initialized warning in pager. utils/pager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bb70eef85bbe9c322e1b3d55330bc814918e7331 Author: Jonas 'Sortie' Termansen Date: Fri Jan 23 00:28:39 2015 +0100 Replace system call array types with pointers. kernel/include/sortix/kernel/syscall.h | 10 +++++----- kernel/io.cpp | 6 +++--- kernel/pipe.cpp | 4 ++-- kernel/process.cpp | 10 +++++----- libc/sys/stat/futimens.cpp | 1 - libc/sys/stat/utimensat.cpp | 1 - 6 files changed, 15 insertions(+), 17 deletions(-) commit 88d808bea3c5515b856e3ea9666457b4f5f3f7fb Author: Jonas 'Sortie' Termansen Date: Fri Jan 23 14:52:04 2015 +0100 Fix trianglix for Sortix defaulting to a wrong prefix. trianglix/Makefile | 1 + 1 file changed, 1 insertion(+) commit 31023c263b17c7118fe2455230653b86e356331c Author: Jonas 'Sortie' Termansen Date: Thu Jan 22 02:34:39 2015 +0100 Fix style issues in kernel system call header. kernel/include/sortix/kernel/syscall.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 377eec2061c5a351a80f9adcce516d73aeff0cf2 Author: Jonas 'Sortie' Termansen Date: Mon Jan 19 17:57:42 2015 +0100 Add clean-build-tools target. Makefile | 6 ++++++ doc/cross-development | 1 + 2 files changed, 7 insertions(+) commit 69159d275fc1bf0e7378a33d0bec5aa89d42db37 Author: Jonas 'Sortie' Termansen Date: Mon Jan 19 16:27:27 2015 +0100 Fix mkinitrd and initrdfs endian issues. mkinitrd/Makefile | 4 +-- mkinitrd/initrdfs.cpp | 27 +++++++++++---- mkinitrd/mkinitrd.cpp | 12 ++++++- mkinitrd/serialize.cpp | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ mkinitrd/serialize.h | 37 +++++++++++++++++++++ 5 files changed, 160 insertions(+), 9 deletions(-) commit 8743a0d4f998ae22190674c026385757779dd1f8 Author: Jonas 'Sortie' Termansen Date: Mon Jan 19 17:57:05 2015 +0100 Fix top-level EXEC_PREFIX interfering with install-build-tools. Makefile | 5 ----- 1 file changed, 5 deletions(-) commit 6df61ecb3ae4239130db63bfa1849a9348b50055 Author: Jonas 'Sortie' Termansen Date: Mon Jan 5 20:33:18 2015 +0100 Add June 30 2015 leap second. libc/time/gmtime_r.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 8b5960bbff49d405e969f91c5699bc501064f53f Author: Jonas 'Sortie' Termansen Date: Thu Jan 1 17:20:14 2015 +0100 Begin development of Sortix 1.0. build-aux/version.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e94290ed3ff1a99fe877e3c5e832f2657d62aaa3 Author: Jonas 'Sortie' Termansen Date: Tue Dec 30 02:53:11 2014 +0100 Update version number to 0.9. build-aux/version.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b4a74a93adeea037a3b0b4bc3ccbe5f28248f083 Author: Jonas 'Sortie' Termansen Date: Sat Mar 16 22:39:37 2013 +0100 Add the Trianglix Desktop Environment. Makefile | 1 + doc/user-guide | 5 + trianglix/.gitignore | 1 + trianglix/Makefile | 27 + trianglix/trianglix.cpp | 1973 +++++++++++++++++++++++++++++++++++++++++++++++ trianglix/vector.h | 132 ++++ 6 files changed, 2139 insertions(+) commit 9e67c78271d79be8719837fd2fc53ff297dcd148 Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 20:18:00 2014 +0100 Add unicode replacement character onto VGA font. kernel/vga.cpp | 2 ++ kernel/vgatextbuffer.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) commit 6c339085fe14262e0f7de302bca82ed0482b3113 Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 19:31:11 2014 +0100 Highlight binary constants in the editor. editor/highlight.c++ | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit 524a028a4fa245358283ffc4abdd4d0cf6aaf71d Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 19:18:20 2014 +0100 Forward compatibility with future rename of _start to __start. kernel/x64/boot.S | 4 ++++ kernel/x86/boot.S | 5 +++++ libc/x64/crt0.S | 4 ++++ libc/x86/crt0.S | 4 ++++ 4 files changed, 17 insertions(+) commit ab66b910861f5e1a49e39d80164b6b728bbb42d4 Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 16:40:11 2014 +0100 Fix NOTO typo. kernel/process.cpp | 2 +- utils/which.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit a4ee2e3724a6555cb23b46c4fbd0418fc03d0889 Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 15:52:19 2014 +0100 Add space as an alias for page down in pager(1). utils/pager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9c2f89d56cee59dca6f5e29e448706e81ee05686 Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 15:51:24 2014 +0100 Work around a getdelim bug in column(1). utils/column.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit 06cfd44323a729c8f23919ef490a3d01f44e13b0 Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 03:52:06 2014 +0100 Change BRAND_KERNEL_NAME to Sortix. libc/include/brand.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d14a9fff72a0ed749d7dd847c30eedcaacb13ae8 Author: Jonas 'Sortie' Termansen Date: Sun Dec 28 03:04:44 2014 +0100 Update documentation for the upcoming 0.9 release. README | 38 +++++++++-------- doc/user-guide | 112 +++++++++++++++++++++++++++------------------------ libc/include/brand.h | 4 +- 3 files changed, 83 insertions(+), 71 deletions(-) commit d238518c35964e10edad52d0f1a166757e956ae6 Author: Jonas 'Sortie' Termansen Date: Sat Dec 27 23:43:14 2014 +0100 Rewrite pager(1). utils/pager.cpp | 436 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 362 insertions(+), 74 deletions(-) commit a03546be01e95672866af766478ccadbf2a9e212 Author: Jonas 'Sortie' Termansen Date: Sat Dec 27 23:42:34 2014 +0100 Add tix-build support for catching warnings. tix/tix-build.cpp | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) commit fc1531ad8d35fbe23289e8cf9f3deef88ede4d30 Author: Jonas 'Sortie' Termansen Date: Wed Oct 1 19:01:03 2014 +0200 Refactor root makefile install target. Makefile | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 4 deletions(-) commit 721157defa376acf02b4deb9cce443de56e66a7e Author: Jonas 'Sortie' Termansen Date: Tue Sep 30 22:59:09 2014 +0200 Improve init. init/init.c++ | 123 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 92 insertions(+), 31 deletions(-) commit 77cf804ed2d20f24ae2718f1f5e4d27c972e03e2 Author: Jonas 'Sortie' Termansen Date: Sat Oct 4 17:34:26 2014 +0200 Move init to its own directory. Makefile | 1 + init/.gitignore | 2 ++ init/Makefile | 32 ++++++++++++++++++++++++++++++++ utils/init.cpp => init/init.c++ | 4 ++-- utils/.gitignore | 1 - utils/Makefile | 1 - 6 files changed, 37 insertions(+), 4 deletions(-) commit 2abd0cf754fd5c2fe302656716c72cca15c68fd2 Author: Jonas 'Sortie' Termansen Date: Wed May 7 14:15:27 2014 +0200 Add unmount(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/unmount.cpp | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 127 insertions(+) commit d890d3082d405b82762c91bc4da42e57e984dfcb Author: Jonas 'Sortie' Termansen Date: Wed May 7 14:14:13 2014 +0200 Add umount(2) and unmountat(2). ext/extfs.cpp | 346 ++++++++++----------- kernel/descriptor.cpp | 88 +++++- kernel/fs/user.cpp | 160 ++++------ kernel/fs/user.h | 9 +- kernel/include/sortix/kernel/descriptor.h | 8 + kernel/include/sortix/kernel/inode.h | 2 + kernel/include/sortix/kernel/mtable.h | 4 +- kernel/include/sortix/kernel/syscall.h | 2 + kernel/include/sortix/kernel/vnode.h | 3 + kernel/include/sortix/mount.h | 9 +- kernel/include/sortix/syscall.h | 4 +- kernel/inode.cpp | 5 + kernel/io.cpp | 70 ++++- kernel/kernel.cpp | 4 - kernel/mtable.cpp | 8 +- kernel/net/fs.cpp | 2 +- kernel/syscall.cpp | 2 + kernel/vnode.cpp | 120 ++++++- libc/Makefile | 10 +- libc/fsmarshall/fsm_bootstraprootfd.cpp | 38 --- .../fsmarshall/{fsm_listen.cpp => fsm_mountat.cpp} | 14 +- libc/fsmarshall/fsm_recv.cpp | 32 -- libc/fsmarshall/fsm_send.cpp | 33 -- libc/include/fsmarshall-msg.h | 15 +- libc/include/fsmarshall.h | 30 +- .../fsm_closechannel.cpp => include/sys/mount.h} | 25 +- .../fsm_mkserver.cpp => sys/mount/unmount.cpp} | 14 +- .../mount/unmountat.cpp} | 15 +- 28 files changed, 597 insertions(+), 475 deletions(-) commit e88a3ef65426216e6452f8c2b6643406322fa546 Author: Jonas 'Sortie' Termansen Date: Fri Dec 26 14:17:31 2014 +0100 Fix cp(1) error message. utils/cp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f0ae50e35d872457bf1d3a34ea72c79414449ae3 Author: Jonas 'Sortie' Termansen Date: Tue Dec 9 15:33:04 2014 +0100 Warn on mktemp use. libc/include/stdlib.h | 3 +++ 1 file changed, 3 insertions(+) commit 26f40009832473566739618295bce7ff47fd3ff9 Author: Jonas 'Sortie' Termansen Date: Tue Dec 9 15:23:02 2014 +0100 Warn on rand and srand use. libc/include/stdlib.h | 6 ++++++ 1 file changed, 6 insertions(+) commit 60305cc589c80164bdcc336223b9110eea452472 Author: Jonas 'Sortie' Termansen Date: Sun Oct 5 00:03:49 2014 +0200 Implement modified time in extfs. ext/inode.cpp | 16 ++++++++++++++++ ext/inode.h | 1 + 2 files changed, 17 insertions(+) commit 1119aa695c0f6cb36419eb5f8edfea5fe6244160 Author: Jonas 'Sortie' Termansen Date: Thu Oct 2 11:38:17 2014 +0200 Notes on extfs speedup. ext/blockgroup.cpp | 2 ++ ext/filesystem.cpp | 14 ++++++++++++++ 2 files changed, 16 insertions(+) commit 677435aa94f5e1baeec9a04ed3934c10d1676d76 Author: Jonas 'Sortie' Termansen Date: Thu Oct 2 00:41:10 2014 +0200 Hash extfs inode cache lookup. ext/filesystem.cpp | 5 ++++- ext/filesystem.h | 3 +++ ext/inode.cpp | 11 +++++++++++ ext/inode.h | 2 ++ 4 files changed, 20 insertions(+), 1 deletion(-) commit dc213256c0b01cc2de188fffb86a50984db8c624 Author: Jonas 'Sortie' Termansen Date: Wed Oct 1 22:26:54 2014 +0200 Optimize extfs syncing blocks. ext/block.cpp | 17 ++++++++++++++++- ext/block.h | 2 ++ ext/device.cpp | 6 ++++-- ext/device.h | 1 + 4 files changed, 23 insertions(+), 3 deletions(-) commit 8f0db0f541ac8d24ccf5c79e75dc980f3c5ddbd8 Author: Jonas 'Sortie' Termansen Date: Wed Oct 1 22:16:08 2014 +0200 Optimize extfs syncing inodes. ext/filesystem.cpp | 5 +++-- ext/filesystem.h | 1 + ext/inode.cpp | 22 +++++++++++++++++++--- ext/inode.h | 2 ++ 4 files changed, 25 insertions(+), 5 deletions(-) commit 572481098a58ea9904791cbd610f7ed126a5868c Author: Jonas 'Sortie' Termansen Date: Wed Oct 1 16:50:22 2014 +0200 Add uuid support to extfs. ext/extfs.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) commit f6b1056de82702096b3974cfa0f5165c2802a55f Author: Jonas 'Sortie' Termansen Date: Tue Sep 30 22:44:09 2014 +0200 Update extfs to current coding conventions. ext/Makefile | 2 +- ext/block.cpp | 1 - ext/extfs.cpp | 68 +++++++++++++++++++++++++++++++---------------------------- 3 files changed, 37 insertions(+), 34 deletions(-) commit 29ca566d43c390fe54b7f51764c84aaebc20e80e Author: Jonas 'Sortie' Termansen Date: Sat Aug 2 11:48:47 2014 +0200 Improve editor syntax highlighting of include statements. editor/highlight.c++ | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) commit e97032761ef93d1f5d0442f43a4226334a4d087d Author: Jonas 'Sortie' Termansen Date: Fri Aug 1 12:12:29 2014 +0200 Add line numbering to editor. doc/user-guide | 1 + editor/display.c++ | 20 +++++++++++++++++++- editor/editor.h++ | 1 + editor/modal.c++ | 23 +++++++++++++++++++++++ editor/modal.h++ | 4 ++++ 5 files changed, 48 insertions(+), 1 deletion(-) commit 915ce1367bec7c83f625cc2737ce0a4f2b6c35d9 Author: Jonas 'Sortie' Termansen Date: Fri Aug 1 11:33:48 2014 +0200 Refactor editor viewport positioning. editor/display.c++ | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) commit 18539b22409ae19898abdbf126dd80cfdfab8651 Author: Jonas 'Sortie' Termansen Date: Fri Aug 1 10:46:45 2014 +0200 Handle movement between editor lines with tabs. editor/command.c++ | 36 ++++++++++++++++++++++-------------- editor/display.c++ | 42 ++++++++++++++++++++++++++++++++++++++++++ editor/display.h++ | 8 ++++++++ 3 files changed, 72 insertions(+), 14 deletions(-) commit 8cf873e6d31db90f3a9c10c5c3452ded76af8a08 Author: Jonas 'Sortie' Termansen Date: Thu Jul 31 19:56:11 2014 +0200 Add control-arrow commands to editor. editor/command.c++ | 150 ++++++++++++++++++++++++++++++++++++++++++++--------- editor/command.h++ | 10 ++++ editor/input.c++ | 8 +++ 3 files changed, 144 insertions(+), 24 deletions(-) commit 08461c72fa649873b24608f5abdddd6927bb754c Author: Jonas 'Sortie' Termansen Date: Sat Aug 23 21:26:13 2014 +0200 Move editor to its own subdirectory. Makefile | 1 + doc/user-guide | 12 +- editor/.gitignore | 2 + editor/Makefile | 41 + editor/command.c++ | 734 +++++++++++++++ editor/command.h++ | 70 ++ editor/cursor.c++ | 132 +++ editor/cursor.h++ | 46 + editor/display.c++ | 233 +++++ editor/display.h++ | 44 + editor/editor.c++ | 276 ++++++ editor/editor.h++ | 102 +++ editor/highlight.c++ | 495 ++++++++++ editor/highlight.h++ | 31 + editor/input.c++ | 196 ++++ editor/input.h++ | 40 + editor/modal.c++ | 304 +++++++ editor/modal.h++ | 48 + editor/multibyte.c++ | 161 ++++ editor/multibyte.h++ | 31 + editor/terminal.c++ | 142 +++ editor/terminal.h++ | 104 +++ utils/.gitignore | 1 - utils/Makefile | 1 - utils/editor.cpp | 2472 -------------------------------------------------- 25 files changed, 3241 insertions(+), 2478 deletions(-) commit 2d6481a5e713c5fe72de7c65394572577514bd01 Author: Jonas 'Sortie' Termansen Date: Tue Sep 23 01:08:50 2014 +0200 Lexically change working directory in shell. sh/sh.cpp | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 163 insertions(+), 10 deletions(-) commit 9d106004fa616ee0e57a2b284e68abaab48bb357 Author: Jonas 'Sortie' Termansen Date: Tue Sep 16 16:05:59 2014 +0200 Use shell tokenization to recognize complete lines. sh/sh.cpp | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 120 insertions(+), 16 deletions(-) commit 2bed2f7ce2861a48a3acd386276ad47393b7c304 Author: Jonas 'Sortie' Termansen Date: Mon Sep 15 23:43:01 2014 +0200 Improve shell line reading. sh/sh.cpp | 237 ++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 153 insertions(+), 84 deletions(-) commit 186ed275764877092d01d5f41f7eca8fedf15799 Author: Jonas 'Sortie' Termansen Date: Mon Sep 15 22:55:50 2014 +0200 Add option parsing to the shell. sh/sh.cpp | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 192 insertions(+), 44 deletions(-) commit 46d16f9e4ce84c730f7e442c679eb65f08ab7fa6 Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 01:06:16 2014 +0200 Use SHLVL to determine if a shell is outermost. sh/sh.cpp | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) commit 242cfcca12688433f4aec720bbb98a1277cbd28f Author: Jonas 'Sortie' Termansen Date: Fri Dec 27 00:26:37 2013 +0100 Add line editing, history and tab completion to shell. doc/user-guide | 8 + sh/sh.cpp | 1548 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 1413 insertions(+), 143 deletions(-) commit d8df7696922010f9d7f72081de5834597d6d662a Author: Jonas 'Sortie' Termansen Date: Thu Dec 4 17:39:16 2014 +0100 Move sh to its own directory. Makefile | 1 + doc/user-guide | 8 +++++++- sh/.gitignore | 2 ++ sh/Makefile | 30 ++++++++++++++++++++++++++++++ utils/sh.cpp => sh/proper-sh.cpp | 2 +- utils/sortix-sh.cpp => sh/sh.cpp | 2 +- utils/.gitignore | 2 -- utils/Makefile | 2 -- 8 files changed, 42 insertions(+), 7 deletions(-) commit 99f27d5eb16db453b4412970abb0421e927a3cbf Author: Jonas 'Sortie' Termansen Date: Thu Dec 4 18:10:05 2014 +0100 Fix pwd(1) unsetting PWD and exit code. utils/pwd.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 3917f4fee3d69c111e2623e4834e1b413e382409 Author: Jonas 'Sortie' Termansen Date: Tue Sep 23 00:38:53 2014 +0200 Use PWD in get_current_dir_name(3) if correct. libc/Makefile | 1 + libc/unistd/get_current_dir_name.cpp | 46 ++++++++++++++++++++++++++++++++++++ libc/unistd/getcwd.cpp | 16 ++++--------- 3 files changed, 52 insertions(+), 11 deletions(-) commit bbf454e1649c5659d20a2e36445864fe495b2794 Author: Jonas 'Sortie' Termansen Date: Thu Jun 26 01:04:42 2014 +0200 Rewrite program loader. kernel/elf.cpp | 660 ++--- kernel/elf.h | 211 -- kernel/include/sortix/{elf-note.h => kernel/elf.h} | 33 +- kernel/kernel.cpp | 34 +- kernel/process.cpp | 5 +- libc/include/elf.h | 3091 ++++++++++++++++++++ libc/include/system-elf.h | 94 + libpthread/pthread_initialize.c++ | 3 +- 8 files changed, 3520 insertions(+), 611 deletions(-) commit 261b95e0a6fd324faed74df96e57ec0d7ac063df Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 18:48:25 2014 +0200 Add reallocarray(3). libc/Makefile | 1 + libc/include/stdlib.h | 1 + libc/stdlib/reallocarray.cpp | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) commit 5143f01b0a447b8fd618febab6b35a0b11a70afe Author: Jonas 'Sortie' Termansen Date: Thu Jun 19 01:47:55 2014 +0200 Remove sbrk(2). Note: This is an incompatible ABI change. kernel/elf.cpp | 6 ---- kernel/include/sortix/kernel/syscall.h | 1 - kernel/include/sortix/mman.h | 1 - kernel/include/sortix/syscall.h | 2 +- kernel/memorymanagement.cpp | 2 +- kernel/process.cpp | 56 ---------------------------------- kernel/syscall.cpp | 2 +- libc/Makefile | 1 - libc/include/unistd.h | 4 +-- libc/unistd/sbrk.cpp | 34 --------------------- 10 files changed, 4 insertions(+), 105 deletions(-) commit 74247eb71e35c03db6dd89c63743fb7fca86afd7 Author: Jonas 'Sortie' Termansen Date: Wed Oct 23 00:39:45 2013 +0200 Rewrite malloc(3). libc/Makefile | 10 +- libc/include/malloc.h | 613 +++++++++++++++++++++++- libc/malloc/__heap_expand_current_part.cpp | 183 ++++++++ libc/malloc/__heap_lock.cpp | 47 ++ libc/malloc/__heap_unlock.cpp | 47 ++ libc/malloc/__heap_verify.cpp | 42 ++ libc/malloc/heap_get_paranoia.cpp | 45 ++ libc/malloc/heap_init.cpp | 41 ++ libc/stdlib/free.cpp | 57 +++ libc/stdlib/heap.cpp | 729 ----------------------------- libc/stdlib/malloc.cpp | 104 ++++ libc/stdlib/realloc.cpp | 127 +++++ 12 files changed, 1312 insertions(+), 733 deletions(-) commit 4e9746c31473163b1abe868ec0e9bbef24d40cb1 Author: Jonas 'Sortie' Termansen Date: Sun Nov 30 16:49:14 2014 +0100 Add yes(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/yes.cpp | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 111 insertions(+) commit 5d0a1c956bfe4116b358da5bcc4facf8887aaa26 Author: Jonas 'Sortie' Termansen Date: Thu Nov 27 18:37:05 2014 +0100 Fix math.h not providing some C99 functions. libm/include/math.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit dd950fc996cecbd9684b980dc3aefbf32ec0a46b Author: Jonas 'Sortie' Termansen Date: Wed Nov 5 21:36:14 2014 +0100 Add AT_EACCESS support to faccessat(2). kernel/io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ae4534aae1fc860d465f87caa7cf4f5d965c88b6 Author: Jonas 'Sortie' Termansen Date: Mon Oct 27 00:17:09 2014 +0100 Update kernel/descriptor.cpp to current coding conventions. kernel/descriptor.cpp | 179 +++++++++++++++++------------- kernel/include/sortix/kernel/descriptor.h | 12 +- kernel/io.cpp | 2 +- 3 files changed, 112 insertions(+), 81 deletions(-) commit 52abb4d89971340ceaed04125fd2689e7f316f14 Author: Jonas 'Sortie' Termansen Date: Sun Oct 19 15:04:48 2014 +0200 Refuse to implement gethostent(3). libc/Makefile | 3 --- libc/include/netdb.h | 17 +++++------------ libc/netdb/endhostent.cpp | 34 ---------------------------------- libc/netdb/gethostent.cpp | 34 ---------------------------------- libc/netdb/sethostent.cpp | 34 ---------------------------------- 5 files changed, 5 insertions(+), 117 deletions(-) commit ba1e0882ec7030eb274e539566acc2b21133d27f Author: Jonas 'Sortie' Termansen Date: Fri Oct 17 00:04:22 2014 +0200 Initialize system call table at compile time. kernel/alarm.cpp | 8 -- kernel/alarm.h | 31 ----- kernel/fs/user.cpp | 15 ++- kernel/hostname.cpp | 14 +- kernel/hostname.h | 36 ----- kernel/identity.cpp | 34 ++--- kernel/identity.h | 36 ----- kernel/include/sortix/kernel/process.h | 3 - kernel/include/sortix/kernel/random.h | 31 ----- kernel/include/sortix/kernel/syscall.h | 145 +++++++++++++++++++- kernel/include/sortix/kernel/thread.h | 3 - kernel/include/sortix/kernel/user-timer.h | 4 - kernel/include/sortix/syscall.h | 2 +- kernel/io.cpp | 214 ++++++++++-------------------- kernel/io.h | 36 ----- kernel/kernel.cpp | 52 -------- kernel/kernelinfo.cpp | 13 +- kernel/kernelinfo.h | 37 ------ kernel/memorymanagement.cpp | 37 ++++-- kernel/pipe.cpp | 12 +- kernel/pipe.h | 40 ------ kernel/poll.cpp | 15 +-- kernel/poll.h | 36 ----- kernel/process.cpp | 36 ++--- kernel/random.cpp | 8 -- kernel/resource.cpp | 16 +-- kernel/resource.h | 36 ----- kernel/scheduler.cpp | 14 +- kernel/signal.cpp | 20 +-- kernel/syscall.cpp | 188 ++++++++++++++++++++++---- kernel/thread.cpp | 11 +- kernel/user-timer.cpp | 50 +++---- kernel/video.cpp | 15 ++- kernel/x64/syscall.S | 4 +- kernel/x86-family/x86-family.cpp | 16 +-- kernel/x86-family/x86-family.h | 38 ------ kernel/x86/syscall.S | 4 +- 37 files changed, 502 insertions(+), 808 deletions(-) commit 67cbc0715ca80347426909c26e2e9b660ae32164 Author: Jonas 'Sortie' Termansen Date: Thu Oct 9 17:31:52 2014 +0200 Clean up COM driver. kernel/com.cpp | 420 +++++++++++++++++++-------------------------------------- kernel/com.h | 9 +- 2 files changed, 139 insertions(+), 290 deletions(-) commit 3ad7ab4fc3ed7c5e3d627526ff202068607489a2 Author: Jonas 'Sortie' Termansen Date: Sun Oct 5 15:02:25 2014 +0200 Add gethostname(2) and sethostname(2). kernel/Makefile | 1 + kernel/hostname.cpp | 87 +++++++++++++++++++++++++++++++++++++++++ kernel/hostname.h | 36 +++++++++++++++++ kernel/include/sortix/limits.h | 36 +++++++++++++++++ kernel/include/sortix/syscall.h | 4 +- kernel/kernel.cpp | 4 ++ libc/Makefile | 1 + libc/include/unistd.h | 1 + libc/unistd/gethostname.cpp | 20 ++++------ libc/unistd/sethostname.cpp | 34 ++++++++++++++++ utils/sortix-sh.cpp | 6 ++- 11 files changed, 214 insertions(+), 16 deletions(-) commit 59262f6bf233976fa0344aaba1520bb20d157ce9 Author: Jonas 'Sortie' Termansen Date: Mon Sep 29 23:17:11 2014 +0200 Refactor interrupt handler registration. kernel/com.cpp | 10 ++++-- kernel/include/sortix/kernel/interrupt.h | 20 ++++++++++-- kernel/kb/ps2.cpp | 6 ++-- kernel/kb/ps2.h | 2 ++ kernel/x86-family/interrupt.cpp | 56 +++++++++++++++++++++++--------- kernel/x86-family/time.cpp | 6 +++- 6 files changed, 76 insertions(+), 24 deletions(-) commit ede6d8f800d67085b7feeb846e674ac6e53b4431 Author: Jonas 'Sortie' Termansen Date: Sat Oct 4 00:46:55 2014 +0200 Optimize pipe transfers using scheduler yield hints. kernel/pipe.cpp | 176 ++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 127 insertions(+), 49 deletions(-) commit 6a14b67feb61d30f6598c3e557209d84c45174c4 Author: Jonas 'Sortie' Termansen Date: Thu Oct 2 16:10:22 2014 +0200 Optimize userfs using scheduler yield hints. kernel/fs/user.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) commit 4c78239721ffb219866757bfb19b7c962cab610a Author: Jonas 'Sortie' Termansen Date: Thu Oct 2 15:37:41 2014 +0200 Implement yielding a timeslice to another thread. kernel/include/sortix/kernel/scheduler.h | 1 + kernel/include/sortix/kernel/thread.h | 4 ++ kernel/scheduler.cpp | 63 ++++++++++++++++++++++++++++---- kernel/thread.cpp | 2 + 4 files changed, 62 insertions(+), 8 deletions(-) commit 78d9620b0fdff853cd75dab919c6de64a1fc4161 Author: Jonas 'Sortie' Termansen Date: Sat Sep 27 13:34:13 2014 +0200 Clean up kernel attribute packed use. kernel/x86-family/gdt.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 117a7cda950056d0a32df2cb32b635ecd58483a0 Author: Jonas 'Sortie' Termansen Date: Thu Sep 25 15:36:19 2014 +0200 Update strndup(3) to current coding conventions. libc/string/strndup.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 1032530ebfe2777101c83f17bb2c9d36e93f7998 Author: Jonas 'Sortie' Termansen Date: Thu Sep 25 15:22:41 2014 +0200 Update strdup(3) to current coding conventions. libc/string/strdup.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit fb7db21a1be3414c2836735b4ef5c87dda28db97 Author: Jonas 'Sortie' Termansen Date: Thu Sep 25 15:15:11 2014 +0200 Update memcpy(3) to current coding style. libc/string/memcpy.cpp | 100 ++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 55 deletions(-) commit 163ecfcf550fc56299b88c1101d964da60ff4b43 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:51:52 2014 +0200 Update stpcpy(3) and wcpcpy(3) to current coding conventions. libc/string/stpcpy.cpp | 11 ++++++----- libc/wchar/wcpcpy.cpp | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) commit 9d3bf0f1641bd73e7203b4e95e4de212ee874ed5 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:24:27 2014 +0200 Update wcsspn(3) to current coding conventions. libc/wchar/wcsspn.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) commit 7911b5c66cf17a6557fa5a2a48900b9bbbe0f9ac Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:19:04 2014 +0200 Update wcspbrk(3) to current coding conventions. libc/wchar/wcspbrk.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit b4c7a6aa4ac809a685f18adab09760ef112d1ebe Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:18:45 2014 +0200 Update wcscspn(3) to current coding conventions. libc/wchar/wcscspn.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) commit 6b0060f2ec7edcf001a5a61b9ff002c601a49a9c Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:18:18 2014 +0200 Update strspn(3) to current coding conventions. libc/string/strspn.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) commit 0bb2ac34ec8183791bc2c2bf1b29b15903767111 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:18:00 2014 +0200 Update strpbrk(3) to current coding conventions. libc/string/strpbrk.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 8f30b923eeac11b868849a070faf108183c26966 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:17:35 2014 +0200 Update strcspn(3) to current coding conventions. libc/string/strcspn.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) commit ba0d5b3a09e13d51d868ff832b5003228df48bda Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:13:56 2014 +0200 Update memmove(3) to current coding conventions. libc/string/memmove.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) commit 51f25b0b654093c400d81ac376c626937743a584 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:06:53 2014 +0200 Update iswcntrl(3) to current coding conventions. libc/wctype/iswcntrl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cc43c96acc1e376b8c678259fd88da4d18bd71ac Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:02:47 2014 +0200 Update string compare family to current coding conventions. libc/string/strcasecmp.cpp | 7 ++++--- libc/string/strcmp.cpp | 7 ++++--- libc/string/strncasecmp.cpp | 9 +++++---- libc/string/strncmp.cpp | 9 +++++---- libc/wchar/wcscasecmp.cpp | 5 +++-- libc/wchar/wcscmp.cpp | 7 ++++--- libc/wchar/wcsncasecmp.cpp | 7 ++++--- libc/wchar/wcsncmp.cpp | 14 ++++++++------ 8 files changed, 37 insertions(+), 28 deletions(-) commit 2bbbc11246253909bf154a2efc543eb6413cf79a Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:01:26 2014 +0200 Update strcpy(3) and wcscpy(3) to current coding conventions. libc/string/strcpy.cpp | 10 +++++----- libc/wchar/wcscpy.cpp | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) commit 8ce7f2f41f1886fd93dc36dcc0d4ca5f46a0bc80 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:00:42 2014 +0200 Remove inclusion of from read(2) and write(2). libc/unistd/read.cpp | 1 - libc/unistd/write.cpp | 1 - 2 files changed, 2 deletions(-) commit 3a3fc76c8c17750faeae030f22d95734e9a7576c Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 17:16:46 2014 +0200 Remove tmpnam(3). libc/Makefile | 1 - libc/include/stdio.h | 5 ++--- libc/stdio/tmpnam.cpp | 41 ----------------------------------------- 3 files changed, 2 insertions(+), 45 deletions(-) commit 6ccc39c678a0340991462529de5bb34a29270ab3 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 16:19:35 2014 +0200 Warn on asctime and ctime use. libc/include/time.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 36c70760a0bf01860eb1fc3c174bd5647d9b83fa Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 16:03:36 2014 +0200 Warn on sprintf use. doc/obsolete-stuff | 12 ++++++++++++ libc/include/stdio.h | 6 ++++++ 2 files changed, 18 insertions(+) commit d668c5558eb8297c6d016082760447cab640ffc7 Author: Jonas 'Sortie' Termansen Date: Tue Dec 2 17:57:32 2014 +0100 Fix sprintf uses in sh. utils/sortix-sh.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit bb3f59105745acdd0fbb0a689f93940b6d549824 Author: Jonas 'Sortie' Termansen Date: Mon Sep 22 17:35:29 2014 +0200 Add symbolic links. Makefile | 2 +- ext/extfs.cpp | 63 ++++++++++++++++++++++++++++++++ ext/inode.cpp | 65 +++++++++++++++++++++++++++++++-- ext/inode.h | 1 + kernel/descriptor.cpp | 70 +++++++++++++++++++++++++++++++++--- kernel/fs/kram.cpp | 50 +++++++++++++++++++++----- kernel/fs/kram.h | 4 ++- kernel/include/sortix/kernel/inode.h | 1 + kernel/initrd.cpp | 34 +++++------------- kernel/io.cpp | 35 ++++++++---------- utils/ln.cpp | 6 +--- 11 files changed, 262 insertions(+), 69 deletions(-) commit f26b2d620158a8cef12ffbdfdd28b0c5f23e10fa Author: Jonas 'Sortie' Termansen Date: Sat Jun 28 16:12:55 2014 +0200 Add /var/empty directory. Makefile | 2 ++ 1 file changed, 2 insertions(+) commit 2586685061064ddb74c873150e3036e0e16446e8 Author: Jonas 'Sortie' Termansen Date: Sat Jun 28 16:09:55 2014 +0200 Ongoing build system maintainance. Makefile | 124 ++++++++-------------- bench/Makefile | 8 +- build-ports.sh => build-aux/build-ports.sh | 2 - clean-ports.sh => build-aux/clean-ports.sh | 2 - compiler.mak => build-aux/compiler.mak | 3 - dirs.mak => build-aux/dirs.mak | 6 +- platform.mak => build-aux/platform.mak | 16 +-- version.mak => build-aux/version.mak | 0 carray/Makefile | 7 +- debsrc/DEBIAN/control | 12 --- debsrc/DEBIAN/postinst | 4 - debsrc/DEBIAN/postrm | 3 - debsrc/etc/grub.d/42_sortix | 10 -- dispd/Makefile | 7 +- doc/Makefile | 7 +- doc/user-guide | 164 +++++++++++------------------ ext/Makefile | 10 +- games/Makefile | 8 +- isosrc/boot/grub/grub.cfg | 6 -- kernel/Makefile | 12 +-- libc/Makefile | 15 +-- libm/Makefile | 9 +- libpthread/Makefile | 7 +- mbr/Makefile | 8 +- mkinitrd/Makefile | 8 +- regress/Makefile | 8 +- system/Makefile | 146 ------------------------- tix/Makefile | 7 +- utils/Makefile | 8 +- 29 files changed, 177 insertions(+), 450 deletions(-) commit 2b2dd347ec5d2bc1201feb01814f7491b2574323 Author: Jonas 'Sortie' Termansen Date: Tue Sep 23 20:47:26 2014 +0200 Add symbolic link support to ls(1). utils/ls.cpp | 172 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 130 insertions(+), 42 deletions(-) commit b1a2817ada5a4c26977f747d8c69295e9ee061e6 Author: Jonas 'Sortie' Termansen Date: Tue Sep 23 19:17:52 2014 +0200 Add symbolic link support to cp(1). utils/cp.cpp | 157 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 127 insertions(+), 30 deletions(-) commit 2ecd4c9086325f31b36a3a3a71c4be62b868c71d Author: Jonas 'Sortie' Termansen Date: Mon Sep 22 18:09:42 2014 +0200 Update kramfs to current coding conventions. kernel/fs/kram.cpp | 213 ++++++++++++++++++++++++++++++----------------------- kernel/fs/kram.h | 10 +-- 2 files changed, 125 insertions(+), 98 deletions(-) commit fbefc3022908c310bf1f3ea3c28e27b663ae7abf Author: Jonas 'Sortie' Termansen Date: Mon Sep 22 15:03:12 2014 +0200 Securely copy to and from user-space. kernel/copy.cpp | 188 +++++++++++++++++++++++++++++++++++++++++--- kernel/memorymanagement.cpp | 6 ++ 2 files changed, 182 insertions(+), 12 deletions(-) commit a500288079e03fcd88317161e908bd8de98c2c02 Author: Jonas 'Sortie' Termansen Date: Fri Sep 19 16:38:15 2014 +0200 Add sortix.bin makefile target. Makefile | 9 +++++++++ doc/cross-development | 30 ++++++++++++++++++++++++------ 2 files changed, 33 insertions(+), 6 deletions(-) commit 66d4785f18da16d265aaf2e9808495126b447d50 Author: Jonas 'Sortie' Termansen Date: Fri Sep 19 16:37:09 2014 +0200 Add example variables to doc/cross-development. doc/cross-development | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit f4d9fda6de77a742d507e7531d1a0a0a5708bb21 Author: Jonas 'Sortie' Termansen Date: Sun Sep 14 22:53:29 2014 +0200 Honor feature macros in . libc/include/dirent.h | 54 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 37 insertions(+), 17 deletions(-) commit 0dc951b94eb157cb68dcc23cfa6b5bab8046221d Author: Jonas 'Sortie' Termansen Date: Mon Sep 8 17:42:13 2014 +0200 Improve cp's install(1) emulation. utils/cp.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) commit fb8221a3811f4a21fd82172bb3ccbcd7219c8c3b Author: Jonas 'Sortie' Termansen Date: Thu Aug 21 17:11:41 2014 +0200 Improve mkstemp(3) random path generation. libc/stdlib/mkstemp.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) commit 156e73d44115c393579da9cef5dc190858cdb306 Author: Jonas 'Sortie' Termansen Date: Thu Aug 21 00:02:12 2014 +0200 Optimize file descriptor allocation. kernel/dtable.cpp | 19 +++++++++++++++++++ kernel/include/sortix/kernel/dtable.h | 1 + 2 files changed, 20 insertions(+) commit 0da847ac859c0893e14143f35206e58c24995545 Author: Jonas 'Sortie' Termansen Date: Mon Aug 18 19:16:46 2014 +0200 Add remaining standard errno values. libc/include/errno.h | 10 ++++++++++ libc/string/strerror.cpp | 12 +++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) commit 49000d3beeb40ad06735f0130cc5dd52c5a6799e Author: Jonas 'Sortie' Termansen Date: Sat Aug 16 14:16:48 2014 +0200 Upgrade to latest upstream multiboot header. Tabs were converted to spaces as the original file was inconsistently indented. The non-standard multiboot_uintx_t types were replaced with the standard ones from . kernel/multiboot.h | 212 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 130 insertions(+), 82 deletions(-) commit ec7e0cc9a64b9555c516f199ff29a26cab3d90bd Author: Jonas 'Sortie' Termansen Date: Wed Aug 13 19:14:55 2014 +0200 Add cbprintf(3) and vcbprintf(3). Thanks to Owen Shepherd of the Public Domain C Library for helping design and formalize these interfaces. kernel/debugger.cpp | 2 +- kernel/include/sortix/kernel/log.h | 12 +++- libc/Makefile | 3 +- libc/include/stdio.h | 9 ++- libc/stdio/cbprintf.cpp | 39 +++++++++++++ libc/stdio/vasprintf.cpp | 4 +- libc/stdio/{vprintf_callback.cpp => vcbprintf.cpp} | 67 +++++++++++----------- libc/stdio/vdprintf.cpp | 6 +- libc/stdio/vfprintf_unlocked.cpp | 5 +- libc/stdio/vsnprintf.cpp | 6 +- 10 files changed, 98 insertions(+), 55 deletions(-) commit 2dffa408adbd13dcfd021933b13e7c2905fadf1f Author: Jonas 'Sortie' Termansen Date: Wed Aug 13 14:49:20 2014 +0200 Add pkg.make.needed-vars.AR. tix/tix-build.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 536d7a06f58d88b703fe3ae995a0dd36991d84e5 Author: Jonas 'Sortie' Termansen Date: Sat Aug 9 12:29:10 2014 +0200 Add fcntl(F_PREVFD) and fcntl(F_NEXTFD). kernel/dtable.cpp | 37 ++++++++++++++++++++++++++++++++++- kernel/include/sortix/fcntl.h | 8 ++++++++ kernel/include/sortix/kernel/dtable.h | 4 +++- kernel/io.cpp | 4 ++++ 4 files changed, 51 insertions(+), 2 deletions(-) commit 8643c371023b11c775ceed64994e70a5a54e0d80 Author: Jonas 'Sortie' Termansen Date: Wed Aug 6 09:37:24 2014 +0200 Remove __flbf(3). libc/Makefile | 2 -- libc/include/stdio.h | 2 -- libc/include/stdio_ext.h | 1 - libc/stdio/flbf.cpp | 33 --------------------------------- libc/stdio/flbf_unlocked.cpp | 30 ------------------------------ 5 files changed, 68 deletions(-) commit 2f393b26466eb8ebb51f99e29af05108fe1bd9e7 Author: Jonas 'Sortie' Termansen Date: Wed Aug 6 09:31:29 2014 +0200 Remove _flushlbf(3). libc/Makefile | 1 - libc/include/stdio.h | 1 - libc/include/stdio_ext.h | 1 - libc/stdio/flushlbf.cpp | 34 ---------------------------------- 4 files changed, 37 deletions(-) commit 3778dae725d2b1577860808062ac245fe4731aca Author: Jonas 'Sortie' Termansen Date: Wed Aug 6 09:23:32 2014 +0200 Remove __fsetlocking(3). libc/Makefile | 2 -- libc/include/FILE.h | 11 +++++------ libc/include/stdio.h | 2 -- libc/include/stdio_ext.h | 14 +------------- libc/stdio/fresetfile.cpp | 2 +- libc/stdio/fsetlocking.cpp | 33 --------------------------------- libc/stdio/fsetlocking_unlocked.cpp | 37 ------------------------------------- 7 files changed, 7 insertions(+), 94 deletions(-) commit 35708fa9001592826bb0077c1311ec00b5237acb Author: Jonas 'Sortie' Termansen Date: Tue Aug 5 00:39:34 2014 +0200 Retire calltrace support in favor of the kernel debugger. kernel/Makefile | 4 --- kernel/calltrace.cpp | 44 ------------------------ kernel/include/sortix/kernel/calltrace.h | 36 ------------------- kernel/interrupt.cpp | 1 - kernel/panic.cpp | 9 ----- kernel/x64/calltrace.S | 57 ------------------------------ kernel/x86-family/interrupt.cpp | 22 ------------ kernel/x86/calltrace.S | 59 -------------------------------- libc/Makefile | 2 -- libc/calltrace/calltrace.cpp | 44 ------------------------ libc/include/calltrace.h | 36 ------------------- libc/stdlib/abort.cpp | 7 ---- libc/x64/calltrace.S | 53 ---------------------------- libc/x86/calltrace.S | 55 ----------------------------- 14 files changed, 429 deletions(-) commit c24b5ee5a460b0161dd7a8150c3565ad60d97f16 Author: Jonas 'Sortie' Termansen Date: Mon Aug 4 16:10:48 2014 +0200 Lazily close files in exit(3). libc/stdlib/exit.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit a25f1a931ee4349889203042922f1f39eef513d9 Author: Jonas 'Sortie' Termansen Date: Mon Aug 4 00:24:05 2014 +0200 Initialize stdin, stdout and stderr at compile time. libc/include/FILE.h | 2 + libc/init/init.cpp | 5 --- libc/stdio/stdio.cpp | 111 ++++++++++++++++++++++++++++++++++++++------------- libc/stdlib/exit.cpp | 4 +- 4 files changed, 88 insertions(+), 34 deletions(-) commit 8570f46734ddba8072e6cbe6fba347cea32acf90 Author: Jonas 'Sortie' Termansen Date: Sun Aug 3 21:43:47 2014 +0200 Indirectly fflush(3) from fshutdown(3). libc/include/FILE.h | 1 + libc/stdio/fclose.cpp | 4 +++- libc/stdio/fshutdown.cpp | 2 +- libc/stdio/setvbuf_unlocked.cpp | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) commit 97e1551c81f3e9d52aa89ed6cbd1544a194a842e Author: Jonas 'Sortie' Termansen Date: Sun Aug 3 21:14:32 2014 +0200 Indirectly free(3) buffers in fshutdown(3). libc/include/FILE.h | 1 + libc/stdio/fsetdefaultbuf_unlocked.cpp | 2 ++ libc/stdio/fshutdown.cpp | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) commit 9fec909970b00ba7275e0a533f4818b792722a8e Author: Jonas 'Sortie' Termansen Date: Mon Dec 1 18:36:31 2014 +0100 Indirectly closedir(3) from exit(3). libc/dirent/dnewdir.cpp | 1 + libc/include/DIR.h | 1 + libc/stdlib/exit.cpp | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) commit c9e0fa687cb56c3eab18f9e3691434b2cde05465 Author: Jonas 'Sortie' Termansen Date: Mon Aug 4 16:10:26 2014 +0200 Use strnlen(3) in strndup(3). libc/string/strndup.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 5e60007904a2a7589ee0f391a276dbc3d3ca112e Author: Jonas 'Sortie' Termansen Date: Sun Aug 3 17:12:31 2014 +0200 Remove dcloseall() and fcloseall(). libc/Makefile | 3 +- libc/dirent/dregister.cpp | 11 +++---- libc/dirent/dunregister.cpp | 9 ++---- libc/include/DIR.h | 7 +++++ libc/include/dirent.h | 9 +++--- libc/include/stdio.h | 1 - libc/stdio/fcloseall.cpp | 35 ---------------------- libc/stdio/fregister.cpp | 31 ++----------------- .../dcloseall.cpp => stdio/funregister.cpp} | 30 ++++++++++--------- libc/stdlib/exit.cpp | 19 ++++++++++-- 10 files changed, 54 insertions(+), 101 deletions(-) commit b6b19c88fd47da937b49e99d63f96d51ef41a813 Author: Jonas 'Sortie' Termansen Date: Sun Aug 3 13:40:10 2014 +0200 Use the word invalid instead of illegal. kernel/include/sortix/signal.h | 2 +- libc/string/strerror.cpp | 2 +- libc/string/strsignal.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 76bf0eb30cbd73ee9a642a7f4becbec341fcdf71 Author: Jonas 'Sortie' Termansen Date: Sun Aug 3 00:06:49 2014 +0200 Remove String::Combine kernel function. This function has followed me through a few projects for many years. It's time to retire it. It's not too terribly well-written and it's mostly replaced by the standard asprintf call. It's not even used in Sortix at the moment. kernel/include/sortix/kernel/string.h | 1 - kernel/string.cpp | 43 ----------------------------------- 2 files changed, 44 deletions(-) commit 3d091f39bf4058198e0283ecbdc22220bd7e913b Author: Jonas 'Sortie' Termansen Date: Sun Aug 3 00:02:00 2014 +0200 Harden strcpy calls. carray/carray.c++ | 6 +----- libc/libgen/dirname.cpp | 2 +- utils/ls.cpp | 8 +++----- 3 files changed, 5 insertions(+), 11 deletions(-) commit 8fef8f7bb113cc69562c46505487378a3fabcd31 Author: Jonas 'Sortie' Termansen Date: Sat Aug 2 19:46:43 2014 +0200 Reuse the argv[0] string in program_invocation_name(3). libc/init/init.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit 392472af5c75a52b3e4e18ba2f5254c880ecd886 Author: Jonas 'Sortie' Termansen Date: Sat Aug 2 17:32:49 2014 +0200 Add semaphores API. libc/include/unistd.h | 3 +- libpthread/Makefile | 7 ++++ libpthread/include/semaphore.h | 58 ++++++++++++++++++++++++++++++++ libpthread/sem_destroy.c++ | 31 +++++++++++++++++ libpthread/sem_getvalue.c++ | 31 +++++++++++++++++ libpthread/sem_init.c++ | 40 ++++++++++++++++++++++ libpthread/sem_post.c++ | 45 +++++++++++++++++++++++++ libpthread/sem_timedwait.c++ | 76 ++++++++++++++++++++++++++++++++++++++++++ libpthread/sem_trywait.c++ | 38 +++++++++++++++++++++ libpthread/sem_wait.c++ | 62 ++++++++++++++++++++++++++++++++++ 10 files changed, 389 insertions(+), 2 deletions(-) commit 0329192ba82a51c1ab09a8f1b49a96945074fbf8 Author: Jonas 'Sortie' Termansen Date: Sat Aug 2 12:15:04 2014 +0200 Ignore unsupported cp --preserve option. utils/cp.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) commit 58c7070134aad68770f5f1f2b21ea509ea39d06d Author: Jonas 'Sortie' Termansen Date: Fri Aug 1 23:33:25 2014 +0200 Support \e[39m and \e[49m in the console. kernel/textterminal.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit fac70d51193a191252e2e9530dc953048323d2d3 Author: Jonas 'Sortie' Termansen Date: Sun Jul 27 16:46:32 2014 +0200 Rename libc/aux to libc/c++. libc/Makefile | 4 ++-- libc/{aux => c++}/c++.cpp | 2 +- libc/{aux => c++}/op-new.cpp | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) commit d8201c007ade4ed4dda0b871e5bba72357e845a6 Author: Jonas 'Sortie' Termansen Date: Sun Jul 20 15:38:08 2014 +0200 Add sysconf(_SC_MONOTONIC_CLOCK). libc/unistd/sysconf.cpp | 1 + 1 file changed, 1 insertion(+) commit c56daca6820cc9bff09f78aecf2bb3724ea03b7d Author: Jonas 'Sortie' Termansen Date: Sat Jul 19 21:09:40 2014 +0200 Use arc4random(3) in asteroids(1). games/asteroids.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit edb19f2394e0a66a1c914c3c7e965357ffe4f11a Author: Jonas 'Sortie' Termansen Date: Sat Jul 19 21:08:00 2014 +0200 Add arc4random(3). libc/Makefile | 3 + libc/include/stdlib.h | 11 ++ libc/stdlib/arc4random.cpp | 33 ++++++ libc/stdlib/arc4random_buf.cpp | 232 +++++++++++++++++++++++++++++++++++++ libc/stdlib/arc4random_uniform.cpp | 55 +++++++++ 5 files changed, 334 insertions(+) commit e460be7a72db14715ac7d7915c8841b427eba100 Author: Jonas 'Sortie' Termansen Date: Mon Jul 14 23:24:18 2014 +0200 Add getentropy(2). kernel/Makefile | 1 + kernel/include/sortix/kernel/random.h | 31 ++++++++++++++++++++ kernel/include/sortix/syscall.h | 3 +- kernel/kernel.cpp | 4 +++ kernel/random.cpp | 53 +++++++++++++++++++++++++++++++++++ libc/Makefile | 1 + libc/include/unistd.h | 1 + libc/unistd/getentropy.cpp | 34 ++++++++++++++++++++++ 8 files changed, 127 insertions(+), 1 deletion(-) commit 690b5ada5225dd55a5c92d3bdd3615e0ac6eb09f Author: Jonas 'Sortie' Termansen Date: Fri Nov 28 00:13:03 2014 +0100 Fix _start not following the ABI. libc/x64/crt0.S | 6 ++++-- libc/x86/crt0.S | 19 +++++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) commit 5c702ed44be2aa78b5cacaee01a70fddcecb1aec Author: Jonas 'Sortie' Termansen Date: Thu Jul 10 15:24:00 2014 +0200 Add stresep(3). libc/Makefile | 1 + libc/include/string.h | 1 + libc/string/stresep.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+) commit 58a1383723e5599dac41f0f3af352d61c00fbef2 Author: Jonas 'Sortie' Termansen Date: Wed Jul 9 23:43:45 2014 +0200 Add strsep(3). libc/Makefile | 1 + libc/include/string.h | 1 + libc/string/strsep.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) commit 7482a131954de08884be8772113ab296a57338f5 Author: Jonas 'Sortie' Termansen Date: Sat Jun 28 19:14:06 2014 +0200 Rewrite column(1). utils/column.cpp | 361 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 258 insertions(+), 103 deletions(-) commit 577f2f700b986fd40b4207f3fd936b8d0a58ed80 Author: Jonas 'Sortie' Termansen Date: Sat Jun 28 00:10:48 2014 +0200 Add shutdown(2). kernel/include/sortix/syscall.h | 3 ++- kernel/io.cpp | 8 ++++++++ libc/include/sys/socket.h | 7 +++---- libc/sys/socket/shutdown.cpp | 11 +++++------ 4 files changed, 18 insertions(+), 11 deletions(-) commit a00d085b816ce561840b59c1e044fd2aed271c49 Author: Jonas 'Sortie' Termansen Date: Fri Jun 27 23:48:10 2014 +0200 Implement recvfrom(2) and sendto(2). libc/sys/socket/recvfrom.cpp | 34 +++++++++++++++++++++++++++------- libc/sys/socket/sendto.cpp | 29 ++++++++++++++++++++++------- 2 files changed, 49 insertions(+), 14 deletions(-) commit a8a8154adcef8c671d28118eb4cedc2c1eed8a11 Author: Jonas 'Sortie' Termansen Date: Fri Jun 27 23:26:34 2014 +0200 Add getpeername(2) and getsockname(2). kernel/include/sortix/syscall.h | 4 +++- kernel/io.cpp | 18 ++++++++++++++++++ libc/sys/socket/getpeername.cpp | 14 ++++++++------ libc/sys/socket/getsockname.cpp | 14 ++++++++------ 4 files changed, 37 insertions(+), 13 deletions(-) commit 3760420fbbc18fabf484096e6984f410edf455e1 Author: Jonas 'Sortie' Termansen Date: Fri Jun 27 23:00:30 2014 +0200 Add fpathconf(2). libc/Makefile | 1 + libc/include/unistd.h | 2 +- libc/unistd/fpathconf.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) commit ba29cad8a308bf6b446fbe4a9cd3a5d1859346ef Author: Jonas 'Sortie' Termansen Date: Fri Jun 27 22:46:25 2014 +0200 Improve cp(1). utils/.gitignore | 2 +- utils/Makefile | 11 +- utils/cp.cpp | 185 +++++++++++++++++++++---------- utils/{install-file.cpp => xinstall.cpp} | 4 +- 4 files changed, 135 insertions(+), 67 deletions(-) commit ad8d025c32d6483e4fd51bf2f5d96e41a3aa3d4f Author: Jonas 'Sortie' Termansen Date: Fri Jun 27 16:15:05 2014 +0200 Rename to . kernel/identity.cpp | 4 +--- kernel/include/sortix/kernel/syscall.h | 2 +- kernel/include/sortix/{syscallnum.h => syscall.h} | 4 ++-- kernel/poll.cpp | 1 - kernel/syscall.cpp | 3 +-- libc/include/sys/syscall.h | 10 +++++----- 6 files changed, 10 insertions(+), 14 deletions(-) commit 53aa65974399f1017bac9d203411f1c05f71789b Author: Jonas 'Sortie' Termansen Date: Mon Jun 23 19:06:18 2014 +0200 Add ESTALE. libc/include/errno.h | 1 + libc/string/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 60895a127ef4a41e7f9730b3194a6cababadd03a Author: Jonas 'Sortie' Termansen Date: Sun Jun 22 23:58:41 2014 +0200 Add doc/portability-sins. doc/portability-sins | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) commit 73312b201bae9babe1691f63119a2003549c1faa Author: Jonas 'Sortie' Termansen Date: Sat Jun 21 20:37:19 2014 +0200 Improve memset(3) performance. libc/string/memset.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) commit 95fcb946487f6a8ab346c635c66644acc0ee8dd2 Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 18:28:50 2014 +0200 Add explicit_bzero(3). libc/Makefile | 1 + libc/include/string.h | 1 + libc/string/explicit_bzero.cpp | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) commit 4ee15987fac1a48460d47ddb7db5a9c65c3ded8f Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 18:20:09 2014 +0200 Add timingsafe_memcmp(3). libc/Makefile | 1 + libc/include/string.h | 1 + libc/string/timingsafe_memcmp.cpp | 54 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) commit 5c79d420362a9abdd8ea7d0293f601dea24f30ea Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 00:13:41 2014 +0200 Use -k when tix-build makes distclean. tix/tix-build.cpp | 2 ++ 1 file changed, 2 insertions(+) commit e5d07072f30b573190a4140f7cdbc375b9dc7286 Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 00:07:52 2014 +0200 Set TERM=sortix in init. utils/init.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 0cd7fb6b76037807162523aabbf8d62080c4327c Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 00:06:14 2014 +0200 Remove objtype environment variable from init. utils/init.cpp | 4 ---- 1 file changed, 4 deletions(-) commit 6dfd2fb6fa680e424aa6884bbc5d409a42602770 Author: Jonas 'Sortie' Termansen Date: Tue Jun 17 18:35:01 2014 +0200 Add . libc/include/netinet/tcp.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) commit d7290e1fad81357f46b30d55316a37ea06311172 Author: Jonas 'Sortie' Termansen Date: Sat Jun 14 16:11:12 2014 +0200 Add memrchr(3). libc/Makefile | 1 + libc/include/string.h | 1 + libc/string/memrchr.cpp | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) commit 49e2c933af8bb179ebfeaebae63c6c60322e6a97 Author: Jonas 'Sortie' Termansen Date: Wed Jun 11 19:24:10 2014 +0200 Remove VGA text mode support from libdispd. dispd/client/framebuffer.h | 2 -- dispd/client/session.cpp | 23 ------------- dispd/client/session.h | 1 - dispd/client/window.cpp | 83 ++++++---------------------------------------- dispd/client/window.h | 2 -- dispd/include/dispd.h | 2 -- 6 files changed, 10 insertions(+), 103 deletions(-) commit 0e577950c01c95a5667c1605962767fefe1d8eb8 Author: Jonas 'Sortie' Termansen Date: Wed Jun 11 18:33:22 2014 +0200 Remove conway, pong and snake games. These games were poorly written and didn't work in graphics mode as they required a vga text mode backend. It's less of a maintenance burden to just remove them as that means the dispd vga text mode support can be deleted. doc/user-guide | 30 +----- games/.gitignore | 3 - games/Makefile | 3 - games/conway.cpp | 210 ---------------------------------------- games/pong.cpp | 287 ------------------------------------------------------- games/snake.cpp | 234 --------------------------------------------- 6 files changed, 3 insertions(+), 764 deletions(-) commit 91a1df02b1122a2a957b0dffe64fc4d164305bc6 Author: Jonas 'Sortie' Termansen Date: Wed Jun 11 03:04:19 2014 +0200 Remove calc(1). This program was mostly replaced with the standard expr(1) tool and the code quality was not up to the standards. Finally, it was not very useful. doc/user-guide | 1 - utils/.gitignore | 1 - utils/Makefile | 1 - utils/calc.cpp | 397 ------------------------------------------------------- 4 files changed, 400 deletions(-) commit 5e295b8d94208a1a6a4cf9f5fa54f9e9bce9462c Author: Jonas 'Sortie' Termansen Date: Sun Jun 8 15:30:08 2014 +0200 Honor feature macros in . libc/include/arpa/inet.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) commit d56dcafd27f23c201311580048f9b11b860e958e Author: Jonas 'Sortie' Termansen Date: Sat May 31 03:58:55 2014 +0200 Add sleep(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/sleep.cpp | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 271 insertions(+) commit bb84370c34d43b063d5a9164b541baae815b7d93 Author: Jonas 'Sortie' Termansen Date: Sun Jun 1 21:10:25 2014 +0200 Add type limits and print/scan specifiers to . kernel/include/sortix/__/types.h | 324 ++++++++++++++++++++++++++- libc/include/__/limits.h | 48 +++- libc/include/__/stdint.h | 10 +- libc/include/stdint.h | 3 - libc/include/sys/types.h | 326 +++++++++++++++++++++++++++- libc/include/unistd.h | 6 +- libc/stdio/fflush_stop_writing_unlocked.cpp | 3 + libc/stdio/fgetc_unlocked.cpp | 3 + libc/stdio/fread_unlocked.cpp | 3 + libc/stdio/fwrite_unlocked.cpp | 3 + 10 files changed, 700 insertions(+), 29 deletions(-) commit ac7124e1e6c3757f8691296e30cb0914abfdb1b9 Author: Jonas 'Sortie' Termansen Date: Wed May 28 22:16:48 2014 +0200 Add wcslcat(3) and wcslcpy(3). libc/Makefile | 2 ++ libc/include/wchar.h | 2 ++ libc/wchar/wcslcat.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/wchar/wcslcpy.cpp | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 75 insertions(+) commit 429f823f1f2dc87ca9a187511554e928370443d1 Author: Jonas 'Sortie' Termansen Date: Wed May 28 21:00:12 2014 +0200 Add wcsnlen(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcsnlen.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit e4dd7c0d5a697a57d89e7df0e860088ec5cfa7a7 Author: Jonas 'Sortie' Termansen Date: Wed May 28 20:56:28 2014 +0200 Add wcsncasecmp(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcsncasecmp.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) commit 01b7754c29f60a6a7462385cf71cf8b86173abbb Author: Jonas 'Sortie' Termansen Date: Wed May 28 20:53:32 2014 +0200 Add wcsdup(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcsdup.cpp | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) commit 8ed26bb26ef45238446d9b672ade162e5ca6fee1 Author: Jonas 'Sortie' Termansen Date: Wed May 28 20:49:02 2014 +0200 Add wcscasecmp(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcscasecmp.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) commit 34935845b410cfd0972aa4c0301a5c18d1cfcb0b Author: Jonas 'Sortie' Termansen Date: Wed May 28 20:13:11 2014 +0200 Add wcpncpy(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcpncpy.cpp | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) commit c9b17d54909f1092a99901be6bc09505b624c739 Author: Jonas 'Sortie' Termansen Date: Wed May 28 20:08:32 2014 +0200 Add wcpcpy(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcpcpy.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit 9ca343c5e443147ddea7d82c7e88bbe2e4dafbe9 Author: Jonas 'Sortie' Termansen Date: Wed May 28 19:51:05 2014 +0200 Add wcsftime(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/time/strftime.cpp | 274 ++++++++++++++++++++++++++++-------------------- libc/wchar/wcsftime.cpp | 30 ++++++ 4 files changed, 193 insertions(+), 114 deletions(-) commit a1e9c15bca89bc44b87aa1863a0a2482043078ed Author: Jonas 'Sortie' Termansen Date: Wed May 28 18:26:05 2014 +0200 Add wcstof(3), wcstod(3) and wcstold(3). libc/Makefile | 3 +++ libc/include/wchar.h | 6 +++--- libc/stdlib/strtod.cpp | 6 ++++-- libc/stdlib/strtof.cpp | 41 ++++++++++++++++++++++------------------- libc/stdlib/strtold.cpp | 6 ++++-- libc/wchar/wcstod.cpp | 30 ++++++++++++++++++++++++++++++ libc/wchar/wcstof.cpp | 30 ++++++++++++++++++++++++++++++ libc/wchar/wcstold.cpp | 30 ++++++++++++++++++++++++++++++ 8 files changed, 126 insertions(+), 26 deletions(-) commit ba12c1d246455dd1acef2e5ec49e7414cd40ed42 Author: Jonas 'Sortie' Termansen Date: Wed May 14 14:41:26 2014 +0200 Store loaded programs in special allocations rather than the kernel heap. kernel/process.cpp | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) commit 749d123331c63588062b40be9e021da89dda885d Author: Jonas 'Sortie' Termansen Date: Thu May 15 19:54:58 2014 +0200 Maintain counts of physical frames used for particular purposes. kernel/elf.cpp | 8 +-- kernel/fcache.cpp | 4 +- kernel/include/sortix/kernel/memorymanagement.h | 30 ++++++++--- kernel/initrd.cpp | 4 +- kernel/memorymanagement.cpp | 12 ++--- kernel/process.cpp | 6 +-- kernel/x64/memorymanagement.cpp | 14 ++--- kernel/x86-family/memorymanagement.cpp | 71 +++++++++++++++++-------- kernel/x86/memorymanagement.cpp | 6 +-- libc/stdlib/heap.cpp | 6 +-- 10 files changed, 100 insertions(+), 61 deletions(-) commit 5f2106f5128314cc392881718d8c1794c9f117fa Author: Jonas 'Sortie' Termansen Date: Thu May 15 19:45:26 2014 +0200 Maintain size of allocated memory in the heap. libc/stdlib/heap.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) commit 6971cc59b0d7b7d3258aec1be7fcb5070dfda017 Author: Jonas 'Sortie' Termansen Date: Thu May 15 19:41:00 2014 +0200 Maintain count of used blocks in the filesystem cache. kernel/fcache.cpp | 7 ++++++- kernel/include/sortix/kernel/fcache.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) commit 36d2dcb7451cbe21828097422006a99e9e64f730 Author: Jonas 'Sortie' Termansen Date: Thu May 15 17:23:09 2014 +0200 Slightly improve addralloc virtual address space leaking. kernel/addralloc.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit 46eddaa19b50c0f9d913bd32c8168212dd8ae7f2 Author: Jonas 'Sortie' Termansen Date: Tue May 13 22:45:58 2014 +0200 Port tix to Sortix. Makefile | 3 ++- system/Makefile | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) commit 8d5a78d823d05ebb23d5cbc14f5cd5d575cf02d4 Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 00:10:28 2014 +0200 Remove tix-object-insert. tix/Makefile | 5 +- tix/tix-object-insert.cpp | 428 ---------------------------------------------- 2 files changed, 1 insertion(+), 432 deletions(-) commit 99d1c61b24a235d30a3f617ddf2b198d1c55dd20 Author: Jonas 'Sortie' Termansen Date: Tue May 13 19:43:34 2014 +0200 Use a proper shell as sh(1) backend if available. utils/.gitignore | 1 + utils/Makefile | 1 + utils/sh.cpp | 640 ++++++---------------------------------------------- utils/sortix-sh.cpp | 635 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 704 insertions(+), 573 deletions(-) commit f8c5adf20f065d9bb87f38973ce3b25c10e53f3b Author: Jonas 'Sortie' Termansen Date: Sat May 10 21:34:04 2014 +0200 Add #! support to execve(2). kernel/process.cpp | 220 ++++++++++++++++++++++++++++++++++++++++++++++++ libc/unistd/execvpe.cpp | 1 + utils/which.cpp | 1 + 3 files changed, 222 insertions(+) commit 3577cb81fe7e8d0b8211e8fa7fd00e18a7afd50e Author: Jonas 'Sortie' Termansen Date: Mon May 12 19:49:05 2014 +0200 Improve execvpe(3) logic and run shell on ENOEXEC. libc/unistd/execvpe.cpp | 127 ++++++++++++++++++++++++++++++++++++++---------- utils/which.cpp | 113 ++++++++++++++++++++++++++---------------- 2 files changed, 173 insertions(+), 67 deletions(-) commit f44e46cde522d5a20ce5c2703cf9bbf6a19484fa Author: Jonas 'Sortie' Termansen Date: Sat May 10 15:54:32 2014 +0200 Flatten initrd symbolic links to hardlinks inside the same directory. kernel/initrd.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) commit ca70f03be89a85b745071c1b49b7d82ce7395d8b Author: Jonas 'Sortie' Termansen Date: Sat May 10 01:05:42 2014 +0200 Display progress bar during initrd extraction. kernel/initrd.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) commit c1af23189759b2a1397904915154e10257d11cb5 Author: Jonas 'Sortie' Termansen Date: Fri May 9 18:31:50 2014 +0200 Optimize reading the CMOS real time clock. kernel/x86-family/cmos.cpp | 67 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) commit ae73391a10545d54180239043565ceeb228d7da6 Author: Jonas 'Sortie' Termansen Date: Fri May 9 01:32:26 2014 +0200 Clean up initrd extraction code. kernel/initrd.cpp | 364 ++++++++++++++++++++++-------------------------------- 1 file changed, 146 insertions(+), 218 deletions(-) commit a334ede4c43990f28f848aefb3580a50c832549e Author: Jonas 'Sortie' Termansen Date: Tue May 6 21:50:39 2014 +0200 Rewrite ls(1). utils/ls.cpp | 334 +++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 199 insertions(+), 135 deletions(-) commit 01402052f656e954be1deb4b17a1c7709ce57359 Author: Jonas 'Sortie' Termansen Date: Mon May 5 21:36:15 2014 +0200 Add tcgetblob(2) and tcsetblob(2). kernel/descriptor.cpp | 18 +++++++++++ kernel/fs/user.cpp | 53 +++++++++++++++++++++++++++++++ kernel/include/sortix/kernel/descriptor.h | 2 ++ kernel/include/sortix/kernel/inode.h | 4 +++ kernel/include/sortix/kernel/vnode.h | 2 ++ kernel/include/sortix/syscallnum.h | 4 ++- kernel/inode.cpp | 10 ++++++ kernel/io.cpp | 34 ++++++++++++++++++++ kernel/logterminal.cpp | 25 +++++++++++++++ kernel/logterminal.h | 3 ++ kernel/vnode.cpp | 10 ++++++ libc/Makefile | 2 ++ libc/include/fsmarshall-msg.h | 33 ++++++++++++++++++- libc/include/termios.h | 11 ++++++- libc/termios/tcgetblob.cpp | 34 ++++++++++++++++++++ libc/termios/tcsetblob.cpp | 34 ++++++++++++++++++++ 16 files changed, 276 insertions(+), 3 deletions(-) commit d6067f9da78a16613eff3c7b3c25416e62b7bf95 Author: Jonas 'Sortie' Termansen Date: Sat May 3 21:34:10 2014 +0200 Add btowc(3) and wctob(3). libc/Makefile | 2 ++ libc/include/wchar.h | 4 ++-- libc/wchar/btowc.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ libc/wchar/wctob.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 91 insertions(+), 2 deletions(-) commit 20b8a3c6392620bf1dd2ab6bf6ddc7b528e5f3bb Author: Jonas 'Sortie' Termansen Date: Thu May 1 13:04:07 2014 +0200 Add support for \e[9xm and \e[10xm escape sequences. kernel/lfbtextbuffer.cpp | 6 +++--- kernel/textterminal.cpp | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) commit 2ff72426ecbaf34d16d3475bafdf5fe8c8a699ca Author: Jonas 'Sortie' Termansen Date: Wed Apr 30 17:25:27 2014 +0200 Implement SO_RCVBUF and SO_SNDBUF for filesystem sockets. kernel/Makefile | 1 + kernel/include/sortix/kernel/sockopt.h | 42 ++++++++++ kernel/net/fs.cpp | 65 ++++++++++++++-- kernel/pipe.cpp | 67 ++++++++++++++++ kernel/sockopt.cpp | 137 +++++++++++++++++++++++++++++++++ 5 files changed, 305 insertions(+), 7 deletions(-) commit feea0786fc3b79bed6c4919926bd9c87fd0bc310 Author: Jonas 'Sortie' Termansen Date: Wed Apr 30 16:16:18 2014 +0200 Increase default pipe buffer size to 64 KiB. kernel/pipe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 152d76811266ef0cdaa5bdff0e5fd39ea69e7189 Author: Jonas 'Sortie' Termansen Date: Tue Apr 29 23:52:27 2014 +0200 Memory efficiently extract the initrd. kernel/initrd.cpp | 99 +++++++++++++++++++++++++++++++++++++++--------------- kernel/initrd.h | 4 +-- kernel/kernel.cpp | 3 -- kernel/process.cpp | 1 - 4 files changed, 73 insertions(+), 34 deletions(-) commit 34c65265d07004a73e77727ed7ac37b271c12442 Author: Jonas 'Sortie' Termansen Date: Mon Apr 28 22:11:49 2014 +0200 Document cross-compilation sins. doc/Makefile | 1 + doc/cross-compilation-sins | 268 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 269 insertions(+) commit e7844535e064aaed4a36108a8a54846c6437ec78 Author: Jonas 'Sortie' Termansen Date: Wed Apr 23 17:52:54 2014 +0200 Add --format option to mkinitrd(1). Makefile | 2 +- mkinitrd/mkinitrd.cpp | 17 +++++++++++++++++ system/Makefile | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) commit 5e124c9df01903bd5fbda979252437064f73389a Author: Jonas 'Sortie' Termansen Date: Wed Apr 23 14:45:44 2014 +0200 Update mkinitrd to current coding conventions. mkinitrd/Makefile | 2 +- mkinitrd/mkinitrd.cpp | 307 ++++++++++++++++++++++++++++++++++---------------- system/Makefile | 2 +- 3 files changed, 212 insertions(+), 99 deletions(-) commit 87be32b948d0a92641e8b15058ddcb4c716ef035 Author: Jonas 'Sortie' Termansen Date: Tue Apr 22 15:26:30 2014 +0200 Remove obsolete uninstall Makefile target from projects. bench/Makefile | 7 +------ carray/Makefile | 2 +- ext/Makefile | 7 +------ games/Makefile | 7 +------ mbr/Makefile | 15 +++++---------- mkinitrd/Makefile | 7 +------ regress/Makefile | 2 +- utils/Makefile | 7 +------ 8 files changed, 12 insertions(+), 42 deletions(-) commit 7c1306ff7b6adc12db9989c5f7873afd8085f4ad Author: Jonas 'Sortie' Termansen Date: Mon Apr 21 22:37:19 2014 +0200 Add carray(1). Makefile | 3 + carray/.gitignore | 1 + carray/Makefile | 25 ++++ carray/carray.c++ | 417 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/user-guide | 9 ++ system/Makefile | 2 + 6 files changed, 457 insertions(+) commit a7cf2c4b36a4b2f1fa3349ca32b180a37af93146 Author: Jonas 'Sortie' Termansen Date: Sat Apr 19 21:40:28 2014 +0200 Add unicode support to editor(1). utils/editor.cpp | 780 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 486 insertions(+), 294 deletions(-) commit dc11b9f837602277a1d293e8b2371e4ef6dd1fa1 Author: Jonas 'Sortie' Termansen Date: Sat Apr 19 20:28:29 2014 +0200 Add unicode support to kernel terminal and console. kernel/include/sortix/kernel/textbuffer.h | 15 +- kernel/kernel.cpp | 4 +- kernel/lfbtextbuffer.cpp | 48 +++---- kernel/lfbtextbuffer.h | 12 +- kernel/textterminal.cpp | 52 ++++--- kernel/textterminal.h | 5 +- kernel/vga.h | 218 +++++++++++++++++++++++++++++- kernel/vgatextbuffer.cpp | 28 ++-- kernel/vgatextbuffer.h | 5 +- 9 files changed, 311 insertions(+), 76 deletions(-) commit f41964fcab0d34c510aa0e6a2a4471b6770937b3 Author: Jonas 'Sortie' Termansen Date: Thu Apr 17 17:41:12 2014 +0200 Reimplement wchar conversion API. libc/Makefile | 3 + libc/include/stdlib.h | 5 +- libc/include/wchar.h | 22 +++--- libc/stdlib/mblen.cpp | 18 ++--- libc/stdlib/mbstowcs.cpp | 18 +++-- libc/stdlib/mbtowc.cpp | 16 ++++- libc/stdlib/wcstombs.cpp | 15 ++-- libc/stdlib/wctomb.cpp | 13 +++- libc/wchar/mbrlen.cpp | 59 +-------------- libc/wchar/mbrtowc.cpp | 179 ++++++++++++++++++++++++++++------------------ libc/wchar/mbsinit.cpp | 30 ++++++++ libc/wchar/mbsnrtowcs.cpp | 82 +++++++++++++++++++++ libc/wchar/mbsrtowcs.cpp | 49 +++---------- libc/wchar/wcrtomb.cpp | 109 +++++++++++++++++----------- libc/wchar/wcsnrtombs.cpp | 87 ++++++++++++++++++++++ libc/wchar/wcsrtombs.cpp | 57 +++------------ 16 files changed, 461 insertions(+), 301 deletions(-) commit 9e6148f6ff5e58151a76899c395753385423f63e Author: Jonas 'Sortie' Termansen Date: Sun Apr 13 22:34:11 2014 +0200 Refactor default compiler options logic. bench/Makefile | 9 ++------- compiler.mak | 12 ++++++++++++ dispd/Makefile | 13 ++++--------- ext/Makefile | 2 +- games/Makefile | 9 ++------- kernel/Makefile | 2 +- libc/Makefile | 4 +--- libm/Makefile | 2 +- libpthread/Makefile | 2 +- mbr/Makefile | 2 +- mkinitrd/Makefile | 9 ++------- regress/Makefile | 2 +- tix/Makefile | 2 +- utils/Makefile | 9 ++------- 14 files changed, 32 insertions(+), 47 deletions(-) commit 12eaf4687316b6b7cea4a57701a6479d0248bfdd Author: Jonas 'Sortie' Termansen Date: Sat Apr 12 23:30:56 2014 +0200 Let kernel debugger know how it was invoked. kernel/debugger.cpp | 10 +++++----- kernel/include/sortix/kernel/debugger.h | 4 ++-- kernel/kb/ps2.cpp | 2 +- kernel/x86-family/interrupt.cpp | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) commit 6b4dbe0358cc620165b48dd9ddce33e291cf0881 Author: Jonas 'Sortie' Termansen Date: Sat Apr 12 22:35:14 2014 +0200 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. libc/Makefile | 6 +++++- libc/x64/{crt1.S => crt0.S} | 2 +- libc/x86/{crt1.S => crt0.S} | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) commit 550ba54a8f9a25cec4d7ea2b1e447c7de9aaffcd Author: Jonas 'Sortie' Termansen Date: Thu Apr 3 23:20:21 2014 +0200 Honor feature macros in . libc/include/wchar.h | 132 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 93 insertions(+), 39 deletions(-) commit 95491e44aca62e1f75a793eabe1a784fa1c6d1d9 Author: Jonas 'Sortie' Termansen Date: Sun Apr 6 00:16:34 2014 +0200 Honor feature macros in . libc/include/unistd.h | 343 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 247 insertions(+), 96 deletions(-) commit 38b15f2e9fc4e7d31e584d92bf6eddf14367b36a Author: Jonas 'Sortie' Termansen Date: Thu Apr 3 00:05:56 2014 +0200 Honor feature macros in . libc/include/string.h | 93 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 65 insertions(+), 28 deletions(-) commit 571daf8aaf5bdd02aa07821a17a6828ed30fafec Author: Jonas 'Sortie' Termansen Date: Wed Apr 2 23:26:31 2014 +0200 Honor feature macros in . libc/include/stdio.h | 243 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 153 insertions(+), 90 deletions(-) commit de5ac01a0b925452b3ffa63c68f300089f1cae3e Author: Jonas 'Sortie' Termansen Date: Thu Apr 3 23:44:54 2014 +0200 Honor feature macros in . libc/include/stdint.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit ead7cc00be909b11793bfec97b2164ced8965156 Author: Jonas 'Sortie' Termansen Date: Thu Apr 3 00:25:20 2014 +0200 Honor feature macros in . libc/include/inttypes.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit fbbb33287bc039aba4c59481e5709da0265caa1f Author: Jonas 'Sortie' Termansen Date: Wed Apr 2 21:34:55 2014 +0200 Implement standard library feature macros. libc/include/dirent.h | 2 +- libc/include/error.h | 2 - libc/include/features.h | 158 ++++++++++++++++++++++++++++++++++++++++++++---- libc/include/locale.h | 2 +- libc/include/stdio.h | 4 +- libc/include/string.h | 9 +-- libc/include/time.h | 4 +- libc/include/unistd.h | 12 ++-- libm/include/fenv.h | 4 +- libm/include/math.h | 53 +++++++--------- utils/column.cpp | 2 - 11 files changed, 183 insertions(+), 69 deletions(-) commit d2cea190a83afdf2d3d8ebe2671f6a07826966ef Author: Jonas 'Sortie' Termansen Date: Thu Apr 3 00:57:05 2014 +0200 Remove DEFAULT_STUFF environmental variable from init(1). utils/init.cpp | 2 -- 1 file changed, 2 deletions(-) commit 7f7fd6603959fe25da2ce86d78be6ab60e2e91b6 Author: Jonas 'Sortie' Termansen Date: Wed Apr 2 17:56:23 2014 +0200 Add isascii(3). libc/Makefile | 1 + libc/ctype/isascii.cpp | 30 ++++++++++++++++++++++++++++++ libc/include/ctype.h | 33 +++++++++++++++++++++++++++------ 3 files changed, 58 insertions(+), 6 deletions(-) commit bcf0720a5912e5b1862db3d0ce672103dc1e02a5 Author: Jonas 'Sortie' Termansen Date: Thu Mar 27 00:00:34 2014 +0100 Add versionsort_r(3). libc/Makefile | 1 + libc/dirent/versionsort_r.cpp | 30 ++++++++++++++++++++++++++++++ libc/include/dirent.h | 1 + 3 files changed, 32 insertions(+) commit 12652fe557cabdfae32cf64b43bbb57894f171b7 Author: Jonas 'Sortie' Termansen Date: Wed Mar 26 23:58:22 2014 +0100 Add alphasort_r(3). libc/Makefile | 1 + libc/dirent/alphasort_r.cpp | 30 ++++++++++++++++++++++++++++++ libc/include/dirent.h | 1 + 3 files changed, 32 insertions(+) commit 71ae173b3783060131ac461290eb7d09fe498866 Author: Jonas 'Sortie' Termansen Date: Wed Mar 26 23:55:02 2014 +0100 Add dscandir_r(3). libc/Makefile | 1 + libc/dirent/dscandir_r.cpp | 85 ++++++++++++++++++++++++++++++++++++++++++++++ libc/dirent/scandir.cpp | 69 ++++++++++++------------------------- libc/include/dirent.h | 5 +++ 4 files changed, 112 insertions(+), 48 deletions(-) commit 5dbd89d2aaa03659bed6f31f5b050fcc11c1c502 Author: Jonas 'Sortie' Termansen Date: Wed Mar 26 03:00:51 2014 +0100 Delay heap initialization until first heap expansion. kernel/kernel.cpp | 3 --- libc/include/malloc.h | 4 +--- libc/init/init.cpp | 3 --- libc/stdlib/heap.cpp | 36 ++++++++++-------------------------- 4 files changed, 11 insertions(+), 35 deletions(-) commit e2526347bd801cdafe9d248ae8742a8d554e82c7 Author: Jonas 'Sortie' Termansen Date: Thu Nov 20 17:21:50 2014 +0100 Fix assertion failure panic message ending with a newline. libc/assert/__assert.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 81ad72ae89c3dae5d40431a66bb511b28a674a06 Author: Jonas 'Sortie' Termansen Date: Thu Nov 20 17:04:20 2014 +0100 Fix renegade graphical console rendering thread. The console rendering thread doesn't get shut down as the lfbtextbuffer did not think it had a rendering thread. This causes corruptions to occur when a subsequent resolution change destroys the lfbtextbuffer class instance, but the thread continues to use the class. Lots of undefined behavior occurs as the memory gets reallocated for other purposes. kernel/lfbtextbuffer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit e9b81ccaa5affc2a3d106a7504ad759e91c37ab1 Author: Jonas 'Sortie' Termansen Date: Tue Jul 22 15:27:13 2014 +0200 Rewrite chvideomode(1). utils/chvideomode.cpp | 663 +++++++++++++++++++++++++++----------------------- 1 file changed, 355 insertions(+), 308 deletions(-) commit ee13ffa715311cb494c3daaf90c5aecdb7d9dfa6 Author: Jonas 'Sortie' Termansen Date: Tue Mar 25 20:28:26 2014 +0100 Refactor kernel graphics support. kernel/Makefile | 3 +- kernel/bga.cpp | 585 ------------------------------ kernel/dispmsg.cpp | 342 ------------------ kernel/dispmsg.h | 36 -- kernel/gpu/bga/bga.cpp | 528 +++++++++++++++++++++++++++ kernel/{ => gpu/bga}/bga.h | 8 +- kernel/include/sortix/display.h | 6 +- kernel/include/sortix/kernel/video.h | 48 +-- kernel/kernel.cpp | 6 +- kernel/video.cpp | 673 ++++++++++++++++------------------- 10 files changed, 868 insertions(+), 1367 deletions(-) commit 8f7c72abc1dd4be58e7363ad35ee0c91c75cb1b8 Author: Jonas 'Sortie' Termansen Date: Tue Mar 25 16:02:25 2014 +0100 Add utility functions for mapping PCI memory areas. kernel/Makefile | 1 + kernel/include/sortix/kernel/pci-mmio.h | 40 ++++++++++ kernel/pci-mmio.cpp | 131 ++++++++++++++++++++++++++++++++ 3 files changed, 172 insertions(+) commit 50ee8ca323169bf51b5f4b2875ff22f04947faf4 Author: Jonas 'Sortie' Termansen Date: Tue Mar 25 00:31:00 2014 +0100 Implement searching for multiple PCI devices matching a pattern. kernel/bga.cpp | 4 ++-- kernel/include/sortix/kernel/pci.h | 2 +- kernel/pci.cpp | 39 ++++++++++++++++++++++++-------------- 3 files changed, 28 insertions(+), 17 deletions(-) commit 400eb2238fef91a3e2296e942baaecd5494d94af Author: Jonas 'Sortie' Termansen Date: Wed Mar 19 23:33:44 2014 +0100 Refactor process id allocation and accounting. kernel/Makefile | 3 +- kernel/include/sortix/kernel/process.h | 17 +++--- kernel/include/sortix/kernel/ptable.h | 63 ++++++++++++++++++++++ kernel/kernel.cpp | 14 ++++- kernel/logterminal.cpp | 5 +- kernel/process.cpp | 88 ++++++++---------------------- kernel/ptable.cpp | 99 ++++++++++++++++++++++++++++++++++ kernel/resource.cpp | 11 ++-- kernel/signal.cpp | 3 +- 9 files changed, 214 insertions(+), 89 deletions(-) commit 25e07a90831c151b78517030fac41db5104f45a0 Author: Jonas 'Sortie' Termansen Date: Tue Mar 4 00:10:48 2014 +0100 Refactor kernel interrupt and thread register support. kernel/Makefile | 6 +- kernel/com.cpp | 2 +- kernel/debugger.cpp | 108 ++++++------ kernel/include/sortix/kernel/cpu.h | 86 ---------- kernel/include/sortix/kernel/interrupt.h | 11 +- kernel/include/sortix/kernel/memorymanagement.h | 4 +- kernel/include/sortix/kernel/process.h | 8 +- kernel/include/sortix/kernel/registers.h | 207 +++++++++++++++++++++++ kernel/include/sortix/kernel/scheduler.h | 17 +- kernel/include/sortix/kernel/signal.h | 5 +- kernel/include/sortix/kernel/thread.h | 40 ++--- kernel/kb/ps2.cpp | 17 +- kernel/kb/ps2.h | 2 +- kernel/kernel.cpp | 21 +-- kernel/kthread.cpp | 2 +- kernel/log.cpp | 2 +- kernel/process.cpp | 127 +++++++++++--- kernel/registers.cpp | 76 +++++++++ kernel/scheduler.cpp | 196 +++++++++++++++------ kernel/signal.cpp | 123 +++++++------- kernel/thread.cpp | 216 ++++++++---------------- kernel/x64/boot.S | 5 +- kernel/x64/interrupt.S | 3 + kernel/x64/memorymanagement.cpp | 13 +- kernel/x64/process.cpp | 83 --------- kernel/x64/x64.cpp | 49 ------ kernel/x86-family/float.cpp | 99 +---------- kernel/x86-family/float.h | 33 +--- kernel/x86-family/gdt.cpp | 24 ++- kernel/x86-family/gdt.h | 3 +- kernel/x86-family/interrupt.cpp | 72 +++----- kernel/x86-family/memorymanagement.cpp | 40 ++--- kernel/x86-family/time.cpp | 6 +- kernel/x86/boot.S | 5 +- kernel/x86/interrupt.S | 9 +- kernel/x86/memorymanagement.cpp | 11 +- kernel/x86/process.cpp | 75 -------- kernel/x86/syscall.S | 5 + kernel/x86/x86.cpp | 45 ----- 39 files changed, 862 insertions(+), 994 deletions(-) commit c2f9c0bb12329cc238a7ef907dba874ef5907e30 Author: Jonas 'Sortie' Termansen Date: Tue Mar 18 17:50:34 2014 +0100 Remove --usage options from shell utilities in favor of --help. utils/calc.cpp | 13 ++++++------- utils/cat.cpp | 14 +++----------- utils/chroot.cpp | 14 ++++---------- utils/chvideomode.cpp | 15 ++++----------- utils/column.cpp | 12 +++--------- utils/cp.cpp | 12 +++--------- utils/du.cpp | 14 +++----------- utils/kernelinfo.cpp | 10 ++-------- utils/kill.cpp | 6 +++--- utils/ln.cpp | 14 ++++---------- utils/ls.cpp | 15 +++------------ utils/mkdir.cpp | 12 +++--------- utils/pwd.cpp | 14 +++----------- utils/rm.cpp | 12 +++--------- utils/rmdir.cpp | 12 +++--------- utils/tail.cpp | 10 ++-------- utils/type.cpp | 12 +++--------- utils/uname.cpp | 14 ++++---------- utils/wc.cpp | 14 +++----------- utils/which.cpp | 12 +++--------- 20 files changed, 65 insertions(+), 186 deletions(-) commit 07fd50d5c6ea83f8c876d4fc643919bf6e8e3458 Author: Jonas 'Sortie' Termansen Date: Wed Mar 5 02:39:21 2014 +0100 Add wcwidth(3) and wcswidth(3). libc/Makefile | 2 ++ libc/include/wchar.h | 4 ++-- libc/wchar/wcswidth.cpp | 38 ++++++++++++++++++++++++++++++++++++++ libc/wchar/wcwidth.cpp | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 2 deletions(-) commit 25b4125840bfee9c29918f74b622ebee5f862846 Author: Jonas 'Sortie' Termansen Date: Mon Mar 3 18:22:05 2014 +0100 Relocate kernel IO port functions to . kernel/ata.cpp | 65 +++++++++++++-------------- kernel/bga.cpp | 9 ++-- kernel/com.cpp | 73 +++++++++++++++--------------- kernel/debugger.cpp | 21 ++++----- kernel/include/sortix/kernel/cpu.h | 6 --- kernel/include/sortix/kernel/ioport.h | 83 +++++++++++++++++++++++++++++++++++ kernel/kb/ps2.cpp | 11 ++--- kernel/pci.cpp | 9 ++-- kernel/uart.cpp | 67 ++++++++++++++-------------- kernel/vga.cpp | 23 +++++----- kernel/x86-family/cmos.cpp | 5 ++- kernel/x86-family/pic.cpp | 55 +++++++++++------------ kernel/x86-family/time.cpp | 7 +-- kernel/x86-family/x86-family.cpp | 43 ++---------------- 14 files changed, 265 insertions(+), 212 deletions(-) commit 7b3e2fa2293a1cee349f61035d9904d0e837b56b Author: Jonas 'Sortie' Termansen Date: Mon Mar 3 00:07:36 2014 +0100 Clean up kernel thread creation code. kernel/Makefile | 1 - kernel/include/sortix/kernel/kthread.h | 4 +- kernel/include/sortix/kernel/thread.h | 30 +----- kernel/kthread.cpp | 4 +- kernel/thread.cpp | 188 ++++++++++++++++++++++++++++++--- kernel/x64/thread.cpp | 120 --------------------- kernel/x86/kthread.S | 9 -- kernel/x86/thread.cpp | 99 ----------------- 8 files changed, 185 insertions(+), 270 deletions(-) commit a24ecf4b83b01656cc86e5607c878ca47a658c2e Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 17:09:43 2014 +0100 Add getsockopt(2) and setsockopt(2). kernel/descriptor.cpp | 12 +++++++ kernel/fs/user.cpp | 54 +++++++++++++++++++++++++++++++ kernel/include/sortix/kernel/descriptor.h | 4 +++ kernel/include/sortix/kernel/inode.h | 8 +++++ kernel/include/sortix/kernel/vnode.h | 4 +++ kernel/include/sortix/syscallnum.h | 4 ++- kernel/inode.cpp | 12 +++++++ kernel/io.cpp | 24 ++++++++++++++ kernel/vnode.cpp | 12 +++++++ libc/include/fsmarshall-msg.h | 28 +++++++++++++++- libc/sys/socket/getsockopt.cpp | 13 ++++---- libc/sys/socket/setsockopt.cpp | 13 ++++---- 12 files changed, 174 insertions(+), 14 deletions(-) commit 708bcb4735994cdf2fc3ffb4624e9beb127a0bd9 Author: Jonas 'Sortie' Termansen Date: Thu Jan 16 20:46:31 2014 +0100 Add recvmsg(2) and sendmsg(2). kernel/include/sortix/syscallnum.h | 4 +++- kernel/io.cpp | 44 ++++++++++++++++++++++++++++++++++++++ libc/include/sys/socket.h | 2 ++ libc/sys/socket/recvmsg.cpp | 12 ++++++----- libc/sys/socket/sendmsg.cpp | 10 +++++---- 5 files changed, 62 insertions(+), 10 deletions(-) commit c5fa54aa08be71af17b3e47596a360f534034ea8 Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 16:20:41 2014 +0100 Use fmemopen(3) internally in sh(1). utils/sh.cpp | 74 ++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 34 deletions(-) commit dc73d0d7a1346bc6fecec2bc91f27c3e473834ff Author: Jonas 'Sortie' Termansen Date: Tue Feb 25 18:12:30 2014 +0100 Add test-fmemopen. regress/Makefile | 1 + regress/test-fmemopen.c++ | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) commit c428ec4d83cd037e941941663a3f05c51e21c63e Author: Jonas 'Sortie' Termansen Date: Tue Feb 25 18:11:40 2014 +0100 Add fmemopen(3). libc/Makefile | 1 + libc/include/stdio.h | 2 +- libc/stdio/fmemopen.cpp | 224 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 226 insertions(+), 1 deletion(-) commit d7e1c926a2073f44b3195771235d522ac634f5fe Author: Jonas 'Sortie' Termansen Date: Mon Mar 17 20:09:11 2014 +0100 Run command-not-found in sh only if errno is ENOENT. utils/sh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2697711dc1598a10897dec3232fc398c492f94d8 Author: Jonas 'Sortie' Termansen Date: Sun Mar 9 15:30:48 2014 +0100 Add tr(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/tr.cpp | 676 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 679 insertions(+) commit 79f7312a49c516f5c250a64a70f6959e7f95ded3 Author: Jonas 'Sortie' Termansen Date: Wed Nov 5 03:53:07 2014 +0100 Fix page protection bugs. kernel/x86-family/memorymanagement.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 760f21c67062d700052910445082c997efe74b46 Author: Jonas 'Sortie' Termansen Date: Sat Mar 8 16:42:02 2014 +0100 Add dirname(1). doc/user-guide | 1 + utils/.gitignore | 2 + utils/Makefile | 2 + utils/dirname.cpp | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+) commit 94bc05307a1bf971c78afcab041d61360f01dd03 Author: Jonas 'Sortie' Termansen Date: Sat Mar 8 16:40:40 2014 +0100 Add basename(1). doc/user-guide | 1 + utils/basename.cpp | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+) commit af66244bd6d7ad5e2831910953996dc95900c06e Author: Jonas 'Sortie' Termansen Date: Sat Mar 8 05:41:10 2014 +0100 Add uniq(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/uniq.cpp | 245 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 248 insertions(+) commit 9f9af783d90cccb11b8ef3325de83c75c6048b26 Author: Jonas 'Sortie' Termansen Date: Sat Mar 8 02:01:37 2014 +0100 Add sort(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/sort.cpp | 457 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 460 insertions(+) commit 2f9e2e4e9d23a43749c6bac89b5826b99c3cf72a Author: Jonas 'Sortie' Termansen Date: Fri Mar 7 00:06:46 2014 +0100 Add expr(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/expr.cpp | 429 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 432 insertions(+) commit 3ca139b4c2aeb8e1a4ce1e6f9789c1d60d7d4d23 Author: Jonas 'Sortie' Termansen Date: Tue Jun 18 13:39:47 2013 +0200 Add chmod(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/chmod.cpp | 426 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 429 insertions(+) commit d8a66ac86f05339253ba08cbbabc6640a6da609f Author: Jonas 'Sortie' Termansen Date: Thu Mar 6 21:43:24 2014 +0100 Add -t option to ls(1). utils/ls.cpp | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) commit 05a124467eef83d302f89833f2bf5f32febd4b3b Author: Jonas 'Sortie' Termansen Date: Thu Mar 6 21:31:16 2014 +0100 Add -i option to ls(1). utils/ls.cpp | 6 ++++++ 1 file changed, 6 insertions(+) commit 2194bdb8b9c8e490f7d4d291933812eee3864740 Author: Jonas 'Sortie' Termansen Date: Thu Mar 6 21:26:58 2014 +0100 Add -d option to ls(1). utils/ls.cpp | 45 ++++++++++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 13 deletions(-) commit f3d1b9d0e4a6ecd93f42a0cf529673d0cef25e23 Author: Jonas 'Sortie' Termansen Date: Fri Mar 7 00:06:58 2014 +0100 Improve mv(1). utils/mv.cpp | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 226 insertions(+), 7 deletions(-) commit d7c54161b2d86ad00aee8825ddc26aee727d7c45 Author: Jonas 'Sortie' Termansen Date: Thu Feb 27 20:56:49 2014 +0100 Revise stdio implementation. libc/Makefile | 10 ++ libc/include/FILE.h | 26 ++-- libc/include/stdio.h | 11 ++ libc/stdio/clearerr_unlocked.cpp | 5 +- libc/stdio/fdio.cpp | 219 +++------------------------- libc/stdio/fdio.h | 31 +++- libc/stdio/fdio_install_fd.cpp | 71 +++++++++ libc/stdio/fdio_install_path.cpp | 58 ++++++++ libc/stdio/fdopen.cpp | 37 +++++ libc/stdio/feof_unlocked.cpp | 9 +- libc/stdio/ferror_unlocked.cpp | 6 +- libc/stdio/fflush_stop_reading_unlocked.cpp | 42 +++--- libc/stdio/fflush_stop_writing_unlocked.cpp | 41 +++++- libc/stdio/fflush_unlocked.cpp | 8 +- libc/stdio/fgetc_unlocked.cpp | 54 ++++--- libc/stdio/fileno_unlocked.cpp | 9 +- libc/stdio/fopen.cpp | 37 +++++ libc/stdio/fparsemode.cpp | 54 +++++++ libc/stdio/fputc_unlocked.cpp | 27 +++- libc/stdio/fread_unlocked.cpp | 47 ++++-- libc/stdio/freadable_unlocked.cpp | 4 +- libc/stdio/freading_unlocked.cpp | 6 +- libc/stdio/freopen.cpp | 2 +- libc/stdio/fseeko_unlocked.cpp | 12 +- libc/stdio/fsetdefaultbuf_unlocked.cpp | 25 ++-- libc/stdio/fseterr_unlocked.cpp | 5 +- libc/stdio/ftello_unlocked.cpp | 17 +-- libc/stdio/fwritable_unlocked.cpp | 4 +- libc/stdio/fwrite_unlocked.cpp | 45 ++++-- libc/stdio/fwriting_unlocked.cpp | 6 +- libc/stdio/getchar.cpp | 33 +++++ libc/stdio/getchar_unlocked.cpp | 30 ++++ libc/stdio/popen.cpp | 131 ++++------------- libc/stdio/putchar.cpp | 33 +++++ libc/stdio/putchar_unlocked.cpp | 30 ++++ libc/stdio/puts.cpp | 30 ++++ libc/stdio/setvbuf_unlocked.cpp | 4 +- libc/stdio/stdio.cpp | 70 ++++----- libc/stdio/ungetc_unlocked.cpp | 24 ++- libc/stdio/vfprintf_unlocked.cpp | 8 +- libc/stdio/vfscanf_unlocked.cpp | 4 + 41 files changed, 810 insertions(+), 515 deletions(-) commit b4c38fd0440cc067225a0992275e4a0b88c17163 Author: Jonas 'Sortie' Termansen Date: Thu Oct 16 20:26:21 2014 +0200 Fix wrong sizeof in memstat(2). kernel/memorymanagement.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e20dd6ed06967c253ce8ff89512aa9aa4ed56db1 Author: Jonas 'Sortie' Termansen Date: Mon Oct 6 14:21:03 2014 +0200 Fix waiting for absolute time on clocks. kernel/clock.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 120611342503e5906d0ba87336a0973554ebbb68 Author: Jonas 'Sortie' Termansen Date: Sun Oct 5 00:36:27 2014 +0200 Fix userfs renaming between directories. kernel/fs/user.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 26c9b266b820bcf5b106ce2884ec7aba759ce592 Author: Jonas 'Sortie' Termansen Date: Sat Oct 4 23:29:47 2014 +0200 Fix extfs rename between directories. ext/extfs.cpp | 2 +- ext/inode.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) commit 2492f0bad75b488691f3764fab0bfc19118e3834 Author: Jonas 'Sortie' Termansen Date: Mon Sep 29 22:31:05 2014 +0200 Fix how the shell appends. utils/sh.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 66f1a627432d24338c1881496fa1c215633580d1 Author: Jonas 'Sortie' Termansen Date: Tue Sep 30 22:44:28 2014 +0200 Fix userfs bugs return values and bugs. kernel/fs/user.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 5c0c4793478fe231fe8a54147533ffe6d0f0a184 Author: Jonas 'Sortie' Termansen Date: Wed Oct 1 20:11:43 2014 +0200 Fix mbr error messages on empty partitions. mbr/mbrfs.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit cef4c8d98221b3f423a9662cdf8602e1943351cc Author: Jonas 'Sortie' Termansen Date: Wed Oct 1 19:17:24 2014 +0200 Fix waitpid status copying to user-space. kernel/process.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit 24d8725a3ee8ad798040a8772eed4cd471039cc1 Author: Jonas 'Sortie' Termansen Date: Tue Sep 30 17:43:06 2014 +0200 Fix mbrfs partition size and length calculation. mbr/mbrfs.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit a6bb538bcf104f0f31dd0f4e3fdd16ea67fedc24 Author: Jonas 'Sortie' Termansen Date: Tue Sep 30 17:41:59 2014 +0200 Fix user-space filesystem copying. kernel/fs/user.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit f3eb87c3ee705569cd1c1f99bf7dda93ce803d7c Author: Jonas 'Sortie' Termansen Date: Sun Mar 9 16:09:10 2014 +0100 Improve qsort_r(3) run-time complexity using quicksort. libc/stdlib/qsort_r.cpp | 81 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 61 insertions(+), 20 deletions(-) commit a9cf3cc684699d15f97ddc8a4056ce94595a0edd Author: Jonas 'Sortie' Termansen Date: Sun Mar 9 16:07:36 2014 +0100 Add qsort_r(3). libc/Makefile | 1 + libc/include/stdlib.h | 1 + libc/stdlib/qsort.cpp | 40 ++++++++----------------------- libc/stdlib/qsort_r.cpp | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 30 deletions(-) commit 12780c8eb03e9f24470f5c9fa00cb5ac11af4160 Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 22:46:33 2014 +0100 Add env(1). doc/user-guide | 1 + utils/.gitignore | 1 + utils/Makefile | 1 + utils/env.cpp | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ utils/sh.cpp | 7 -- 5 files changed, 212 insertions(+), 7 deletions(-) commit d6365e2da26174977de552e8893747809944afb5 Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 16:29:35 2014 +0100 Add sysconf(_SC_GETPW_R_SIZE_MAX). libc/unistd/sysconf.cpp | 1 + 1 file changed, 1 insertion(+) commit b4de9e4399d11e9561c1c4f8086c48c2e99d02b6 Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 16:29:16 2014 +0100 Add sysconf(_SC_GETGR_R_SIZE_MAX). libc/unistd/sysconf.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 73dc4a0feb1e8d07301221f3a530f5650a1006fe Author: Jonas 'Sortie' Termansen Date: Tue Sep 23 22:54:48 2014 +0200 Fix kernel leaking ESPIPE in non-error cases. kernel/descriptor.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 933720e0b0ad58fde7e3dc6368eb8937633c6fb0 Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:41:26 2014 +0100 Remove obsolete system calls. kernel/include/sortix/syscallnum.h | 54 +++++++++++++------------- kernel/io.cpp | 77 -------------------------------------- kernel/pipe.cpp | 7 ---- kernel/scheduler.cpp | 28 -------------- kernel/user-timer.cpp | 15 -------- 5 files changed, 29 insertions(+), 152 deletions(-) commit 234f186a7d70707c54aa68b0b37a0d7bbefe911e Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:08:57 2014 +0100 Ensure system call indices are valid expressions in libc syscall stubs. libc/include/sys/syscall.h | 5 +++++ 1 file changed, 5 insertions(+) commit 01f6606b74c96da6543de53dbcd1940e8740f583 Author: Jonas 'Sortie' Termansen Date: Mon Sep 8 23:16:10 2014 +0200 Fix FILE being a macro. libc/include/FILE.h | 1 - libc/include/grp.h | 1 - libc/include/pwd.h | 1 - libc/include/stdio.h | 1 - libc/include/wchar.h | 1 - 5 files changed, 5 deletions(-) commit f84bfe5e897322d64b70fa9c23f75f0d20c609d3 Author: Jonas 'Sortie' Termansen Date: Sun Sep 14 23:03:07 2014 +0200 Fix paste in editor not deleting the selection. utils/editor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0b085cbcf1e50288a3146011f754e853f0ac3851 Author: Jonas 'Sortie' Termansen Date: Thu Sep 25 15:30:02 2014 +0200 Fix strerror_r(3) range error case. libc/string/strerror_r.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 0b1af77ca0cd55cb1015412258a722a3fe317d9d Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:38:21 2014 +0200 Fix return value of wcscat(3). libc/wchar/wcscat.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 9291dae58f90ec370c9257d150725b3af97ca3b3 Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:35:30 2014 +0200 Fix wcschr(3) family like strchr(3) was fixed. libc/wchar/wcschr.cpp | 8 ++++---- libc/wchar/wcschrnul.cpp | 12 ++++++------ libc/wchar/wcsrchr.cpp | 14 ++++++++------ 3 files changed, 18 insertions(+), 16 deletions(-) commit 86cd065aa75af9dc019302f4b3ac7e0e20e0e67b Author: Jonas 'Sortie' Termansen Date: Wed Sep 24 21:12:28 2014 +0200 Fix wmemmove(3) off-by-one bounds error. libc/wchar/wmemmove.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit c0ad3d8a804a7456f1636b65076a71d52d03df1f Author: Jonas 'Sortie' Termansen Date: Mon Sep 15 20:57:47 2014 +0200 Fix error case in tfork(2). kernel/process.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 94a7433cf098b9f758a4b75757be9da9b81db803 Author: Jonas 'Sortie' Termansen Date: Mon Sep 15 15:29:36 2014 +0200 Fix atoi(3) out-of-range cases. libc/stdlib/atoi.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 87fee9594936aecd2955d69bc4603f8b00f65570 Author: Jonas 'Sortie' Termansen Date: Sun Sep 14 23:48:05 2014 +0200 Fix setenv(3) error case. libc/stdlib/setenv.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 513c5f242d4cff7c4723236b13c86d56f7ae8fb1 Author: Jonas 'Sortie' Termansen Date: Sun Sep 14 20:02:51 2014 +0200 Fix strtol(3) quality. libc/stdlib/strtol.cpp | 145 +++++++++++++++++++++++++++++++------------------ 1 file changed, 91 insertions(+), 54 deletions(-) commit 228bf52b493e51fdca22335f93241912a402db20 Author: Jonas 'Sortie' Termansen Date: Tue Aug 26 23:12:53 2014 +0200 Fix fdopen setting FD_CLOEXEC wrongly. libc/dirent/fdopendir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 783c1092ff52e4739096b42dd5d6426fb90b4369 Author: Jonas 'Sortie' Termansen Date: Tue Aug 26 23:11:53 2014 +0200 Fix readdir() setting errno on success. libc/dirent/fdopendir.cpp | 2 ++ 1 file changed, 2 insertions(+) commit ecccf4e1f71f2316c209ed90751809af7b1c2cdf Author: Jonas 'Sortie' Termansen Date: Mon Sep 8 17:43:20 2014 +0200 Fix getdelim(2) leaking a freed pointer. libc/stdio/getdelim.cpp | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) commit e29f0cdd1e04e38a7cbe0189b6d26afa5ba5807f Author: Jonas 'Sortie' Termansen Date: Mon Sep 15 21:09:05 2014 +0200 Fix class process constructor forgetting some members. kernel/process.cpp | 93 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 35 deletions(-) commit 797efbc15b1993abdf459de22da5bf01e6040805 Author: Jonas 'Sortie' Termansen Date: Mon Sep 22 17:47:57 2014 +0200 Fix Ref self-assignment. kernel/include/sortix/kernel/refcount.h | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) commit 6558de636e9aba6d3d374a022c0c2371fbaa6d0e Author: Jonas 'Sortie' Termansen Date: Mon Sep 15 21:04:49 2014 +0200 Fix tfork(2) not copying signal properties. kernel/process.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) commit 741e48e688bc4247d581c3bdb9f11a468d241fde Author: Jonas 'Sortie' Termansen Date: Sun Sep 14 20:05:09 2014 +0200 Fix interrupt worker quality. kernel/clock.cpp | 6 +- kernel/include/sortix/kernel/interrupt.h | 6 +- kernel/interrupt.cpp | 146 +++++++++++++++++-------------- kernel/kb/ps2.cpp | 8 +- 4 files changed, 88 insertions(+), 78 deletions(-) commit 76577e69f186059aaceed0bdb1d7e1947afc612c Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 13:29:58 2014 +0100 Add execlpe(3). libc/Makefile | 1 + libc/unistd/execlpe.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) commit 8c2befc140fc11355032d436f4dcaa9c93b9a142 Author: Jonas 'Sortie' Termansen Date: Fri Feb 21 17:04:45 2014 +0100 Clean up scheduler. kernel/debugger.cpp | 4 +- kernel/include/sortix/kernel/scheduler.h | 13 +- kernel/include/sortix/kernel/thread.h | 7 +- kernel/scheduler.cpp | 246 ++++++++++--------------------- kernel/thread.cpp | 8 +- 5 files changed, 94 insertions(+), 184 deletions(-) commit ae364db284acc9b171a22e2fffcd146778ab9762 Author: Jonas 'Sortie' Termansen Date: Fri Jul 11 17:40:57 2014 +0200 Add test-pthread-argv. regress/Makefile | 1 + regress/test-pthread-argv.c++ | 71 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) commit 9f2b0d7a262776c8b769b7f46c560767add96796 Author: Jonas 'Sortie' Termansen Date: Fri Feb 21 16:20:06 2014 +0100 Add test-pthread-main-join. regress/Makefile | 1 + regress/test-pthread-main-join.c++ | 55 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) commit 086a723575c690c1e855d0078b24e18650240bd9 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 20:00:56 2014 +0100 Add test-signal-raise. regress/Makefile | 1 + regress/test-signal-raise.c++ | 55 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) commit 16839e19e4e52c4f67e9c692658c5a9bce8a771e Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 19:47:04 2014 +0100 Add test-pthread-once. regress/Makefile | 1 + regress/test-pthread-once.c++ | 58 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) commit decad94ab47b16d5f2b63ade9da748ba4c6e68d2 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 16:17:15 2014 +0100 Add test-pthread-self. regress/Makefile | 1 + regress/test-pthread-self.c++ | 58 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) commit 5d59ab9b5eb8f0bed18799430b45e26ee818ad96 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 15:54:51 2014 +0100 Add test-pthread-tls. regress/Makefile | 1 + regress/test-pthread-tls.c++ | 56 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) commit 34a2c5822fd95fb51720c11c8d9813482f51bed0 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 15:48:27 2014 +0100 Add test-pthread-basic. regress/Makefile | 1 + regress/test-pthread-basic.c++ | 52 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) commit 6454d4d215802341610a765ad7e772f961179b40 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 15:47:55 2014 +0100 Add regress(1). Makefile | 1 + doc/user-guide | 10 ++ regress/.gitignore | 3 + regress/Makefile | 35 ++++++ regress/regress.c++ | 336 ++++++++++++++++++++++++++++++++++++++++++++++++++++ regress/test.h | 53 +++++++++ system/Makefile | 2 + 7 files changed, 440 insertions(+) commit 594dcaad19dae95b8c117e020a116cf101cf2cef Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 16:57:09 2014 +0100 Add format attribute to kernel print and panic functions. kernel/include/sortix/kernel/log.h | 4 +++- kernel/include/sortix/kernel/panic.h | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) commit 771dc573eefaec8f99ca1bba7313d289efd3f3ce Author: Jonas 'Sortie' Termansen Date: Tue Jul 22 15:21:40 2014 +0200 Add attribute format to standard library headers. libc/include/error.h | 8 +++--- libc/include/stdio.h | 74 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 54 insertions(+), 28 deletions(-) commit a298cdde18876deaa99f1791ed96b5a259dd03aa Author: Jonas 'Sortie' Termansen Date: Sat Jun 21 01:21:30 2014 +0200 Update libc/string/memmove.cpp to current coding conventions. libc/string/memmove.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 998208d4d367f6bf93f09fe1c6431c8327ef1f18 Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 15:22:29 2014 +0200 Update libc/string/memcmp.cpp to current coding conventions. libc/string/memcmp.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) commit ebadcf2c0281a08c6bd36e6852069cc39daff591 Author: Jonas 'Sortie' Termansen Date: Fri Jun 20 18:25:38 2014 +0200 Update libc/string/memset.cpp to current coding conventions. libc/string/memset.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit fcf412e54c298b5e4f64643101ec61eb82eb4880 Author: Jonas 'Sortie' Termansen Date: Wed Aug 20 13:31:40 2014 +0200 Fix mktime(3) and timegm(3) not sanitizing the broken down time. Found by musl's libc-test. libc/time/gmtime_r.cpp | 2 ++ 1 file changed, 2 insertions(+) commit b75678bcabfafcd1d51b5b0d3d9cd80c92414dd0 Author: Jonas 'Sortie' Termansen Date: Wed Aug 20 01:14:59 2014 +0200 Fix mkstemp(3) creating files with an insecure mode. libc/stdlib/mkstemp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 74fbbb3c789fa170eb25d621acd0f549e9272e94 Author: Jonas 'Sortie' Termansen Date: Wed Aug 20 01:13:31 2014 +0200 Fix mkstemp(3) not rejecting bad templates. Found by musl's libc-test. libc/stdlib/mkstemp.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) commit 40fd0fa3dc18eaf3837841255cc239863e86916b Author: Jonas 'Sortie' Termansen Date: Wed Aug 20 01:01:09 2014 +0200 Fix the environment functions not rejecting the empty name. Found by musl's libc-test. libc/stdlib/getenv.cpp | 3 +++ libc/stdlib/setenv.cpp | 3 +++ libc/stdlib/unsetenv.cpp | 3 +++ 3 files changed, 9 insertions(+) commit 0adfceef87e86d43b8a9c6722f46a94d2581b840 Author: Jonas 'Sortie' Termansen Date: Tue Aug 19 21:52:13 2014 +0200 Fix strtol("0xz", &s, 16) handling. Found by musl's libc-test. libc/stdlib/strtol.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 88dd70991c5f4a8706606d9ca81e891cbe83cf5b Author: Jonas 'Sortie' Termansen Date: Tue Aug 19 20:57:01 2014 +0200 Fix strchrnul(3) and strrchr(3) missing an unsigned char cast. Found by musl's libc-test. libc/string/strchr.cpp | 4 ++-- libc/string/strchrnul.cpp | 4 ++-- libc/string/strrchr.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) commit cbd46f610c7f9ebdef19851e46c7f6726e83b81d Author: Jonas 'Sortie' Termansen Date: Mon Aug 18 15:15:59 2014 +0200 Fix init having its own poor vasprintf(3). utils/init.cpp | 29 ----------------------------- 1 file changed, 29 deletions(-) commit d880a9a797b211cb3b3b3780c37217f3d7a5424a Author: Jonas 'Sortie' Termansen Date: Mon Apr 28 18:35:25 2014 +0200 Fix memchr(3) missing an unsigned char cast. libc/string/memchr.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) commit 1a99dc50481ec68b2a3d303f0b7299e0fceeafb0 Author: Jonas 'Sortie' Termansen Date: Sun Aug 3 00:11:43 2014 +0200 Fix including in C++. libc/include/timespec.h | 2 ++ 1 file changed, 2 insertions(+) commit c451de1bc240ecbb405045f18ca65a2017904eea Author: Jonas 'Sortie' Termansen Date: Thu Jul 31 19:35:04 2014 +0200 Fix uninitalized memory accesses in editor. utils/editor.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) commit a8b8514272ca1c0360b78bf194a585f811f52d62 Author: Jonas 'Sortie' Termansen Date: Sat Jul 26 16:23:47 2014 +0200 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. libc/stdlib/clearenv.cpp | 1 + libc/stdlib/setenv.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) commit 5f9da2a651cbbbdf8c61b56158f376fbe3368654 Author: Jonas 'Sortie' Termansen Date: Tue Jul 22 15:20:57 2014 +0200 Fix format string problems in error(3) calls. libc/stdlib/heap.cpp | 4 ++-- utils/chvideomode.cpp | 4 ++-- utils/find.cpp | 2 +- utils/kill.cpp | 9 +++++---- 4 files changed, 10 insertions(+), 9 deletions(-) commit b0cbf9d0ea11343aadb2ff0f1b8051984fcc47d8 Author: Jonas 'Sortie' Termansen Date: Sat Aug 2 23:59:49 2014 +0200 Fix strlcpy(3) and strlcat(3) being horribly broken. Found by musl's libc-test. This is just embarrassing. libc/string/strlcat.cpp | 3 +-- libc/string/strlcpy.cpp | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) commit 395f7b29b48cddc0b189e3610879f82b182c5438 Author: Jonas 'Sortie' Termansen Date: Mon Aug 4 19:09:49 2014 +0200 Fix dregister not being thread safe. libc/dirent/dregister.cpp | 2 ++ 1 file changed, 2 insertions(+) commit fdc41cac7612b1ae61a86d3543552a4d9f2b2879 Author: Jonas 'Sortie' Termansen Date: Mon Aug 4 19:03:51 2014 +0200 Fix wrong return type of init_stdio(). libc/stdio/stdio.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 30cd318c171fee3f54cc096de934b05ded4fa62d Author: Jonas 'Sortie' Termansen Date: Sun Aug 4 20:24:34 2013 +0200 Implement signals. Note: This is an incompatible ABI change. doc/posix-divergence | 10 + kernel/include/sortix/__/sigset.h | 36 ++ kernel/include/sortix/__/wait.h | 55 ++ kernel/include/sortix/exit.h | 7 +- kernel/include/sortix/fork.h | 53 +- kernel/include/sortix/kernel/kthread.h | 12 + kernel/include/sortix/kernel/process.h | 20 +- kernel/include/sortix/kernel/signal.h | 25 +- kernel/include/sortix/kernel/thread.h | 31 +- kernel/include/sortix/sigaction.h | 63 ++ kernel/include/sortix/sigevent.h | 8 +- kernel/include/sortix/siginfo.h | 96 +++ kernel/include/sortix/signal.h | 93 ++- kernel/include/sortix/sigprocmask.h | 38 ++ kernel/include/sortix/sigset.h | 6 +- kernel/include/sortix/{x86/fork.h => sigval.h} | 28 +- kernel/include/sortix/{x64/fork.h => stack.h} | 50 +- kernel/include/sortix/syscallnum.h | 9 +- kernel/include/sortix/timespec.h | 9 +- kernel/include/sortix/ucontext.h | 155 +++++ kernel/include/sortix/wait.h | 35 +- kernel/logterminal.cpp | 13 +- kernel/process.cpp | 123 ++-- kernel/scheduler.cpp | 7 +- kernel/signal.cpp | 843 +++++++++++++++++++++++-- kernel/thread.cpp | 211 +++---- kernel/user-timer.cpp | 23 +- kernel/x64/process.cpp | 14 +- kernel/x64/thread.cpp | 39 -- kernel/x86-family/float.cpp | 50 +- kernel/x86-family/float.h | 7 +- kernel/x86-family/idt.cpp | 13 - kernel/x86-family/interrupt.cpp | 28 +- kernel/x86/kthread.S | 8 - kernel/x86/process.cpp | 4 +- kernel/x86/thread.cpp | 46 -- libc/Makefile | 7 +- libc/include/setjmp.h | 18 +- libc/include/signal.h | 166 +---- libc/include/sys/wait.h | 14 +- libc/include/unistd.h | 2 +- libc/init/init.cpp | 4 - libc/signal/SIG_DFL.cpp | 63 -- libc/signal/{SIG_IGN.cpp => psiginfo.cpp} | 11 +- libc/signal/sigaction.cpp | 54 +- libc/signal/sigaltstack.cpp | 34 + libc/signal/signal.cpp | 55 +- libc/signal/{SIG_ERR.cpp => sigpending.cpp} | 15 +- libc/signal/sigprocmask.cpp | 10 +- libc/signal/sigsuspend.cpp | 34 + libc/stdlib/abort.cpp | 26 +- libc/stdlib/exit.cpp | 17 +- libc/string/strsignal.cpp | 69 +- libc/unistd/_exit.cpp | 10 +- libc/unistd/sfork.cpp | 13 +- libc/unistd/sysconf.cpp | 2 + libc/unistd/tfork.cpp | 6 +- libc/x64/fork.S | 69 +- libc/x64/setjmp.S | 103 ++- libc/x86/fork.S | 65 +- libc/x86/setjmp.S | 102 ++- libpthread/include/pthread.h | 2 - libpthread/pthread_create.c++ | 20 +- libpthread/pthread_exit.c++ | 18 +- 64 files changed, 2172 insertions(+), 1105 deletions(-) commit 316ed84e605f44c64646faa0fbd7c922d2655062 Author: Jonas 'Sortie' Termansen Date: Mon Jul 21 13:11:43 2014 +0200 Fix process constructor not zeroing the user timers. kernel/process.cpp | 1 + kernel/user-timer.cpp | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) commit f1f272390b0819faf360b0c4a46c97f51e7fc1a8 Author: Jonas 'Sortie' Termansen Date: Thu Jan 30 15:07:02 2014 +0100 Add ESIGPENDING. libc/include/errno.h | 1 + libc/string/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 28d3b1245fff5e58180b4501ca0c11836b68038e Author: Jonas 'Sortie' Termansen Date: Fri Jul 11 15:52:59 2014 +0200 Fix terminology in exec family. libc/unistd/execl.cpp | 2 +- libc/unistd/execle.cpp | 2 +- libc/unistd/execlp.cpp | 2 +- libc/unistd/execv.cpp | 2 +- libc/unistd/execve.cpp | 2 +- libc/unistd/execvp.cpp | 2 +- libc/unistd/execvpe.cpp | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) commit 7f4419bae7762e59f887090faef39a616476c0b4 Author: Jonas 'Sortie' Termansen Date: Fri Jul 11 22:50:20 2014 +0200 Add libexec directory. Makefile | 2 +- doc/user-guide | 1 + system/Makefile | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) commit 9675bd7475e95fb5220d3bfdc26904a209737b44 Author: Jonas 'Sortie' Termansen Date: Sun Jul 20 14:59:50 2014 +0200 Deliver SIGPIPE on filesystem socket disconnect. This fixes the earlier mistake where I believed sockets were not meant to send SIGPIPE on bad writes, but the standard mandates that sockets do send SIGPIPE in such cases. kernel/net/fs.cpp | 3 --- 1 file changed, 3 deletions(-) commit cc643bd751c36ce92a8bf070b8e5a98c21a9e39a Author: Jonas 'Sortie' Termansen Date: Fri Jan 10 15:42:51 2014 +0100 Add pthread_detach(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 3 ++- libpthread/pthread_create.c++ | 1 + libpthread/pthread_detach.c++ | 36 ++++++++++++++++++++++++++++++++++++ libpthread/pthread_exit.c++ | 1 + libpthread/pthread_initialize.c++ | 1 + 6 files changed, 42 insertions(+), 1 deletion(-) commit 14ca2184531d8d3394e1ebaa81947e33b66229d2 Author: Jonas 'Sortie' Termansen Date: Thu Jan 9 23:48:18 2014 +0100 Add pthread_attr_getdetachstate(3) and pthread_attr_setdetachstate(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 2 ++ libpthread/include/pthread.h | 9 ++++---- libpthread/pthread_attr_getdetachstate.c++ | 31 ++++++++++++++++++++++++++ libpthread/pthread_attr_init.c++ | 1 + libpthread/pthread_attr_setdetachstate.c++ | 35 ++++++++++++++++++++++++++++++ libpthread/pthread_create.c++ | 1 + libpthread/pthread_exit.c++ | 17 +++++++++++---- libpthread/pthread_initialize.c++ | 1 + 9 files changed, 91 insertions(+), 8 deletions(-) commit aba97b772afc7ece373335a29118811182f3dbbe Author: Jonas 'Sortie' Termansen Date: Thu Jan 9 23:20:20 2014 +0100 Add pthread_join(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 4 +++- libpthread/pthread_create.c++ | 4 ++++ libpthread/pthread_exit.c++ | 7 +++++-- libpthread/pthread_initialize.c++ | 6 ++++++ libpthread/pthread_join.c++ | 40 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 59 insertions(+), 3 deletions(-) commit 35037df03647b3097d9ee65b7724b8dd47976b84 Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 15:08:13 2013 +0200 Add pthread_attr_setstacksize(3) and pthread_attr_getstacksize(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 2 ++ libpthread/include/pthread.h | 5 +++-- libpthread/pthread_attr_getstacksize.c++ | 33 ++++++++++++++++++++++++++++++++ libpthread/pthread_attr_init.c++ | 5 ++++- libpthread/pthread_attr_setstacksize.c++ | 31 ++++++++++++++++++++++++++++++ libpthread/pthread_create.c++ | 13 +++++++++---- 7 files changed, 84 insertions(+), 7 deletions(-) commit e3eba51a94827363e9daac1bcb8e1a73b192e6b3 Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 15:05:51 2013 +0200 Add pthread_attr_init(3) and pthread_attr_destroy(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 10 +++++++++- libpthread/include/pthread.h | 4 ++-- libpthread/pthread_attr_destroy.c++ | 30 ++++++++++++++++++++++++++++++ libpthread/pthread_attr_init.c++ | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 3 deletions(-) commit dc44b65d01be651a4a78eabfb45bfcb1c8f6aabe Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 18:04:11 2013 +0200 Add pthread_create(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 11 +- libpthread/pthread_create.c++ | 235 ++++++++++++++++++++++++++++++++++++++++++ libpthread/pthread_exit.c++ | 4 +- 4 files changed, 249 insertions(+), 2 deletions(-) commit b4d494cf8b92036cf40d05c9f4550ce6c1b8aa1f Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 18:02:28 2013 +0200 Implement thread creation in tfork(2). kernel/process.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) commit ff443c9f5e0631e263b0e3515d5140f10dbbe8ca Author: Jonas 'Sortie' Termansen Date: Thu Jan 9 00:57:16 2014 +0100 Thread-secure dregister(3) and dunregister(3). libc/dirent/dcloseall.cpp | 2 ++ libc/dirent/dregister.cpp | 3 +++ libc/dirent/dunregister.cpp | 5 +++++ 3 files changed, 10 insertions(+) commit a1ccba00f70b0ee7c961922c305367e713259a4c Author: Jonas 'Sortie' Termansen Date: Wed Jan 8 23:38:48 2014 +0100 Thread-secure rand(3). libc/stdlib/rand.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 3361620d83aa159acda9f6f727939f9e42a818b7 Author: Jonas 'Sortie' Termansen Date: Wed Jan 8 23:09:36 2014 +0100 Thread-secure setlocale(3). libc/locale/setlocale.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit c4e6888fd9f770fa890e45b7d34cff6ca56e58c2 Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 16:44:08 2013 +0200 Thread-secure psignal(3). libc/signal/psignal.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 48edf993733b861b0c4c6398eb213193fdcab174 Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 16:30:18 2013 +0200 Thread-secure error(3). libc/error/gnu_error.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit 1ddd404ff907c5b8ebcb80e09067129b8c7b187b Author: Jonas 'Sortie' Termansen Date: Sun Sep 1 01:41:37 2013 +0200 Thread-secure stdio. libc/Makefile | 34 ++++++++++++++ libc/include/FILE.h | 9 ++++ libc/include/stdio.h | 46 ++++++++++++++---- libc/include/wchar.h | 1 + libc/stdio/clearerr.cpp | 7 +-- libc/stdio/clearerr_unlocked.cpp | 31 ++++++++++++ libc/stdio/fbufsize.cpp | 7 ++- libc/stdio/fbufsize_unlocked.cpp | 30 ++++++++++++ libc/stdio/fcloseall.cpp | 9 ++-- libc/stdio/feof.cpp | 12 ++--- libc/stdio/feof_unlocked.cpp | 35 ++++++++++++++ libc/stdio/ferror.cpp | 9 ++-- libc/stdio/ferror_unlocked.cpp | 32 +++++++++++++ libc/stdio/fflush.cpp | 20 ++++---- libc/stdio/fflush_stop_reading.cpp | 33 ++----------- libc/stdio/fflush_stop_reading_unlocked.cpp | 58 +++++++++++++++++++++++ libc/stdio/fflush_stop_writing.cpp | 16 ++----- libc/stdio/fflush_stop_writing_unlocked.cpp | 42 +++++++++++++++++ libc/stdio/fflush_unlocked.cpp | 36 ++++++++++++++ libc/stdio/fgetc.cpp | 48 ++----------------- libc/stdio/fgetc_unlocked.cpp | 73 +++++++++++++++++++++++++++++ libc/stdio/fgets.cpp | 26 +++------- libc/stdio/fgets_unlocked.cpp | 52 ++++++++++++++++++++ libc/stdio/fileno.cpp | 9 ++-- libc/stdio/fileno_unlocked.cpp | 34 ++++++++++++++ libc/stdio/flbf.cpp | 7 ++- libc/stdio/flbf_unlocked.cpp | 30 ++++++++++++ libc/stdio/flockfile.cpp | 5 +- libc/stdio/flushlbf.cpp | 7 ++- libc/stdio/fnewfile.cpp | 1 + libc/stdio/fpending.cpp | 7 ++- libc/stdio/fpending_unlocked.cpp | 30 ++++++++++++ libc/stdio/fprintf.cpp | 4 +- libc/stdio/fprintf_unlocked.cpp | 35 ++++++++++++++ libc/stdio/fpurge.cpp | 8 ++-- libc/stdio/fpurge_unlocked.cpp | 32 +++++++++++++ libc/stdio/fputc.cpp | 31 ++---------- libc/stdio/fputc_unlocked.cpp | 56 ++++++++++++++++++++++ libc/stdio/fputs.cpp | 10 ++-- libc/stdio/fputs_unlocked.cpp | 35 ++++++++++++++ libc/stdio/fread.cpp | 34 ++------------ libc/stdio/fread_unlocked.cpp | 58 +++++++++++++++++++++++ libc/stdio/freadable.cpp | 7 ++- libc/stdio/freadable_unlocked.cpp | 30 ++++++++++++ libc/stdio/freading.cpp | 9 ++-- libc/stdio/freading_unlocked.cpp | 34 ++++++++++++++ libc/stdio/fregister.cpp | 35 ++++++++++---- libc/stdio/fresetfile.cpp | 3 +- libc/stdio/fscanf.cpp | 2 +- libc/stdio/fscanf_unlocked.cpp | 37 +++++++++++++++ libc/stdio/fseeko.cpp | 11 ++--- libc/stdio/fseeko_unlocked.cpp | 36 ++++++++++++++ libc/stdio/fsetdefaultbuf.cpp | 39 ++------------- libc/stdio/fsetdefaultbuf_unlocked.cpp | 67 ++++++++++++++++++++++++++ libc/stdio/fseterr.cpp | 7 +-- libc/stdio/fseterr_unlocked.cpp | 31 ++++++++++++ libc/stdio/fsetlocking.cpp | 13 ++--- libc/stdio/fsetlocking_unlocked.cpp | 37 +++++++++++++++ libc/stdio/ftello.cpp | 20 ++------ libc/stdio/ftello_unlocked.cpp | 43 +++++++++++++++++ libc/stdio/ftrylockfile.cpp | 6 +-- libc/stdio/funlockfile.cpp | 5 +- libc/stdio/fwritable.cpp | 7 ++- libc/stdio/fwritable_unlocked.cpp | 30 ++++++++++++ libc/stdio/fwrite.cpp | 33 ++----------- libc/stdio/fwrite_unlocked.cpp | 57 ++++++++++++++++++++++ libc/stdio/fwriting.cpp | 9 ++-- libc/stdio/fwriting_unlocked.cpp | 34 ++++++++++++++ libc/stdio/getc.cpp | 7 ++- libc/stdio/getc_unlocked.cpp | 30 ++++++++++++ libc/stdio/getdelim.cpp | 5 +- libc/stdio/putc.cpp | 7 ++- libc/stdio/putc_unlocked.cpp | 30 ++++++++++++ libc/stdio/rewind.cpp | 8 ++-- libc/stdio/setvbuf.cpp | 15 ++---- libc/stdio/setvbuf_unlocked.cpp | 40 ++++++++++++++++ libc/stdio/stdio.cpp | 20 +++++++- libc/stdio/ungetc.cpp | 32 ++----------- libc/stdio/ungetc_unlocked.cpp | 56 ++++++++++++++++++++++ libc/stdio/vfprintf.cpp | 13 ++--- libc/stdio/vfprintf_unlocked.cpp | 41 ++++++++++++++++ libc/stdio/vfscanf.cpp | 17 ++----- libc/stdio/vfscanf_unlocked.cpp | 40 ++++++++++++++++ 83 files changed, 1685 insertions(+), 417 deletions(-) commit e1db06c1c91b83424cc04274edbd35ae5b9cae5f Author: Jonas 'Sortie' Termansen Date: Sun Sep 1 19:17:27 2013 +0200 Thread-secure exit(3). libc/stdlib/exit.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) commit a96aca09c15a3bed6a355e541eabaca03a8dba72 Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 21:36:19 2013 +0200 Thread-secure user-space heap. libc/stdlib/heap.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 60 insertions(+), 7 deletions(-) commit 0618b8a68f17871f2aafd73255dce7988df82d4a Author: Jonas 'Sortie' Termansen Date: Tue Feb 18 16:51:23 2014 +0100 Thread secure errno(3). libc/errno/errno.cpp | 20 +++++++++----------- libc/include/errno.h | 11 ++++++++++- libc/init/init.cpp | 6 +----- libc/x64/syscall.S | 21 ++++----------------- libc/x86/syscall.S | 11 +++-------- 5 files changed, 27 insertions(+), 42 deletions(-) commit f69b6c845c2ab8a61c0b7b63d0262fb8b9b75ff0 Author: Jonas 'Sortie' Termansen Date: Fri Jan 10 16:16:05 2014 +0100 Add pthread_sigmask(3). libc/include/signal.h | 2 +- libpthread/Makefile | 1 + libpthread/pthread_sigmask.c++ | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) commit 4d71c96fdcb71657dde4780693f3646a41cf5343 Author: Jonas 'Sortie' Termansen Date: Fri Jan 10 16:01:03 2014 +0100 Add pthread_once(3). libpthread/Makefile | 1 + libpthread/include/__/pthread.h | 14 +++++++++++++- libpthread/include/pthread.h | 5 +++-- libpthread/pthread_once.c++ | 42 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 3 deletions(-) commit 12dcfd7b4757fc77d37405ece664a2878292451d Author: Jonas 'Sortie' Termansen Date: Mon Jan 13 22:32:35 2014 +0100 Add pthread_getspecific(3) and pthread_setspecific(3). libpthread/Makefile | 2 ++ libpthread/include/pthread.h | 6 ++-- libpthread/pthread_exit.c++ | 22 +++++++++++++++ libpthread/pthread_getspecific.c++ | 43 ++++++++++++++++++++++++++++ libpthread/pthread_setspecific.c++ | 58 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 129 insertions(+), 2 deletions(-) commit 7e452f97f61a7e80b5f43a2ef3009a1857b3df4c Author: Jonas 'Sortie' Termansen Date: Mon Jan 13 22:00:16 2014 +0100 Add pthread_key_create(3) and pthread_key_delete(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 2 +- libpthread/include/pthread.h | 18 ++++++++-- libpthread/pthread_initialize.c++ | 6 ++++ libpthread/pthread_key_create.c++ | 71 +++++++++++++++++++++++++++++++++++++++ libpthread/pthread_key_delete.c++ | 41 ++++++++++++++++++++++ 6 files changed, 137 insertions(+), 3 deletions(-) commit 094635b2c30970e591000eea1f8e3e95c8030ddb Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 19:46:17 2013 +0200 Add pthread_exit(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 3 ++- libpthread/pthread_exit.c++ | 46 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) commit 978aa68906657673c76d839def0037f91316d2ba Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 23:32:42 2013 +0200 Add pthread_rwlockattr_init(3) and pthread_rwlockattr_destroy(3). libpthread/include/__/pthread.h | 10 +++++++++- libpthread/include/pthread.h | 4 ++-- libpthread/pthread_rwlockattr_destroy.c++ | 30 +++++++++++++++++++++++++++++ libpthread/pthread_rwlockattr_init.c++ | 32 +++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 3 deletions(-) commit 466091bc4fbce4f4036e51b412002597f6af638a Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 21:56:03 2013 +0200 Add pthread_rwlock_init(3) and pthread_rwlock_destroy(3). libpthread/Makefile | 2 ++ libpthread/include/pthread.h | 5 +++-- libpthread/pthread_rwlock_destroy.c++ | 30 ++++++++++++++++++++++++++++++ libpthread/pthread_rwlock_init.c++ | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 2 deletions(-) commit 304404f43626b1b266ed7842d9c4296c5fe45f7f Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 22:10:03 2013 +0200 Add pthread_rwlock_tryrdlock(3) and pthread_rwlock_trywrlock(3). libpthread/Makefile | 2 ++ libpthread/include/pthread.h | 4 ++-- libpthread/pthread_rwlock_tryrdlock.c++ | 40 +++++++++++++++++++++++++++++++++ libpthread/pthread_rwlock_trywrlock.c++ | 40 +++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 2 deletions(-) commit 42c051320d29a537c14df03f3fe18806bdcdc1db Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 21:46:54 2013 +0200 Add pthread_rwlock_{rdlock,wrlock}(3) and pthread_rwlock_unlock(3). libpthread/Makefile | 3 +++ libpthread/include/__/pthread.h | 24 ++++++++++++++++++- libpthread/include/pthread.h | 10 ++++---- libpthread/pthread_rwlock_rdlock.c++ | 37 +++++++++++++++++++++++++++++ libpthread/pthread_rwlock_unlock.c++ | 45 ++++++++++++++++++++++++++++++++++++ libpthread/pthread_rwlock_wrlock.c++ | 37 +++++++++++++++++++++++++++++ 6 files changed, 151 insertions(+), 5 deletions(-) commit 993a5736f98f5e7ee2fc31668d46dbdb90ebccb3 Author: Jonas 'Sortie' Termansen Date: Mon Jul 7 15:12:52 2014 +0200 Add pthread_condattr_getclock(3) and pthread_condattr_setclock(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 4 ++++ libpthread/include/pthread.h | 7 ++++--- libpthread/pthread_cond_init.c++ | 1 + libpthread/pthread_cond_timedwait.c++ | 2 +- libpthread/pthread_condattr_getclock.c++ | 32 ++++++++++++++++++++++++++++++++ libpthread/pthread_condattr_init.c++ | 1 + libpthread/pthread_condattr_setclock.c++ | 31 +++++++++++++++++++++++++++++++ 8 files changed, 76 insertions(+), 4 deletions(-) commit dffcc700d166a2ba4fe1ef5a63b745fd159df92a Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 15:50:50 2013 +0200 Add pthread_condattr_init(3) and pthread_condattr_destroy(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 10 +++++++++- libpthread/include/pthread.h | 4 ++-- libpthread/pthread_cond_init.c++ | 15 ++++++++++++--- libpthread/pthread_condattr_destroy.c++ | 30 ++++++++++++++++++++++++++++++ libpthread/pthread_condattr_init.c++ | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 87 insertions(+), 6 deletions(-) commit 5a96d0252fc7efde1d29a20ed3d048564d789cd5 Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 15:36:08 2013 +0200 Add pthread_cond_init(3) and pthread_cond_destroy(3). libpthread/Makefile | 2 ++ libpthread/include/pthread.h | 5 +++-- libpthread/pthread_cond_destroy.c++ | 30 ++++++++++++++++++++++++++++++ libpthread/pthread_cond_init.c++ | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 2 deletions(-) commit 01acc8152487cc5ea54150fec9be3709af6ea0d3 Author: Jonas 'Sortie' Termansen Date: Tue Sep 17 00:07:04 2013 +0200 Add pthread_cond_timedwait(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 4 ++- libpthread/pthread_cond_timedwait.c++ | 57 +++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) commit 8f12a5f6f96ba5bac6588b8dc5886732cd1263f8 Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 15:16:48 2013 +0200 Add pthread_cond_{broadcast,signal}(3) and pthread_cond_wait(3). libpthread/Makefile | 3 +++ libpthread/include/__/pthread.h | 14 +++++++++- libpthread/include/pthread.h | 16 ++++++++--- libpthread/pthread_cond_broadcast.c++ | 33 +++++++++++++++++++++++ libpthread/pthread_cond_signal.c++ | 37 ++++++++++++++++++++++++++ libpthread/pthread_cond_wait.c++ | 50 +++++++++++++++++++++++++++++++++++ 6 files changed, 148 insertions(+), 5 deletions(-) commit 44d37c59eb481b18cca7681a2e6db4f5dbcb1586 Author: Jonas 'Sortie' Termansen Date: Wed Jan 8 19:03:51 2014 +0100 Add pthread_mutexattr_gettype(3) and pthread_mutexattr_settype(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 2 ++ libpthread/include/pthread.h | 4 ++-- libpthread/pthread_mutex_init.c++ | 17 ++++++++++++++--- libpthread/pthread_mutexattr_gettype.c++ | 32 ++++++++++++++++++++++++++++++++ libpthread/pthread_mutexattr_init.c++ | 1 + libpthread/pthread_mutexattr_settype.c++ | 30 ++++++++++++++++++++++++++++++ 7 files changed, 83 insertions(+), 5 deletions(-) commit a8b5eb42680eb89b54bb1463b1281f6be420013e Author: Jonas 'Sortie' Termansen Date: Tue Sep 3 14:51:19 2013 +0200 Add pthread_mutexattr_init(3) and pthread_mutexattr_destroy(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 10 +++++++++- libpthread/include/pthread.h | 4 ++-- libpthread/pthread_mutexattr_destroy.c++ | 30 ++++++++++++++++++++++++++++++ libpthread/pthread_mutexattr_init.c++ | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 3 deletions(-) commit b886c2297f1ba0b4b9688f1eb21705eb2af34efa Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 15:06:31 2013 +0200 Add pthread_mutex_init(3) and pthread_mutex_destroy(3). libpthread/Makefile | 2 ++ libpthread/include/pthread.h | 5 +++-- libpthread/pthread_mutex_destroy.c++ | 30 ++++++++++++++++++++++++++++++ libpthread/pthread_mutex_init.c++ | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 2 deletions(-) commit 65ed6a208c3db6e67ba465baa04a76d6d7911aa4 Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 14:54:51 2013 +0200 Add pthread_mutex_trylock(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 2 +- libpthread/pthread_mutex_trylock.c++ | 43 ++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) commit 23d05cba979d7ae2a8f37948b6f7e1ecc76eac8e Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 13:17:55 2013 +0200 Add pthread_mutex_lock(3) and pthread_mutex_unlock(3). libpthread/Makefile | 2 ++ libpthread/include/__/pthread.h | 18 ++++++++++++++- libpthread/include/pthread.h | 15 ++++++++----- libpthread/pthread_mutex_lock.c++ | 45 +++++++++++++++++++++++++++++++++++++ libpthread/pthread_mutex_unlock.c++ | 37 ++++++++++++++++++++++++++++++ 5 files changed, 110 insertions(+), 7 deletions(-) commit 76d0b82c84a891a46e7fb2448788163e9a696ee9 Author: Jonas 'Sortie' Termansen Date: Sun Sep 15 17:23:55 2013 +0200 Add pthread_equal(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 2 +- libpthread/pthread_equal.c++ | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) commit 05f8e8f2c63468231db2c5fe40c1a1c301209b7f Author: Jonas 'Sortie' Termansen Date: Sun Sep 15 17:20:03 2013 +0200 Add pthread_self(3). libpthread/Makefile | 1 + libpthread/include/pthread.h | 2 +- libpthread/pthread_self.c++ | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) commit c8a3a858b079e8309afe0abd8ed70eaa2f7e0ff1 Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 13:15:28 2013 +0200 Add libpthread. Makefile | 16 ++- doc/user-guide | 10 ++ kernel/include/sortix/sigevent.h | 18 ++- libc/Makefile | 5 +- libc/include/features.h | 4 +- libc/include/signal.h | 22 +++- libc/include/sys/types.h | 72 ++++++++++- libc/init/init.cpp | 4 + libpthread/.gitignore | 2 + libpthread/Makefile | 44 +++++++ libpthread/include/__/pthread.h | 68 ++++++++++ libpthread/include/pthread.h | 254 ++++++++++++++++++++++++++++++++++++++ libpthread/pthread_initialize.c++ | 69 +++++++++++ system/Makefile | 3 + 14 files changed, 577 insertions(+), 14 deletions(-) commit 8411dce330e615339207e8a06bbc4d07beca3d13 Author: Jonas 'Sortie' Termansen Date: Mon Feb 17 23:52:38 2014 +0100 Add kernel uthread support. kernel/elf.cpp | 18 ++- kernel/elf.h | 2 + kernel/include/sortix/elf-note.h | 2 + kernel/include/sortix/kernel/process.h | 3 + kernel/include/sortix/uthread.h | 61 +++++++++++ kernel/process.cpp | 193 +++++++++++++++++++++++++-------- kernel/segment.cpp | 2 + 7 files changed, 233 insertions(+), 48 deletions(-) commit fdcfb1f2da516e1f3a280d24dc24fa308e6619ea Author: Jonas 'Sortie' Termansen Date: Mon Feb 17 20:55:54 2014 +0100 Handle ELF notes during program load. kernel/elf.cpp | 83 +++++++++++++++++++++++++++++++++++++--- kernel/elf.h | 15 +++++++- kernel/include/sortix/elf-note.h | 34 ++++++++++++++++ kernel/process.cpp | 4 +- 4 files changed, 128 insertions(+), 8 deletions(-) commit 86dc1c849e01747a31c398242f4a9880c51b1f92 Author: Jonas 'Sortie' Termansen Date: Mon Jul 7 17:32:15 2014 +0200 Fix i386 not including <__/stdint.h>. libm/arch/i387/machine/npx.h | 2 ++ 1 file changed, 2 insertions(+) commit 3f9a7c0a32e67838b2dd91eb131ec1bba723c232 Author: Jonas 'Sortie' Termansen Date: Mon Jul 7 17:31:25 2014 +0200 Fix using C++ comments. kernel/include/sortix/fcntl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b607900a0078567c7770568b7f05265bb59df7c9 Author: Jonas 'Sortie' Termansen Date: Mon Jul 7 17:30:41 2014 +0200 Fix not being C89 friendly. kernel/include/sortix/dirent.h | 4 ++-- libc/include/dirent.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit efe8e49df024aebd6a1225721cb6398e1d273ae7 Author: Jonas 'Sortie' Termansen Date: Mon Jul 7 17:29:36 2014 +0200 Fix dispd.h using C++ comments. dispd/include/dispd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2d8d89b9f8d058c06845f2cb8da2a02278d46f3e Author: Jonas 'Sortie' Termansen Date: Wed Jun 25 00:42:00 2014 +0200 Fix missing TLB-flush in exit_thread(2). kernel/thread.cpp | 1 + 1 file changed, 1 insertion(+) commit 8b3e25ce7ff2a366380e107ef90afdddee1e1364 Author: Jonas 'Sortie' Termansen Date: Sun Jun 22 00:11:21 2014 +0200 Fix FileCache::ChangeNumBlocks using memory after realloc shrink. kernel/fcache.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) commit 1830ab64eea1322dfdc2ac836ad3b4e3025c62b1 Author: Jonas 'Sortie' Termansen Date: Sat Jun 21 01:37:44 2014 +0200 Fix memccpy(3) being terribly broken. libc/string/memccpy.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) commit 874baffd57c404c96d08a086b17fd1f175f9718c Author: Jonas 'Sortie' Termansen Date: Thu Jun 19 18:57:17 2014 +0200 Fix wrongly named system call constants. kernel/include/sortix/syscallnum.h | 6 +++--- kernel/io.cpp | 4 ++-- kernel/process.cpp | 4 ++-- libc/unistd/execve.cpp | 2 +- libc/unistd/getpagesize.cpp | 2 +- libc/unistd/lseek.cpp | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) commit 901467520f3771c1f009ef01046e0ed1ad8068bf Author: Jonas 'Sortie' Termansen Date: Thu Jun 12 00:59:54 2014 +0200 Fix init using usleep instead of nanosleep. utils/init.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 0a4e15cf974db8b2bd65c15faa1c489ced0116ed Author: Jonas 'Sortie' Termansen Date: Wed Jun 11 23:51:54 2014 +0200 Fix dispd console rendering sync hack not using fsync(2). dispd/client/session.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) commit 9f0e9f2fd4d04de77fe330a30413a20fa5c3471d Author: Jonas 'Sortie' Termansen Date: Tue Jun 17 18:23:20 2014 +0200 Fix overlapping socket level constants. libc/include/netinet/in.h | 15 ++++++++------- libc/include/sys/socket.h | 6 ++++-- 2 files changed, 12 insertions(+), 9 deletions(-) commit 2bead9df51b5d69c8ae6fefda2aa7ebaaa90a27b Author: Jonas 'Sortie' Termansen Date: Sat Jun 14 18:43:02 2014 +0200 Fix declaring access(2) constants. kernel/include/sortix/fork.h | 6 ------ 1 file changed, 6 deletions(-) commit 2d46c1e63c50fdf689a8076c81f221717ffc292d Author: Jonas 'Sortie' Termansen Date: Sun Jun 15 14:34:48 2014 +0200 Fix missing TLB-flush in mprotect(). kernel/memorymanagement.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 4ea6aa710c051701f35100bb7b8a69af2abb2c44 Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 19:34:52 2013 +0200 Add exit_thread(2). kernel/include/sortix/exit.h | 55 ++++++++++++++++++++++++++++++++++ kernel/include/sortix/syscallnum.h | 3 +- kernel/thread.cpp | 60 +++++++++++++++++++++++++++++++++++++- libc/Makefile | 1 + libc/include/unistd.h | 2 ++ libc/unistd/exit_thread.cpp | 35 ++++++++++++++++++++++ 6 files changed, 154 insertions(+), 2 deletions(-) commit 202cf4088155fd9a08e741cf9754b90b6bc5ce74 Author: Jonas 'Sortie' Termansen Date: Thu Jun 12 00:04:43 2014 +0200 Fix libc/msr/wrmsr.cpp not containing its own file path. libc/msr/wrmsr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2e7f90fdf7dfa52ac964923c88f1be37b2fcefdc Author: Jonas 'Sortie' Termansen Date: Wed Jun 11 21:03:17 2014 +0200 Fix overview of core programs in user-guide. doc/user-guide | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 754d1f33836144a37997175613218ce2c52e0594 Author: Jonas 'Sortie' Termansen Date: Wed Jun 11 20:46:22 2014 +0200 Fix typo of losing in user-guide. doc/user-guide | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9a13100dc3396fbd3adbdc6b071d65d135852f88 Author: Jonas 'Sortie' Termansen Date: Wed Jun 11 19:34:05 2014 +0200 Remove mention of the unusable BIOS VBE driver from user-guide. doc/user-guide | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 8b3e94af38bf7ff93f3fc80ac645e1ba2c26ecb5 Author: Jonas 'Sortie' Termansen Date: Mon Jun 2 18:55:39 2014 +0200 Fix x86 longjmp(3) not restoring ebx. libc/x86/setjmp.S | 1 + 1 file changed, 1 insertion(+) commit f332cf96d4c30cbd8886a3b37eec26ee5c03b305 Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 21:16:10 2013 +0200 Add sched_yield(2). kernel/include/sortix/syscallnum.h | 3 ++- kernel/scheduler.cpp | 6 ++++++ libc/Makefile | 1 + libc/include/sched.h | 36 ++++++++++++++++++++++++++++++++++++ libc/sched/sched_yield.cpp | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 79 insertions(+), 1 deletion(-) commit af23f7ad5eeff7f9b20fbcc886379fcfac1902eb Author: Jonas 'Sortie' Termansen Date: Sat Sep 14 20:04:52 2013 +0200 Add rdmsr(2) and wrmsr(2). kernel/include/sortix/syscallnum.h | 4 ++- kernel/kernel.cpp | 9 +++++- kernel/x86-family/x86-family.cpp | 63 +++++++++++++++++++++++++++++++++++++- kernel/x86-family/x86-family.h | 44 +++----------------------- libc/Makefile | 2 ++ libc/include/msr.h | 25 +++++++++++++-- libc/msr/rdmsr.cpp | 39 +++++++++++++++++++++++ libc/msr/wrmsr.cpp | 39 +++++++++++++++++++++++ libc/x64/fork.S | 9 ++++-- libc/x86/fork.S | 8 +++-- 10 files changed, 194 insertions(+), 48 deletions(-) commit 1f72c1637c0507c3844f3414a9725bfe50a20828 Author: Jonas 'Sortie' Termansen Date: Sat Sep 14 18:58:50 2013 +0200 Maintain fsbase and gsbase as per-thread registers. Note: This is an incompatible ABI change. kernel/include/sortix/kernel/thread.h | 12 ++++++-- kernel/include/sortix/x64/fork.h | 6 +++- kernel/include/sortix/x86/fork.h | 6 +++- kernel/kb/ps2.cpp | 18 ++++++++++- kernel/process.cpp | 3 +- kernel/scheduler.cpp | 13 ++++++++ kernel/thread.cpp | 18 +++++++++-- kernel/x64/interrupt.S | 4 --- kernel/x86-family/gdt.cpp | 57 +++++++++++++++++++++++++++++++++-- kernel/x86-family/gdt.h | 8 +++++ kernel/x86-family/interrupt.cpp | 22 ++++++++++++-- kernel/x86/interrupt.S | 4 --- kernel/x86/syscall.S | 4 --- libc/include/msr.h | 3 ++ libc/x64/fork.S | 12 ++++++-- libc/x86/fork.S | 8 +++-- 16 files changed, 169 insertions(+), 29 deletions(-) commit 92d7c1807e03d45d8e934459a7197f0b624a6d90 Author: Jonas 'Sortie' Termansen Date: Tue May 6 19:12:19 2014 +0200 Fix user-space filesystems not disconnecting properly. kernel/fs/user.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) commit 0ebe5fc04d6a4c5d1138602d413c6046c0f29b32 Author: Jonas 'Sortie' Termansen Date: Wed Apr 30 23:13:55 2014 +0200 Fix filesystem sockets sending SIGPIPE on disconnect. kernel/include/sortix/kernel/pipe.h | 6 +++++- kernel/net/fs.cpp | 3 +++ kernel/pipe.cpp | 36 +++++++++++++++++++++++++++++++++--- 3 files changed, 41 insertions(+), 4 deletions(-) commit 6774c79ba6aff8e5f86108c81297721087639b41 Author: Jonas 'Sortie' Termansen Date: Tue Apr 29 22:15:42 2014 +0200 Fix polling Unix sockets in both incoming and outgoing directions. kernel/include/sortix/kernel/poll.h | 8 +++-- kernel/inode.cpp | 5 ++-- kernel/logterminal.cpp | 2 +- kernel/net/fs.cpp | 16 ++++++---- kernel/pipe.cpp | 60 ++++++++++++++++++++++++------------- kernel/poll.cpp | 46 +++++++++++++++++++++------- 6 files changed, 96 insertions(+), 41 deletions(-) commit b30878e816022c98a84018548388e2cf937fdab7 Author: Jonas 'Sortie' Termansen Date: Wed May 28 21:52:31 2014 +0200 Fix libc files not including if using alignas(3). libc/grp/fgetgrent_r.cpp | 1 + 1 file changed, 1 insertion(+) commit bfcd7768d2033f3410033fdbe0f95e54a0acb4a0 Author: Jonas 'Sortie' Termansen Date: Wed May 28 21:45:40 2014 +0200 Fix libc files not including if using static_assert(3). libc/time/clock.cpp | 1 + 1 file changed, 1 insertion(+) commit cdf452a23bf91243045e8da00760bbc5e39c1c2f Author: Jonas 'Sortie' Termansen Date: Wed May 28 17:29:15 2014 +0200 Fix typo of `occurred' in posix-divergence. doc/posix-divergence | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 534eb3ddd8891730253947901140453d2d2db973 Author: Jonas 'Sortie' Termansen Date: Wed May 28 17:40:05 2014 +0200 Fix libk being built with -mmmx, -msse and -msse2 on x86_64. kernel/Makefile | 4 +--- libc/Makefile | 2 +- libc/stdio/vprintf_callback.cpp | 2 ++ libc/stdlib/atof.cpp | 4 +++- libc/stdlib/strtof.cpp | 4 +++- 5 files changed, 10 insertions(+), 6 deletions(-) commit 68d379c60544a9583b7eaf1ff0f7157cedbe668e Author: Jonas 'Sortie' Termansen Date: Sat May 10 17:21:02 2014 +0200 Fix insecure user-space pointer dereferences in sys_execve. kernel/include/sortix/kernel/process.h | 2 - kernel/process.cpp | 153 +++++++++++++++++++++------------ 2 files changed, 99 insertions(+), 56 deletions(-) commit 23d9693261ae4003df6b82e02890adfd08bb84be Author: Jonas 'Sortie' Termansen Date: Tue May 6 18:24:04 2014 +0200 Fix ATA PIO driver not correctly detecting harddisk size. kernel/ata.cpp | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) commit 7db2ea81abdb5f85f05af1691f1e047e0a31243e Author: Jonas 'Sortie' Termansen Date: Sat Apr 26 18:21:08 2014 +0200 Fix warning about converting a signed value to an unsigned value. libc/stdio/vprintf_callback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bf9e9d0b2506aad0a3e51fb13a8c4fcfe05f8ee1 Author: Jonas 'Sortie' Termansen Date: Tue Apr 29 23:33:47 2014 +0200 Fix mkinitrd not maintaining correct hard link count. mkinitrd/mkinitrd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 6f35797e1957142f839c4eaa2e27469c6911667b Author: Jonas 'Sortie' Termansen Date: Tue May 13 23:17:37 2014 +0200 Fix editor not displaying an error when stdio is not a terminal. utils/editor.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit 0c48dfca96e62ce2c5982ef060cc73a8ed8c39a1 Author: Jonas 'Sortie' Termansen Date: Thu May 15 17:29:47 2014 +0200 Fix 4 KiB memory leak on x86_64 for each process. kernel/x64/memorymanagement.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 73cea916d9bece4ad5201c64db88f177bd283012 Author: Jonas 'Sortie' Termansen Date: Thu May 15 15:03:29 2014 +0200 Fix suboptimal heap chunk spliting. libc/stdlib/heap.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 4283d901022b7d3b4adb5a0d2272d78b68257527 Author: Jonas 'Sortie' Termansen Date: Wed May 14 19:10:49 2014 +0200 Fix memory leak of processes that are not process group leaders. kernel/process.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 502d7685d2726a092003b69f35729a15a4f9d7b5 Author: Jonas 'Sortie' Termansen Date: Mon May 12 20:51:32 2014 +0200 Fix wrong project paths for ext and mbr in user-guide. doc/user-guide | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 812d071481abf973b57d3262be7a0ca6dde086a9 Author: Jonas 'Sortie' Termansen Date: Mon May 12 19:09:21 2014 +0200 Fix buffer overflow in which(1). utils/which.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0f8061140340a80575a023e10f29db27bd5badf2 Author: Jonas 'Sortie' Termansen Date: Fri May 9 16:02:47 2014 +0200 Fix C++ comments in . libc/include/sys/types.h | 2 -- 1 file changed, 2 deletions(-) commit 4cc3bd4e92f2dbc0736f543daeceed8b0a8fcefb Author: Jonas 'Sortie' Termansen Date: Fri May 9 16:01:08 2014 +0200 Fix C++ comments in . libc/include/fsmarshall-msg.h | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) commit bcbc974a05680cf00fa89fe940ca731a60faed7d Author: Jonas 'Sortie' Termansen Date: Fri May 9 16:08:25 2014 +0200 Fix usage of inline keyword in . libc/include/timespec.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit f2857047b00e421d017aa1f9fe793e780de995e7 Author: Jonas 'Sortie' Termansen Date: Mon Apr 28 13:49:46 2014 +0200 Fix non-portable asm keyword usage in in system header. libc/include/error.h | 2 +- libc/include/locale.h | 2 +- libc/include/msr.h | 12 ++++++------ libc/include/string.h | 6 +++--- libc/include/sys/syscall.h | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) commit 57cddb5cc22ea632a87b899001d9b438f4581934 Author: Jonas 'Sortie' Termansen Date: Sat Apr 26 18:16:32 2014 +0200 Fix libc files not including their associated header. libc/unistd/unlinkat.cpp | 1 + libc/wchar/wcscpy.cpp | 2 +- libc/wchar/wcslen.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) commit 76036892c2cdcb55be635eb9ada82e5b73dd7e7a Author: Jonas 'Sortie' Termansen Date: Sat Apr 26 18:04:43 2014 +0200 Fix missing parentheses in grp and pwd implementation. libc/grp/getgrgid_r.cpp | 4 ++-- libc/grp/getgrnam_r.cpp | 4 ++-- libc/pwd/getpwnam_r.cpp | 4 ++-- libc/pwd/getpwuid_r.cpp | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) commit e01fb1bc06d8d2409b2cb4a84774e712a492494d Author: Jonas 'Sortie' Termansen Date: Tue May 6 02:30:06 2014 +0200 Fix cross-development not building binutils with --disable-werror. doc/cross-development | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 8591bcef7bfe10f7781d654e433e8e484d7b87a5 Author: Jonas 'Sortie' Termansen Date: Wed Apr 23 19:39:26 2014 +0200 Fix getopt_long(3) not handling invalid options and long options properly. libc/getopt/getopt_long.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit bcf72f71e4d2ee740a1bddcea7a8e3b18a076f69 Author: Jonas 'Sortie' Termansen Date: Tue Apr 22 15:29:36 2014 +0200 Fix premature return during VGA text buffer emergency reset. kernel/vgatextbuffer.cpp | 1 - 1 file changed, 1 deletion(-) commit 01b8acbc9071569a4ca24205d636d433ef5eed41 Author: Jonas 'Sortie' Termansen Date: Tue Apr 22 17:49:24 2014 +0200 Fix calloc not erroring on multiplication overflow. libc/stdlib/calloc.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 4674017303496f0545d5a427c53d5326f92ccde6 Author: Jonas 'Sortie' Termansen Date: Sat Apr 19 20:21:25 2014 +0200 Fix editor writing NUL bytes to terminal. utils/editor.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 6cf417532e115c2171ab2a92a2dfd33956b7c476 Author: Jonas 'Sortie' Termansen Date: Sun Apr 13 21:28:35 2014 +0200 Fix uninitialized bool in kernel Descriptor class. kernel/descriptor.cpp | 1 + 1 file changed, 1 insertion(+) commit 24321b0f96fa0c86646f5cd090aa076e086f2de6 Author: Jonas 'Sortie' Termansen Date: Sat Apr 12 18:11:02 2014 +0200 Fix wrong TSS limit. kernel/x86-family/gdt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 159d8881ecef56bd57e9b0d12477e572ab64afe6 Author: Jonas 'Sortie' Termansen Date: Sat Apr 5 18:25:46 2014 +0200 Fix files relying on including . dispd/client/window.cpp | 1 + libc/stdio/vdprintf.cpp | 1 + mbr/mbrfs.cpp | 1 + 3 files changed, 3 insertions(+) commit 580418341c71960eb852156d082217d36b08cec7 Author: Jonas 'Sortie' Termansen Date: Wed Apr 2 16:46:44 2014 +0200 Fix getpagesize(2) visibility in . libc/include/unistd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 46105fd2602c580abf9624e1f87a38bd94d38026 Author: Jonas 'Sortie' Termansen Date: Wed Apr 2 16:46:12 2014 +0200 Fix missing braces in kernel/debugger.cpp. kernel/debugger.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) commit 05b0713bfa091ec8fd9b20fa65175d671015eb31 Author: Jonas 'Sortie' Termansen Date: Wed Apr 2 15:24:10 2014 +0200 Fix mktemp(3) prototype visibility in . libc/include/stdlib.h | 2 -- 1 file changed, 2 deletions(-) commit da87b6f0aac5f4554cef0ebfa617b224ee76ac09 Author: Jonas 'Sortie' Termansen Date: Wed Mar 19 22:43:03 2014 +0100 Fix troublesome debug assertions in kernel/process.cpp. kernel/process.cpp | 6 ------ 1 file changed, 6 deletions(-) commit 66481bef39e5f23d145b9c803733b264816984a3 Author: Jonas 'Sortie' Termansen Date: Wed Mar 19 01:10:34 2014 +0100 Fix kernel refcounted classes without virtual destructor. kernel/include/sortix/kernel/dtable.h | 2 +- kernel/include/sortix/kernel/mtable.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 33b9417a25aeeb99d0445b254546352d882488f2 Author: Jonas 'Sortie' Termansen Date: Fri Feb 14 00:11:23 2014 +0100 Improve asteroids keyboard input handling. games/asteroids.cpp | 65 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 17 deletions(-) commit 3c160977bf58facd89b1aa216f32fcd7b0490386 Author: Jonas 'Sortie' Termansen Date: Sun Mar 30 23:23:34 2014 +0200 Fix wrong allocation failure check in dscandir_r(3). libc/dirent/scandir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8d41d3ceb0b299c51acae96c8024ad30304f5e7f Author: Jonas 'Sortie' Termansen Date: Sun Mar 30 01:06:08 2014 +0100 Fix including . libc/include/string.h | 2 -- 1 file changed, 2 deletions(-) commit c93a4347491df3bb47aca092ae6d80fb3cb9b4b6 Author: Jonas 'Sortie' Termansen Date: Sat Mar 29 16:46:19 2014 +0100 Fix init not respecting the home directory from /etc/passwd. utils/init.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2161a0e0e37cdd2908c7750e4cf11db30038907e Author: Jonas 'Sortie' Termansen Date: Fri Mar 28 20:25:14 2014 +0100 Fix canonicalize_file_name_at(3) not handling file paths correctly. libc/stdlib/canonicalize_file_name_at.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 6b8e389b47cc065d99614ccadbad0021baad7c5c Author: Jonas 'Sortie' Termansen Date: Tue Mar 25 18:50:16 2014 +0100 Fix 32-bit PCI devices not having bar sizes correctly determined. kernel/pci.cpp | 2 ++ 1 file changed, 2 insertions(+) commit e8cfd5bf851b2493dcc22cc4d97244e12ae435a9 Author: Jonas 'Sortie' Termansen Date: Tue Feb 18 15:42:43 2014 +0100 Handle NULL strings in vprintf_callback(3). libc/stdio/vprintf_callback.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 564f99b3aed8e91805145261b0d4c3578b6cb00e Author: Jonas 'Sortie' Termansen Date: Sat Feb 15 14:03:42 2014 +0100 Move O_ACCMODE into kernel headers. kernel/include/sortix/fcntl.h | 2 ++ libc/include/fcntl.h | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) commit f6f503570609360c6d7b78419cb1e10fc843096b Author: Jonas 'Sortie' Termansen Date: Thu Feb 13 22:05:45 2014 +0100 Add tzset(3). libc/Makefile | 1 + libc/include/time.h | 6 ++---- libc/time/tzset.cpp | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) commit e941ff0430f69c8afc43e2422bb26d0aabc65659 Author: Jonas 'Sortie' Termansen Date: Wed Feb 12 22:34:35 2014 +0100 Rename useresp to esp and userrsp to rsp. kernel/debugger.cpp | 6 +++--- kernel/include/sortix/kernel/cpu.h | 10 +++++----- kernel/x64/process.cpp | 8 ++++---- kernel/x64/thread.cpp | 20 ++++++++++---------- kernel/x64/x64.cpp | 10 +++++----- kernel/x86/process.cpp | 8 ++++---- kernel/x86/thread.cpp | 20 ++++++++++---------- kernel/x86/x86.cpp | 10 +++++----- 8 files changed, 46 insertions(+), 46 deletions(-) commit 8c00a4145c5bc44c2df2f77412340f242f2d58b8 Author: Jonas 'Sortie' Termansen Date: Sat Sep 14 17:09:49 2013 +0200 Refactor kernel PAT, MTRR, and MSR usage. kernel/Makefile | 3 +- kernel/include/sortix/kernel/cpuid.h | 80 ++++++ .../msr.h => include/sortix/kernel/mtrr.h} | 23 +- kernel/include/sortix/kernel/pat.h | 39 +++ kernel/x86-family/memorymanagement.cpp | 5 +- kernel/x86-family/msr.cpp | 274 --------------------- kernel/x86-family/mtrr.cpp | 194 +++++++++++++++ kernel/x86-family/pat.cpp | 57 +++++ libc/include/msr.h | 73 ++++++ 9 files changed, 462 insertions(+), 286 deletions(-) commit 34dbc4d515a7540647f4505ca0d44a8fd0a6ffc0 Author: Jonas 'Sortie' Termansen Date: Sat Feb 8 14:46:45 2014 +0100 Refactor PCI BAR support. kernel/bga.cpp | 10 +++- kernel/include/sortix/kernel/pci.h | 38 +++++++++++++-- kernel/pci.cpp | 95 +++++++++++++++++++++++++++----------- 3 files changed, 110 insertions(+), 33 deletions(-) commit a133a7717e380eb90bce8c23198356471406b64e Author: Jonas 'Sortie' Termansen Date: Fri Jan 31 13:19:02 2014 +0100 Refactor i386 and x86_64 interrupt support. kernel/Makefile | 2 + kernel/include/sortix/kernel/interrupt.h | 116 +++++----- kernel/include/sortix/kernel/scheduler.h | 14 +- kernel/include/sortix/kernel/signal.h | 2 +- kernel/include/sortix/kernel/syscall.h | 4 +- kernel/interrupt.cpp | 285 +------------------------ kernel/scheduler.cpp | 16 +- kernel/signal.cpp | 6 +- kernel/x64/interrupt.S | 62 ------ kernel/x64/syscall.S | 7 +- kernel/x86-family/idt.cpp | 67 +++--- kernel/x86-family/idt.h | 32 ++- kernel/x86-family/interrupt.cpp | 355 +++++++++++++++++++++++++++++++ kernel/x86-family/pic.cpp | 122 +++++++++++ kernel/x86-family/pic.h | 43 ++++ kernel/x86/interrupt.S | 62 ------ kernel/x86/syscall.S | 7 +- 17 files changed, 652 insertions(+), 550 deletions(-) commit d50e8f1bcea298d26617589272d3a0c37a8be101 Author: Jonas 'Sortie' Termansen Date: Thu Jan 23 17:53:02 2014 +0100 Document gethostid(3) and sethostid(3) as obsolete. doc/obsolete-stuff | 9 +++++++++ libc/include/unistd.h | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) commit 4ee83c94666fff996a56fe467a3162b04fb0a1e0 Author: Jonas 'Sortie' Termansen Date: Thu Jan 23 02:19:33 2014 +0100 Refuse to implement broken POSIX advisory file locks. doc/obsolete-stuff | 27 +++++++++++++++++++++++++++ doc/posix-divergence | 1 + libc/include/fcntl.h | 22 +++------------------- libc/include/unistd.h | 1 - 4 files changed, 31 insertions(+), 20 deletions(-) commit 554894d840a1652a6c717f5016ff599a84adea5f Author: Jonas 'Sortie' Termansen Date: Thu Jan 23 01:55:36 2014 +0100 Add O_TTY_INIT. kernel/descriptor.cpp | 2 +- kernel/include/sortix/fcntl.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit 426848fbbfad31d777dae94b7fa78e1d7677ff99 Author: Jonas 'Sortie' Termansen Date: Thu Jan 23 01:54:33 2014 +0100 Add O_NOCTTY. kernel/descriptor.cpp | 2 +- kernel/include/sortix/fcntl.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) commit a935148f607e3dc18dfacd22999792cb6ee0a1ea Author: Jonas 'Sortie' Termansen Date: Tue Jan 21 00:52:53 2014 +0100 Add statvfs(2), fstatvfs(2) and fstatvfsat(2). kernel/descriptor.cpp | 9 +++- kernel/fs/user.cpp | 22 +++++++++- kernel/include/sortix/kernel/descriptor.h | 4 +- kernel/include/sortix/kernel/inode.h | 5 ++- kernel/include/sortix/kernel/vnode.h | 4 +- kernel/include/sortix/statvfs.h | 69 +++++++++++++++++++++++++++++++ kernel/include/sortix/syscallnum.h | 4 +- kernel/inode.cpp | 28 ++++++++++++- kernel/io.cpp | 33 ++++++++++++++- kernel/vnode.cpp | 7 +++- libc/Makefile | 3 ++ libc/include/fsmarshall-msg.h | 15 ++++++- libc/include/sys/statvfs.h | 42 +++++++++++++++++++ libc/sys/statvfs/fstatvfs.cpp | 33 +++++++++++++++ libc/sys/statvfs/fstatvfsat.cpp | 37 +++++++++++++++++ libc/sys/statvfs/statvfs.cpp | 33 +++++++++++++++ 16 files changed, 338 insertions(+), 10 deletions(-) commit 2fe13d33c9e1da46aa444367f16680cafa3a63a3 Author: Jonas 'Sortie' Termansen Date: Mon Jan 20 18:22:13 2014 +0100 Add asprintf(3) and vasprintf(3). libc/Makefile | 2 ++ libc/include/stdio.h | 2 ++ libc/stdio/asprintf.cpp | 38 +++++++++++++++++++++++ libc/stdio/vasprintf.cpp | 80 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 122 insertions(+) commit 2fe3595febc2b52d4a7626d1161d5f6397d411c0 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 22:45:24 2014 +0100 Add getumask(2). kernel/include/sortix/syscallnum.h | 5 +++-- kernel/process.cpp | 10 +++++++++- libc/Makefile | 1 + libc/include/sys/stat.h | 3 ++- libc/sys/stat/getumask.cpp | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 48 insertions(+), 4 deletions(-) commit 9771f29138d530e1a00f632fc2a7772fac1ee0f6 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 22:30:36 2014 +0100 Add syslog(3). libc/Makefile | 6 +++ libc/include/syslog.h | 107 +++++++++++++++++++++++++++++++++++++++++++++ libc/syslog/closelog.cpp | 35 +++++++++++++++ libc/syslog/connectlog.cpp | 31 +++++++++++++ libc/syslog/openlog.cpp | 42 ++++++++++++++++++ libc/syslog/setlogmask.cpp | 33 ++++++++++++++ libc/syslog/syslog.cpp | 34 ++++++++++++++ libc/syslog/vsyslog.cpp | 78 +++++++++++++++++++++++++++++++++ 8 files changed, 366 insertions(+) commit e677c455d8a98b9f70ebd7a730b22d8783f0bf14 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 17:58:31 2014 +0100 Use getdomainname(2) in uname(3). libc/sys/utsname/uname.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit c6978d7d6ec46119b4c456f532aa9de8e1c8fa2f Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 17:54:24 2014 +0100 Add getdomainname(2). libc/Makefile | 1 + libc/include/unistd.h | 1 + libc/unistd/getdomainname.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) commit 02c18f868fd4f151b1a5f97f972e5012040f2077 Author: Jonas 'Sortie' Termansen Date: Sat Mar 8 22:21:20 2014 +0100 Fix vscanf_callback(3) not ungetcing the last character when stopping. libc/stdio/vscanf_callback.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 1986bc2ba2d78f07c122a2bce5011c424bfad920 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 17:27:11 2014 +0100 Add vscanf_callback(3). libc/Makefile | 1 + libc/include/stdio.h | 5 + libc/stdio/vfscanf.cpp | 291 +------------------------------------ libc/stdio/vscanf_callback.cpp | 322 +++++++++++++++++++++++++++++++++++++++++ libc/stdio/vsscanf.cpp | 54 ++++--- 5 files changed, 370 insertions(+), 303 deletions(-) commit 105278a500d8146835b84017ed7adea9e064bd75 Author: Jonas 'Sortie' Termansen Date: Thu Jan 16 20:45:22 2014 +0100 Clean up the serial driver read and write routines. kernel/com.cpp | 65 ++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 29 deletions(-) commit a6603dffd9fbf3a71324b6e56658b6b5ec2ddce0 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 00:23:36 2014 +0100 Document POSIX divergence. doc/Makefile | 1 + doc/posix-divergence | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) commit 9650bbd776e871733e93f4ffc26a20cab84acd64 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 00:21:20 2014 +0100 Document select(2) as obsolete. doc/obsolete-stuff | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit abbcc3941b4b3192a2994e4a16087e4c6bb5e1c2 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 00:21:06 2014 +0100 Document times(2) as obsolete. doc/obsolete-stuff | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit b7bf21bffffcea5692b261a6bdaba071dce8fb73 Author: Jonas 'Sortie' Termansen Date: Sat Jan 18 19:23:26 2014 +0100 Open stdin, stdout and stderr in the kernel rather than init. kernel/kernel.cpp | 18 ++++++++++++++++-- utils/init.cpp | 7 ------- 2 files changed, 16 insertions(+), 9 deletions(-) commit 640465320f5d060b0a675b3a60c8ec57b9334f67 Author: Jonas 'Sortie' Termansen Date: Sat Jan 18 15:41:41 2014 +0100 Improve the reliability of the kernel likely and unlikely macros. kernel/include/sortix/kernel/decl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e91cde379a3e1bb3e72aa72656f1a7f1aaa8e620 Author: Jonas 'Sortie' Termansen Date: Fri Jan 17 01:14:04 2014 +0100 Rewrite getenv(3), setenv(3), unsetenv(3) and clearenv(3). doc/obsolete-stuff | 19 +++++ libc/Makefile | 6 +- libc/include/stdlib.h | 20 +---- libc/include/unistd.h | 5 +- libc/stdlib/clearenv.cpp | 38 +++++++++ libc/stdlib/env.cpp | 200 ----------------------------------------------- libc/stdlib/getenv.cpp | 57 ++++++++++++++ libc/stdlib/setenv.cpp | 176 +++++++++++++++++++++++++++++++++++++++++ libc/stdlib/unsetenv.cpp | 79 +++++++++++++++++++ libc/unistd/environ.cpp | 30 +++++++ utils/sh.cpp | 14 ++-- 11 files changed, 418 insertions(+), 226 deletions(-) commit af9ea5df04bde4af537dea7768abcf62b2f484fb Author: Jonas 'Sortie' Termansen Date: Thu Jan 16 21:07:04 2014 +0100 Add %m support to vprintf_callback(3). libc/stdio/vprintf_callback.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 9f34e60cbcb42abcd125e4cfaef500d7f5fa0f57 Author: Jonas 'Sortie' Termansen Date: Wed Jan 15 00:15:10 2014 +0100 Offer option to dump environment in tix-build(1) recovery shell. tix/util.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 687096ec8a955311841e7557cc9855599421d67d Author: Jonas 'Sortie' Termansen Date: Wed Jan 8 00:33:56 2014 +0100 Add uname(3). libc/Makefile | 1 + libc/include/sys/utsname.h | 51 ++++++++++++++++++++++++++++ libc/sys/utsname/uname.cpp | 63 ++++++++++++++++++++++++++++++++++ utils/uname.cpp | 85 ++++++++-------------------------------------- 4 files changed, 129 insertions(+), 71 deletions(-) commit f34279cc606f1cfa143e18d5d25d87251a17da90 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 22:25:17 2014 +0100 Add ttyname_r(3). libc/Makefile | 1 + libc/include/unistd.h | 4 ++-- libc/unistd/ttyname.cpp | 21 ++++++++++++++++++--- libc/unistd/ttyname_r.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 5 deletions(-) commit a0a8ed61d85398bac349459fa11edfb21a63175b Author: Jonas 'Sortie' Termansen Date: Wed Jan 15 19:46:11 2014 +0100 Add pipe2(2). kernel/include/sortix/syscallnum.h | 3 ++- kernel/pipe.cpp | 21 ++++++++++++++++++--- libc/Makefile | 1 + libc/include/unistd.h | 1 + libc/unistd/pipe.cpp | 8 ++------ libc/unistd/pipe2.cpp | 34 ++++++++++++++++++++++++++++++++++ 6 files changed, 58 insertions(+), 10 deletions(-) commit eaf16185377575212a4ef96919b47225192e97c2 Author: Jonas 'Sortie' Termansen Date: Fri Dec 20 21:54:40 2013 +0100 Add tcgetwincurpos(2). kernel/descriptor.cpp | 5 +++++ kernel/fs/user.cpp | 18 ++++++++++++++++ kernel/include/sortix/kernel/descriptor.h | 2 ++ kernel/include/sortix/kernel/inode.h | 3 +++ kernel/include/sortix/kernel/log.h | 7 +++++++ kernel/include/sortix/kernel/vnode.h | 6 ++++++ kernel/include/sortix/syscallnum.h | 3 ++- kernel/include/sortix/termios.h | 20 +++++++++++++++--- kernel/inode.cpp | 7 +++++++ kernel/io.cpp | 11 ++++++++++ kernel/kernel.cpp | 12 +++++++++++ kernel/log.cpp | 2 ++ kernel/logterminal.cpp | 13 ++++++++++++ kernel/logterminal.h | 1 + kernel/panic.cpp | 1 + kernel/textterminal.cpp | 18 ++++++++++++++++ kernel/textterminal.h | 2 ++ kernel/vnode.cpp | 5 +++++ libc/Makefile | 1 + libc/include/fsmarshall-msg.h | 14 ++++++++++++- libc/include/termios.h | 8 +++++--- libc/termios/tcgetwincurpos.cpp | 34 +++++++++++++++++++++++++++++++ 22 files changed, 185 insertions(+), 8 deletions(-) commit d5241349cc1b1e74496077ec939556c9c5eae355 Author: Jonas 'Sortie' Termansen Date: Sun Dec 29 23:12:07 2013 +0100 Move OFF_MIN and OFF_MAX to . kernel/dispmsg.cpp | 2 ++ kernel/include/sortix/__/types.h | 7 ------- libc/include/sys/types.h | 4 ++++ 3 files changed, 6 insertions(+), 7 deletions(-) commit 823d3a3e2f3b802e0bcbfc3bc2bea4eaae9e618a Author: Jonas 'Sortie' Termansen Date: Sun Dec 29 23:02:46 2013 +0100 Add fsblkcnt_t and fsfilcnt_t. kernel/include/sortix/__/types.h | 4 ++-- libc/include/sys/types.h | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) commit 0117c4fbc79e5212378257dda24362a5d0b6f965 Author: Jonas 'Sortie' Termansen Date: Sun Dec 29 22:51:27 2013 +0100 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. kernel/descriptor.cpp | 1 - kernel/include/sortix/__/types.h | 10 +++++----- libc/x64/fork.S | 4 ++-- libc/x86/fork.S | 8 ++++---- 4 files changed, 11 insertions(+), 12 deletions(-) commit 2cc95737c3ba923217d2522160c721c8958001ae Author: Jonas 'Sortie' Termansen Date: Sat Feb 15 16:16:50 2014 +0100 Add sysroot-base-headers-all-archs makefile target. Makefile | 7 +++++++ 1 file changed, 7 insertions(+) commit c38f5605e80e464707cdefac7367a0d05be1a3f7 Author: Jonas 'Sortie' Termansen Date: Tue Feb 25 23:01:23 2014 +0100 Fix not including and . dispd/include/dispd.h | 2 ++ 1 file changed, 2 insertions(+) commit 6419df7a6d14d15989f3f20970e31e7a70e48fd4 Author: Jonas 'Sortie' Termansen Date: Tue Feb 25 22:39:32 2014 +0100 Fix missing includes from private kernel headers. kernel/include/sortix/kernel/addralloc.h | 2 ++ kernel/include/sortix/kernel/fcache.h | 5 +++++ kernel/include/sortix/kernel/fsfunc.h | 2 ++ kernel/include/sortix/kernel/keyboard.h | 3 +++ kernel/include/sortix/kernel/memorymanagement.h | 5 +++++ kernel/include/sortix/kernel/mtable.h | 2 ++ kernel/include/sortix/kernel/pipe.h | 5 +++++ kernel/include/sortix/kernel/segment.h | 3 +++ kernel/include/sortix/kernel/sortedlist.h | 1 + kernel/include/sortix/kernel/string.h | 2 ++ kernel/include/sortix/kernel/symbol.h | 3 +++ kernel/include/sortix/kernel/syscall.h | 2 ++ kernel/include/sortix/kernel/textbuffer.h | 4 ++++ kernel/include/sortix/kernel/user-timer.h | 2 ++ kernel/include/sortix/kernel/video.h | 2 ++ kernel/include/sortix/kernel/worker.h | 2 ++ 16 files changed, 45 insertions(+) commit 739f8ba86541658fd2e9230a2fb71e6d16bcc04c Author: Jonas 'Sortie' Termansen Date: Tue Feb 25 22:12:57 2014 +0100 Fix not declaring size_t. kernel/include/sortix/uio.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit cfa3b19cf24fbd1e9029fb24aef8379e54ebdee9 Author: Jonas 'Sortie' Termansen Date: Tue Feb 25 22:11:25 2014 +0100 Fix not declaring struct timespec. kernel/include/sortix/itimerspec.h | 2 ++ 1 file changed, 2 insertions(+) commit 2fe4a1ca92453a048cd33ba2555512681ffd3e26 Author: Jonas 'Sortie' Termansen Date: Tue Feb 25 22:10:15 2014 +0100 Fix not including . kernel/include/sortix/initrd.h | 2 ++ 1 file changed, 2 insertions(+) commit 1b3f4b36d8ab9602b04999b802356e118acceec5 Author: Jonas 'Sortie' Termansen Date: Sun Mar 9 19:57:24 2014 +0100 Fix strtol(3) handling negative numbers incorrectly. libc/stdlib/strtol.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 00a357994077fc20ddf0ff8c4199e54d52350f2c Author: Jonas 'Sortie' Termansen Date: Sat Mar 8 22:20:39 2014 +0100 Fix basename(3) and dirname(3) returning incorrect strings. libc/libgen/basename.cpp | 2 +- libc/libgen/dirname.cpp | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) commit 2e855f409557d34aafb96ab2cc22ebf6d2d381e9 Author: Jonas 'Sortie' Termansen Date: Thu Mar 6 01:14:15 2014 +0100 Fix buffer overflow in execvpe(3). libc/unistd/execvpe.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3a1c89f7a50bca69a8f54e25dc5a8ceb3e2d13d8 Author: Jonas 'Sortie' Termansen Date: Wed Mar 5 23:24:40 2014 +0100 Fix tcgetpgrp resetting the foreground process group to zero. kernel/logterminal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9cc2f555e580b9132a716e1251a43ae2ebc8151c Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 16:52:20 2014 +0100 Fix print format warnings in kernel/syscall.cpp. kernel/syscall.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 093d583deafbde18b78b8a59e08bf9cf66c166ff Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 16:48:03 2014 +0100 Fix print format warnings in kernel/x86-family/memorymanagement.cpp. kernel/x86-family/memorymanagement.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit fc713baba3ee9428f90d02646a4dcdf4283b9640 Author: Jonas 'Sortie' Termansen Date: Thu Feb 13 20:26:13 2014 +0100 Rename libc-sortix to libk. kernel/Makefile | 2 +- libc/Makefile | 32 ++++++++++++++++---------------- libc/sortix/.gitignore | 0 libc/sortix/assert/.gitignore | 0 libc/sortix/aux/.gitignore | 0 libc/sortix/ctype/.gitignore | 0 libc/sortix/dirent/.gitignore | 0 libc/sortix/errno/.gitignore | 0 libc/sortix/fnmatch/.gitignore | 0 libc/sortix/init/.gitignore | 0 libc/sortix/inttypes/.gitignore | 0 libc/sortix/signal/.gitignore | 0 libc/sortix/stdio/.gitignore | 0 libc/sortix/stdlib/.gitignore | 0 libc/sortix/string/.gitignore | 1 - libc/sortix/time/.gitignore | 0 libc/sortix/timespec/.gitignore | 0 libc/sortix/wchar/.gitignore | 0 libc/sortix/wctype/.gitignore | 0 19 files changed, 17 insertions(+), 18 deletions(-) commit 512c9d3f08132a45309f58c60ccfb6d2920c3f03 Author: Jonas 'Sortie' Termansen Date: Thu Feb 13 15:45:43 2014 +0100 Improve wchar declarations in , and . libc/include/__/wchar.h | 44 ++++++++++++++++++++++++++++++++++++++ libc/include/stdint.h | 19 +++++++++++++++-- libc/include/wchar.h | 55 ++++++++++++++++++++++++------------------------ libc/include/wctype.h | 26 +++++++++-------------- libc/wctype/iswcntrl.cpp | 4 ++-- 5 files changed, 101 insertions(+), 47 deletions(-) commit 28f49e53bf4470b81654414064588673529bd4bb Author: Jonas 'Sortie' Termansen Date: Sat Jan 18 16:01:39 2014 +0100 Add C11 static_assert to . libc/include/assert.h | 5 +++++ 1 file changed, 5 insertions(+) commit f13074afd13ab8008eead4a084b43f4ae7f08433 Author: Jonas 'Sortie' Termansen Date: Wed Jan 8 23:15:39 2014 +0100 Improve basename(3) and dirname(3). libc/libgen/basename.cpp | 11 ++++------- libc/libgen/dirname.cpp | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) commit 0ac60d68ea2bcdf1925b6368a16026e508e97f45 Author: Jonas 'Sortie' Termansen Date: Sat Jan 11 23:07:20 2014 +0100 Add function for clearing user-space memory from the kernel. kernel/copy.cpp | 13 ++++++++++++- kernel/fs/full.cpp | 16 +++------------- kernel/fs/zero.cpp | 16 +++------------- kernel/include/sortix/kernel/copy.h | 4 +++- kernel/include/sortix/kernel/ioctx.h | 3 ++- kernel/ioctx.cpp | 4 +++- 6 files changed, 26 insertions(+), 30 deletions(-) commit 555937753206ef67f743ade5bbf990907f98a0f9 Author: Jonas 'Sortie' Termansen Date: Sat Jan 18 15:37:38 2014 +0100 Replace kernel STATIC_ASSERT macro with C++11 static_assert. kernel/include/sortix/kernel/decl.h | 7 +++---- kernel/interrupt.cpp | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) commit d39437966d758fbaf25524bd599156a90bfad946 Author: Jonas 'Sortie' Termansen Date: Tue Jan 7 21:52:37 2014 +0100 Split libc/wctype/wctype.cpp into multiple files. libc/Makefile | 15 +++++++++ libc/wctype/iswalnum.cpp | 30 +++++++++++++++++ libc/wctype/iswalpha.cpp | 30 +++++++++++++++++ libc/wctype/iswblank.cpp | 30 +++++++++++++++++ libc/wctype/iswcntrl.cpp | 30 +++++++++++++++++ libc/wctype/iswctype.cpp | 30 +++++++++++++++++ libc/wctype/iswdigit.cpp | 30 +++++++++++++++++ libc/wctype/iswgraph.cpp | 30 +++++++++++++++++ libc/wctype/iswlower.cpp | 30 +++++++++++++++++ libc/wctype/iswprint.cpp | 30 +++++++++++++++++ libc/wctype/iswpunct.cpp | 30 +++++++++++++++++ libc/wctype/iswspace.cpp | 31 +++++++++++++++++ libc/wctype/iswupper.cpp | 30 +++++++++++++++++ libc/wctype/iswxdigit.cpp | 36 ++++++++++++++++++++ libc/wctype/towlower.cpp | 32 ++++++++++++++++++ libc/wctype/towupper.cpp | 32 ++++++++++++++++++ libc/wctype/wctype.cpp | 86 ++--------------------------------------------- 17 files changed, 478 insertions(+), 84 deletions(-) commit ba8557075c0f32d1a9fcd10ad585ca864ca2d7de Author: Jonas 'Sortie' Termansen Date: Tue Jan 7 21:35:36 2014 +0100 Split libc/ctype/ctype.cpp into multiple files. libc/Makefile | 15 ++++++- libc/ctype/ctype.cpp | 106 ------------------------------------------------ libc/ctype/isalnum.cpp | 30 ++++++++++++++ libc/ctype/isalpha.cpp | 30 ++++++++++++++ libc/ctype/isblank.cpp | 30 ++++++++++++++ libc/ctype/iscntrl.cpp | 30 ++++++++++++++ libc/ctype/isdigit.cpp | 30 ++++++++++++++ libc/ctype/isgraph.cpp | 30 ++++++++++++++ libc/ctype/islower.cpp | 30 ++++++++++++++ libc/ctype/isprint.cpp | 30 ++++++++++++++ libc/ctype/ispunct.cpp | 30 ++++++++++++++ libc/ctype/isspace.cpp | 31 ++++++++++++++ libc/ctype/isupper.cpp | 30 ++++++++++++++ libc/ctype/isxdigit.cpp | 36 ++++++++++++++++ libc/ctype/tolower.cpp | 32 +++++++++++++++ libc/ctype/toupper.cpp | 32 +++++++++++++++ 16 files changed, 445 insertions(+), 107 deletions(-) commit df666103b3b8e770ddb5664e4d3d0cc2bbcf8e04 Author: Jonas 'Sortie' Termansen Date: Wed Jan 8 23:36:18 2014 +0100 Update libc/stdlib/rand.cpp to current coding conventions. libc/stdlib/rand.cpp | 36 +++++++++--------------------------- 1 file changed, 9 insertions(+), 27 deletions(-) commit 9cd3cdf79cdff52a5e474d126bd8584ba744aeb3 Author: Jonas 'Sortie' Termansen Date: Wed Jan 8 22:52:35 2014 +0100 Update libc/locale/setlocale.cpp to current coding conventions. libc/locale/setlocale.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 292cca5f0e9d62d91cebc3069fdfaa78fb83e458 Author: Jonas 'Sortie' Termansen Date: Sat Jan 11 22:45:05 2014 +0100 Update kernel/copy.cpp to current coding conventions. kernel/copy.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit cf352a64a7723bdfb6c7146200912be2388af120 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 02:57:00 2014 +0100 Update kernel/syscall.cpp to current coding conventions. kernel/syscall.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) commit cd254cd799ab497fbf036715c8367c0782870cad Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 02:44:36 2014 +0100 Remove kernel/utf8.{cpp,h}. kernel/Makefile | 1 - kernel/logterminal.cpp | 21 ++++++++------ kernel/utf8.cpp | 75 -------------------------------------------------- kernel/utf8.h | 36 ------------------------ 4 files changed, 13 insertions(+), 120 deletions(-) commit 7a6b222e07a52347602843596dfac4a6d7de8006 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 02:33:51 2014 +0100 Update kernel/uart.{cpp,h} to current coding conventions. kernel/uart.cpp | 291 +++++++++++++++++++++++++++----------------------------- kernel/uart.h | 22 ++--- 2 files changed, 151 insertions(+), 162 deletions(-) commit c3f1550bba75c34002821e428f14eccb8dab2510 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 02:19:00 2014 +0100 Remove kernel/serialterminal.{cpp,h}. kernel/Makefile | 1 - kernel/kernel.cpp | 1 - kernel/serialterminal.cpp | 159 ---------------------------------------------- kernel/serialterminal.h | 40 ------------ kernel/time.cpp | 4 -- kernel/uart.cpp | 133 -------------------------------------- kernel/uart.h | 4 -- 7 files changed, 342 deletions(-) commit 6d79781497baf05cc98f9c2260076892a35f7fe8 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 02:11:44 2014 +0100 Update kernel/x86-family/x86-family.{cpp,h} to current coding conventions. kernel/x86-family/x86-family.cpp | 161 ++++++++++++++++++++------------------- kernel/x86-family/x86-family.h | 79 ++++++++++--------- 2 files changed, 125 insertions(+), 115 deletions(-) commit cacd010066b7e51d5e1f73f9633d429c28283202 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 02:01:33 2014 +0100 Update kernel/{x64/x64,x86/x86}.cpp to current coding conventions. kernel/x64/x64.cpp | 38 +++++++++++++++++++------------------- kernel/x86/x86.cpp | 30 +++++++++++++++--------------- 2 files changed, 34 insertions(+), 34 deletions(-) commit fcb8ae3af3f239d7f028deeca4139e3d571a22a5 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:59:03 2014 +0100 Update kernel/{x64,x86}/thread.cpp to current coding conventions. kernel/x64/thread.cpp | 256 +++++++++++++++++++++++++------------------------- kernel/x86/thread.cpp | 228 ++++++++++++++++++++++---------------------- 2 files changed, 246 insertions(+), 238 deletions(-) commit ccb0f368a38355cb767caefc77d825a85e2aa659 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:51:25 2014 +0100 Update kernel/{x64,x86}/process.cpp to current coding conventions. kernel/x64/process.cpp | 97 +++++++++++++++++++++++++------------------------- kernel/x86/process.cpp | 71 ++++++++++++++++++------------------ 2 files changed, 85 insertions(+), 83 deletions(-) commit 3fa5fff3f5e3547e6941c47960d1e8ce68d4ae81 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:32:52 2014 +0100 Update kernel/linebuffer.{cpp,h} to current coding conventions. kernel/linebuffer.cpp | 178 ++++++++++++++++++++++++++------------------------ kernel/linebuffer.h | 62 ++++++++++-------- 2 files changed, 126 insertions(+), 114 deletions(-) commit bb3b6b02605b65787dd3474aa186a4bcb638fd9d Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:28:34 2014 +0100 Update kernel/kb/ps2.{cpp,h} to current coding conventions. kernel/kb/ps2.cpp | 332 ++++++++++++++++++++++++++++-------------------------- kernel/kb/ps2.h | 82 +++++++------- 2 files changed, 216 insertions(+), 198 deletions(-) commit 6e6df64fa8266ffb706ab784cb8f009b85387dbc Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:21:12 2014 +0100 Update kernel/kb/layout/us.{cpp,h} to current coding conventions. kernel/kb/layout/us.cpp | 273 +++++++++++++++++++++++++----------------------- kernel/kb/layout/us.h | 31 +++--- 2 files changed, 159 insertions(+), 145 deletions(-) commit 263cc2105805572f6a58be730421aa0a0e5613d0 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:14:10 2014 +0100 Update to current coding conventions. kernel/include/sortix/kernel/sortedlist.h | 455 +++++++++++++++--------------- 1 file changed, 231 insertions(+), 224 deletions(-) commit d5b1d4853d8dcde647e66ca731e1c175d5fd3ab0 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:09:24 2014 +0100 Update kernel/end.cpp to current coding conventions. kernel/end.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit a099f828900de421af77042c151a25ef3b062d61 Author: Jonas 'Sortie' Termansen Date: Sat Jan 4 01:04:04 2014 +0100 Update kernel memory management to current coding conventions. kernel/include/sortix/kernel/memorymanagement.h | 140 +-- kernel/x64/memorymanagement.cpp | 355 +++---- kernel/x64/memorymanagement.h | 57 +- kernel/x86-family/memorymanagement.cpp | 1232 ++++++++++++----------- kernel/x86-family/memorymanagement.h | 138 +-- kernel/x86/memorymanagement.cpp | 325 +++--- kernel/x86/memorymanagement.h | 53 +- 7 files changed, 1181 insertions(+), 1119 deletions(-) commit 71f9f882d1479dc6767c874ab815332dff514f0b Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 16:41:09 2014 +0100 Fix readdir(3) not preserving errno in case of end-of-directory condition. libc/dirent/readdir.cpp | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) commit 1e671aa8cd29870ea66cee93ce947e3a628cfa35 Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 23:21:18 2014 +0100 Rename struct kernel_dirent::d_off to d_nextoff. The d_off field exists on other operating systems and the kernel used the field in an incompatible manner. The easy solution is to call the field something else and later address the design mistake. ext/extfs.cpp | 2 +- kernel/descriptor.cpp | 2 +- kernel/fs/kram.cpp | 2 +- kernel/fs/user.cpp | 2 +- kernel/include/sortix/dirent.h | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) commit da933464e58abb5facde9fd40ede76e0ca9cf055 Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 22:20:27 2014 +0100 Add d_namlen, d_dev, and d_type to struct dirent. kernel/include/sortix/__/dirent.h | 40 ++++++++++++++++++++++++++++++++ kernel/include/sortix/__/dt.h | 44 +++++++++++++++++++++++++++++++++++ kernel/include/sortix/__/stat.h | 40 ++++++++++++++++++++++++++++++++ kernel/include/sortix/dirent.h | 49 ++++++++++++++++++++++++++++++++------- kernel/include/sortix/stat.h | 37 ++++++++++++++++------------- libc/dirent/fdopendir.cpp | 5 +++- libc/include/dirent.h | 34 +++++++++++++++++++++++---- 7 files changed, 218 insertions(+), 31 deletions(-) commit 5dd70aa4ffcb1e17fe21f5b12cc24b52977081f4 Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 19:32:47 2014 +0100 Split libc/dirent/fddir-sortix.cpp into multiple files. libc/Makefile | 3 +- libc/dirent/{fddir-sortix.cpp => fdopendir.cpp} | 16 +++------- libc/dirent/opendir.cpp | 39 +++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 13 deletions(-) commit ddce6045e0cf3c8779725f6ca50388393ff885ca Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 19:20:26 2014 +0100 Split libc/dirent/dir.cpp into multiple files. libc/Makefile | 12 ++++- libc/dirent/closedir.cpp | 37 +++++++++++++ libc/dirent/dclearerr.cpp | 31 +++++++++++ libc/dirent/dcloseall.cpp | 37 +++++++++++++ libc/dirent/deof.cpp | 31 +++++++++++ libc/dirent/derror.cpp | 31 +++++++++++ libc/dirent/dirfd.cpp | 34 ++++++++++++ libc/dirent/dnewdir.cpp | 44 +++++++++++++++ libc/dirent/dregister.cpp | 34 ++++++++++++ libc/dirent/dunregister.cpp | 39 ++++++++++++++ libc/dirent/{dir.cpp => readdir.cpp} | 100 +++-------------------------------- libc/dirent/rewinddir.cpp | 33 ++++++++++++ libc/include/dirent.h | 4 ++ 13 files changed, 372 insertions(+), 95 deletions(-) commit d7467e98be78830c721bbecc66399762b02166a6 Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 18:19:50 2014 +0100 Move the declaration of the DIR structure into its own header. libc/dirent/dir.cpp | 1 + libc/dirent/fddir-sortix.cpp | 1 + libc/include/DIR.h | 69 ++++++++++++++++++++++++++++++++++++++++++++ libc/include/dirent.h | 28 ++++-------------- 4 files changed, 77 insertions(+), 22 deletions(-) commit 4f4594037fbcbb925749159c3d1289e1b6d83f0a Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 22:55:55 2013 +0100 Sort types. kernel/include/sortix/__/types.h | 60 ++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 18 deletions(-) commit 6788f0096e959573db20184cb0834feaaa3a11ce Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 20:59:50 2013 +0100 Preprocess assembly files with the C preprocessor. kernel/Makefile | 4 ++-- kernel/x64/{base.s => base.S} | 2 +- kernel/x64/{boot.s => boot.S} | 2 +- kernel/x64/{calltrace.s => calltrace.S} | 2 +- kernel/x64/{crti.s => crti.S} | 2 +- kernel/x64/{crtn.s => crtn.S} | 2 +- kernel/x64/{interrupt.s => interrupt.S} | 2 +- kernel/x64/{kthread.s => kthread.S} | 2 +- kernel/x64/{syscall.s => syscall.S} | 2 +- kernel/x86/{base.s => base.S} | 2 +- kernel/x86/{boot.s => boot.S} | 2 +- kernel/x86/{calltrace.s => calltrace.S} | 2 +- kernel/x86/{crti.s => crti.S} | 2 +- kernel/x86/{crtn.s => crtn.S} | 2 +- kernel/x86/{interrupt.s => interrupt.S} | 2 +- kernel/x86/{kthread.s => kthread.S} | 2 +- kernel/x86/{syscall.s => syscall.S} | 2 +- libc/Makefile | 4 ++-- libc/x64/{calltrace.s => calltrace.S} | 2 +- libc/x64/{crt1.s => crt1.S} | 2 +- libc/x64/{crti.s => crti.S} | 2 +- libc/x64/{crtn.s => crtn.S} | 2 +- libc/x64/{fork.s => fork.S} | 2 +- libc/x64/{setjmp.s => setjmp.S} | 2 +- libc/x64/{signal.s => signal.S} | 2 +- libc/x64/{syscall.s => syscall.S} | 2 +- libc/x86/{calltrace.s => calltrace.S} | 2 +- libc/x86/{crt1.s => crt1.S} | 2 +- libc/x86/{crti.s => crti.S} | 2 +- libc/x86/{crtn.s => crtn.S} | 2 +- libc/x86/{fork.s => fork.S} | 2 +- libc/x86/{setjmp.s => setjmp.S} | 2 +- libc/x86/{signal.s => signal.S} | 2 +- libc/x86/{syscall.s => syscall.S} | 2 +- 34 files changed, 36 insertions(+), 36 deletions(-) commit 8a49c477426073ea4946d1b4d7e51fbf50e79213 Author: Jonas 'Sortie' Termansen Date: Fri Dec 27 01:50:54 2013 +0100 Include in . libc/include/wchar.h | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) commit b08455c4d34ca4ec8ba1eed0926846675eac6732 Author: Jonas 'Sortie' Termansen Date: Fri Dec 27 01:43:38 2013 +0100 Remove mxmpp. Makefile | 4 +- doc/user-guide | 11 -- libc/Makefile | 35 +--- libc/decl/DIR.h | 23 --- libc/decl/FILE.h | 5 - libc/decl/NULL.h | 4 - libc/decl/WCHAR_MAX.h | 3 - libc/decl/WCHAR_MIN.h | 3 - libc/decl/WEOF.h | 3 - libc/decl/blkcnt_t.h | 4 - libc/decl/blksize_t.h | 4 - libc/decl/clock_t.h | 4 - libc/decl/clockid_t.h | 4 - libc/decl/dev_t.h | 4 - libc/decl/gid_t.h | 4 - libc/decl/id_t.h | 4 - libc/decl/in_addr_t.h | 4 - libc/decl/in_port_t.h | 4 - libc/decl/ino_t.h | 4 - libc/decl/intptr_t.h | 4 - libc/decl/locale_t.h | 7 - libc/decl/mode_t.h | 4 - libc/decl/nlink_t.h | 4 - libc/decl/off_t.h | 4 - libc/decl/pid_t.h | 4 - libc/decl/ptrdiff_t.h | 2 - libc/decl/sa_family_t.h | 4 - libc/decl/size_t.h | 2 - libc/decl/socklen_t.h | 4 - libc/decl/ssize_t.h | 4 - libc/decl/suseconds_t.h | 4 - libc/decl/time_t.h | 4 - libc/decl/timer_t.h | 4 - libc/decl/timeval.h | 8 - libc/decl/uid_t.h | 4 - libc/decl/useconds_t.h | 4 - libc/decl/va_list.h | 9 - libc/decl/wchar_t.h | 2 - libc/decl/wctrans_t.h | 7 - libc/decl/wctype_t.h | 4 - libc/decl/wint_t.h | 5 - libc/include/FILE.h | 19 +- libc/include/alloca.h | 6 +- libc/include/dirent.h | 37 +++- libc/include/fcntl.h | 5 +- libc/include/grp.h | 19 +- libc/include/inttypes.h | 6 +- libc/include/ioleast.h | 12 +- libc/include/netdb.h | 17 +- libc/include/netinet/in.h | 23 ++- libc/include/poll.h | 5 +- libc/include/pwd.h | 25 ++- libc/include/signal.h | 25 ++- libc/include/stdio.h | 31 ++- libc/include/stdlib.h | 19 +- libc/include/string.h | 21 ++- libc/include/sys/kernelinfo.h | 12 +- libc/include/sys/mman.h | 18 +- libc/include/sys/readdirents.h | 6 +- libc/include/sys/resource.h | 33 +++- libc/include/sys/select.h | 21 ++- libc/include/sys/socket.h | 24 ++- libc/include/sys/stat.h | 61 +++++- libc/include/sys/time.h | 21 ++- libc/include/sys/times.h | 5 +- libc/include/sys/types.h | 118 ++++++++++-- libc/include/sys/uio.h | 18 +- libc/include/sys/un.h | 5 +- libc/include/sys/wait.h | 5 +- libc/include/time.h | 50 ++++- libc/include/timespec.h | 5 +- libc/include/unistd.h | 52 +++++- libc/include/utime.h | 5 +- libc/include/wchar.h | 74 ++++++-- libc/include/wctype.h | 35 +++- mxmpp/.gitignore | 1 - mxmpp/Makefile | 35 ---- mxmpp/README | 1 - mxmpp/mxmpp.cpp | 414 ----------------------------------------- system/Makefile | 2 - 80 files changed, 715 insertions(+), 805 deletions(-) commit 1a92a6991d8980a0a00e3042b25cbd0bd1ec1577 Author: Jonas 'Sortie' Termansen Date: Fri Dec 20 20:39:57 2013 +0100 Rename mxsh to sh. utils/.gitignore | 1 - utils/Makefile | 4 ---- utils/{mxsh.cpp => sh.cpp} | 2 +- 3 files changed, 1 insertion(+), 6 deletions(-) commit 98a87fa1e5ae723bb5361d1a25e8d9685e132c57 Author: Jonas 'Sortie' Termansen Date: Fri Dec 20 01:24:22 2013 +0100 Rename Sortix kernel directory to kernel. Makefile | 4 ++-- doc/user-guide | 2 +- {sortix => kernel}/.gitignore | 0 {sortix => kernel}/Makefile | 0 {sortix => kernel}/addralloc.cpp | 0 {sortix => kernel}/alarm.cpp | 0 {sortix => kernel}/alarm.h | 0 {sortix => kernel}/ata.cpp | 0 {sortix => kernel}/ata.h | 0 {sortix => kernel}/bga.cpp | 0 {sortix => kernel}/bga.h | 0 {sortix => kernel}/calltrace.cpp | 0 {sortix => kernel}/clock.cpp | 0 {sortix => kernel}/com.cpp | 0 {sortix => kernel}/com.h | 0 {sortix => kernel}/copy.cpp | 0 {sortix => kernel}/crc32.cpp | 0 {sortix => kernel}/debugger.cpp | 0 {sortix => kernel}/descriptor.cpp | 0 {sortix => kernel}/dispmsg.cpp | 0 {sortix => kernel}/dispmsg.h | 0 {sortix => kernel}/dtable.cpp | 0 {sortix => kernel}/elf.cpp | 0 {sortix => kernel}/elf.h | 0 {sortix => kernel}/end.cpp | 0 {sortix => kernel}/fcache.cpp | 0 {sortix => kernel}/fs/full.cpp | 0 {sortix => kernel}/fs/full.h | 0 {sortix => kernel}/fs/kram.cpp | 0 {sortix => kernel}/fs/kram.h | 0 {sortix => kernel}/fs/null.cpp | 0 {sortix => kernel}/fs/null.h | 0 {sortix => kernel}/fs/user.cpp | 0 {sortix => kernel}/fs/user.h | 0 {sortix => kernel}/fs/util.cpp | 0 {sortix => kernel}/fs/util.h | 0 {sortix => kernel}/fs/zero.cpp | 0 {sortix => kernel}/fs/zero.h | 0 {sortix => kernel}/fsfunc.cpp | 0 {sortix => kernel}/identity.cpp | 0 {sortix => kernel}/identity.h | 0 {sortix => kernel}/include/sortix/__/types.h | 0 {sortix => kernel}/include/sortix/clock.h | 0 {sortix => kernel}/include/sortix/dirent.h | 0 {sortix => kernel}/include/sortix/display.h | 0 {sortix => kernel}/include/sortix/fcntl.h | 0 {sortix => kernel}/include/sortix/fork.h | 0 {sortix => kernel}/include/sortix/initrd.h | 0 {sortix => kernel}/include/sortix/itimerspec.h | 0 {sortix => kernel}/include/sortix/kernel/addralloc.h | 0 {sortix => kernel}/include/sortix/kernel/calltrace.h | 0 {sortix => kernel}/include/sortix/kernel/clock.h | 0 {sortix => kernel}/include/sortix/kernel/copy.h | 0 {sortix => kernel}/include/sortix/kernel/cpu.h | 0 {sortix => kernel}/include/sortix/kernel/crc32.h | 0 {sortix => kernel}/include/sortix/kernel/debugger.h | 0 {sortix => kernel}/include/sortix/kernel/decl.h | 0 {sortix => kernel}/include/sortix/kernel/descriptor.h | 0 {sortix => kernel}/include/sortix/kernel/dtable.h | 0 {sortix => kernel}/include/sortix/kernel/fcache.h | 0 {sortix => kernel}/include/sortix/kernel/fsfunc.h | 0 {sortix => kernel}/include/sortix/kernel/inode.h | 0 {sortix => kernel}/include/sortix/kernel/interlock.h | 0 {sortix => kernel}/include/sortix/kernel/interrupt.h | 0 {sortix => kernel}/include/sortix/kernel/ioctx.h | 0 {sortix => kernel}/include/sortix/kernel/kernel.h | 0 {sortix => kernel}/include/sortix/kernel/keyboard.h | 0 {sortix => kernel}/include/sortix/kernel/kthread.h | 0 {sortix => kernel}/include/sortix/kernel/log.h | 0 {sortix => kernel}/include/sortix/kernel/memorymanagement.h | 0 {sortix => kernel}/include/sortix/kernel/mtable.h | 0 {sortix => kernel}/include/sortix/kernel/panic.h | 0 {sortix => kernel}/include/sortix/kernel/pci.h | 0 {sortix => kernel}/include/sortix/kernel/pipe.h | 0 {sortix => kernel}/include/sortix/kernel/poll.h | 0 {sortix => kernel}/include/sortix/kernel/process.h | 0 {sortix => kernel}/include/sortix/kernel/refcount.h | 0 {sortix => kernel}/include/sortix/kernel/scheduler.h | 0 {sortix => kernel}/include/sortix/kernel/segment.h | 0 {sortix => kernel}/include/sortix/kernel/signal.h | 0 {sortix => kernel}/include/sortix/kernel/sortedlist.h | 0 {sortix => kernel}/include/sortix/kernel/string.h | 0 {sortix => kernel}/include/sortix/kernel/symbol.h | 0 {sortix => kernel}/include/sortix/kernel/syscall.h | 0 {sortix => kernel}/include/sortix/kernel/textbuffer.h | 0 {sortix => kernel}/include/sortix/kernel/thread.h | 0 {sortix => kernel}/include/sortix/kernel/time.h | 0 {sortix => kernel}/include/sortix/kernel/timer.h | 0 {sortix => kernel}/include/sortix/kernel/user-timer.h | 0 {sortix => kernel}/include/sortix/kernel/video.h | 0 {sortix => kernel}/include/sortix/kernel/vnode.h | 0 {sortix => kernel}/include/sortix/kernel/worker.h | 0 {sortix => kernel}/include/sortix/kernel/yielder.h | 0 {sortix => kernel}/include/sortix/keycodes.h | 0 {sortix => kernel}/include/sortix/mman.h | 0 {sortix => kernel}/include/sortix/mount.h | 0 {sortix => kernel}/include/sortix/poll.h | 0 {sortix => kernel}/include/sortix/resource.h | 0 {sortix => kernel}/include/sortix/seek.h | 0 {sortix => kernel}/include/sortix/sigevent.h | 0 {sortix => kernel}/include/sortix/signal.h | 0 {sortix => kernel}/include/sortix/sigset.h | 0 {sortix => kernel}/include/sortix/socket.h | 0 {sortix => kernel}/include/sortix/stat.h | 0 {sortix => kernel}/include/sortix/syscallnum.h | 0 {sortix => kernel}/include/sortix/termios.h | 0 {sortix => kernel}/include/sortix/termmode.h | 0 {sortix => kernel}/include/sortix/time.h | 0 {sortix => kernel}/include/sortix/timespec.h | 0 {sortix => kernel}/include/sortix/tmns.h | 0 {sortix => kernel}/include/sortix/types.h | 0 {sortix => kernel}/include/sortix/uio.h | 0 {sortix => kernel}/include/sortix/unistd.h | 0 {sortix => kernel}/include/sortix/vga.h | 0 {sortix => kernel}/include/sortix/wait.h | 0 {sortix => kernel}/include/sortix/x64/fork.h | 0 {sortix => kernel}/include/sortix/x86/fork.h | 0 {sortix => kernel}/initrd.cpp | 0 {sortix => kernel}/initrd.h | 0 {sortix => kernel}/inode.cpp | 0 {sortix => kernel}/interlock.cpp | 0 {sortix => kernel}/interrupt.cpp | 0 {sortix => kernel}/io.cpp | 0 {sortix => kernel}/io.h | 0 {sortix => kernel}/ioctx.cpp | 0 {sortix => kernel}/kb/layout/us.cpp | 0 {sortix => kernel}/kb/layout/us.h | 0 {sortix => kernel}/kb/ps2.cpp | 0 {sortix => kernel}/kb/ps2.h | 0 {sortix => kernel}/kernel.cpp | 0 {sortix => kernel}/kernelinfo.cpp | 0 {sortix => kernel}/kernelinfo.h | 0 {sortix => kernel}/kthread.cpp | 0 {sortix => kernel}/lfbtextbuffer.cpp | 0 {sortix => kernel}/lfbtextbuffer.h | 0 {sortix => kernel}/linebuffer.cpp | 0 {sortix => kernel}/linebuffer.h | 0 {sortix => kernel}/log.cpp | 0 {sortix => kernel}/logterminal.cpp | 0 {sortix => kernel}/logterminal.h | 0 {sortix => kernel}/memorymanagement.cpp | 0 {sortix => kernel}/mtable.cpp | 0 {sortix => kernel}/multiboot.h | 0 {sortix => kernel}/net/fs.cpp | 0 {sortix => kernel}/net/fs.h | 0 {sortix => kernel}/op-new.cpp | 0 {sortix => kernel}/panic.cpp | 0 {sortix => kernel}/partition.cpp | 0 {sortix => kernel}/partition.h | 0 {sortix => kernel}/pci.cpp | 0 {sortix => kernel}/pipe.cpp | 0 {sortix => kernel}/pipe.h | 0 {sortix => kernel}/poll.cpp | 0 {sortix => kernel}/poll.h | 0 {sortix => kernel}/process.cpp | 0 {sortix => kernel}/refcount.cpp | 0 {sortix => kernel}/resource.cpp | 0 {sortix => kernel}/resource.h | 0 {sortix => kernel}/scheduler.cpp | 0 {sortix => kernel}/segment.cpp | 0 {sortix => kernel}/serialterminal.cpp | 0 {sortix => kernel}/serialterminal.h | 0 {sortix => kernel}/signal.cpp | 0 {sortix => kernel}/string.cpp | 0 {sortix => kernel}/symbol.cpp | 0 {sortix => kernel}/syscall.cpp | 0 {sortix => kernel}/textbuffer.cpp | 0 {sortix => kernel}/textterminal.cpp | 0 {sortix => kernel}/textterminal.h | 0 {sortix => kernel}/thread.cpp | 0 {sortix => kernel}/time.cpp | 0 {sortix => kernel}/timer.cpp | 0 {sortix => kernel}/uart.cpp | 0 {sortix => kernel}/uart.h | 0 {sortix => kernel}/user-timer.cpp | 0 {sortix => kernel}/utf8.cpp | 0 {sortix => kernel}/utf8.h | 0 {sortix => kernel}/vga.cpp | 0 {sortix => kernel}/vga.h | 0 {sortix => kernel}/vgatextbuffer.cpp | 0 {sortix => kernel}/vgatextbuffer.h | 0 {sortix => kernel}/video.cpp | 0 {sortix => kernel}/vnode.cpp | 0 {sortix => kernel}/worker.cpp | 0 {sortix => kernel}/x64/base.s | 0 {sortix => kernel}/x64/boot.s | 0 {sortix => kernel}/x64/calltrace.s | 0 {sortix => kernel}/x64/crti.s | 0 {sortix => kernel}/x64/crtn.s | 0 {sortix => kernel}/x64/interrupt.s | 0 {sortix => kernel}/x64/kthread.s | 0 {sortix => kernel}/x64/memorymanagement.cpp | 0 {sortix => kernel}/x64/memorymanagement.h | 0 {sortix => kernel}/x64/process.cpp | 0 {sortix => kernel}/x64/syscall.s | 0 {sortix => kernel}/x64/thread.cpp | 0 {sortix => kernel}/x64/x64.cpp | 0 {sortix => kernel}/x86-family/cmos.cpp | 0 {sortix => kernel}/x86-family/cmos.h | 0 {sortix => kernel}/x86-family/float.cpp | 0 {sortix => kernel}/x86-family/float.h | 0 {sortix => kernel}/x86-family/gdt.cpp | 0 {sortix => kernel}/x86-family/gdt.h | 0 {sortix => kernel}/x86-family/idt.cpp | 0 {sortix => kernel}/x86-family/idt.h | 0 {sortix => kernel}/x86-family/memorymanagement.cpp | 0 {sortix => kernel}/x86-family/memorymanagement.h | 0 {sortix => kernel}/x86-family/msr.cpp | 0 {sortix => kernel}/x86-family/msr.h | 0 {sortix => kernel}/x86-family/time.cpp | 0 {sortix => kernel}/x86-family/x86-family.cpp | 0 {sortix => kernel}/x86-family/x86-family.h | 0 {sortix => kernel}/x86/base.s | 0 {sortix => kernel}/x86/boot.s | 0 {sortix => kernel}/x86/calltrace.s | 0 {sortix => kernel}/x86/crti.s | 0 {sortix => kernel}/x86/crtn.s | 0 {sortix => kernel}/x86/interrupt.s | 0 {sortix => kernel}/x86/kthread.s | 0 {sortix => kernel}/x86/memorymanagement.cpp | 0 {sortix => kernel}/x86/memorymanagement.h | 0 {sortix => kernel}/x86/process.cpp | 0 {sortix => kernel}/x86/syscall.s | 0 {sortix => kernel}/x86/thread.cpp | 0 {sortix => kernel}/x86/x86.cpp | 0 libc/sys/mman/mmap.cpp | 2 +- mkinitrd/Makefile | 2 +- system/Makefile | 10 +++++----- 228 files changed, 10 insertions(+), 10 deletions(-) commit 18d2695439348e2703a68c2fab80da8fe7ed393e Author: Jonas 'Sortie' Termansen Date: Wed Jan 15 00:14:02 2014 +0100 Add libdl and librt to libc. libc/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit fba2e26b0539f08ab63575c9ea4411ff7432f9b0 Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 22:52:53 2014 +0100 Fix wc(1) argument parsing. utils/wc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3d64567bae136b5864dd3e9c05b75d099f911d9c Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 22:52:11 2014 +0100 Fix pwd(1) argument parsing. utils/pwd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 820bafeabf1721c8596f7c04337f3d162e092623 Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 22:51:55 2014 +0100 Fix ls(1) argument parsing. utils/ls.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 10daa40f01d5369d5704e41357a85fc97ff72c8a Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 22:51:39 2014 +0100 Fix du(1) argument parsing. utils/du.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 581edfb422cff0ff4b988d7614cc70c4aa1b1bd6 Author: Jonas 'Sortie' Termansen Date: Fri Feb 28 22:51:10 2014 +0100 Fix cat(1) argument parsing. utils/cat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ad3568f2a05cdf37bde8dba9e51b9bf902dbbda2 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 16:51:34 2014 +0100 Fix unportable pid_t printing in sortix/scheduler.cpp. sortix/scheduler.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit e94534521c37a3628f8682d36eb2dfa7f67c9716 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 16:49:17 2014 +0100 Fix unportable pid_t printing in sortix/kernel.cpp. sortix/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c11b1aba9e2bd33f5313b38ab10c3609a52d9ef2 Author: Jonas 'Sortie' Termansen Date: Thu Feb 20 16:36:40 2014 +0100 Fix unportable pid_t printing in sortix/interrupt.cpp. sortix/interrupt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4c1d36fd117b7da56692c5b11c6e571e5cdb2e0b Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:25:48 2014 +0100 Fix setuid(2) calling sys_getuid rather than sys_setuid. libc/unistd/setuid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 478db91c3e8049e2411edd12d36117d673655554 Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:25:19 2014 +0100 Fix setgid(2) calling sys_getgid rather than sys_setgid. libc/unistd/setgid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit aa9f642df248601ba82522fb70187322d720fc2c Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:24:54 2014 +0100 Fix seteuid(2) calling sys_geteuid rather than sys_seteuid. libc/unistd/seteuid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3163f4600de826547498848f1926a8fe73d2a4cd Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:24:24 2014 +0100 Fix setegid(2) calling sys_getegid rather than sys_setegid. libc/unistd/setegid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 142b2c66c45c86670541d84fe204f0f51d1a7d3e Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:18:42 2014 +0100 Fix symlinkat(2) calling sys_linkat rather than sys_symlinkat. libc/unistd/symlinkat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4227d97f55fe6e47900ad8ceddbab693f83ef7c5 Author: Jonas 'Sortie' Termansen Date: Sun Feb 23 14:16:32 2014 +0100 Fix send(2) calling sys_recv rather than sys_send. libc/sys/socket/send.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7518b5da12f2446999197d18b15554147d101578 Author: Jonas 'Sortie' Termansen Date: Wed Feb 12 22:57:56 2014 +0100 Remove ASLFAGS from kernel Makefile. sortix/Makefile | 1 - 1 file changed, 1 deletion(-) commit 73e44a5ff5cdb7412f8c87997e4c14b689339d9d Author: Jonas 'Sortie' Termansen Date: Sun Feb 16 12:34:00 2014 +0100 Fix wrong return type of ModeToDT kernel function. sortix/fsfunc.cpp | 2 +- sortix/include/sortix/kernel/fsfunc.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 0235fc3a62438e94e1e9974597937b3edba3dbfc Author: Jonas 'Sortie' Termansen Date: Sat Feb 15 21:52:07 2014 +0100 Fix wrong return value for fcntl(F_SETFL, ...). sortix/io.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 31c310036c0045017d158b0d542710bab46928c6 Author: Jonas 'Sortie' Termansen Date: Sat Feb 15 20:57:24 2014 +0100 Fix lseek changing errno in fdio_install_fd when no real error occurs. libc/stdio/fdio.cpp | 2 ++ 1 file changed, 2 insertions(+) commit fd5b40de26d3b3d1eff297e776a18bcee2f6e0da Author: Jonas 'Sortie' Termansen Date: Thu Feb 13 15:40:35 2014 +0100 Fix wrong return types in towlower(3) and towupper(3) implementations. libc/wctype/wctype.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 926ce2c6c8cd1cf7f4f3636e7cab42fcb5576643 Author: Jonas 'Sortie' Termansen Date: Mon Jan 20 18:29:28 2014 +0100 Silence uninitialized variable warning in tix-execpatch(1). tix/tix-execpatch.cpp | 1 + 1 file changed, 1 insertion(+) commit 061eddff91294b78a92bd8f71bf463ae61bc3ada Author: Jonas 'Sortie' Termansen Date: Sat Feb 1 13:49:03 2014 +0100 Silence uninitialized variable warning in wcrtomb(3). libc/wchar/wcrtomb.cpp | 1 + 1 file changed, 1 insertion(+) commit 140dfe22fc0672ead5f511b686066550eeebbfb7 Author: Jonas 'Sortie' Termansen Date: Wed Feb 5 23:22:03 2014 +0100 Fix memory leak in getlogin_r(3). libc/unistd/getlogin_r.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5c58b6554681e133a31702369cb8899f1a7ef5e7 Author: Jonas 'Sortie' Termansen Date: Sat Feb 1 16:12:38 2014 +0100 Fix range check in sigismember(3). libc/signal/sigismember.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6af85a5dd8cc4ee615b6ad0399c67150e36d9475 Author: Jonas 'Sortie' Termansen Date: Sat Feb 1 16:09:25 2014 +0100 Fix negated return value in sigisemptyset(3). libc/signal/sigisemptyset.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 9d7a032f80ccea6e4da4b50884d52738996692ea Author: Jonas 'Sortie' Termansen Date: Mon Jan 20 18:29:48 2014 +0100 Fix tix programs not including to get SIGPIPE. tix/porttix-create.cpp | 1 + tix/srctix-create.cpp | 1 + tix/tix-build.cpp | 1 + tix/tix-collection.cpp | 1 + tix/tix-execdiff.cpp | 1 + tix/tix-execpatch.cpp | 1 + tix/tix-install.cpp | 1 + tix/tix-object-insert.cpp | 1 + tix/tix-rmpatch.cpp | 1 + tix/tix.cpp | 1 + 10 files changed, 10 insertions(+) commit 2a652ed1a8c4c652a5de9b444ebe81de0129b371 Author: Jonas 'Sortie' Termansen Date: Sat Jan 18 23:13:14 2014 +0100 Fix doc/obsolete-stuff not listing gethostbyaddr. doc/obsolete-stuff | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b5d80ee5d1e4bd6172af46a04e89fd651864c0b1 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 22:22:54 2014 +0100 Fix %T in strftime(3) being incorrectly implemented. libc/time/strftime.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d4e79348283bfec78ba618c1610fef92698906f0 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 18:29:42 2014 +0100 Fix insecure user-space pointer dereferences in sys_kernelinfo. sortix/kernelinfo.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 8f8f09ac82b7f8b3a9b4bcd8d9122ac811c059e5 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 18:22:28 2014 +0100 Fix insecure user-space pointer dereferences in sys_tfork. sortix/process.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 08c11ee45c819131367d084aa6d0b25a2bda3da9 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 18:15:54 2014 +0100 Fix insecure user-space pointer dereferences in sys_waitpid. sortix/process.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) commit 08df67eef2eca4a9eb792f1d98cc2d49b094c555 Author: Jonas 'Sortie' Termansen Date: Sun Jan 19 18:08:46 2014 +0100 Fix insecure user-space pointer dereferences in sys_memstat. sortix/memorymanagement.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit cab62b77d5b646866f46eb001c9a98f21d83c83e Author: Jonas 'Sortie' Termansen Date: Thu Jan 16 20:43:53 2014 +0100 Fix fcntl(fd, F_SETFL, x) not setting the descriptor flags properly. sortix/descriptor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 187cdf03dcced5bfa457bd6ba2b8e80a7b830b3e Author: Jonas 'Sortie' Termansen Date: Wed Jan 15 23:21:54 2014 +0100 Fix accept4 ignoring addrlen parameter as input. libc/sys/socket/accept4.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 6473d726217d2929d427ebccd43ccba1f4b62849 Author: Jonas 'Sortie' Termansen Date: Tue Jan 7 18:13:32 2014 +0100 Fix bugs in vprintf_callback(3) and improve %c and %s support. libc/stdio/vprintf_callback.cpp | 91 ++++++++++++++++++++++++++++++++--------- 1 file changed, 71 insertions(+), 20 deletions(-) commit 021256ad8e90503fb0296f5ad69844c77b5f0e08 Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 22:09:11 2014 +0100 Fix struct kernel_dirent::d_namlen being called d_namelen. ext/extfs.cpp | 8 ++++---- libc/dirent/fddir-sortix.cpp | 4 ++-- sortix/descriptor.cpp | 2 +- sortix/fs/kram.cpp | 4 ++-- sortix/fs/user.cpp | 2 +- sortix/include/sortix/dirent.h | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) commit ffff20be35df1a5b30fa5abcba37f6a155324597 Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 19:40:39 2014 +0100 Fix unode readdirents not setting struct kernel_dirent::d_type. sortix/fs/user.cpp | 1 + 1 file changed, 1 insertion(+) commit bfc8570bb8fdbe127659eed83177b5bc5732dc05 Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 18:48:18 2014 +0100 Fix libc function implementations without extern "C" linkage. libc/dirent/dir.cpp | 22 +++++++++++----------- libc/libgen/basename.cpp | 2 +- libc/libgen/dirname.cpp | 2 +- libc/signal/sigaction.cpp | 1 + libc/stdlib/realpath.cpp | 1 + 5 files changed, 15 insertions(+), 13 deletions(-) commit 7c3df4e4f7dda0cdc339c19f6fe1020629bde66a Author: Jonas 'Sortie' Termansen Date: Fri Jan 3 18:18:00 2014 +0100 Fix not being wrapped in __BEGIN_DECLS and __END_DECLS. libc/include/FILE.h | 4 ++++ 1 file changed, 4 insertions(+) commit a4220d5b5feab29b32afe24bfbf360a4026bec47 Author: Jonas 'Sortie' Termansen Date: Sat Jan 18 16:21:21 2014 +0100 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. libc/Makefile | 4 ++-- libc/assert/__assert.cpp | 2 +- libc/errno/errno.cpp | 4 ++-- libc/include/features.h | 14 +++++++------- libc/include/grp.h | 2 +- libc/include/pwd.h | 2 +- libc/include/stdio.h | 2 +- libc/include/stdlib.h | 2 +- libc/include/wchar.h | 2 +- libc/stdio/fsetdefaultbuf.cpp | 2 +- libc/stdlib/abort.cpp | 10 +++++++++- libc/stdlib/heap.cpp | 16 ++++++++-------- libm/Makefile | 2 +- sortix/include/sortix/resource.h | 2 +- 14 files changed, 37 insertions(+), 29 deletions(-) commit c57b5fe17675d9bf8c4b740511297b34531a3a23 Author: Jonas 'Sortie' Termansen Date: Wed Jan 15 01:13:52 2014 +0100 Fix tix-build(1) not preserving PKG_CONFIG_LIBDIR in PKG_CONFIG_FOR_BUILD. tix/tix-build.cpp | 1 + 1 file changed, 1 insertion(+) commit 7b024926494d293fb113a8cbafd6d2acc5289ea0 Author: Jonas 'Sortie' Termansen Date: Wed Jan 15 00:14:46 2014 +0100 Fix MAKEFLAGS not being correctly purified in tix-build(1). tix/tix-build.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 2f02d5287e3444a19da92f6246cd2fd36882ece2 Author: Jonas 'Sortie' Termansen Date: Sun Dec 29 23:55:44 2013 +0100 Add missing includes to . sortix/include/sortix/display.h | 1 + 1 file changed, 1 insertion(+) commit a66bb2900af23434d9fd90529361fa27fa25f15a Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 21:49:37 2013 +0100 Fix unportable pid_t parsing in sh(1). utils/mxsh.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 7bc8ccd46ff502c9509f116f45e20a4201958366 Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 21:48:31 2013 +0100 Fix unportable gid_t and uid_t parsing in fgetpwent_r(3). libc/pwd/fgetpwent_r.cpp | 44 +++++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) commit ace4a6cc54a203f191a3c7b5803e4bc77d1fc5c5 Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 21:48:03 2013 +0100 Fix unportable gid_t parsing in fgetgrent_r(3). libc/grp/fgetgrent_r.cpp | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) commit ac3928bfc894357bbf392ec3c2755dae689b44f3 Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 21:47:24 2013 +0100 Fix unportable pid_t printing in calltrace(3). libc/calltrace/calltrace.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 7fbd8cdfa6579d8f0a3d9a229529fa0b2e5f914f Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 21:54:53 2013 +0100 Fix Sortix::Process::GetParentProcessId forward declaration return type. sortix/include/sortix/kernel/process.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f47cb98b97e3740d7adb55fb4fe5f7163dbb4cd5 Author: Jonas 'Sortie' Termansen Date: Sat Dec 28 21:24:20 2013 +0100 Fix wrong return type in getpgid(2) implementation. libc/unistd/getpgid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 93778ef5da9abd89ba078a7fbc0ba7d4ee3a3557 Author: Jonas 'Sortie' Termansen Date: Fri Dec 20 00:53:02 2013 +0100 Begin development of Sortix 0.9. version.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 15aca20f6fd5cd6aa341dd2a86bb7a9af1e1af36 Author: Jonas 'Sortie' Termansen Date: Mon Dec 16 00:36:02 2013 +0100 Update version number to 0.8. version.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 178bb495c2387b115ef0473c8fb10c822480f5eb Author: Jonas 'Sortie' Termansen Date: Wed Oct 30 12:09:32 2013 +0100 Add ports system. .gitignore | 2 + Makefile | 58 ++++- build-ports.sh | 155 +++++++++++++ clean-ports.sh | 52 +++++ doc/Makefile | 1 + doc/cross-development | 37 ++++ doc/porting-guide | 592 ++++++++++++++++++++++++++++++++++++++++++++++++++ system/Makefile | 1 + 8 files changed, 889 insertions(+), 9 deletions(-) commit b0d07b91422d2e69bd4393fdb0d033d445052cdd Author: Jonas 'Sortie' Termansen Date: Tue Mar 26 12:40:18 2013 +0100 Add the Tix package management system. Makefile | 4 +- README | 7 +- tix/.gitignore | 11 + tix/Makefile | 44 ++ tix/porttix-create.cpp | 436 ++++++++++++++++++ tix/srctix-create.cpp | 321 +++++++++++++ tix/tix-build.cpp | 713 +++++++++++++++++++++++++++++ tix/tix-collection.cpp | 175 +++++++ tix/tix-eradicate-libtool-la | 28 ++ tix/tix-execdiff.cpp | 224 +++++++++ tix/tix-execpatch.cpp | 246 ++++++++++ tix/tix-install.cpp | 342 ++++++++++++++ tix/tix-object-insert.cpp | 427 +++++++++++++++++ tix/tix-rmpatch.cpp | 240 ++++++++++ tix/tix.cpp | 285 ++++++++++++ tix/util.h | 1033 ++++++++++++++++++++++++++++++++++++++++++ 16 files changed, 4532 insertions(+), 4 deletions(-) commit dce618af930018a23ae552489429a03fb16b2cc2 Author: Jonas 'Sortie' Termansen Date: Wed Feb 27 12:21:09 2013 +0100 Add local harddisk boot option. isosrc/boot/grub/grub.cfg | 6 ++++++ 1 file changed, 6 insertions(+) commit df419bdf556dd56f6edd07b96462427fdd1ef7e7 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 23:14:47 2013 +0100 Port Sortix build system to Sortix. Makefile | 1 + system/Makefile | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) commit 4cffc6b77b41c8ec26d7cc09caead9678d565a6c Author: Jonas 'Sortie' Termansen Date: Fri Dec 13 00:42:45 2013 +0100 Add fnmatch(3). libc/Makefile | 1 + libc/fnmatch/fnmatch.cpp | 151 +++++++++++++++++++++++++++++++++++++++++ libc/include/fnmatch.h | 42 ++++++++++++ libc/sortix/fnmatch/.gitignore | 0 4 files changed, 194 insertions(+) commit 500d3bb38b7acfa5204e7687d795426327754998 Author: Jonas 'Sortie' Termansen Date: Thu Nov 21 20:27:09 2013 +0100 Add symlink(2) and symlinkat(2) stub. libc/Makefile | 2 ++ libc/include/unistd.h | 4 ++-- libc/unistd/symlink.cpp | 31 +++++++++++++++++++++++++++++++ libc/unistd/symlinkat.cpp | 35 +++++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 31 +++++++++++++++++++++++++++++++ 6 files changed, 103 insertions(+), 3 deletions(-) commit a0e2934c8c3ee14c09285d25d235a391c556bb7b Author: Jonas 'Sortie' Termansen Date: Mon Nov 11 22:21:31 2013 +0100 Recover kernel log during emergencies. sortix/include/sortix/kernel/log.h | 14 +- sortix/include/sortix/kernel/textbuffer.h | 10 +- sortix/kernel.cpp | 55 +++++- sortix/lfbtextbuffer.cpp | 271 +++++++++++++++++++++--------- sortix/lfbtextbuffer.h | 15 +- sortix/log.cpp | 21 +-- sortix/panic.cpp | 46 +++++ sortix/textbuffer.cpp | 37 +++- sortix/textterminal.cpp | 112 +++++++++++- sortix/textterminal.h | 9 +- sortix/vgatextbuffer.cpp | 19 ++- sortix/vgatextbuffer.h | 5 +- 12 files changed, 503 insertions(+), 111 deletions(-) commit eb831479fb3c917ded865c3c19ff43a79c3f8f28 Author: Jonas 'Sortie' Termansen Date: Sat Nov 16 13:21:19 2013 +0100 Implement AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW. sortix/io.cpp | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) commit 2311d634ac30451d5c39c55ac08eda0ea8401807 Author: Jonas 'Sortie' Termansen Date: Sat Nov 16 13:21:08 2013 +0100 Add O_SYMLINK_NOFOLLOW. sortix/descriptor.cpp | 3 ++- sortix/include/sortix/fcntl.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) commit 7651519f9636bd0c57158379ec29659e07f8e9d1 Author: Jonas 'Sortie' Termansen Date: Sun Nov 17 14:07:17 2013 +0100 Color executables in ls(1). utils/ls.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit c407a2486364834e9051742bd36c7915e8596a94 Author: Jonas 'Sortie' Termansen Date: Wed Nov 13 13:51:38 2013 +0100 Allow the kernel to write to harddisks by default. sortix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 48931408f4c867e084ca5ebdc21d9ff4a4073c13 Author: Jonas 'Sortie' Termansen Date: Thu Sep 19 20:13:19 2013 +0200 Make FILE a macro that expands to FILE. This solves a compatibility problem with libgmp that erroneously attempts to detect whether has been included, but doesn't know what the include guards for Sortix libc are. libc/decl/FILE.h | 1 + 1 file changed, 1 insertion(+) commit 866efbd11c35395d135690deea5e22e1ef1807f8 Author: Jonas 'Sortie' Termansen Date: Mon Nov 11 15:44:16 2013 +0100 Improve error message in case VGA text mode is unavailable. dispd/client/session.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 951ecb625bb2efb8971afd741f7fec93cd2b33cd Author: Jonas 'Sortie' Termansen Date: Mon Nov 11 15:25:22 2013 +0100 Improve error message in case the initrd is too big. sortix/kernel.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit f8e7553187bb159515ea905d0b4adc8ee474115a Author: Jonas 'Sortie' Termansen Date: Mon Nov 11 15:07:31 2013 +0100 Add false(1) and true(1). utils/.gitignore | 2 ++ utils/Makefile | 4 +++- utils/false.cpp | 26 ++++++++++++++++++++++++++ utils/true.cpp | 26 ++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) commit 425069cbf19230308006c021584bee0eaf2e084b Author: Jonas 'Sortie' Termansen Date: Fri Dec 21 21:21:44 2012 +0100 Add documentation. Makefile | 15 +- README | 240 +++++++--------------- doc/.gitignore | 1 + doc/Makefile | 19 ++ doc/cross-development | 198 ++++++++++++++++++ doc/obsolete-stuff | 215 ++++++++++++++++++++ doc/user-guide | 546 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/welcome | 7 + 8 files changed, 1066 insertions(+), 175 deletions(-) commit 184fce3cf3041f0d1dfa2b4551fcff9f6bd8959f Author: Jonas 'Sortie' Termansen Date: Thu Oct 17 00:25:19 2013 +0200 Add basic wildcard support to the shell. utils/mxsh.cpp | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) commit 5703540c0ff8923681cb35ffb2c64f41d7134f04 Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 00:29:59 2013 +0200 Start the initial root shell in root's home directory. utils/init.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit b3b2e99b9c48501a7bad9f5cb57d5e73c3c2cc1d Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 00:19:37 2013 +0200 Perform only home path substitution in the shell if HOME is set. utils/mxsh.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5582cb4065def80affb818f8e750c0b6fed966ee Author: Jonas 'Sortie' Termansen Date: Tue Oct 1 23:12:36 2013 +0200 Set the root user's home directory, username and shell in init. utils/init.cpp | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) commit 6a9eee323884487971f8b3f76e07f5e281951d14 Author: Jonas 'Sortie' Termansen Date: Wed Jul 10 21:36:42 2013 +0200 Add brand.h. libc/include/brand.h | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/kernel.cpp | 24 +----------- sortix/kernelinfo.cpp | 3 +- sortix/panic.cpp | 28 ++------------ utils/init.cpp | 3 +- utils/uname.cpp | 12 +++--- 6 files changed, 119 insertions(+), 54 deletions(-) commit b5509037bc84a7380e3a9cb8a1033f010f4cdbb7 Author: Jonas 'Sortie' Termansen Date: Sun Jun 9 13:44:09 2013 +0200 Add command-not-found utility. utils/.gitignore | 1 + utils/Makefile | 1 + utils/command-not-found.cpp | 54 +++++++++++++++++++++++++++++++++++++++++++++ utils/mxsh.cpp | 10 +++++++-- 4 files changed, 64 insertions(+), 2 deletions(-) commit 3de23d8cec2494d870e865824f5c917ffcc93c6c Author: Jonas 'Sortie' Termansen Date: Fri Dec 14 22:09:51 2012 +0100 Rewrite the Sortix text editor. utils/editor.cpp | 2450 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 2123 insertions(+), 327 deletions(-) commit 4e45844334d9705c01a09d3a1eb1cd2cd4721728 Author: Jonas 'Sortie' Termansen Date: Sat Jun 1 13:52:11 2013 +0200 Add chain boot support to init. utils/init.cpp | 408 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 400 insertions(+), 8 deletions(-) commit 25cc40a5f24b5abcb2ef17b75f2150ec7064a841 Author: Jonas 'Sortie' Termansen Date: Sat Jun 1 13:26:07 2013 +0200 Add Master Boot Record partition scheme support. Makefile | 2 +- mbr/.gitignore | 1 + mbr/Makefile | 31 +++++++ mbr/mbrfs.cpp | 272 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 305 insertions(+), 1 deletion(-) commit b308c764cf1a17941bb6529838e85ac518be6620 Author: Jonas 'Sortie' Termansen Date: Thu May 23 14:39:29 2013 +0200 Add ext2 filesystem implementation. Makefile | 2 +- ext/.gitignore | 2 + ext/Makefile | 38 ++ ext/block.cpp | 115 ++++ ext/block.h | 56 ++ ext/blockgroup.cpp | 238 +++++++++ ext/blockgroup.h | 70 +++ ext/device.cpp | 96 ++++ ext/device.h | 53 ++ ext/ext-constants.h | 135 +++++ ext/ext-structs.h | 131 +++++ ext/extfs.cpp | 1481 +++++++++++++++++++++++++++++++++++++++++++++++++++ ext/filesystem.cpp | 214 ++++++++ ext/filesystem.h | 64 +++ ext/inode.cpp | 946 ++++++++++++++++++++++++++++++++ ext/inode.h | 84 +++ ext/ioleast.cpp | 73 +++ ext/ioleast.h | 148 +++++ ext/util.h | 52 ++ 19 files changed, 3997 insertions(+), 1 deletion(-) commit 0708482d9bc73daf07b3e67bd5700713ebce1160 Author: Jonas 'Sortie' Termansen Date: Sun Nov 3 00:32:00 2013 +0100 Rewrite echo(1). utils/echo.cpp | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 173 insertions(+), 13 deletions(-) commit caa1b7455cbe00260cc2157c53cfaf09749d1566 Author: Jonas 'Sortie' Termansen Date: Sat Nov 2 22:46:30 2013 +0100 Add /dev/full. sortix/Makefile | 1 + sortix/fs/full.cpp | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/full.h | 48 +++++++++++++++++++++++++ sortix/kernel.cpp | 9 +++++ 4 files changed, 161 insertions(+) commit 5293d91808d6acf0ad2d1a29da80279dc6f2628b Author: Jonas 'Sortie' Termansen Date: Sat Nov 2 22:36:52 2013 +0100 Add /dev/zero. sortix/Makefile | 1 + sortix/fs/zero.cpp | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/zero.h | 48 +++++++++++++++++++++++++ sortix/kernel.cpp | 9 +++++ 4 files changed, 160 insertions(+) commit c833b054d5670a4d215db810cedf3b94717e0190 Author: Jonas 'Sortie' Termansen Date: Tue Oct 29 01:37:43 2013 +0100 Add . libc/include/argp.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) commit 616ef6c9638dd25e559dd4980393caf1965517f5 Author: Jonas 'Sortie' Termansen Date: Tue Oct 29 01:03:32 2013 +0100 Add /dev/null. sortix/Makefile | 1 + sortix/fs/null.cpp | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/null.h | 48 +++++++++++++++++++++++++++++ sortix/kernel.cpp | 9 ++++++ 4 files changed, 148 insertions(+) commit 33bf0d93ad8557062437075d3cf4c5c917a3de8c Author: Jonas 'Sortie' Termansen Date: Mon Mar 18 14:21:52 2013 +0100 Avoid libc conflicts with libstdc++. libc/Makefile | 5 +---- libc/aux/op-new.cpp | 36 ++++++++++++++++++++++++++++++------ sortix/Makefile | 1 + sortix/op-new.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 10 deletions(-) commit 358f2c4524ea14da8bb995d798131c316240e02a Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 02:47:54 2013 +0200 Remove unnecessary includes from sortix/include/sortix/kernel/kernel.h | 4 ---- 1 file changed, 4 deletions(-) commit 291bb7afb3fd211f8ce3e15617b254d78a416a25 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 02:48:20 2013 +0200 Add missing includes to x86/process and x64/process.cpp. sortix/x64/process.cpp | 2 ++ sortix/x86/process.cpp | 2 ++ 2 files changed, 4 insertions(+) commit 2302350d78f0cb5ffedf8996f51337e4cf6681ac Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 02:41:45 2013 +0200 Remove . libc/stdlib/abort.cpp | 2 +- sortix/addralloc.cpp | 2 +- sortix/alarm.cpp | 6 +++--- sortix/ata.cpp | 21 +++++++++++--------- sortix/bga.cpp | 14 ++++++------- sortix/calltrace.cpp | 2 +- sortix/clock.cpp | 2 +- sortix/com.cpp | 18 ++++++++--------- sortix/copy.cpp | 5 +++-- sortix/crc32.cpp | 2 +- sortix/debugger.cpp | 2 +- sortix/descriptor.cpp | 31 +++++++++++++++++------------ sortix/dispmsg.cpp | 4 ++-- sortix/dtable.cpp | 16 ++++++++------- sortix/elf.cpp | 2 +- sortix/end.cpp | 2 +- sortix/fcache.cpp | 2 +- sortix/fs/kram.cpp | 9 ++++----- sortix/fs/user.cpp | 12 +++++------ sortix/fs/util.cpp | 19 ++++++++++-------- sortix/fsfunc.cpp | 13 +++++++++--- sortix/identity.cpp | 4 ++-- sortix/include/sortix/kernel/platform.h | 35 --------------------------------- sortix/initrd.cpp | 10 +++++----- sortix/inode.cpp | 6 +++--- sortix/interlock.cpp | 2 +- sortix/interrupt.cpp | 12 +++++------ sortix/io.cpp | 34 ++++++++++++++++++-------------- sortix/ioctx.cpp | 4 ++-- sortix/kb/layout/us.cpp | 6 ++++-- sortix/kb/ps2.cpp | 16 +++++++-------- sortix/kernelinfo.cpp | 2 +- sortix/kthread.cpp | 4 ++-- sortix/lfbtextbuffer.cpp | 12 +++++------ sortix/linebuffer.cpp | 4 +++- sortix/log.cpp | 2 +- sortix/logterminal.cpp | 2 +- sortix/mtable.cpp | 9 +++++---- sortix/net/fs.cpp | 8 ++++---- sortix/panic.cpp | 2 +- sortix/partition.cpp | 4 ++-- sortix/pci.cpp | 4 ++-- sortix/pipe.cpp | 27 ++++++++++--------------- sortix/poll.cpp | 6 +++--- sortix/process.cpp | 2 +- sortix/refcount.cpp | 5 +++-- sortix/scheduler.cpp | 10 +++++----- sortix/serialterminal.cpp | 6 +++--- sortix/signal.cpp | 10 +++++----- sortix/syscall.cpp | 6 +++--- sortix/textbuffer.cpp | 5 +++-- sortix/textterminal.cpp | 6 ++++-- sortix/thread.cpp | 2 +- sortix/time.cpp | 8 ++++---- sortix/timer.cpp | 4 ++-- sortix/uart.cpp | 2 +- sortix/user-timer.cpp | 4 ++-- sortix/utf8.cpp | 4 +++- sortix/vga.cpp | 14 ++++++------- sortix/vgatextbuffer.cpp | 6 ++++-- sortix/video.cpp | 11 ++++++----- sortix/vnode.cpp | 10 ++++++---- sortix/worker.cpp | 2 +- sortix/x64/memorymanagement.cpp | 8 ++++---- sortix/x64/process.cpp | 9 ++++++--- sortix/x64/thread.cpp | 2 +- sortix/x64/x64.cpp | 2 +- sortix/x86-family/cmos.cpp | 2 +- sortix/x86-family/float.cpp | 6 +++--- sortix/x86-family/memorymanagement.cpp | 16 +++++++-------- sortix/x86-family/msr.cpp | 3 ++- sortix/x86-family/time.cpp | 2 +- sortix/x86-family/x86-family.cpp | 2 +- sortix/x86/memorymanagement.cpp | 9 ++++++--- sortix/x86/process.cpp | 9 ++++++--- sortix/x86/thread.cpp | 2 +- sortix/x86/x86.cpp | 2 +- 77 files changed, 300 insertions(+), 292 deletions(-) commit 42d267793b649c2a907fa84bde322895645c1e19 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 22:16:46 2013 +0100 Add missing includes to . sortix/include/sortix/kernel/interrupt.h | 2 ++ 1 file changed, 2 insertions(+) commit e16edd71b52fc8a924f555507a10c7551bc49c77 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 22:16:24 2013 +0100 Add missing includes to . sortix/include/sortix/kernel/crc32.h | 3 +++ 1 file changed, 3 insertions(+) commit b09267c622645ec417f2981a4366108913dddc35 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 02:04:35 2013 +0200 Add missing includes to . sortix/include/sortix/kernel/kthread.h | 2 ++ 1 file changed, 2 insertions(+) commit d02b3422c1e561da618d554f48b3ea1662ffd985 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 02:00:51 2013 +0200 Add missing includes to . sortix/include/sortix/kernel/cpu.h | 3 +++ 1 file changed, 3 insertions(+) commit 2110ce26512bdc1f41d57129be142e189b70cb93 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 01:59:08 2013 +0200 Add missing includes to . sortix/include/sortix/kernel/decl.h | 2 ++ 1 file changed, 2 insertions(+) commit 0d3e35bd82eb1c67c95dfbd370c0d06656d13b18 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 01:48:13 2013 +0200 Add symbol size to SYSCALL_FUNCTION macro assembly. libc/include/sys/syscall.h | 1 + 1 file changed, 1 insertion(+) commit dbd07b6ade56b28a73c4fe185db94748ceb00e4b Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 01:46:09 2013 +0200 Update to current coding conventions. libc/include/sys/syscall.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit f6f861a72e3574dc8d073a54f5d20cbf406533e3 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 01:44:36 2013 +0200 Remove JSSORTIX reference from sortix/uart.cpp. sortix/uart.cpp | 5 ----- 1 file changed, 5 deletions(-) commit d43a044575d9c3b30ca36c0e6a4f69379bd9b53c Author: Jonas 'Sortie' Termansen Date: Sat Oct 26 22:46:21 2013 +0200 Refactor assert(3). libc/Makefile | 2 +- libc/assert/{_assert.cpp => __assert.cpp} | 26 +++++++++-------- libc/include/assert.h | 47 +++++++++++++++---------------- 3 files changed, 37 insertions(+), 38 deletions(-) commit 9d4bc2a15fea07d863d887f4100798ced7ecb010 Author: Jonas 'Sortie' Termansen Date: Sat Oct 26 16:56:07 2013 +0200 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. libc/stdlib/heap.cpp | 44 ++------------------------------------------ sortix/addralloc.cpp | 20 +++++++++++--------- 2 files changed, 13 insertions(+), 51 deletions(-) commit b9e463965bdf0235afa17f0151d0c6986c1c1388 Author: Jonas 'Sortie' Termansen Date: Mon Oct 21 20:11:09 2013 +0200 Split libc/stdlib/on_exit.cpp into multiple files. libc/Makefile | 1 + libc/include/stdlib.h | 10 ++++++++++ libc/stdlib/atexit.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/stdlib/exit.cpp | 8 ++++++-- libc/stdlib/on_exit.cpp | 40 ++++++++-------------------------------- 5 files changed, 60 insertions(+), 34 deletions(-) commit 8018a85a30efa81d41471ef429fedbcbe6d0bdb2 Author: Jonas 'Sortie' Termansen Date: Mon Oct 21 19:46:13 2013 +0200 Fix wrong base parsing in strtol(3). libc/stdlib/strtol.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit db185ece7deb105ad7c0e674eca148031967cd0b Author: Jonas 'Sortie' Termansen Date: Mon Oct 21 18:16:08 2013 +0200 Add header. libc/include/ar.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) commit e31b98c5a18b3551f498b508b05148c6b7140dd7 Author: Jonas 'Sortie' Termansen Date: Mon Oct 21 17:59:44 2013 +0200 Improve standards conformance of asctime_r(3). libc/time/asctime_r.cpp | 50 +++++++++++++------------------------------------ 1 file changed, 13 insertions(+), 37 deletions(-) commit 011ea58176626f17d27df97fec375145c9de083d Author: Jonas 'Sortie' Termansen Date: Mon Oct 21 02:00:34 2013 +0200 Rewrite vprintf_callback(3). libc/Makefile | 2 +- libc/stdio/format.cpp | 527 ---------------------------------------- libc/stdio/vprintf_callback.cpp | 408 +++++++++++++++++++++++++++++++ 3 files changed, 409 insertions(+), 528 deletions(-) commit 26add4c1119947113ff94a8603863ab72eb0aad0 Author: Jonas 'Sortie' Termansen Date: Sat Oct 19 19:12:09 2013 +0200 Update sortix/kernel.cpp to current coding conventions. sortix/kernel.cpp | 102 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 49 deletions(-) commit 9d48de4035f2be04fe31867b7868862af3420f13 Author: Jonas 'Sortie' Termansen Date: Sat Oct 19 23:51:44 2013 +0200 Remove . sortix/include/sortix/kernel/endian.h | 120 ---------------------------------- 1 file changed, 120 deletions(-) commit d0c7ca3c02eed577cfafe25c1f12bf9abd09dde7 Author: Jonas 'Sortie' Termansen Date: Sat Oct 19 23:50:25 2013 +0200 Port sortix/pci.h from to . sortix/pci.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) commit 984397565f6b1130074b1d6f12ba9a571874a012 Author: Jonas 'Sortie' Termansen Date: Fri Oct 18 22:28:04 2013 +0200 Link crtbegin.o and crtend.o into the kernel. sortix/Makefile | 14 ++++++++++++-- sortix/kernel.cpp | 2 ++ sortix/x64/crti.s | 39 +++++++++++++++++++++++++++++++++++++++ sortix/x64/crtn.s | 33 +++++++++++++++++++++++++++++++++ sortix/x86/crti.s | 39 +++++++++++++++++++++++++++++++++++++++ sortix/x86/crtn.s | 33 +++++++++++++++++++++++++++++++++ 6 files changed, 158 insertions(+), 2 deletions(-) commit 30a95dfa1e03fcc33f28ec49edb5589e5549dc77 Author: Jonas 'Sortie' Termansen Date: Sun Oct 13 13:04:02 2013 +0200 Split parts of into . libc/include/FILE.h | 2 +- libc/include/__/byteswap.h | 2 +- libc/include/__/endian.h | 2 +- libc/include/__/stdint.h | 2 +- libc/include/alloca.h | 2 +- libc/include/arpa/inet.h | 2 +- libc/include/assert.h | 2 +- libc/include/byteswap.h | 2 +- libc/include/calltrace.h | 2 +- libc/include/ctype.h | 2 +- libc/include/dirent.h | 2 +- libc/include/dlfcn.h | 2 +- libc/include/endian.h | 2 +- libc/include/errno.h | 2 +- libc/include/error.h | 2 +- libc/include/fcntl.h | 2 +- libc/include/features.h | 40 ++--------------------- libc/include/getopt.h | 2 +- libc/include/grp.h | 2 +- libc/include/inttypes.h | 2 +- libc/include/ioleast.h | 2 +- libc/include/libgen.h | 2 +- libc/include/locale.h | 2 +- libc/include/malloc.h | 2 +- libc/include/netdb.h | 2 +- libc/include/netinet/in.h | 2 +- libc/include/poll.h | 2 +- libc/include/pwd.h | 2 +- libc/include/setjmp.h | 2 +- libc/include/signal.h | 2 +- libc/include/stdint.h | 2 +- libc/include/stdio.h | 2 +- libc/include/stdio_ext.h | 2 +- libc/include/stdlib.h | 2 +- libc/include/string.h | 2 +- libc/include/sys/__/types.h | 2 +- libc/include/sys/cdefs.h | 66 ++++++++++++++++++++++++++++++++++++++ libc/include/sys/display.h | 2 +- libc/include/sys/ioctl.h | 2 +- libc/include/sys/kernelinfo.h | 2 +- libc/include/sys/keycodes.h | 2 +- libc/include/sys/mman.h | 2 +- libc/include/sys/readdirents.h | 2 +- libc/include/sys/resource.h | 2 +- libc/include/sys/select.h | 2 +- libc/include/sys/socket.h | 2 +- libc/include/sys/stat.h | 2 +- libc/include/sys/syscall.h | 2 +- libc/include/sys/termmode.h | 2 +- libc/include/sys/time.h | 2 +- libc/include/sys/times.h | 2 +- libc/include/sys/types.h | 2 +- libc/include/sys/uio.h | 2 +- libc/include/sys/un.h | 2 +- libc/include/sys/wait.h | 2 +- libc/include/termios.h | 2 +- libc/include/time.h | 2 +- libc/include/timespec.h | 2 +- libc/include/unistd.h | 2 +- libc/include/utime.h | 2 +- libc/include/wchar.h | 2 +- libc/include/wctype.h | 2 +- libc/stdio/fdio.h | 2 +- libm/include/__/math.h | 2 +- libm/include/complex.h | 2 +- libm/include/fenv.h | 2 +- libm/include/ieee754.h | 2 +- libm/include/ieeefp.h | 2 +- libm/include/math.h | 2 +- libm/include/tgmath.h | 2 +- libm/src/sys/cdefs.h | 2 -- sortix/include/sortix/__/types.h | 2 +- sortix/include/sortix/clock.h | 2 +- sortix/include/sortix/dirent.h | 2 +- sortix/include/sortix/display.h | 2 +- sortix/include/sortix/fcntl.h | 2 +- sortix/include/sortix/fork.h | 2 +- sortix/include/sortix/initrd.h | 2 +- sortix/include/sortix/itimerspec.h | 2 +- sortix/include/sortix/mount.h | 2 +- sortix/include/sortix/poll.h | 2 +- sortix/include/sortix/resource.h | 2 +- sortix/include/sortix/seek.h | 2 +- sortix/include/sortix/sigevent.h | 2 +- sortix/include/sortix/signal.h | 2 +- sortix/include/sortix/sigset.h | 2 +- sortix/include/sortix/socket.h | 2 +- sortix/include/sortix/stat.h | 2 +- sortix/include/sortix/termios.h | 2 +- sortix/include/sortix/time.h | 2 +- sortix/include/sortix/timespec.h | 2 +- sortix/include/sortix/tmns.h | 2 +- sortix/include/sortix/uio.h | 2 +- sortix/include/sortix/unistd.h | 2 +- sortix/include/sortix/vga.h | 2 +- sortix/include/sortix/wait.h | 2 +- sortix/include/sortix/x64/fork.h | 2 +- sortix/include/sortix/x86/fork.h | 2 +- 98 files changed, 163 insertions(+), 135 deletions(-) commit 6f5989614e817ef71d6a359c3e7f676724e1a3b5 Author: Jonas 'Sortie' Termansen Date: Thu Sep 19 20:14:14 2013 +0200 Add SIGPROF. sortix/include/sortix/signal.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8961a992802495df764da33f4a7f45e4783fa594 Author: Jonas 'Sortie' Termansen Date: Wed Sep 18 19:51:03 2013 +0200 Add AF_LOCAL and PF_LOCAL. libc/include/sys/socket.h | 3 +++ 1 file changed, 3 insertions(+) commit 3166413eefa859bf0a71d41ca5aaced8c2486cd4 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 23:07:29 2013 +0100 Properly implement memmove(3). libc/string/memmove.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) commit 2f261b38487b5e7e0112af60739de2d49e1ace48 Author: Jonas 'Sortie' Termansen Date: Sat Oct 19 21:11:47 2013 +0200 Port column(1) to GNU and POSIX systems. utils/column.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 0738e9bf3c9b055a3055205e337a821152579a89 Author: Jonas 'Sortie' Termansen Date: Thu Oct 17 20:55:29 2013 +0200 Add du(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/du.cpp | 487 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 489 insertions(+) commit 51d965d6ebb2a25c6ceaa071ec8221898bdf9790 Author: Jonas 'Sortie' Termansen Date: Wed Oct 16 22:57:29 2013 +0200 Add wc(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/wc.cpp | 311 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 313 insertions(+) commit 3e5a6644c8cbbfa43be070b34c770b0fb620523d Author: Jonas 'Sortie' Termansen Date: Wed Oct 16 20:17:20 2013 +0200 Improve implementation of pwd(1). utils/pwd.cpp | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 117 insertions(+), 6 deletions(-) commit a7b03af9ccbfef06b837f2601a376a65f66d5da5 Author: Jonas 'Sortie' Termansen Date: Wed Oct 16 18:42:13 2013 +0200 Improve implementation of cat(1). utils/cat.cpp | 176 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 119 insertions(+), 57 deletions(-) commit ad9a90926d109b828a8c337c247213db7e4fb26b Author: Jonas 'Sortie' Termansen Date: Thu Oct 17 13:05:04 2013 +0200 Add O_NOFOLLOW. sortix/descriptor.cpp | 2 +- sortix/include/sortix/fcntl.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 97621d4661264e654f605753cd54e9ae39c083ac Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 11:02:42 2013 +0200 Use getlogin(3) in the shell instead of the USERNAME variable. utils/mxsh.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit ca2de62ea73a38363ea61ce8ef3ed78952c0c2af Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 11:02:04 2013 +0200 Use the API in getlogin_r(3). libc/unistd/getlogin_r.cpp | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) commit dd5a59e5f6f578ed57833b642273f4876dfec1b9 Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 00:54:02 2013 +0200 Expand variables before running shell builtins. utils/mxsh.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) commit 3785beb7f5596125e55610f587b534837fc3e73b Author: Jonas 'Sortie' Termansen Date: Tue Oct 1 22:23:25 2013 +0200 Implement the API properly. Makefile | 1 + libc/Makefile | 12 +- libc/grp/endgrent.cpp | 34 ++++++ libc/grp/fgetgrent.cpp | 57 ++++++++++ libc/grp/fgetgrent_r.cpp | 211 +++++++++++++++++++++++++++++++++++ libc/grp/getgrent.cpp | 35 ++++++ libc/grp/getgrent_r.cpp | 39 +++++++ libc/grp/{grent.cpp => getgrgid.cpp} | 67 +++++------ libc/grp/getgrgid_r.cpp | 54 +++++++++ libc/grp/getgrnam.cpp | 58 ++++++++++ libc/grp/getgrnam_r.cpp | 55 +++++++++ libc/grp/opengr.cpp | 31 +++++ libc/grp/setgrent.cpp | 34 ++++++ libc/include/grp.h | 27 ++++- 14 files changed, 670 insertions(+), 45 deletions(-) commit a7e1207e0fd8977e82e4f38e7942b55c570f4495 Author: Jonas 'Sortie' Termansen Date: Tue Oct 1 20:21:25 2013 +0200 Implement the API properly. Makefile | 1 + libc/Makefile | 12 +++- libc/include/pwd.h | 30 ++++++--- libc/pwd/endpwent.cpp | 34 +++++++++++ libc/pwd/fgetpwent.cpp | 57 +++++++++++++++++ libc/pwd/fgetpwent_r.cpp | 156 +++++++++++++++++++++++++++++++++++++++++++++++ libc/pwd/getpwent.cpp | 35 +++++++++++ libc/pwd/getpwent_r.cpp | 39 ++++++++++++ libc/pwd/getpwnam.cpp | 58 ++++++++++++++++++ libc/pwd/getpwnam_r.cpp | 55 +++++++++++++++++ libc/pwd/getpwuid.cpp | 58 ++++++++++++++++++ libc/pwd/getpwuid_r.cpp | 54 ++++++++++++++++ libc/pwd/openpw.cpp | 31 ++++++++++ libc/pwd/pwent.cpp | 117 ----------------------------------- libc/pwd/setpwent.cpp | 34 +++++++++++ 15 files changed, 644 insertions(+), 127 deletions(-) commit 69f2a3ef910e47dd277f084036ab989c6bb21f9b Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 23:55:14 2013 +0200 Add ENOGROUP. libc/include/errno.h | 1 + libc/string/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit dd269e9d5134c74a0c1b6be88c8cbaf290e9389a Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 23:53:48 2013 +0200 Add ENOUSER. libc/include/errno.h | 1 + libc/string/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 396765eabaef124ad068fef4fedf3b2d60c073b6 Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 19:14:11 2013 +0200 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. libc/Makefile | 1 - libc/include/unistd.h | 1 - libc/unistd/getdtablesize.cpp | 33 --------------------------------- libc/unistd/sysconf.cpp | 1 + 4 files changed, 1 insertion(+), 35 deletions(-) commit bae68066eb792abce0d65f20b6f3162ad77eee0d Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 23:58:37 2013 +0200 Add struct iovec to sys/socket.h. libc/include/sys/socket.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 5933ac5210ebd86d3bffcf1a11e897cbf514560e Author: Jonas 'Sortie' Termansen Date: Fri Sep 27 14:44:27 2013 +0200 Rename O_CREAT to O_CREATE. libc/include/fcntl.h | 3 +++ sortix/descriptor.cpp | 6 +++--- sortix/fs/kram.cpp | 2 +- sortix/fs/user.cpp | 2 +- sortix/include/sortix/fcntl.h | 2 +- sortix/initrd.cpp | 2 +- 6 files changed, 10 insertions(+), 7 deletions(-) commit e901ad81050519a7c1218e896a1ec62bbad37262 Author: Jonas 'Sortie' Termansen Date: Tue Oct 1 15:33:28 2013 +0200 Move the declaration of the FILE structure into its own header. libc/decl/FILE.h | 41 +--------------------------- libc/include/FILE.h | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++ libc/include/stdio.h | 7 +++++ libc/include/wchar.h | 4 +++ 4 files changed, 89 insertions(+), 40 deletions(-) commit a212ec0ee3c0038ce8feab960e84529a8b834a9f Author: Jonas 'Sortie' Termansen Date: Wed Sep 25 23:40:02 2013 +0200 Split libc/unistd/ioleast.cpp into multiple files. libc/Makefile | 9 ++- libc/include/ioleast.h | 51 ++++++++++++ libc/include/unistd.h | 7 +- libc/ioleast/preadall.cpp | 30 ++++++++ libc/ioleast/preadleast.cpp | 47 +++++++++++ libc/ioleast/pwriteall.cpp | 30 ++++++++ libc/ioleast/pwriteleast.cpp | 47 +++++++++++ libc/ioleast/readall.cpp | 30 ++++++++ libc/ioleast/readleast.cpp | 45 +++++++++++ libc/ioleast/writeall.cpp | 30 ++++++++ libc/ioleast/writeleast.cpp | 45 +++++++++++ mkinitrd/Makefile | 7 +- mkinitrd/initrdfs.cpp | 14 +--- libc/unistd/ioleast.cpp => mkinitrd/ioleast.h | 107 ++++++++++++++++---------- mkinitrd/mkinitrd.cpp | 14 +--- 15 files changed, 437 insertions(+), 76 deletions(-) commit defa74d7ecce8dfba00b5dd111f974980b8f6bb5 Author: Jonas 'Sortie' Termansen Date: Tue Sep 24 13:34:40 2013 +0200 Add F_DUPFD, F_DUPFD_CLOEXEC, F_DUPFD_CLOFORK. sortix/include/sortix/fcntl.h | 6 ++++++ sortix/io.cpp | 5 +++++ 2 files changed, 11 insertions(+) commit 42f00f5d794193c2cfd694aaeb1fd22c3a6c6ac4 Author: Jonas 'Sortie' Termansen Date: Tue Sep 24 13:13:53 2013 +0200 Refactor file descriptor allocation. sortix/dtable.cpp | 25 +++++++++++++++++++++---- sortix/include/sortix/kernel/dtable.h | 4 +++- 2 files changed, 24 insertions(+), 5 deletions(-) commit 8c0e0235d6bb8756a42d13d11a28cef2d2169f42 Author: Jonas 'Sortie' Termansen Date: Tue Sep 24 12:39:23 2013 +0200 Refactor fcntl(2) ABI. This is an incompatible ABI change. libc/fcntl/fcntl.cpp | 14 ++++++++++++-- sortix/include/sortix/fcntl.h | 41 +++++++++++++++++++++++++++++++++++++---- sortix/io.cpp | 43 +++++++++++++++++++------------------------ 3 files changed, 68 insertions(+), 30 deletions(-) commit 4e520c8c36e84af20391c82fbc11810497e10296 Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 22:10:04 2013 +0200 Remove sortix_gets(3). libc/include/stdio.h | 7 ------- libc/stdio/stdio.cpp | 11 ----------- 2 files changed, 18 deletions(-) commit 1f2902ecfd872e0157c7c89e5fd6c0f8ebc357ac Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 21:58:21 2013 +0200 Make system call functions static. sortix/alarm.cpp | 1 + sortix/process.cpp | 15 ++++++++------- sortix/scheduler.cpp | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) commit eac602c9a1599f408af3097ffcd6c69e0f5a4ed6 Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 21:20:45 2013 +0200 Remove print_string(2). This wasn't being used by anyone and was a security risk. sortix/log.cpp | 8 -------- 1 file changed, 8 deletions(-) commit ebef48ed61cf8ccf5eb9e1cca876a866dcaf9ebb Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 21:19:35 2013 +0200 Update kernel log to current coding conventions. sortix/include/sortix/kernel/log.h | 134 +++++++++++++++++++------------------ sortix/log.cpp | 68 +++++++++---------- 2 files changed, 104 insertions(+), 98 deletions(-) commit 9bb2ea78acc922552efbadb4f7075bd9fb298556 Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 21:04:55 2013 +0200 Remove obsolete PC-Speaker sound driver. sortix/Makefile | 1 - sortix/interrupt.cpp | 4 --- sortix/kernel.cpp | 4 --- sortix/sound.cpp | 75 ---------------------------------------------------- sortix/sound.h | 38 -------------------------- sortix/time.cpp | 2 -- 6 files changed, 124 deletions(-) commit 8975c75c61dfc89048eb471e0de02e4b5421e9ab Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 20:57:27 2013 +0200 Update sortix/kernelinfo.cpp to current coding conventions. sortix/kernelinfo.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) commit b399ece14b51b598a90d6900fd7ca2f9da154cea Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 20:41:06 2013 +0200 Add dup3(2). libc/Makefile | 1 + libc/include/unistd.h | 1 + libc/unistd/dup3.cpp | 34 ++++++++++++++++++++++++++++++++++ sortix/dtable.cpp | 8 ++++++-- sortix/include/sortix/kernel/dtable.h | 2 +- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 20 ++++++++++++++++++-- 7 files changed, 63 insertions(+), 6 deletions(-) commit 97006237375b4a7677da5722c280c48242120baa Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 16:56:57 2013 +0200 Remove obsolete __SORTIX_SHOW_UNIMPLEMENTED feature macro. libc/include/features.h | 3 --- libc/include/stdio.h | 2 +- libc/include/stdlib.h | 2 +- libc/include/sys/wait.h | 2 +- libc/include/unistd.h | 2 +- libc/include/wchar.h | 2 +- libc/include/wctype.h | 2 +- 7 files changed, 6 insertions(+), 9 deletions(-) commit 69eb2f0e5fc2f1eb7cd811d64923cd2ec326544e Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 16:42:50 2013 +0200 Update to current coding conventions. libc/decl/errno_decl.h | 14 -------- libc/decl/errno_values.h | 80 ----------------------------------------- libc/include/errno.h | 93 +++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 88 insertions(+), 99 deletions(-) commit ad1c6e0ed7387731e66a0d9c01b8d96b71f1ad73 Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 16:37:08 2013 +0200 Remove inclusion from . libc/include/__/endian.h | 1 + libc/include/__/stdint.h | 2 +- libc/include/alloca.h | 2 ++ libc/include/byteswap.h | 1 + libc/include/dirent.h | 2 ++ libc/include/fcntl.h | 3 +++ libc/include/features.h | 6 ------ libc/include/grp.h | 2 ++ libc/include/inttypes.h | 3 +++ libc/include/locale.h | 2 ++ libc/include/netdb.h | 3 +++ libc/include/netinet/in.h | 5 ++++- libc/include/poll.h | 2 ++ libc/include/pwd.h | 2 ++ libc/include/signal.h | 3 +++ libc/include/stdint.h | 1 + libc/include/stdio.h | 3 +++ libc/include/stdio_ext.h | 1 + libc/include/stdlib.h | 3 +++ libc/include/string.h | 3 +++ libc/include/sys/__/types.h | 1 + libc/include/sys/display.h | 1 + libc/include/sys/kernelinfo.h | 2 ++ libc/include/sys/keycodes.h | 1 + libc/include/sys/mman.h | 3 +++ libc/include/sys/readdirents.h | 3 +++ libc/include/sys/resource.h | 3 +++ libc/include/sys/select.h | 3 +++ libc/include/sys/socket.h | 3 +++ libc/include/sys/stat.h | 2 ++ libc/include/sys/syscall.h | 1 + libc/include/sys/termmode.h | 1 + libc/include/sys/time.h | 2 ++ libc/include/sys/times.h | 2 ++ libc/include/sys/types.h | 1 + libc/include/sys/uio.h | 2 ++ libc/include/sys/un.h | 2 ++ libc/include/sys/wait.h | 3 +++ libc/include/termios.h | 1 + libc/include/time.h | 2 ++ libc/include/timespec.h | 3 +++ libc/include/unistd.h | 3 +++ libc/include/utime.h | 2 ++ libc/include/wchar.h | 2 ++ libc/include/wctype.h | 2 ++ sortix/include/sortix/__/types.h | 1 + sortix/include/sortix/display.h | 1 + sortix/include/sortix/fork.h | 1 + sortix/include/sortix/resource.h | 1 + sortix/include/sortix/stat.h | 1 + sortix/include/sortix/tmns.h | 1 + 51 files changed, 99 insertions(+), 8 deletions(-) commit 5b6d49b0604cb1cc0757c0df59cc026ab03658cd Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 00:47:01 2013 +0200 Remove useless extern keyword from libc header function prototypes. libc/include/stdio.h | 148 +++++++++++++++++++++++------------------------ libc/include/stdio_ext.h | 20 +++---- 2 files changed, 84 insertions(+), 84 deletions(-) commit f79508fbc944e859a05d5c754e39f4f1d2c6c2b1 Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 00:43:17 2013 +0200 Remove __POSIX_OBSOLETE feature macro. libc/include/features.h | 9 --------- libc/include/stdio.h | 13 +------------ libc/include/stdlib.h | 6 +----- libc/include/unistd.h | 4 ---- libc/include/wchar.h | 22 ---------------------- 5 files changed, 2 insertions(+), 52 deletions(-) commit 52f67b436d5416ebd76f54269d32bce154b24680 Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 00:22:29 2013 +0200 Provide the full in all system components. libc/include/features.h | 8 ++++++++ libc/include/stdint.h | 6 ++---- 2 files changed, 10 insertions(+), 4 deletions(-) commit 8044afc7e84c35dff4eb09ae6934f9361ba2936b Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 00:19:20 2013 +0200 Provide the restrict keyword in all system components. libc/include/features.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit bea3ed6f50776e19fd997bbb5923f592a3e3711f Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 00:05:13 2013 +0200 Detect internal system component build macros in . libc/include/features.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) commit 798554f21cafb92f70b8b5f956476442389f73a0 Author: Jonas 'Sortie' Termansen Date: Sun Sep 22 23:58:27 2013 +0200 Update to current coding conventions. libc/include/features.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit ad84bc75c8621e023ad20fdccaff1256951f9bdd Author: Jonas 'Sortie' Termansen Date: Sun Sep 22 23:55:14 2013 +0200 Change kernel internal build macro to __is_sortix_kernel. libc/Makefile | 2 +- libc/assert/_assert.cpp | 6 +++--- libc/errno/errno.cpp | 4 ++-- libc/include/features.h | 2 +- libc/include/stdint.h | 4 ++-- libc/include/sys/syscall.h | 2 +- libc/include/sys/types.h | 2 +- libc/stdio/fsetdefaultbuf.cpp | 2 +- libc/stdlib/abort.cpp | 2 +- libc/stdlib/heap.cpp | 18 +++++++++--------- sortix/Makefile | 2 +- sortix/include/sortix/__/types.h | 4 ++-- sortix/include/sortix/resource.h | 2 +- 13 files changed, 26 insertions(+), 26 deletions(-) commit 752bdab798295576f3c91c387f50dfeb5e0c8df2 Author: Jonas 'Sortie' Termansen Date: Sun Sep 22 23:45:47 2013 +0200 Add libm internal build macro __is_sortix_libm. libm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3a30ba57eff2a3f40f16ba5b85719f78f620ed32 Author: Jonas 'Sortie' Termansen Date: Sun Sep 22 23:42:51 2013 +0200 Change libc internal build macro to __is_sortix_libc. libc/Makefile | 2 +- libc/include/features.h | 4 ++-- libc/include/stdint.h | 4 ++-- libc/include/stdio.h | 2 +- sortix/include/sortix/__/types.h | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) commit 61d75f39f709c6e078f112cfe2cb745496786da3 Author: Jonas 'Sortie' Termansen Date: Sun Sep 22 19:19:50 2013 +0200 Add __sortix_libm__ feature macro. libm/include/complex.h | 4 ++++ libm/include/fenv.h | 5 +++++ libm/include/ieee754.h | 5 +++++ libm/include/ieeefp.h | 4 ++++ libm/include/math.h | 4 ++++ libm/include/tgmath.h | 6 ++++++ 6 files changed, 28 insertions(+) commit c24b162ef3b81bda484d336fb7330e37a93cd651 Author: Jonas 'Sortie' Termansen Date: Sun Sep 22 19:19:37 2013 +0200 Add __sortix_libc__ feature macro. libc/include/features.h | 2 ++ 1 file changed, 2 insertions(+) commit fd4b35f986f47ccd0c87885cd58689aad37cb4d4 Author: Jonas 'Sortie' Termansen Date: Wed Sep 18 20:07:05 2013 +0200 Add mkstemp(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/stdlib/mkstemp.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) commit f105c8f3be85559157f07a86babcebef9484b61d Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 15:45:43 2013 +0200 Add wmemset(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wmemset.cpp | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) commit 9039553c15c70fc7f648abf9419738cfa462aaa9 Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 15:37:02 2013 +0200 Add wmemmove(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wmemmove.cpp | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) commit 329881f38d72bafdfcd7c878a060c67e6fea7de7 Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 15:12:05 2013 +0200 Add wmemcpy(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wmemcpy.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit 3c3bb324312b8ecb3689a70270a4f8485379ce2c Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 15:05:27 2013 +0200 Add wmemchr(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wmemchr.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit f32e1c795100e7a435a2eac43e249935f47dd771 Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 14:40:51 2013 +0200 Add wcsstr(3). libc/Makefile | 1 + libc/include/wchar.h | 3 +-- libc/wchar/wcsstr.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) commit 2e46a6ce8cf3aa1da8c02c802313e773b34aee1e Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 00:20:05 2013 +0200 Add wcspbrk(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcspbrk.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit b944052a2ee94097ce0010b35d9fa69af4d24b92 Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 00:13:41 2013 +0200 Add wcsxfrm(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcsxfrm.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit 2db8bc088d38afe7464eea10a3d2f4a8cef54c73 Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 00:06:02 2013 +0200 Add wcsncmp(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcsncmp.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) commit adb3bf543fb40253bd08c6e51f9479c8587afc64 Author: Jonas 'Sortie' Termansen Date: Mon Sep 16 00:00:54 2013 +0200 Add wmemcmp(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wmemcmp.cpp | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) commit efc0eb28290e63f9aa0fd5ac7ea60bc3890d3dda Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 01:17:18 2013 +0200 Add getrusage(3). libc/Makefile | 1 + libc/include/sys/resource.h | 13 +++++++++ libc/sys/resource/getrusage.cpp | 58 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) commit 7a5e549612412f81d14d4424269121ae4b68d975 Author: Jonas 'Sortie' Termansen Date: Sat Aug 31 00:11:38 2013 +0200 Add getrlimit(3) and setrlimit(3). libc/Makefile | 2 ++ libc/include/sys/resource.h | 2 ++ libc/sys/resource/getrlimit.cpp | 33 +++++++++++++++++++++++++++++++++ libc/sys/resource/setrlimit.cpp | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+) commit 13f09cc5150bda7b8d9aa2aaa0a0756a4bb091eb Author: Jonas 'Sortie' Termansen Date: Fri Aug 30 23:54:44 2013 +0200 Add prlimit(2). libc/Makefile | 1 + libc/include/sys/resource.h | 2 ++ libc/sys/resource/prlimit.cpp | 41 ++++++++++++++++++++++++++++++++++ sortix/include/sortix/kernel/process.h | 5 +++++ sortix/include/sortix/resource.h | 26 +++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/process.cpp | 12 ++++++++++ sortix/resource.cpp | 36 +++++++++++++++++++++++++++++ 8 files changed, 125 insertions(+), 1 deletion(-) commit a6f38947f200e4e150512392bca0004f8ac7d6ff Author: Jonas 'Sortie' Termansen Date: Fri Aug 30 17:35:05 2013 +0200 Add getpriority(2) and setpriority(2). libc/Makefile | 2 + libc/include/sys/resource.h | 40 +++++++++ libc/sys/resource/getpriority.cpp | 33 +++++++ libc/sys/resource/setpriority.cpp | 33 +++++++ sortix/Makefile | 1 + sortix/include/sortix/kernel/process.h | 4 + sortix/include/sortix/resource.h | 38 ++++++++ sortix/include/sortix/syscallnum.h | 4 +- sortix/kernel.cpp | 4 + sortix/process.cpp | 6 ++ sortix/resource.cpp | 158 +++++++++++++++++++++++++++++++++ sortix/resource.h | 36 ++++++++ 12 files changed, 358 insertions(+), 1 deletion(-) commit 1469c89b8773e8914cc8b7588e5bf9ecfdd2c358 Author: Jonas 'Sortie' Termansen Date: Fri Aug 30 17:31:14 2013 +0200 Add id_t to . libc/include/sys/types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 04019cab9e68e94616af7407f8a1993358c20b15 Author: Jonas 'Sortie' Termansen Date: Mon Aug 19 21:02:42 2013 +0200 Add mmap(2), mprotect(2) and munmap(2). libc/Makefile | 3 + libc/include/sys/mman.h | 14 ++- libc/sys/mman/mmap.cpp | 56 +++++++++++ libc/sys/mman/mprotect.cpp | 33 +++++++ libc/sys/mman/munmap.cpp | 33 +++++++ sortix/include/sortix/syscallnum.h | 5 +- sortix/memorymanagement.cpp | 191 +++++++++++++++++++++++++++++++++++++ 7 files changed, 331 insertions(+), 4 deletions(-) commit 8e867908ab676a9ddbddec8e5c28e151c36a12d2 Author: Jonas 'Sortie' Termansen Date: Thu Aug 22 16:07:43 2013 +0200 Refactor user-space stack creation. sortix/include/sortix/kernel/process.h | 2 -- sortix/include/sortix/kernel/thread.h | 2 -- sortix/kernel.cpp | 16 ---------------- sortix/process.cpp | 35 +++++++++++++++++++++------------- sortix/thread.cpp | 4 ---- 5 files changed, 22 insertions(+), 37 deletions(-) commit f441066d029db1aaa031bc1d70e3a24125024c64 Author: Jonas 'Sortie' Termansen Date: Thu Aug 22 18:00:25 2013 +0200 Add MapMemory, ProtectMemory and UnmapMemory utility functions. sortix/include/sortix/kernel/memorymanagement.h | 5 + sortix/memorymanagement.cpp | 206 +++++++++++++++++++++++- 2 files changed, 210 insertions(+), 1 deletion(-) commit b9560409a7452ecb40e890407d3132d89ba514a6 Author: Jonas 'Sortie' Termansen Date: Thu Aug 22 01:44:21 2013 +0200 Add virtual address space allocator for user-space. sortix/include/sortix/kernel/yielder.h | 70 ++++++++++++++++ sortix/include/sortix/mman.h | 5 ++ sortix/segment.cpp | 142 +++++++++++++++++++++++++++++++++ 3 files changed, 217 insertions(+) commit e875babf8e6e9b11fa57ae34bdda2128b1721d2d Author: Jonas 'Sortie' Termansen Date: Thu Aug 22 16:16:59 2013 +0200 Reduce kernel stack size to 8 KiB. sortix/thread.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d71179b540eed3d346376d5e6bad2c102a756eb7 Author: Jonas 'Sortie' Termansen Date: Tue Aug 20 02:23:28 2013 +0200 Refactor kernel segment bookkeeping. sortix/Makefile | 1 + sortix/elf.cpp | 113 +++++++++++---------- sortix/include/sortix/kernel/process.h | 30 +----- sortix/include/sortix/kernel/segment.h | 60 +++++++++++ sortix/include/sortix/mman.h | 1 + sortix/process.cpp | 175 ++++++++++++++------------------- sortix/segment.cpp | 108 ++++++++++++++++++++ 7 files changed, 307 insertions(+), 181 deletions(-) commit 68aba3d13733ba993f3161dd3d83ec3e2b0297df Author: Jonas 'Sortie' Termansen Date: Tue Aug 20 01:59:18 2013 +0200 Add Memory::GetUserVirtualArea function to the kernel. sortix/include/sortix/kernel/memorymanagement.h | 1 + sortix/x64/memorymanagement.cpp | 6 ++++++ sortix/x86/memorymanagement.cpp | 6 ++++++ 3 files changed, 13 insertions(+) commit 930be00966dd6ba5eb9977e2368cba12d7bb9132 Author: Jonas 'Sortie' Termansen Date: Mon Aug 19 17:30:24 2013 +0200 Don't write errors to stderr in dlopen(3) and dlsym(3). libc/dlfcn/dlfcn.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 30d35a98dde263030dc21d8df602cd5581573d2c Author: Jonas 'Sortie' Termansen Date: Sat Jul 27 16:28:33 2013 +0200 Add sigandset(3), sigisemptyset(3), signotset(3), and sigorset(3). libc/Makefile | 4 ++++ libc/include/signal.h | 4 ++++ libc/signal/sigandset.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/signal/sigisemptyset.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/signal/signotset.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/signal/sigorset.cpp | 34 ++++++++++++++++++++++++++++++++++ 6 files changed, 144 insertions(+) commit da94e0fb62b193e6b9dba575a8ffa12a859dbf36 Author: Jonas 'Sortie' Termansen Date: Sat Jul 27 12:56:15 2013 +0200 Update sortix/thread.cpp to current coding conventions. sortix/thread.cpp | 479 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 245 insertions(+), 234 deletions(-) commit d5a7901b253315198c9e1526a1f010ed977e9caa Author: Jonas 'Sortie' Termansen Date: Fri Jul 26 17:22:32 2013 +0200 Add getopt(3) and getopt_long(3). libc/Makefile | 2 + libc/getopt/getopt.cpp | 31 ++++++ libc/getopt/getopt_long.cpp | 255 ++++++++++++++++++++++++++++++++++++++++++++ libc/include/getopt.h | 59 ++++++++++ libc/include/unistd.h | 19 +++- 5 files changed, 362 insertions(+), 4 deletions(-) commit bb2a1b3e73a1b1cebe49f9a6aaaf8670ce6af673 Author: Jonas 'Sortie' Termansen Date: Sat Jul 20 14:09:41 2013 +0200 Add dprintf(3) and vdprintf(3). libc/Makefile | 2 ++ libc/include/stdio.h | 8 ++++---- libc/stdio/dprintf.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/stdio/vdprintf.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 4 deletions(-) commit 91eb5f3af9d40828f31c04a5034a2dd579a4705a Author: Jonas 'Sortie' Termansen Date: Sat Jul 20 13:47:17 2013 +0200 Split libc/stdio/sprint.cpp into multiple files. libc/Makefile | 5 +++- libc/stdio/snprintf.cpp | 36 ++++++++++++++++++++++++++ libc/stdio/sprintf.cpp | 35 ++++++++++++++++++++++++++ libc/stdio/{sprint.cpp => vsnprintf.cpp} | 43 ++++++++------------------------ libc/stdio/vsprintf.cpp | 33 ++++++++++++++++++++++++ 5 files changed, 119 insertions(+), 33 deletions(-) commit edce6b9c2bf5271e4de5193b23db2c0583f747c6 Author: Jonas 'Sortie' Termansen Date: Sat Jul 20 13:34:54 2013 +0200 Split libc/stdio/print.cpp into multiple files. libc/Makefile | 5 ++++- libc/stdio/fprintf.cpp | 35 +++++++++++++++++++++++++++++++ libc/stdio/printf.cpp | 35 +++++++++++++++++++++++++++++++ libc/stdio/{print.cpp => vfprintf.cpp} | 38 ++++++---------------------------- libc/stdio/vprintf.cpp | 31 +++++++++++++++++++++++++++ 5 files changed, 111 insertions(+), 33 deletions(-) commit 2f496940312c6058c506cab011271a919ae84ce7 Author: Jonas 'Sortie' Termansen Date: Sat Jul 20 13:20:49 2013 +0200 Add flockfile(3), ftrylockfile(3), and funlockfile(3). libc/Makefile | 3 +++ libc/include/stdio.h | 6 +++--- libc/stdio/flockfile.cpp | 30 ++++++++++++++++++++++++++++++ libc/stdio/ftrylockfile.cpp | 31 +++++++++++++++++++++++++++++++ libc/stdio/funlockfile.cpp | 30 ++++++++++++++++++++++++++++++ 5 files changed, 97 insertions(+), 3 deletions(-) commit 405173fc04ca7714c16536d131fc69649b9f63fd Author: Jonas 'Sortie' Termansen Date: Sat Jul 20 01:40:53 2013 +0200 Add strftime_l(3). libc/Makefile | 1 + libc/time/strftime_l.cpp | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) commit 070a319006f7b9dc1d4296a38a15d49228cf04d3 Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 23:26:46 2013 +0200 Split stdlib/abs.cpp into multiple files. libc/Makefile | 3 +++ libc/inttypes/imaxabs.cpp | 30 ++++++++++++++++++++++++++++++ libc/stdlib/abs.cpp | 15 ++++----------- libc/stdlib/labs.cpp | 30 ++++++++++++++++++++++++++++++ libc/stdlib/llabs.cpp | 30 ++++++++++++++++++++++++++++++ 5 files changed, 97 insertions(+), 11 deletions(-) commit 02013158e76a12bc2dfc998a511a0cfda51985da Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 23:06:44 2013 +0200 Add imaxdiv(3). libc/Makefile | 1 + libc/include/inttypes.h | 8 +++++++- libc/inttypes/imaxdiv.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) commit a9d8712435738b6eb372b7e7f4ee0efaf6c088b4 Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 22:49:00 2013 +0200 Add wcscoll(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wchar/wcscoll.cpp | 31 +++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) commit 8d674a43e12f034be4151ada7d72092cb68fcbfb Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 22:35:46 2013 +0200 Add wcsto{l,ll,ul,ull,imax,umax}(3). libc/Makefile | 6 ++++++ libc/include/inttypes.h | 4 ++-- libc/include/wchar.h | 12 ++++++------ libc/inttypes/strtoimax.cpp | 3 +++ libc/inttypes/strtoumax.cpp | 3 +++ libc/inttypes/wcstoimax.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/inttypes/wcstoumax.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/stdlib/strtol.cpp | 45 +++++++++++++++++++++++++++------------------ libc/stdlib/strtoll.cpp | 5 ++++- libc/stdlib/strtoul.cpp | 3 +++ libc/stdlib/strtoull.cpp | 3 +++ libc/wchar/wcstol.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/wchar/wcstoll.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/wchar/wcstoul.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/wchar/wcstoull.cpp | 35 +++++++++++++++++++++++++++++++++++ 15 files changed, 267 insertions(+), 27 deletions(-) commit cba75809fe77b891d84f4b985b2bff5851cf3953 Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 22:57:37 2013 +0200 Declare wchar_t in inttypes.h. libc/include/inttypes.h | 2 ++ 1 file changed, 2 insertions(+) commit 5a127a429c99356bbef133f264b0f946218dd6ef Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 19:57:56 2013 +0200 Add overflow support to strtol and clean up the code. libc/inttypes/strtoimax.cpp | 3 + libc/inttypes/strtoumax.cpp | 3 + libc/stdlib/strtol.cpp | 167 ++++++++++++++++++++++++++++++++++++++------ libc/stdlib/strtoll.cpp | 3 + libc/stdlib/strtoul.cpp | 3 + libc/stdlib/strtoull.cpp | 3 + 6 files changed, 160 insertions(+), 22 deletions(-) commit 1df749498ac02585e35d5085ae3b3ea53f9059d6 Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 00:24:12 2013 +0200 Refactor strtol functions. libc/Makefile | 7 ++- libc/inttypes/strtoimax.cpp | 29 ++++++++++++ libc/inttypes/strtoumax.cpp | 29 ++++++++++++ libc/sortix/inttypes/.gitignore | 0 libc/stdlib/integer.cpp | 101 --------------------------------------- libc/stdlib/strtol.cpp | 102 ++++++++++++++++++++++++++++++++++++++++ libc/stdlib/strtoll.cpp | 29 ++++++++++++ libc/stdlib/strtoul.cpp | 29 ++++++++++++ libc/stdlib/strtoull.cpp | 29 ++++++++++++ 9 files changed, 253 insertions(+), 102 deletions(-) commit cdc5a9673eb225c707aff0dcc814aa26ee46d5d7 Author: Jonas 'Sortie' Termansen Date: Thu Jul 18 23:37:29 2013 +0200 Add strtoimax(3) and strtoumax(3). libc/include/inttypes.h | 4 ++-- libc/stdlib/integer.cpp | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) commit d79808f85fe30c873c5e87b4c50866f16713f33b Author: Jonas 'Sortie' Termansen Date: Fri Jul 19 16:04:07 2013 +0200 Split gnu_error(3) and perror(3). libc/Makefile | 3 ++- libc/error/{errorprint.cpp => gnu_error.cpp} | 15 +++++-------- libc/include/error.h | 8 +++---- libc/stdio/perror.cpp | 32 ++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 15 deletions(-) commit 0c43765bbfd565be647254ebf20052ea725e8229 Author: Jonas 'Sortie' Termansen Date: Fri Jul 12 19:13:30 2013 +0200 Add strdupa(3) and strndupa(3). libc/include/string.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit fdbcea19dce1dde43a91de65d0a000fb73667ac2 Author: Jonas 'Sortie' Termansen Date: Fri Jul 12 14:23:01 2013 +0200 Add ffs(3), ffsl(3), and ffsll(3). libc/Makefile | 3 +++ libc/include/string.h | 3 +++ libc/string/ffs.cpp | 30 ++++++++++++++++++++++++++++++ libc/string/ffsl.cpp | 30 ++++++++++++++++++++++++++++++ libc/string/ffsll.cpp | 30 ++++++++++++++++++++++++++++++ 5 files changed, 96 insertions(+) commit 6ea9a0d5094f90e8ec743f4a963ec7649cb444a7 Author: Jonas 'Sortie' Termansen Date: Fri Jul 12 14:15:06 2013 +0200 Merge strings.h into string.h. libc/include/string.h | 2 ++ libc/include/strings.h | 22 +++++++--------------- 2 files changed, 9 insertions(+), 15 deletions(-) commit bc20ef464cb08411d85e5ff83dfb2e40bb86b75b Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 23:29:27 2013 +0200 Split pread and pwrite into their own files. libc/Makefile | 2 ++ libc/unistd/pread.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/unistd/pwrite.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/unistd/read.cpp | 7 ------- libc/unistd/write.cpp | 7 ------- 5 files changed, 70 insertions(+), 14 deletions(-) commit 12d6f1fd73ab6f5b66bfcb4a61cd6e77de9be45b Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 23:22:28 2013 +0200 Add killpg(3). libc/Makefile | 1 + libc/signal/killpg.cpp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) commit f1888f9e8b3c14bc02b3f2c8c23d7b4e1b0c4dc9 Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 23:12:54 2013 +0200 Add strlcat(3). libc/Makefile | 1 + libc/include/string.h | 1 + libc/string/strlcat.cpp | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) commit a1655ca43b05236ac46ca461a374d7e23e306656 Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 22:33:29 2013 +0200 Add strerror_l(3) and strerror_r(3). libc/Makefile | 2 ++ libc/include/string.h | 10 ++++------ libc/string/strerror_l.cpp | 36 ++++++++++++++++++++++++++++++++++++ libc/string/strerror_r.cpp | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 6 deletions(-) commit 4ac3c313ae06c7dd5ac677a210fd634f27fea1d9 Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 22:21:56 2013 +0200 Add strlcpy(3). libc/Makefile | 1 + libc/include/string.h | 1 + libc/string/strlcpy.cpp | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) commit 2518e4fc40af6607ebcb0e28440a4c20933e6cea Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 20:28:46 2013 +0200 Add strxfrm_l(3). libc/Makefile | 1 + libc/include/string.h | 2 +- libc/string/strxfrm_l.cpp | 31 +++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) commit 5bda12c8fc576199efb112e939752f4580438b82 Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 20:25:21 2013 +0200 Add strcoll_l(3). libc/Makefile | 1 + libc/include/string.h | 2 +- libc/string/strcoll_l.cpp | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) commit e6a23c5365c4e0efff76167ca8cf70704cf10c3c Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 18:37:41 2013 +0200 Update libc/dirent/fddir-sortix to current coding conventions. libc/dirent/{fddir-sortix.c => fddir-sortix.cpp} | 39 +++++++++++++----------- 1 file changed, 21 insertions(+), 18 deletions(-) commit 290ee1a6a6a5f1f1b40cacc64232e158ee10fe70 Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 18:32:29 2013 +0200 Update libc/dirent/dir to current coding conventions. libc/dirent/{dir.c => dir.cpp} | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) commit 8707a0d309821f1a199aa0cdde84ea9955d5b688 Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 18:28:46 2013 +0200 Update libc/stdio/fdio to current coding conventions. libc/stdio/{fdio.c => fdio.cpp} | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) commit 2fa4df7576772161230a9f14c9e704c246cbcafc Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 18:22:33 2013 +0200 Update libc/stdio/stdio to current coding conventions. libc/stdio/{stdio.c => stdio.cpp} | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) commit 878dbd819fc1a640d83bc05dc0293c4fcc82f44e Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 18:19:16 2013 +0200 Update libc/ctype/ctype to current coding conventions. libc/ctype/{ctype.c => ctype.cpp} | 46 +++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 21 deletions(-) commit c12c429c3e892a24e4721661d4b5e1e7c220ddce Author: Jonas 'Sortie' Termansen Date: Wed Jan 16 16:49:06 2013 +0100 Use libm in asteroids. games/asteroids.cpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) commit 5980be9b3cb650566be860281372a8a624aae66e Author: Jonas 'Sortie' Termansen Date: Wed Jan 16 03:07:34 2013 +0100 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. Makefile | 4 +- libc/Makefile | 6 +- libc/fabs.cpp | 46 --- libc/include/math.h | 39 -- libm/.gitignore | 4 + libm/LEGAL | 224 +++++++++++ libm/Makefile | 416 +++++++++++++++++++ libm/README | 68 ++++ libm/arch/i387/abi.h | 81 ++++ libm/arch/i387/e_acos.S | 24 ++ libm/arch/i387/e_asin.S | 23 ++ libm/arch/i387/e_atan2.S | 18 + libm/arch/i387/e_atan2f.S | 18 + libm/arch/i387/e_exp.S | 108 +++++ libm/arch/i387/e_expf.S | 55 +++ libm/arch/i387/e_fmod.S | 23 ++ libm/arch/i387/e_log.S | 18 + libm/arch/i387/e_log10.S | 18 + libm/arch/i387/e_log10f.S | 18 + libm/arch/i387/e_log2.S | 18 + libm/arch/i387/e_log2f.S | 18 + libm/arch/i387/e_logf.S | 18 + libm/arch/i387/e_remainder.S | 22 + libm/arch/i387/e_remainderf.S | 22 + libm/arch/i387/e_scalb.S | 19 + libm/arch/i387/e_scalbf.S | 18 + libm/arch/i387/e_sqrt.S | 17 + libm/arch/i387/e_sqrtf.S | 17 + libm/arch/i387/fabs.S | 45 +++ libm/arch/i387/fenv.c | 522 ++++++++++++++++++++++++ libm/arch/i387/flt_rounds.S | 21 + libm/arch/i387/fpgetmask.S | 22 + libm/arch/i387/fpgetprec.S | 22 + libm/arch/i387/fpgetround.S | 23 ++ libm/arch/i387/fpgetsticky.S | 21 + libm/arch/i387/fpsetmask.S | 33 ++ libm/arch/i387/fpsetprec.S | 34 ++ libm/arch/i387/fpsetround.S | 33 ++ libm/arch/i387/fpsetsticky.S | 32 ++ libm/arch/i387/lrint.S | 23 ++ libm/arch/i387/machine/asm.h | 124 ++++++ libm/arch/i387/machine/fenv.h | 116 ++++++ libm/arch/i387/machine/npx.h | 197 +++++++++ libm/arch/i387/nanf.c | 15 + libm/arch/i387/s_atan.S | 18 + libm/arch/i387/s_atanf.S | 18 + libm/arch/i387/s_ceil.S | 45 +++ libm/arch/i387/s_ceilf.S | 43 ++ libm/arch/i387/s_copysign.S | 38 ++ libm/arch/i387/s_copysignf.S | 37 ++ libm/arch/i387/s_cos.S | 31 ++ libm/arch/i387/s_cosf.S | 18 + libm/arch/i387/s_finite.S | 26 ++ libm/arch/i387/s_finitef.S | 25 ++ libm/arch/i387/s_floor.S | 43 ++ libm/arch/i387/s_floorf.S | 43 ++ libm/arch/i387/s_ilogb.S | 32 ++ libm/arch/i387/s_ilogbf.S | 32 ++ libm/arch/i387/s_ilogbl.S | 24 ++ libm/arch/i387/s_log1p.S | 76 ++++ libm/arch/i387/s_log1pf.S | 76 ++++ libm/arch/i387/s_logb.S | 18 + libm/arch/i387/s_logbf.S | 18 + libm/arch/i387/s_logbl.S | 16 + libm/arch/i387/s_modf.S | 106 +++++ libm/arch/i387/s_rint.S | 17 + libm/arch/i387/s_rintf.S | 17 + libm/arch/i387/s_scalbn.S | 30 ++ libm/arch/i387/s_scalbnf.S | 30 ++ libm/arch/i387/s_scalbnl.S | 27 ++ libm/arch/i387/s_significand.S | 18 + libm/arch/i387/s_significandf.S | 18 + libm/arch/i387/s_sin.S | 31 ++ libm/arch/i387/s_sinf.S | 18 + libm/arch/i387/s_tan.S | 33 ++ libm/arch/i387/s_tanf.S | 19 + libm/arch/x86_64/abi.h | 1 + libm/arch/x86_64/e_acos.S | 1 + libm/arch/x86_64/e_asin.S | 1 + libm/arch/x86_64/e_atan2.S | 1 + libm/arch/x86_64/e_atan2f.S | 1 + libm/arch/x86_64/e_exp.S | 1 + libm/arch/x86_64/e_expf.S | 1 + libm/arch/x86_64/e_fmod.S | 1 + libm/arch/x86_64/e_log.S | 1 + libm/arch/x86_64/e_log10.S | 1 + libm/arch/x86_64/e_log10f.S | 1 + libm/arch/x86_64/e_log2.S | 1 + libm/arch/x86_64/e_log2f.S | 1 + libm/arch/x86_64/e_logf.S | 1 + libm/arch/x86_64/e_remainder.S | 1 + libm/arch/x86_64/e_remainderf.S | 1 + libm/arch/x86_64/e_scalb.S | 1 + libm/arch/x86_64/e_scalbf.S | 1 + libm/arch/x86_64/e_sqrt.S | 1 + libm/arch/x86_64/e_sqrtf.S | 1 + libm/arch/x86_64/fabs.S | 17 + libm/arch/x86_64/fenv.c | 531 +++++++++++++++++++++++++ libm/arch/x86_64/flt_rounds.S | 21 + libm/arch/x86_64/fpgetmask.S | 26 ++ libm/arch/x86_64/fpgetprec.S | 25 ++ libm/arch/x86_64/fpgetround.S | 24 ++ libm/arch/x86_64/fpgetsticky.S | 27 ++ libm/arch/x86_64/fpsetmask.S | 44 ++ libm/arch/x86_64/fpsetprec.S | 39 ++ libm/arch/x86_64/fpsetround.S | 42 ++ libm/arch/x86_64/fpsetsticky.S | 45 +++ libm/arch/x86_64/lrint.S | 1 + libm/arch/x86_64/machine/asm.h | 107 +++++ libm/arch/x86_64/machine/fenv.h | 112 ++++++ libm/arch/x86_64/machine/fpu.h | 47 +++ libm/arch/x86_64/nanf.c | 14 + libm/arch/x86_64/s_atan.S | 1 + libm/arch/x86_64/s_atanf.S | 1 + libm/arch/x86_64/s_ceil.S | 1 + libm/arch/x86_64/s_ceilf.S | 1 + libm/arch/x86_64/s_copysign.S | 1 + libm/arch/x86_64/s_copysignf.S | 1 + libm/arch/x86_64/s_cos.S | 1 + libm/arch/x86_64/s_cosf.S | 1 + libm/arch/x86_64/s_finite.S | 1 + libm/arch/x86_64/s_finitef.S | 1 + libm/arch/x86_64/s_floor.S | 1 + libm/arch/x86_64/s_floorf.S | 1 + libm/arch/x86_64/s_ilogb.S | 1 + libm/arch/x86_64/s_ilogbf.S | 1 + libm/arch/x86_64/s_ilogbl.S | 1 + libm/arch/x86_64/s_log1p.S | 1 + libm/arch/x86_64/s_log1pf.S | 1 + libm/arch/x86_64/s_logb.S | 1 + libm/arch/x86_64/s_logbf.S | 1 + libm/arch/x86_64/s_logbl.S | 1 + libm/arch/x86_64/s_modf.S | 1 + libm/arch/x86_64/s_rint.S | 1 + libm/arch/x86_64/s_rintf.S | 1 + libm/arch/x86_64/s_scalbn.S | 1 + libm/arch/x86_64/s_scalbnf.S | 1 + libm/arch/x86_64/s_scalbnl.S | 1 + libm/arch/x86_64/s_significand.S | 1 + libm/arch/x86_64/s_significandf.S | 1 + libm/arch/x86_64/s_sin.S | 1 + libm/arch/x86_64/s_sinf.S | 1 + libm/arch/x86_64/s_tan.S | 1 + libm/arch/x86_64/s_tanf.S | 1 + libm/complex/cabs.c | 17 + libm/complex/cabsf.c | 17 + libm/complex/cacos.c | 44 ++ libm/complex/cacosf.c | 44 ++ libm/complex/cacosh.c | 45 +++ libm/complex/cacoshf.c | 45 +++ libm/complex/carg.c | 17 + libm/complex/cargf.c | 17 + libm/complex/casin.c | 120 ++++++ libm/complex/casinf.c | 120 ++++++ libm/complex/casinh.c | 42 ++ libm/complex/casinhf.c | 42 ++ libm/complex/catan.c | 80 ++++ libm/complex/catanf.c | 80 ++++ libm/complex/catanh.c | 42 ++ libm/complex/catanhf.c | 42 ++ libm/complex/ccos.c | 46 +++ libm/complex/ccosf.c | 46 +++ libm/complex/ccosh.c | 46 +++ libm/complex/ccoshf.c | 46 +++ libm/complex/cephes_subr.c | 124 ++++++ libm/complex/cephes_subr.h | 5 + libm/complex/cephes_subrf.c | 123 ++++++ libm/complex/cephes_subrf.h | 5 + libm/complex/cexp.c | 47 +++ libm/complex/cexpf.c | 47 +++ libm/complex/cimag.c | 17 + libm/complex/cimagf.c | 17 + libm/complex/cimagl.c | 44 ++ libm/complex/clog.c | 47 +++ libm/complex/clogf.c | 47 +++ libm/complex/conj.c | 19 + libm/complex/conjf.c | 19 + libm/complex/conjl.c | 48 +++ libm/complex/cpow.c | 57 +++ libm/complex/cpowf.c | 57 +++ libm/complex/cproj.c | 64 +++ libm/complex/cprojf.c | 65 +++ libm/complex/cprojl.c | 64 +++ libm/complex/creal.c | 17 + libm/complex/crealf.c | 17 + libm/complex/creall.c | 44 ++ libm/complex/csin.c | 46 +++ libm/complex/csinf.c | 46 +++ libm/complex/csinh.c | 46 +++ libm/complex/csinhf.c | 46 +++ libm/complex/csqrt.c | 99 +++++ libm/complex/csqrtf.c | 99 +++++ libm/complex/ctan.c | 59 +++ libm/complex/ctanf.c | 59 +++ libm/complex/ctanh.c | 48 +++ libm/complex/ctanhf.c | 48 +++ libm/include/__/math.h | 66 +++ libm/include/complex.h | 118 ++++++ libm/include/fenv.h | 59 +++ libm/include/ieee754.h | 189 +++++++++ libm/include/ieeefp.h | 62 +++ libm/include/math.h | 489 +++++++++++++++++++++++ libm/include/tgmath.h | 192 +++++++++ libm/man/acos.3 | 83 ++++ libm/man/acosh.3 | 77 ++++ libm/man/asin.3 | 85 ++++ libm/man/asinh.3 | 75 ++++ libm/man/atan.3 | 77 ++++ libm/man/atan2.3 | 192 +++++++++ libm/man/atanh.3 | 77 ++++ libm/man/ceil.3 | 75 ++++ libm/man/copysign.3 | 90 +++++ libm/man/cos.3 | 77 ++++ libm/man/cosh.3 | 81 ++++ libm/man/erf.3 | 87 ++++ libm/man/exp.3 | 127 ++++++ libm/man/fabs.3 | 68 ++++ libm/man/fdim.3 | 89 +++++ libm/man/feclearexcept.3 | 139 +++++++ libm/man/feenableexcept.3 | 97 +++++ libm/man/fegetenv.3 | 114 ++++++ libm/man/fegetround.3 | 84 ++++ libm/man/fenv.3 | 283 +++++++++++++ libm/man/finite.3 | 82 ++++ libm/man/fmax.3 | 100 +++++ libm/man/fmod.3 | 79 ++++ libm/man/frexp.3 | 85 ++++ libm/man/hypot.3 | 124 ++++++ libm/man/ieee_test.3 | 98 +++++ libm/man/ilogb.3 | 111 ++++++ libm/man/isinff.3 | 76 ++++ libm/man/j0.3 | 153 +++++++ libm/man/ldexp.3 | 102 +++++ libm/man/lgamma.3 | 156 ++++++++ libm/man/log.3 | 170 ++++++++ libm/man/lrint.3 | 103 +++++ libm/man/math.3 | 582 +++++++++++++++++++++++++++ libm/man/modf.3 | 74 ++++ libm/man/nan.3 | 95 +++++ libm/man/nextafter.3 | 126 ++++++ libm/man/pow.3 | 80 ++++ libm/man/remainder.3 | 144 +++++++ libm/man/rint.3 | 63 +++ libm/man/round.3 | 75 ++++ libm/man/scalbn.3 | 108 +++++ libm/man/sin.3 | 73 ++++ libm/man/sinh.3 | 75 ++++ libm/man/sqrt.3 | 91 +++++ libm/man/tan.3 | 77 ++++ libm/man/tanh.3 | 97 +++++ libm/man/trunc.3 | 79 ++++ libm/src/b_exp.c | 133 +++++++ libm/src/b_log.c | 402 +++++++++++++++++++ libm/src/b_tgamma.c | 313 +++++++++++++++ libm/src/compat_frexp_ieee754.c | 83 ++++ libm/src/compat_ldexp_ieee754.c | 143 +++++++ libm/src/e_acos.c | 104 +++++ libm/src/e_acosf.c | 82 ++++ libm/src/e_acosh.c | 62 +++ libm/src/e_acoshf.c | 50 +++ libm/src/e_asin.c | 115 ++++++ libm/src/e_asinf.c | 87 ++++ libm/src/e_atan2.c | 123 ++++++ libm/src/e_atan2f.c | 98 +++++ libm/src/e_atanh.c | 63 +++ libm/src/e_atanhf.c | 47 +++ libm/src/e_cosh.c | 86 ++++ libm/src/e_coshf.c | 65 +++ libm/src/e_exp.c | 162 ++++++++ libm/src/e_expf.c | 99 +++++ libm/src/e_fmod.c | 133 +++++++ libm/src/e_fmodf.c | 106 +++++ libm/src/e_hypot.c | 125 ++++++ libm/src/e_hypotf.c | 84 ++++ libm/src/e_j0.c | 389 ++++++++++++++++++ libm/src/e_j0f.c | 352 ++++++++++++++++ libm/src/e_j1.c | 384 ++++++++++++++++++ libm/src/e_j1f.c | 349 ++++++++++++++++ libm/src/e_jn.c | 274 +++++++++++++ libm/src/e_jnf.c | 204 ++++++++++ libm/src/e_lgamma_r.c | 298 ++++++++++++++ libm/src/e_lgammaf_r.c | 234 +++++++++++ libm/src/e_log.c | 136 +++++++ libm/src/e_log10.c | 87 ++++ libm/src/e_log10f.c | 56 +++ libm/src/e_log2.c | 80 ++++ libm/src/e_log2f.c | 81 ++++ libm/src/e_logf.c | 87 ++++ libm/src/e_pow.c | 303 ++++++++++++++ libm/src/e_powf.c | 247 ++++++++++++ libm/src/e_rem_pio2.c | 169 ++++++++ libm/src/e_rem_pio2f.c | 181 +++++++++ libm/src/e_remainder.c | 73 ++++ libm/src/e_remainderf.c | 66 +++ libm/src/e_scalb.c | 49 +++ libm/src/e_scalbf.c | 46 +++ libm/src/e_sinh.c | 79 ++++ libm/src/e_sinhf.c | 61 +++ libm/src/e_sqrt.c | 445 +++++++++++++++++++++ libm/src/e_sqrtf.c | 90 +++++ libm/src/fpclassifyd_ieee754.c | 64 +++ libm/src/fpclassifyf_ieee754.c | 64 +++ libm/src/fpclassifyl.c | 73 ++++ libm/src/fpclassifyl_ieee754.c | 69 ++++ libm/src/isfinited_ieee754.c | 55 +++ libm/src/isfinitef_ieee754.c | 55 +++ libm/src/isfinitel.c | 62 +++ libm/src/isfinitel_ieee754.c | 58 +++ libm/src/isinfd_ieee754.c | 68 ++++ libm/src/isinff_ieee754.c | 63 +++ libm/src/isinfl.c | 66 +++ libm/src/isinfl_ieee754.c | 67 ++++ libm/src/isnand_ieee754.c | 68 ++++ libm/src/isnanf_ieee754.c | 63 +++ libm/src/isnanl.c | 67 ++++ libm/src/isnanl_ieee754.c | 67 ++++ libm/src/k_cos.c | 89 +++++ libm/src/k_cosf.c | 57 +++ libm/src/k_rem_pio2.c | 306 ++++++++++++++ libm/src/k_rem_pio2f.c | 199 ++++++++++ libm/src/k_sin.c | 72 ++++ libm/src/k_sinf.c | 47 +++ libm/src/k_standard.c | 815 ++++++++++++++++++++++++++++++++++++++ libm/src/k_tan.c | 156 ++++++++ libm/src/k_tanf.c | 94 +++++ libm/src/llrint.c | 13 + libm/src/llrintf.c | 13 + libm/src/llround.c | 13 + libm/src/llroundf.c | 13 + libm/src/lrint.c | 92 +++++ libm/src/lrintf.c | 91 +++++ libm/src/lround.c | 85 ++++ libm/src/lroundf.c | 80 ++++ libm/src/machine/ieee.h | 75 ++++ libm/src/machine/limits.h | 26 ++ libm/src/math_private.h | 310 +++++++++++++++ libm/src/modf_ieee754.c | 103 +++++ libm/src/namespace.h | 35 ++ libm/src/nan.c | 85 ++++ libm/src/nanf.c | 41 ++ libm/src/nanl.c | 41 ++ libm/src/s_asinh.c | 58 +++ libm/src/s_asinhf.c | 50 +++ libm/src/s_atan.c | 120 ++++++ libm/src/s_atanf.c | 100 +++++ libm/src/s_cbrt.c | 82 ++++ libm/src/s_cbrtf.c | 72 ++++ libm/src/s_ceil.c | 73 ++++ libm/src/s_ceilf.c | 54 +++ libm/src/s_copysign.c | 35 ++ libm/src/s_copysignf.c | 38 ++ libm/src/s_copysignl.c | 51 +++ libm/src/s_cos.c | 86 ++++ libm/src/s_cosf.c | 61 +++ libm/src/s_erf.c | 303 ++++++++++++++ libm/src/s_erff.c | 212 ++++++++++ libm/src/s_exp2.c | 401 +++++++++++++++++++ libm/src/s_exp2f.c | 139 +++++++ libm/src/s_expm1.c | 223 +++++++++++ libm/src/s_expm1f.c | 128 ++++++ libm/src/s_fabs.c | 32 ++ libm/src/s_fabsf.c | 35 ++ libm/src/s_fabsl.c | 49 +++ libm/src/s_fdim.c | 49 +++ libm/src/s_finite.c | 32 ++ libm/src/s_finitef.c | 35 ++ libm/src/s_floor.c | 74 ++++ libm/src/s_floorf.c | 63 +++ libm/src/s_fmax.c | 58 +++ libm/src/s_fmaxf.c | 58 +++ libm/src/s_fmaxl.c | 63 +++ libm/src/s_fmin.c | 58 +++ libm/src/s_fminf.c | 58 +++ libm/src/s_fminl.c | 63 +++ libm/src/s_frexp.c | 52 +++ libm/src/s_frexpf.c | 45 +++ libm/src/s_ilogb.c | 52 +++ libm/src/s_ilogbf.c | 40 ++ libm/src/s_ilogbl.c | 76 ++++ libm/src/s_infinity.c | 14 + libm/src/s_isinf.c | 28 ++ libm/src/s_isinff.c | 27 ++ libm/src/s_isnan.c | 35 ++ libm/src/s_isnanf.c | 37 ++ libm/src/s_ldexp.c | 30 ++ libm/src/s_ldexpf.c | 33 ++ libm/src/s_lib_version.c | 40 ++ libm/src/s_log1p.c | 165 ++++++++ libm/src/s_log1pf.c | 104 +++++ libm/src/s_logb.c | 43 ++ libm/src/s_logbf.c | 36 ++ libm/src/s_logbl.c | 76 ++++ libm/src/s_matherr.c | 27 ++ libm/src/s_modf.c | 78 ++++ libm/src/s_modff.c | 59 +++ libm/src/s_nextafter.c | 76 ++++ libm/src/s_nextafterf.c | 67 ++++ libm/src/s_nextafterl.c | 94 +++++ libm/src/s_nexttoward.c | 89 +++++ libm/src/s_remquo.c | 153 +++++++ libm/src/s_remquof.c | 120 ++++++ libm/src/s_rint.c | 79 ++++ libm/src/s_rintf.c | 68 ++++ libm/src/s_round.c | 59 +++ libm/src/s_roundf.c | 59 +++ libm/src/s_scalbn.c | 70 ++++ libm/src/s_scalbnf.c | 61 +++ libm/src/s_scalbnl.c | 106 +++++ libm/src/s_signgam.c | 5 + libm/src/s_significand.c | 31 ++ libm/src/s_significandf.c | 28 ++ libm/src/s_sin.c | 86 ++++ libm/src/s_sinf.c | 57 +++ libm/src/s_tan.c | 73 ++++ libm/src/s_tanf.c | 45 +++ libm/src/s_tanh.c | 79 ++++ libm/src/s_tanhf.c | 57 +++ libm/src/s_tgammaf.c | 47 +++ libm/src/s_trunc.c | 66 +++ libm/src/s_truncf.c | 58 +++ libm/src/signbitd_ieee754.c | 52 +++ libm/src/signbitf_ieee754.c | 52 +++ libm/src/signbitl.c | 54 +++ libm/src/sys/cdefs.h | 67 ++++ libm/src/sys/ieee754.h | 31 ++ libm/src/w_acos.c | 40 ++ libm/src/w_acosf.c | 44 ++ libm/src/w_acosh.c | 39 ++ libm/src/w_acoshf.c | 44 ++ libm/src/w_asin.c | 44 ++ libm/src/w_asinf.c | 48 +++ libm/src/w_atan2.c | 44 ++ libm/src/w_atan2f.c | 48 +++ libm/src/w_atanh.c | 44 ++ libm/src/w_atanhf.c | 49 +++ libm/src/w_cosh.c | 44 ++ libm/src/w_coshf.c | 48 +++ libm/src/w_drem.c | 19 + libm/src/w_dremf.c | 20 + libm/src/w_exp.c | 51 +++ libm/src/w_expf.c | 56 +++ libm/src/w_fmod.c | 40 ++ libm/src/w_fmodf.c | 44 ++ libm/src/w_gamma.c | 44 ++ libm/src/w_gamma_r.c | 42 ++ libm/src/w_gammaf.c | 43 ++ libm/src/w_gammaf_r.c | 47 +++ libm/src/w_hypot.c | 44 ++ libm/src/w_hypotf.c | 48 +++ libm/src/w_j0.c | 62 +++ libm/src/w_j0f.c | 67 ++++ libm/src/w_j1.c | 63 +++ libm/src/w_j1f.c | 68 ++++ libm/src/w_jn.c | 85 ++++ libm/src/w_jnf.c | 64 +++ libm/src/w_lgamma.c | 44 ++ libm/src/w_lgamma_r.c | 42 ++ libm/src/w_lgammaf.c | 43 ++ libm/src/w_lgammaf_r.c | 47 +++ libm/src/w_log.c | 44 ++ libm/src/w_log10.c | 43 ++ libm/src/w_log10f.c | 48 +++ libm/src/w_log2.c | 43 ++ libm/src/w_log2f.c | 48 +++ libm/src/w_logf.c | 49 +++ libm/src/w_pow.c | 62 +++ libm/src/w_powf.c | 69 ++++ libm/src/w_remainder.c | 39 ++ libm/src/w_remainderf.c | 43 ++ libm/src/w_scalb.c | 54 +++ libm/src/w_scalbf.c | 59 +++ libm/src/w_sinh.c | 44 ++ libm/src/w_sinhf.c | 48 +++ libm/src/w_sqrt.c | 39 ++ libm/src/w_sqrtf.c | 43 ++ 475 files changed, 33962 insertions(+), 92 deletions(-) commit 14c32c3433005c912816b303716d54bfe63e437b Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 14:05:45 2013 +0200 Move libc initialization functions into their own directory. libc/Makefile | 2 +- libc/{ => init}/init.cpp | 2 +- libc/sortix/init/.gitignore | 0 3 files changed, 2 insertions(+), 2 deletions(-) commit 89a2c44493514d48f73162ac21d896396836d1ec Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:57:47 2013 +0200 Move stdio.h functions into their own directory. libc/Makefile | 132 +++++++++++++++---------------- libc/sortix/stdio/.gitignore | 0 libc/{ => stdio}/clearerr.cpp | 2 +- libc/{ => stdio}/fbufsize.cpp | 2 +- libc/{ => stdio}/fclose.cpp | 2 +- libc/{ => stdio}/fcloseall.cpp | 2 +- libc/{ => stdio}/fdeletefile.cpp | 2 +- libc/{ => stdio}/fdio.c | 2 +- libc/{ => stdio}/fdio.h | 6 +- libc/{ => stdio}/feof.cpp | 2 +- libc/{ => stdio}/ferror.cpp | 2 +- libc/{ => stdio}/fflush.cpp | 2 +- libc/{ => stdio}/fflush_stop_reading.cpp | 2 +- libc/{ => stdio}/fflush_stop_writing.cpp | 2 +- libc/{ => stdio}/fgetc.cpp | 2 +- libc/{ => stdio}/fgetpos.cpp | 2 +- libc/{ => stdio}/fgets.cpp | 2 +- libc/{ => stdio}/fileno.cpp | 2 +- libc/{ => stdio}/flbf.cpp | 2 +- libc/{ => stdio}/flushlbf.cpp | 2 +- libc/{ => stdio}/fnewfile.cpp | 2 +- libc/{ => stdio}/format.cpp | 2 +- libc/{ => stdio}/fpending.cpp | 2 +- libc/{ => stdio}/fpipe.cpp | 2 +- libc/{ => stdio}/fpurge.cpp | 2 +- libc/{ => stdio}/fputc.cpp | 2 +- libc/{ => stdio}/fputs.cpp | 2 +- libc/{ => stdio}/fread.cpp | 2 +- libc/{ => stdio}/freadable.cpp | 2 +- libc/{ => stdio}/freading.cpp | 2 +- libc/{ => stdio}/fregister.cpp | 2 +- libc/{ => stdio}/freopen.cpp | 2 +- libc/{ => stdio}/fresetfile.cpp | 2 +- libc/{ => stdio}/fscanf.cpp | 2 +- libc/{ => stdio}/fseek.cpp | 2 +- libc/{ => stdio}/fseeko.cpp | 2 +- libc/{ => stdio}/fsetdefaultbuf.cpp | 2 +- libc/{ => stdio}/fseterr.cpp | 2 +- libc/{ => stdio}/fsetlocking.cpp | 2 +- libc/{ => stdio}/fsetpos.cpp | 2 +- libc/{ => stdio}/fshutdown.cpp | 2 +- libc/{ => stdio}/ftell.cpp | 2 +- libc/{ => stdio}/ftello.cpp | 2 +- libc/{ => stdio}/fwritable.cpp | 2 +- libc/{ => stdio}/fwrite.cpp | 2 +- libc/{ => stdio}/fwriting.cpp | 2 +- libc/{ => stdio}/getc.cpp | 2 +- libc/{ => stdio}/getdelim.cpp | 2 +- libc/{ => stdio}/getline.cpp | 2 +- libc/{ => stdio}/popen.cpp | 2 +- libc/{ => stdio}/print.cpp | 2 +- libc/{ => stdio}/putc.cpp | 2 +- libc/{ => stdio}/remove.cpp | 2 +- libc/{ => stdio}/removeat.cpp | 2 +- libc/{ => stdio}/rename.cpp | 2 +- libc/{ => stdio}/renameat.cpp | 2 +- libc/{ => stdio}/rewind.cpp | 2 +- libc/{ => stdio}/scanf.cpp | 2 +- libc/{ => stdio}/setbuf.cpp | 2 +- libc/{ => stdio}/setvbuf.cpp | 2 +- libc/{ => stdio}/sprint.cpp | 2 +- libc/{ => stdio}/sscanf.cpp | 2 +- libc/{ => stdio}/stdio.c | 2 +- libc/{ => stdio}/tmpfile.cpp | 2 +- libc/{ => stdio}/tmpnam.cpp | 2 +- libc/{ => stdio}/ungetc.cpp | 2 +- libc/{ => stdio}/vfscanf.cpp | 2 +- libc/{ => stdio}/vscanf.cpp | 2 +- libc/{ => stdio}/vsscanf.cpp | 2 +- 69 files changed, 135 insertions(+), 135 deletions(-) commit a329235397ec3903a843b0b4adb0ee933008e828 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 15:27:23 2013 +0200 Move timespec.h functions into their own directory. libc/Makefile | 2 +- libc/sortix/timespec/.gitignore | 0 libc/{ => timespec}/timespec.cpp | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) commit 106c269c62c68dddfc28d1e6df887de8eb6bef5a Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:42:37 2013 +0200 Move sys/readdirents.h functions into their own directory. libc/Makefile | 2 +- libc/{ => sys/readdirents}/readdirents.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit d162eac5166bd93d0befc395131a565ce88ff8fe Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:40:40 2013 +0200 Move sys/ioctl.h functions into their own directory. libc/Makefile | 2 +- libc/{ => sys/ioctl}/ioctl.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 49cb00ab3f019b1f1320bf04c963099677aa6e62 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:36:46 2013 +0200 Move sys/kernelinfo.h functions into their own directory. libc/Makefile | 2 +- libc/{ => sys/kernelinfo}/kernelinfo.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 29fc8bf8c8bfc6f45c3f0353bfb80c08792dfe6a Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:32:56 2013 +0200 Move dlfcn.h functions into their own directory. libc/Makefile | 2 +- libc/{ => dlfcn}/dlfcn.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 575e53644291698e43fac9096c181c35519e5f60 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:07:36 2013 +0200 Move error.h functions into their own directory. libc/Makefile | 2 +- libc/{ => error}/errorprint.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit bd15083e6583e188ef62009348a38daebeaaf6b8 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:03:33 2013 +0200 Move errno.h functions into their own directory. libc/Makefile | 2 +- libc/{ => errno}/errno.cpp | 2 +- libc/sortix/errno/.gitignore | 0 3 files changed, 2 insertions(+), 2 deletions(-) commit e8bc31b7985d9cd4e88fcc5a9fcd978a463c9a0f Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 13:01:12 2013 +0200 Move sys/select.h functions into their own directory. libc/Makefile | 2 +- libc/{ => sys/select}/select.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit c4715aef59386ddc0fbc87b29c2980c7c4cb57c7 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 12:52:33 2013 +0200 Move utime.h functions into their own directory. libc/Makefile | 2 +- libc/{ => utime}/utime.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 03ac25a6e2a225960b80cd1e7d5add51037d960a Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 12:50:12 2013 +0200 Move calltrace.h functions into their own directory. libc/Makefile | 2 +- libc/{ => calltrace}/calltrace.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit d6c8dd6983657b0fa968cd281cd2957f1f4f9bc3 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 12:48:45 2013 +0200 Move sys/display.h functions into their own directory. libc/Makefile | 2 +- libc/{ => sys/display}/dispmsg_issue.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit de36488e63de522d1a0b5088d498e4656cbb6d77 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 12:44:52 2013 +0200 Move sys/termmode.h functions into their own directory. libc/Makefile | 4 ++-- libc/{ => sys/termmode}/gettermmode.cpp | 2 +- libc/{ => sys/termmode}/settermmode.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 59b28682b44a140f535105b1b74e2a1089dacdca Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 12:34:53 2013 +0200 Move auxiliary libc files into their own directory. libc/Makefile | 4 ++-- libc/{ => aux}/c++.cpp | 2 +- libc/{ => aux}/op-new.cpp | 2 +- libc/sortix/aux/.gitignore | 0 4 files changed, 4 insertions(+), 4 deletions(-) commit 9e6cfc3e13e44cacb16e2a88cc1c3e68d23d75f2 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 01:47:11 2013 +0200 Move sys/wait.h functions into their own directory. libc/Makefile | 4 ++-- libc/{ => sys/wait}/wait.cpp | 2 +- libc/{ => sys/wait}/waitpid.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit ecb5744afb68ce0b61a7a99e8e7f1fd442bb5a4f Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 01:37:46 2013 +0200 Move sys/uio.h functions into their own directory. libc/Makefile | 8 ++++---- libc/{ => sys/uio}/preadv.cpp | 2 +- libc/{ => sys/uio}/pwritev.cpp | 2 +- libc/{ => sys/uio}/readv.cpp | 2 +- libc/{ => sys/uio}/writev.cpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) commit ecbb19273bba5e543655db3529b036a1d6d2c1c8 Author: Jonas 'Sortie' Termansen Date: Fri Oct 4 20:31:32 2013 +0200 Move sys/stat.h functions into their own directory. libc/Makefile | 26 +++++++++++++------------- libc/{ => sys/stat}/chmod.cpp | 2 +- libc/{ => sys/stat}/fchmod.cpp | 2 +- libc/{ => sys/stat}/fchmodat.cpp | 2 +- libc/{ => sys/stat}/fstat.cpp | 2 +- libc/{ => sys/stat}/fstatat.cpp | 2 +- libc/{ => sys/stat}/futimens.cpp | 2 +- libc/{ => sys/stat}/lstat.cpp | 2 +- libc/{ => sys/stat}/mkdir.cpp | 2 +- libc/{ => sys/stat}/mkdirat.cpp | 2 +- libc/{ => sys/stat}/stat.cpp | 2 +- libc/{ => sys/stat}/umask.cpp | 2 +- libc/{ => sys/stat}/utimens.cpp | 2 +- libc/{ => sys/stat}/utimensat.cpp | 2 +- 14 files changed, 26 insertions(+), 26 deletions(-) commit 0d4a25396bb80ec1f6d853596b66d076e504e9cc Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 01:11:26 2013 +0200 Move unistd.h functions into their own directory. libc/Makefile | 150 ++++++++++++++++++------------------ libc/{ => termios}/tcgetwinsize.cpp | 2 +- libc/{ => unistd}/_exit.cpp | 2 +- libc/{ => unistd}/access.cpp | 2 +- libc/{ => unistd}/alarm.cpp | 2 +- libc/{ => unistd}/alarmns.cpp | 2 +- libc/{ => unistd}/chdir.cpp | 2 +- libc/{ => unistd}/chown.cpp | 2 +- libc/{ => unistd}/chroot.cpp | 2 +- libc/{ => unistd}/close.cpp | 2 +- libc/{ => unistd}/confstr.cpp | 2 +- libc/{ => unistd}/dup.cpp | 2 +- libc/{ => unistd}/dup2.cpp | 2 +- libc/{ => unistd}/execl.cpp | 2 +- libc/{ => unistd}/execle.cpp | 2 +- libc/{ => unistd}/execlp.cpp | 2 +- libc/{ => unistd}/execv.cpp | 2 +- libc/{ => unistd}/execve.cpp | 2 +- libc/{ => unistd}/execvp.cpp | 2 +- libc/{ => unistd}/execvpe.cpp | 2 +- libc/{ => unistd}/faccessat.cpp | 2 +- libc/{ => unistd}/fchdir.cpp | 2 +- libc/{ => unistd}/fchdirat.cpp | 2 +- libc/{ => unistd}/fchown.cpp | 2 +- libc/{ => unistd}/fchownat.cpp | 2 +- libc/{ => unistd}/fchroot.cpp | 2 +- libc/{ => unistd}/fchrootat.cpp | 2 +- libc/{ => unistd}/fork.cpp | 2 +- libc/{ => unistd}/fsync.cpp | 4 +- libc/{ => unistd}/ftruncate.cpp | 2 +- libc/{ => unistd}/getcwd.cpp | 2 +- libc/{ => unistd}/getdtablesize.cpp | 2 +- libc/{ => unistd}/getegid.cpp | 2 +- libc/{ => unistd}/geteuid.cpp | 2 +- libc/{ => unistd}/getgid.cpp | 2 +- libc/{ => unistd}/gethostname.cpp | 2 +- libc/{ => unistd}/getlogin.cpp | 2 +- libc/{ => unistd}/getlogin_r.cpp | 2 +- libc/{ => unistd}/getpagesize.cpp | 2 +- libc/{ => unistd}/getpgid.cpp | 2 +- libc/{ => unistd}/getpid.cpp | 2 +- libc/{ => unistd}/getppid.cpp | 2 +- libc/{ => unistd}/getuid.cpp | 2 +- libc/{ => unistd}/ioleast.cpp | 2 +- libc/{ => unistd}/isatty.cpp | 2 +- libc/{ => unistd}/lchown.cpp | 2 +- libc/{ => unistd}/link.cpp | 2 +- libc/{ => unistd}/linkat.cpp | 2 +- libc/{ => unistd}/lseek.cpp | 2 +- libc/{ => unistd}/memstat.cpp | 2 +- libc/{ => unistd}/mkpartition.cpp | 2 +- libc/{ => unistd}/pathconf.cpp | 2 +- libc/{ => unistd}/pipe.cpp | 2 +- libc/{ => unistd}/read.cpp | 2 +- libc/{ => unistd}/readlink.cpp | 2 +- libc/{ => unistd}/readlinkat.cpp | 2 +- libc/{ => unistd}/rmdir.cpp | 2 +- libc/{ => unistd}/sbrk.cpp | 2 +- libc/{ => unistd}/setegid.cpp | 2 +- libc/{ => unistd}/seteuid.cpp | 2 +- libc/{ => unistd}/setgid.cpp | 2 +- libc/{ => unistd}/setpgid.cpp | 2 +- libc/{ => unistd}/setuid.cpp | 2 +- libc/{ => unistd}/sfork.cpp | 2 +- libc/{ => unistd}/sleep.cpp | 2 +- libc/{ => unistd}/sysconf.cpp | 2 +- libc/{ => unistd}/tcgetpgrp.cpp | 2 +- libc/{ => unistd}/tcsetpgrp.cpp | 2 +- libc/{ => unistd}/tfork.cpp | 2 +- libc/{ => unistd}/truncate.cpp | 2 +- libc/{ => unistd}/truncateat.cpp | 2 +- libc/{ => unistd}/ttyname.cpp | 2 +- libc/{ => unistd}/unlink.cpp | 2 +- libc/{ => unistd}/unlinkat.cpp | 2 +- libc/{ => unistd}/usleep.cpp | 2 +- libc/{ => unistd}/write.cpp | 2 +- mkinitrd/Makefile | 4 +- 77 files changed, 153 insertions(+), 153 deletions(-) commit bff6b077da989f97f7220a14823a8a6101b8a87f Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:37:17 2013 +0200 Move signal.h functions into their own directory. libc/Makefile | 28 ++++++++++++++-------------- libc/{ => signal}/SIG_DFL.cpp | 2 +- libc/{ => signal}/SIG_ERR.cpp | 2 +- libc/{ => signal}/SIG_IGN.cpp | 2 +- libc/{ => signal}/kill.cpp | 2 +- libc/{ => signal}/psignal.cpp | 2 +- libc/{ => signal}/raise.cpp | 2 +- libc/{ => signal}/sigaction.cpp | 2 +- libc/{ => signal}/sigaddset.cpp | 2 +- libc/{ => signal}/sigdelset.cpp | 2 +- libc/{ => signal}/sigemptyset.cpp | 2 +- libc/{ => signal}/sigfillset.cpp | 2 +- libc/{ => signal}/sigismember.cpp | 2 +- libc/{ => signal}/signal.cpp | 2 +- libc/{ => signal}/sigprocmask.cpp | 2 +- libc/sortix/signal/.gitignore | 0 16 files changed, 28 insertions(+), 28 deletions(-) commit 50ae094c6f2c641d1ce82d39604ab7255be0ed25 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:21:59 2013 +0200 Move poll.h functions into their own directory. libc/Makefile | 4 ++-- libc/{ => poll}/poll.cpp | 2 +- libc/{ => poll}/ppoll.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 7668d2bc0bfe7230e62f915c679e2e1d20c246fa Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:20:33 2013 +0200 Move locale.h functions into their own directory. libc/Makefile | 4 ++-- libc/{ => locale}/localeconv.cpp | 2 +- libc/{ => locale}/setlocale.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit ed60c08c2c32a78fe7d2c0cb3c069d97dc8a2b89 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:17:24 2013 +0200 Move fcntl.h functions into their own directory. libc/Makefile | 8 ++++---- libc/{ => fcntl}/creat.cpp | 2 +- libc/{ => fcntl}/fcntl.cpp | 2 +- libc/{ => fcntl}/open.cpp | 2 +- libc/{ => fcntl}/openat.cpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) commit c69b5fc34dcffd4564231313812d3b15e6f6fc99 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:12:58 2013 +0200 Move pwd.h functions into their own directory. libc/Makefile | 2 +- libc/{ => pwd}/pwent.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6259878db38b6cd1d820d713bbfb4eca9c552fe7 Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:11:15 2013 +0200 Move grp.h functions into their own directory. libc/Makefile | 2 +- libc/{ => grp}/grent.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 3d18ed9a43623a4ae502bc2bfec58cdedeebe8ee Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:07:32 2013 +0200 Move ctype.h functions into their own directory. libc/Makefile | 2 +- libc/{ => ctype}/ctype.c | 2 +- libc/sortix/ctype/.gitignore | 0 3 files changed, 2 insertions(+), 2 deletions(-) commit 78b0cf7b6ae645982aa231da7fcefee2a4680acf Author: Jonas 'Sortie' Termansen Date: Tue Jun 25 00:01:36 2013 +0200 Move wctype.h functions into their own directory. libc/Makefile | 2 +- libc/sortix/wctype/.gitignore | 0 libc/{ => wctype}/wctype.cpp | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) commit e87e891ca36f55b95c07ccecc3c45c416d5dc71b Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 23:57:26 2013 +0200 Move assert.h functions into their directory. libc/Makefile | 2 +- libc/{ => assert}/_assert.cpp | 2 +- libc/sortix/assert/.gitignore | 0 3 files changed, 2 insertions(+), 2 deletions(-) commit 18356edb690fb6b6c94b08746ec86f5ab6c0eed3 Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 23:52:34 2013 +0200 Move stdlib.h functions into their own directory. libc/Makefile | 64 ++++++++++++------------- libc/sortix/stdlib/.gitignore | 0 libc/{ => stdlib}/_Exit.cpp | 2 +- libc/{ => stdlib}/abort.cpp | 2 +- libc/{ => stdlib}/abs.cpp | 2 +- libc/{ => stdlib}/atof.cpp | 4 +- libc/{ => stdlib}/atoi.cpp | 2 +- libc/{ => stdlib}/atol.cpp | 2 +- libc/{ => stdlib}/atoll.cpp | 2 +- libc/{ => stdlib}/bsearch.cpp | 2 +- libc/{ => stdlib}/calloc.cpp | 2 +- libc/{ => stdlib}/canonicalize_file_name.cpp | 2 +- libc/{ => stdlib}/canonicalize_file_name_at.cpp | 2 +- libc/{ => stdlib}/div.cpp | 2 +- libc/{ => stdlib}/env.cpp | 2 +- libc/{ => stdlib}/exit.cpp | 2 +- libc/{ => stdlib}/heap.cpp | 2 +- libc/{ => stdlib}/integer.cpp | 2 +- libc/{ => stdlib}/ldiv.cpp | 2 +- libc/{ => stdlib}/lldiv.cpp | 2 +- libc/{ => stdlib}/mblen.cpp | 2 +- libc/{ => stdlib}/mbstowcs.cpp | 2 +- libc/{ => stdlib}/mbtowc.cpp | 2 +- libc/{ => stdlib}/mktemp.cpp | 2 +- libc/{ => stdlib}/on_exit.cpp | 2 +- libc/{sort.cpp => stdlib/qsort.cpp} | 2 +- libc/{ => stdlib}/rand.cpp | 2 +- libc/{ => stdlib}/realpath.cpp | 2 +- libc/{ => stdlib}/strtod.cpp | 2 +- libc/{ => stdlib}/strtof.cpp | 2 +- libc/{ => stdlib}/strtold.cpp | 2 +- libc/{ => stdlib}/system.cpp | 2 +- libc/{ => stdlib}/wcstombs.cpp | 2 +- libc/{ => stdlib}/wctomb.cpp | 2 +- 34 files changed, 65 insertions(+), 65 deletions(-) commit ab0177113fa1ddaf7bb93d838b13fbed94ce3151 Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 23:23:53 2013 +0200 Move fsmarshall.h functions into their own directory. libc/Makefile | 16 ++++++++-------- libc/{ => fsmarshall}/fsm_bootstraprootfd.cpp | 2 +- libc/{ => fsmarshall}/fsm_closechannel.cpp | 2 +- libc/{ => fsmarshall}/fsm_closeserver.cpp | 2 +- libc/{ => fsmarshall}/fsm_fsbind.cpp | 2 +- libc/{ => fsmarshall}/fsm_listen.cpp | 2 +- libc/{ => fsmarshall}/fsm_mkserver.cpp | 2 +- libc/{ => fsmarshall}/fsm_recv.cpp | 2 +- libc/{ => fsmarshall}/fsm_send.cpp | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) commit 9c4f25ae7c120fd507c5c30b4191b8e56a86230f Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 23:06:46 2013 +0200 Move libgen.h functions into their own directory. libc/Makefile | 4 ++-- libc/{ => libgen}/basename.cpp | 2 +- libc/{ => libgen}/dirname.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 7bec4503678f06e3f5219912e9adc1a18160c3aa Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 19:42:58 2013 +0200 Add _D_EXACT_NAMLEN and _D_ALLOC_NAMLEN macros to dirent.h. libc/include/dirent.h | 3 +++ 1 file changed, 3 insertions(+) commit cab9f561ea78ef1e866a0639b1b5328308e8d936 Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 19:38:12 2013 +0200 Add feature macros to dirent.h describing struct dirent. libc/include/dirent.h | 5 +++++ 1 file changed, 5 insertions(+) commit 441777de28ccd44091df0f96b6b6de494cba47d7 Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 19:20:21 2013 +0200 Add versionsort(3). libc/Makefile | 1 + libc/dirent/versionsort.cpp | 31 +++++++++++++++++++++++++++++++ libc/include/dirent.h | 1 + 3 files changed, 33 insertions(+) commit ed3814abca56225d5dfe36acfd54e5e5323b8cbd Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 19:11:21 2013 +0200 Add strverscmp(3). libc/Makefile | 1 + libc/include/string.h | 7 +-- libc/string/strverscmp.cpp | 115 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 3 deletions(-) commit 9bd82e1d803b9d6d92d70b2fc204aa55f4084ce8 Author: Jonas 'Sortie' Termansen Date: Sat Jun 22 00:30:20 2013 +0200 Add alphasort(3). libc/Makefile | 1 + libc/dirent/alphasort.cpp | 31 +++++++++++++++++++++++++++++++ libc/include/dirent.h | 1 + 3 files changed, 33 insertions(+) commit 7de9273bef474835c5268bed3a7ad40ca21d7242 Author: Jonas 'Sortie' Termansen Date: Sat Jun 22 00:11:45 2013 +0200 Add scandir(3). libc/Makefile | 1 + libc/dirent/scandir.cpp | 87 +++++++++++++++++++++++++++++++++++++++++++++++++ libc/include/dirent.h | 8 +++-- 3 files changed, 93 insertions(+), 3 deletions(-) commit edb2682f5580f96d1c29e40c7b54dd111d813c97 Author: Jonas 'Sortie' Termansen Date: Mon Jun 24 13:36:39 2013 +0200 Move dirent.h functions into their own directory. libc/Makefile | 4 ++-- libc/{ => dirent}/dir.c | 2 +- libc/{ => dirent}/fddir-sortix.c | 2 +- libc/sortix/dirent/.gitignore | 0 4 files changed, 4 insertions(+), 4 deletions(-) commit 2e64286ae52cd312d32187e9d74fbb2340ca079e Author: Jonas 'Sortie' Termansen Date: Thu Jun 20 16:37:00 2013 +0200 Update kernel panic code to current coding conventions. sortix/include/sortix/kernel/panic.h | 22 ++--- sortix/panic.cpp | 171 ++++++++++++++++++----------------- 2 files changed, 95 insertions(+), 98 deletions(-) commit a44138f72f06235f353184d1a8fe41ffc86d9ef8 Author: Jonas 'Sortie' Termansen Date: Thu Jun 20 14:56:55 2013 +0200 Remove obsolete attribute macros. sortix/include/sortix/kernel/cpu.h | 7 +++++-- sortix/include/sortix/kernel/decl.h | 5 +---- sortix/include/sortix/kernel/kthread.h | 2 +- sortix/include/sortix/kernel/panic.h | 6 +++--- sortix/include/sortix/kernel/thread.h | 7 ++++--- 5 files changed, 14 insertions(+), 13 deletions(-) commit c377f33072ce7690dacf72770f2196f39660d2fc Author: Jonas 'Sortie' Termansen Date: Thu Jun 20 14:45:45 2013 +0200 Remove duplicate declaration of addr_t. libc/heap.cpp | 76 ++++++++++++++++++------------------- sortix/include/sortix/kernel/decl.h | 3 -- 2 files changed, 37 insertions(+), 42 deletions(-) commit b88853de81bad82ac6f103b318413b5a14770526 Author: Jonas 'Sortie' Termansen Date: Thu Jun 20 14:35:15 2013 +0200 Remove obsolete PLATFORM_X86 and PLATFORM_X64 macros. libc/include/features.h | 3 --- sortix/elf.cpp | 2 +- sortix/include/sortix/bits.h | 31 ------------------------------- sortix/include/sortix/fork.h | 4 ++-- sortix/include/sortix/kernel/decl.h | 18 ++---------------- sortix/interrupt.cpp | 4 ++-- sortix/kernel.cpp | 4 ++-- sortix/x86-family/memorymanagement.cpp | 2 +- sortix/x86-family/memorymanagement.h | 6 ++---- 9 files changed, 12 insertions(+), 62 deletions(-) commit c36b35adc21fe19c9d61dc494e66f4db1efe5f69 Author: Jonas 'Sortie' Termansen Date: Thu Jun 20 02:51:29 2013 +0200 Refactor kernel GDT code. sortix/Makefile | 1 - sortix/x64/gdt.s | 64 --------- sortix/x86-family/gdt.cpp | 346 +++++++++++++++++++++++++++++----------------- sortix/x86-family/gdt.h | 105 ++------------ sortix/x86/gdt.s | 65 --------- 5 files changed, 228 insertions(+), 353 deletions(-) commit c77d9395cd9cc53f9f06a018183ff6d6b3a47458 Author: Jonas 'Sortie' Termansen Date: Thu Jun 20 00:00:39 2013 +0200 Refactor kernel interrupt handling. sortix/Makefile | 1 - sortix/include/sortix/kernel/interrupt.h | 38 +++---- sortix/interrupt.cpp | 180 +++++++++++++++---------------- sortix/x64/idt.s | 33 ------ sortix/x86-family/idt.cpp | 88 ++++++++------- sortix/x86-family/idt.h | 55 ++-------- sortix/x86/idt.s | 34 ------ 7 files changed, 168 insertions(+), 261 deletions(-) commit 4dad48271a3d70a6c6bcc29d015faee496f9b5a9 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 15:10:50 2013 +0200 Move wchar.h functions into their own directory. libc/Makefile | 34 +++++++++++++++++----------------- libc/sortix/wchar/.gitignore | 0 libc/{ => wchar}/mbrlen.cpp | 2 +- libc/{ => wchar}/mbrtowc.cpp | 2 +- libc/{ => wchar}/mbsrtowcs.cpp | 2 +- libc/{ => wchar}/wcrtomb.cpp | 2 +- libc/{ => wchar}/wcscat.cpp | 2 +- libc/{ => wchar}/wcschr.cpp | 2 +- libc/{ => wchar}/wcschrnul.cpp | 2 +- libc/{ => wchar}/wcscmp.cpp | 2 +- libc/{ => wchar}/wcscpy.cpp | 2 +- libc/{ => wchar}/wcscspn.cpp | 2 +- libc/{ => wchar}/wcslen.cpp | 2 +- libc/{ => wchar}/wcsncat.cpp | 2 +- libc/{ => wchar}/wcsncpy.cpp | 2 +- libc/{ => wchar}/wcsrchr.cpp | 2 +- libc/{ => wchar}/wcsrtombs.cpp | 2 +- libc/{ => wchar}/wcsspn.cpp | 2 +- libc/{ => wchar}/wcstok.cpp | 2 +- 19 files changed, 34 insertions(+), 34 deletions(-) commit 7a0beab011fa5f3a228890ff2e4acd0a21589430 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 13:34:57 2013 +0200 Move string.h functions into their own directory. libc/Makefile | 66 +++++++++++++++++++-------------------- libc/sortix/string/.gitignore | 1 + libc/{ => string}/memccpy.cpp | 2 +- libc/{ => string}/memchr.cpp | 2 +- libc/{ => string}/memcmp.cpp | 2 +- libc/{ => string}/memcpy.cpp | 2 +- libc/{ => string}/memmove.cpp | 2 +- libc/{ => string}/memset.cpp | 2 +- libc/{ => string}/stpcpy.cpp | 2 +- libc/{ => string}/stpncpy.cpp | 2 +- libc/{ => string}/strcasecmp.cpp | 2 +- libc/{ => string}/strcat.cpp | 2 +- libc/{ => string}/strchr.cpp | 2 +- libc/{ => string}/strchrnul.cpp | 2 +- libc/{ => string}/strcmp.cpp | 2 +- libc/{ => string}/strcoll.cpp | 2 +- libc/{ => string}/strcpy.cpp | 2 +- libc/{ => string}/strcspn.cpp | 2 +- libc/{ => string}/strdup.cpp | 2 +- libc/{ => string}/strerror.cpp | 2 +- libc/{ => string}/strlen.cpp | 2 +- libc/{ => string}/strncasecmp.cpp | 2 +- libc/{ => string}/strncat.cpp | 2 +- libc/{ => string}/strncmp.cpp | 2 +- libc/{ => string}/strncpy.cpp | 2 +- libc/{ => string}/strndup.cpp | 2 +- libc/{ => string}/strnlen.cpp | 2 +- libc/{ => string}/strpbrk.cpp | 2 +- libc/{ => string}/strrchr.cpp | 2 +- libc/{ => string}/strsignal.cpp | 2 +- libc/{ => string}/strspn.cpp | 2 +- libc/{ => string}/strstr.cpp | 2 +- libc/{ => string}/strtok.cpp | 2 +- libc/{ => string}/strtok_r.cpp | 2 +- libc/{ => string}/strxfrm.cpp | 2 +- 35 files changed, 67 insertions(+), 66 deletions(-) commit 138e279e62ae99e600d4f544edc12fd271bd3551 Author: Jonas 'Sortie' Termansen Date: Mon Nov 18 16:10:07 2013 +0100 Remove obsolete sortix/{x86,x64}/bits.h headers. sortix/include/sortix/x64/bits.h | 157 --------------------------------------- sortix/include/sortix/x86/bits.h | 157 --------------------------------------- 2 files changed, 314 deletions(-) commit 20b67f18bcbdcbe2df35a7a2601d7b82ce89d768 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 13:12:04 2013 +0200 Update libc system calls to follow coding conventions. libc/Makefile | 2 +- libc/close.cpp | 5 +++-- libc/dup.cpp | 5 +++-- libc/fcntl.cpp | 5 +++-- libc/fstat.cpp | 4 ++-- libc/ftruncate.cpp | 5 +++-- libc/kernelinfo.cpp | 4 ++-- libc/pipe.cpp | 5 +++-- libc/read.cpp | 1 + libc/readdirents.cpp | 4 ++-- libc/{winsize.cpp => tcgetwinsize.cpp} | 7 ++++--- libc/wctype.cpp | 1 + libc/write.cpp | 1 + utils/which.cpp | 0 14 files changed, 29 insertions(+), 20 deletions(-) commit 7a6b4920cec55cc028a1643cfb6dd33d9dfb0cd1 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 12:59:46 2013 +0200 Rename SYSCALL_WAIT to SYSCALL_WAITPID. libc/waitpid.cpp | 6 +++--- sortix/include/sortix/syscallnum.h | 2 +- sortix/process.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) commit 311423856ecf59e89f705d017f1947f258b78bca Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 02:25:57 2013 +0200 Add foreground process support to init and sh. utils/init.cpp | 1 + utils/mxsh.cpp | 2 ++ 2 files changed, 3 insertions(+) commit c8f302df1addf189bee8dd56911a2bab8ba7822c Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 00:58:54 2013 +0200 Add process group support to init and sh. utils/init.cpp | 2 ++ utils/mxsh.cpp | 13 +++++++++++++ 2 files changed, 15 insertions(+) commit 938f722dcbe2652fe96e77983f2dd495db1e5f43 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 02:17:42 2013 +0200 Add tcsetpgrp(2) and tcgetpgrp(2). libc/Makefile | 2 ++ libc/include/fsmarshall-msg.h | 21 +++++++++++++++++- libc/include/unistd.h | 4 ++-- libc/tcgetpgrp.cpp | 34 ++++++++++++++++++++++++++++ libc/tcsetpgrp.cpp | 34 ++++++++++++++++++++++++++++ sortix/descriptor.cpp | 10 +++++++++ sortix/fs/user.cpp | 34 ++++++++++++++++++++++++++++ sortix/include/sortix/kernel/descriptor.h | 2 ++ sortix/include/sortix/kernel/inode.h | 4 ++++ sortix/include/sortix/kernel/vnode.h | 2 ++ sortix/include/sortix/syscallnum.h | 4 +++- sortix/inode.cpp | 14 ++++++++++++ sortix/io.cpp | 20 +++++++++++++++++ sortix/logterminal.cpp | 37 +++++++++++++++++++++++++++---- sortix/logterminal.h | 3 +++ sortix/vnode.cpp | 10 +++++++++ 16 files changed, 227 insertions(+), 8 deletions(-) commit b6349e21cb7eb7bc3f89d96c8abaa4832532c493 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 01:35:06 2013 +0200 Implement sending signals to process groups. sortix/include/sortix/kernel/process.h | 4 +- sortix/process.cpp | 106 +++++++++++++++++---------------- sortix/thread.cpp | 7 ++- 3 files changed, 64 insertions(+), 53 deletions(-) commit be0ece3fe06f8927cf4d3d510ef61f9734a167b5 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 01:01:36 2013 +0200 Add setpgid(2) and getpgid(2). libc/Makefile | 2 + libc/getpgid.cpp | 34 ++++++++ libc/include/unistd.h | 4 +- libc/setpgid.cpp | 34 ++++++++ sortix/include/sortix/kernel/process.h | 15 ++++ sortix/include/sortix/syscallnum.h | 4 +- sortix/kernel.cpp | 8 ++ sortix/process.cpp | 149 +++++++++++++++++++++++++++++++++ 8 files changed, 247 insertions(+), 3 deletions(-) commit 2cb3f2860ad2dba34c2018684e0ea0332db27bf5 Author: Jonas 'Sortie' Termansen Date: Wed Jun 12 01:01:24 2013 +0200 Update sortix/process.cpp coding style. sortix/process.cpp | 1728 ++++++++++++++++++++++++++-------------------------- 1 file changed, 873 insertions(+), 855 deletions(-) commit 8d420c9de772a96b061ea0fbdcaad99a92a1f98b Author: Jonas 'Sortie' Termansen Date: Mon Jun 10 00:02:59 2013 +0200 Remove unused platform-specific scheduler file. sortix/Makefile | 1 - sortix/x64/scheduler.cpp | 37 ------------------------------------- sortix/x86/scheduler.cpp | 34 ---------------------------------- 3 files changed, 72 deletions(-) commit 6ea41cc620aab7060b73064419d0e359816b5a60 Author: Jonas 'Sortie' Termansen Date: Sat Jun 15 16:28:08 2013 +0200 Retrieve init process id from INIT_PID environmental variable. utils/mxsh.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit f8f65d5713ff358f56a7dc0964d6213d420b26ba Author: Jonas 'Sortie' Termansen Date: Sat Jun 15 16:32:16 2013 +0200 Store init process pid in INIT_PID environmental variable. utils/init.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit 740187674a5b2c344b6654c266fbb1fc8054df6f Author: Jonas 'Sortie' Termansen Date: Sat Jun 15 00:37:32 2013 +0200 Add reference counting filesystem messages. libc/include/fsmarshall-msg.h | 14 +++++++++++++- sortix/fs/user.cpp | 17 +++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) commit 2ea7607f4efd5fe1ce616dd6d4a99402be2ff9ca Author: Jonas 'Sortie' Termansen Date: Sun Jun 2 17:27:04 2013 +0200 Clean up ATA PIO driver. sortix/ata.cpp | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) commit 7c3740a85d996409f0ce7fdd0fbc8cc3b2453ba5 Author: Jonas 'Sortie' Termansen Date: Sat Jun 1 22:58:13 2013 +0200 Hook crash handler up against kernel debugger. sortix/interrupt.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) commit 5d1fe2620b607d03f57b013050150cfadecd30cd Author: Jonas 'Sortie' Termansen Date: Sat Jun 1 13:24:02 2013 +0200 Add mkpartition(2). libc/Makefile | 1 + libc/include/unistd.h | 1 + libc/mkpartition.cpp | 34 +++++++++++++ sortix/Makefile | 1 + sortix/include/sortix/syscallnum.h | 3 +- sortix/io.cpp | 35 +++++++++++++ sortix/partition.cpp | 101 +++++++++++++++++++++++++++++++++++++ sortix/partition.h | 56 ++++++++++++++++++++ 8 files changed, 231 insertions(+), 1 deletion(-) commit 94cd049473559eba68ccf0c640c5cec34278e9b4 Author: Jonas 'Sortie' Termansen Date: Thu May 30 00:58:31 2013 +0200 Add chroot(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/chroot.cpp | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) commit d2aab888d11119a9b58b78d42c278f083e491850 Author: Jonas 'Sortie' Termansen Date: Thu May 30 00:31:57 2013 +0200 Add chroot(2), fchroot(2) and fchrootat(2). libc/Makefile | 3 +++ libc/chroot.cpp | 31 +++++++++++++++++++++++++++++++ libc/fchroot.cpp | 33 +++++++++++++++++++++++++++++++++ libc/fchrootat.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 3 +++ sortix/include/sortix/kernel/process.h | 1 + sortix/include/sortix/syscallnum.h | 4 +++- sortix/io.cpp | 31 +++++++++++++++++++++++++++++++ sortix/process.cpp | 7 +++++++ 9 files changed, 146 insertions(+), 1 deletion(-) commit 6a62446bab937cfc3f6628b7b334d0b04724e367 Author: Jonas 'Sortie' Termansen Date: Wed May 29 23:01:21 2013 +0200 Prevent escaping the root filesystem. sortix/vnode.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 871469d4434cc147345ec5c6bcc2ef1e599762fc Author: Jonas 'Sortie' Termansen Date: Wed May 29 00:35:04 2013 +0200 Add terminal support for ^L. sortix/logterminal.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) commit ddf3dd329fb5b320f87531eccebf92a297e12b82 Author: Jonas 'Sortie' Termansen Date: Wed May 29 14:03:28 2013 +0200 Add fchdirat(2). libc/Makefile | 1 + libc/chdir.cpp | 8 +++----- libc/fchdirat.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 1 + sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 11 +++++++++-- 6 files changed, 50 insertions(+), 8 deletions(-) commit 3093623f187667761545cf47ed79ce3aff4201a8 Author: Jonas 'Sortie' Termansen Date: Mon May 27 20:25:11 2013 +0200 Add PCI Bar utility functions. sortix/include/sortix/kernel/pci.h | 3 +++ sortix/pci.cpp | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) commit 36bb159941ca868e16a93b320ff9409972896082 Author: Jonas 'Sortie' Termansen Date: Mon May 27 19:36:52 2013 +0200 Add big and small endian data types to . libc/include/__/endian.h | 120 +++++++++++++++++++++++++++++++++++++++++++++++ libc/include/endian.h | 18 +++++++ 2 files changed, 138 insertions(+) commit df0c842b776308218a2d4a64d6bebb907e35a5b8 Author: Jonas 'Sortie' Termansen Date: Sun May 19 01:48:44 2013 +0200 Add internal kernel debugger. sortix/Makefile | 1 + sortix/debugger.cpp | 645 ++++++++++++++++++++++++++++++++ sortix/include/sortix/kernel/debugger.h | 36 ++ sortix/kb/ps2.cpp | 9 +- 4 files changed, 690 insertions(+), 1 deletion(-) commit cd1cc19b0156db72be1fae1acae73b43ceced1b9 Author: Jonas 'Sortie' Termansen Date: Wed May 22 22:11:04 2013 +0200 Load program symbol tables. sortix/elf.cpp | 135 ++++++++++++++++++++++++++++++++- sortix/elf.h | 12 +-- sortix/include/sortix/kernel/process.h | 5 ++ sortix/process.cpp | 38 ++++++++++ 4 files changed, 180 insertions(+), 10 deletions(-) commit b84d9d26d0cb9f92e5dcbd592ff94936770af3d2 Author: Jonas 'Sortie' Termansen Date: Mon May 20 21:08:53 2013 +0200 Update sortix/elf.cpp to current coding conventions. sortix/elf.cpp | 438 ++++++++++++++++++++++++++++++--------------------------- sortix/elf.h | 333 +++++++++++++++++++++---------------------- 2 files changed, 394 insertions(+), 377 deletions(-) commit 2525de507c1c8ca0dd87d05bf9681ec210a49245 Author: Jonas 'Sortie' Termansen Date: Mon May 20 15:53:08 2013 +0200 Add kernel symbol support. sortix/Makefile | 1 + sortix/elf.h | 20 +++++++ sortix/include/sortix/kernel/symbol.h | 49 +++++++++++++++ sortix/kernel.cpp | 109 ++++++++++++++++++++++++++++++++++ sortix/symbol.cpp | 65 ++++++++++++++++++++ 5 files changed, 244 insertions(+) commit 834789d006d5fa6a7448cfd49ac03bba7da0c527 Author: Jonas 'Sortie' Termansen Date: Mon May 20 20:16:09 2013 +0200 Chain kernel frame pointer list with user-space. sortix/x64/syscall.s | 6 ++++-- sortix/x86/syscall.s | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) commit 4e3692cf889175b6627a2f8284f3d41f1615744b Author: Jonas 'Sortie' Termansen Date: Mon May 20 20:08:15 2013 +0200 Optimize x86_64 system calls. sortix/x64/syscall.s | 16 ---------------- 1 file changed, 16 deletions(-) commit 951b6edccd2d93e2f5831d502882fb828e76bb1c Author: Jonas 'Sortie' Termansen Date: Fri May 17 15:29:48 2013 +0200 Improve kernel terminal line editing. sortix/linebuffer.cpp | 9 +++++- sortix/linebuffer.h | 3 +- sortix/logterminal.cpp | 78 ++++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 73 insertions(+), 17 deletions(-) commit 3c6ecd651238ab669248bf76f60567f8793caaa2 Author: Jonas 'Sortie' Termansen Date: Thu May 16 22:02:50 2013 +0200 Add umask(2). libc/umask.cpp | 10 ++++------ sortix/descriptor.cpp | 10 ++++++++++ sortix/include/sortix/kernel/process.h | 1 + sortix/include/sortix/syscallnum.h | 3 ++- sortix/process.cpp | 12 ++++++++++++ utils/init.cpp | 5 ++++- 6 files changed, 33 insertions(+), 8 deletions(-) commit a91af78c1f98ef519f54c6539defe8945fd5b428 Author: Jonas 'Sortie' Termansen Date: Thu May 16 21:35:24 2013 +0200 Preserve modification dates when extracting initrd. sortix/initrd.cpp | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) commit 277e2e8626e5c04aef17743f5d08bcb75f86d917 Author: Jonas 'Sortie' Termansen Date: Thu May 16 18:58:32 2013 +0200 Add modification date to ls long format. utils/ls.cpp | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) commit 27bdbf1c9d6eac648c5a51e953e60224c80a519b Author: Jonas 'Sortie' Termansen Date: Thu May 16 17:57:51 2013 +0200 Add utimens support to inodes. sortix/descriptor.cpp | 6 ++++-- sortix/fs/kram.cpp | 26 +++++++++++++++++++------- sortix/fs/user.cpp | 14 ++++++++++---- sortix/include/sortix/kernel/descriptor.h | 3 ++- sortix/include/sortix/kernel/inode.h | 8 ++++++-- sortix/include/sortix/kernel/vnode.h | 3 ++- sortix/inode.cpp | 22 +++++++++++++++------- sortix/io.cpp | 4 ++-- sortix/vnode.cpp | 6 ++++-- 9 files changed, 64 insertions(+), 28 deletions(-) commit 1940d9560e0bc430428f1c24a101cb413f14d947 Author: Jonas 'Sortie' Termansen Date: Thu May 16 15:51:18 2013 +0200 Add timezone support. libc/Makefile | 8 ++++---- libc/time/localtime_r.cpp | 6 +++++- 2 files changed, 9 insertions(+), 5 deletions(-) commit eb00186be1837ca278fb0f9db82f91961034ec10 Author: Jonas 'Sortie' Termansen Date: Wed May 15 22:03:53 2013 +0200 Add x86 realtime clock support. sortix/Makefile | 1 + sortix/kernel.cpp | 12 +++-- sortix/x86-family/cmos.cpp | 109 +++++++++++++++++++++++++++++++++++++++++++++ sortix/x86-family/cmos.h | 59 ++++++++++++++++++++++++ 4 files changed, 177 insertions(+), 4 deletions(-) commit 82ffdb5ca82878add63018f7943ed2afb8390d03 Author: Jonas 'Sortie' Termansen Date: Wed May 15 20:29:24 2013 +0200 Add date(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/date.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) commit 2c164844f2e2116e1a315f235f56bb2f937dc212 Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 02:41:03 2013 +0100 Add mktime(3). libc/Makefile | 2 ++ libc/include/time.h | 2 ++ libc/time/gmtime_r.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ libc/time/mktime.cpp | 31 +++++++++++++++++++++++++++++++ libc/time/timegm.cpp | 28 ++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+) commit 519b054a24d2c6d96e1f3eb9d924d7e36994ed6e Author: Jonas 'Sortie' Termansen Date: Wed May 15 19:09:12 2013 +0200 Add gmtime_r(3). libc/Makefile | 8 +- libc/localtime_r.cpp | 39 ----- libc/{ => time}/gmtime.cpp | 4 +- libc/time/gmtime_r.cpp | 242 ++++++++++++++++++++++++++++ libc/{ => time}/localtime.cpp | 2 +- libc/{gmtime_r.cpp => time/localtime_r.cpp} | 10 +- 6 files changed, 254 insertions(+), 51 deletions(-) commit f7b5d6e55b114136fd0f4093d463b8273a91530c Author: Jonas 'Sortie' Termansen Date: Wed May 15 15:08:22 2013 +0200 Add difftime(3). libc/Makefile | 1 + libc/time/difftime.cpp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) commit ad51b5a07004d8317396bcb90ec50f97cf818633 Author: Jonas 'Sortie' Termansen Date: Wed May 15 15:00:23 2013 +0200 Add clock(3). libc/Makefile | 2 +- libc/include/time.h | 2 +- libc/{ => time}/clock.cpp | 17 ++++++++++------- 3 files changed, 12 insertions(+), 9 deletions(-) commit 0903f4edc2d5cc51a7c45d304eaa00bb0b029e42 Author: Jonas 'Sortie' Termansen Date: Wed May 15 14:41:17 2013 +0200 Add times(3). libc/Makefile | 1 + libc/include/sys/times.h | 46 ++++++++++++++++++++++++++++ libc/sysconf.cpp | 1 + libc/time/times.cpp | 65 ++++++++++++++++++++++++++++++++++++++++ sortix/include/sortix/__/types.h | 2 +- 5 files changed, 114 insertions(+), 1 deletion(-) commit 3a76e3345947835b057addee64c624930727eee1 Author: Jonas 'Sortie' Termansen Date: Wed May 15 01:50:44 2013 +0200 Add time(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/time.cpp | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) commit 3938f80055e6fc912e32c88629fad17998584e02 Author: Jonas 'Sortie' Termansen Date: Wed May 15 12:37:14 2013 +0200 Add timens(2). libc/Makefile | 1 + libc/include/time.h | 4 ++++ libc/time/timens.cpp | 34 ++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/include/sortix/tmns.h | 43 ++++++++++++++++++++++++++++++++++++++ sortix/user-timer.cpp | 28 +++++++++++++++++++++++-- 6 files changed, 110 insertions(+), 3 deletions(-) commit 04f797490d81c2ef3f61ab961e0c67b1d20bb50a Author: Jonas 'Sortie' Termansen Date: Wed May 15 00:59:12 2013 +0200 Add clocks for process and child execute and system time. sortix/include/sortix/clock.h | 6 +++++- sortix/time.cpp | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) commit 5da12519cd14b6bacf8b978b16c2275bfa79ea19 Author: Jonas 'Sortie' Termansen Date: Wed May 15 00:58:29 2013 +0200 Maintain recursive process execution and system time. sortix/include/sortix/kernel/process.h | 2 ++ sortix/process.cpp | 5 +++++ sortix/time.cpp | 4 +++- sortix/x86-family/time.cpp | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) commit 1c64a7fda11beb70fbe6662ed517cecde1c1b581 Author: Jonas 'Sortie' Termansen Date: Wed May 15 00:44:39 2013 +0200 Maintain process execution and system time. sortix/include/sortix/kernel/process.h | 2 ++ sortix/include/sortix/kernel/time.h | 4 +++- sortix/process.cpp | 2 ++ sortix/time.cpp | 7 ++++++- sortix/x86-family/time.cpp | 14 ++++++++++++-- 5 files changed, 25 insertions(+), 4 deletions(-) commit dbe8dafaac1252063040f697c27a54d3f905e3a9 Author: Jonas 'Sortie' Termansen Date: Mon May 13 14:51:50 2013 +0200 Refactor kernel calltrace.h header. sortix/calltrace.cpp | 2 +- sortix/{ => include/sortix/kernel}/calltrace.h | 6 +++--- sortix/interrupt.cpp | 2 +- sortix/panic.cpp | 5 +++-- 4 files changed, 8 insertions(+), 7 deletions(-) commit 1bc470624f6f3343f02a6488bd6c75a3204dff22 Author: Jonas 'Sortie' Termansen Date: Mon May 13 00:41:05 2013 +0200 Refactor kernel process.h and thread.h headers. sortix/alarm.cpp | 3 +- sortix/com.cpp | 4 +- sortix/descriptor.cpp | 2 +- sortix/dtable.cpp | 2 +- sortix/elf.cpp | 2 +- sortix/fs/user.cpp | 3 +- sortix/identity.cpp | 2 +- sortix/include/sortix/kernel/process.h | 197 +++++++++++++++++++++++++++++++++ sortix/include/sortix/kernel/thread.h | 145 ++++++++++++++++++++++++ sortix/interrupt.cpp | 2 +- sortix/io.cpp | 4 +- sortix/ioctx.cpp | 3 +- sortix/kernel.cpp | 4 +- sortix/kthread.cpp | 3 +- sortix/lfbtextbuffer.cpp | 2 +- sortix/logterminal.cpp | 2 +- sortix/net/fs.cpp | 3 +- sortix/pipe.cpp | 4 +- sortix/poll.cpp | 2 +- sortix/process.cpp | 4 +- sortix/process.h | 196 -------------------------------- sortix/scheduler.cpp | 4 +- sortix/signal.cpp | 3 +- sortix/syscall.cpp | 5 +- sortix/thread.cpp | 5 +- sortix/thread.h | 144 ------------------------ sortix/time.cpp | 1 - sortix/user-timer.cpp | 3 +- sortix/vga.cpp | 2 +- sortix/vnode.cpp | 2 +- sortix/x64/process.cpp | 2 +- sortix/x64/thread.cpp | 2 +- sortix/x86-family/float.cpp | 2 +- sortix/x86/process.cpp | 2 +- sortix/x86/thread.cpp | 2 +- 35 files changed, 380 insertions(+), 388 deletions(-) commit 7aa061e50e759eeb5f8b7f2164a88b8df08c3dff Author: Jonas 'Sortie' Termansen Date: Mon May 13 00:52:33 2013 +0200 Refactor kernel signal.h header. sortix/clock.cpp | 3 +-- sortix/{ => include/sortix/kernel}/signal.h | 9 +++++---- sortix/interrupt.cpp | 2 +- sortix/kernel.cpp | 2 +- sortix/kthread.cpp | 6 +++--- sortix/pipe.cpp | 2 +- sortix/scheduler.cpp | 2 +- sortix/signal.cpp | 6 +++--- sortix/thread.h | 3 +-- 9 files changed, 17 insertions(+), 18 deletions(-) commit d0f68eec68d7cd7c60cea602d5cc9e7b565b8241 Author: Jonas 'Sortie' Termansen Date: Mon May 13 00:22:59 2013 +0200 Refactor kernel cpu.h header. sortix/ata.cpp | 2 +- sortix/bga.cpp | 2 +- sortix/cpu.h | 51 --------------- sortix/include/sortix/kernel/cpu.h | 131 +++++++++++++++++++++++++++++++++++++ sortix/kb/ps2.cpp | 2 +- sortix/pci.cpp | 2 +- sortix/process.h | 3 +- sortix/signal.h | 2 +- sortix/sound.cpp | 2 +- sortix/uart.cpp | 3 +- sortix/x64/x64.cpp | 2 +- sortix/x64/x64.h | 58 ---------------- sortix/x86-family/time.cpp | 3 +- sortix/x86/x86.cpp | 2 +- sortix/x86/x86.h | 57 ---------------- 15 files changed, 143 insertions(+), 179 deletions(-) commit a15ffa955b7d3dec2afe5aa70228578356779824 Author: Jonas 'Sortie' Termansen Date: Tue May 14 10:07:31 2013 +0200 Obsolete uptime(2). bench/benchctxswitch.cpp | 11 +++++++++++ bench/benchsyscall.cpp | 10 ++++++++++ games/asteroids.cpp | 16 +++++++++------- libc/Makefile | 1 - libc/include/unistd.h | 1 - libc/sys/time/gettimeofday.cpp | 3 +-- libc/uptime.cpp | 34 ---------------------------------- utils/uptime.cpp | 13 ++++++++++--- 8 files changed, 41 insertions(+), 48 deletions(-) commit 71a2fef5f683bbe2c068ed240b88f0c7d17a86ce Author: Jonas 'Sortie' Termansen Date: Tue May 14 18:41:24 2013 +0200 Add clock_nanosleep(2). libc/Makefile | 2 ++ libc/sleep.cpp | 12 ++++---- libc/time/clock_nanosleep.cpp | 37 +++++++++++++++++++++++ libc/time/nanosleep.cpp | 33 ++++++++++++++++++++ libc/usleep.cpp | 13 ++++---- sortix/clock.cpp | 58 ++++++++++++++++++++++++++++++++++++ sortix/include/sortix/kernel/clock.h | 3 ++ sortix/include/sortix/syscallnum.h | 3 +- sortix/scheduler.cpp | 2 ++ sortix/user-timer.cpp | 23 ++++++++++++++ 10 files changed, 173 insertions(+), 13 deletions(-) commit 1e2550c0d59ce4b28baf3608821680cae4553531 Author: Jonas 'Sortie' Termansen Date: Sun May 12 22:10:09 2013 +0200 Add clock_*(2) API. libc/Makefile | 9 +++++++-- libc/include/time.h | 6 ++++++ libc/{ => sys/time}/gettimeofday.cpp | 18 ++++++++++-------- libc/time/clock_getres.cpp | 30 ++++++++++++++++++++++++++++++ libc/time/clock_gettime.cpp | 30 ++++++++++++++++++++++++++++++ libc/time/clock_gettimeres.cpp | 36 ++++++++++++++++++++++++++++++++++++ libc/time/clock_settime.cpp | 30 ++++++++++++++++++++++++++++++ libc/time/clock_settimeres.cpp | 36 ++++++++++++++++++++++++++++++++++++ libc/{ => time}/time.cpp | 14 ++++++-------- sortix/include/sortix/syscallnum.h | 4 +++- sortix/user-timer.cpp | 34 ++++++++++++++++++++++++++++++++++ 11 files changed, 228 insertions(+), 19 deletions(-) commit 2d94cd1246c689e4c7564aea2f62eccf027501cc Author: Jonas 'Sortie' Termansen Date: Sun May 12 01:24:17 2013 +0200 Add alarm(2) and alarmns(2). libc/Makefile | 2 ++ libc/alarm.cpp | 35 ++++++++++++++++++ libc/alarmns.cpp | 35 ++++++++++++++++++ libc/include/unistd.h | 7 +++- sortix/Makefile | 1 + sortix/alarm.cpp | 73 ++++++++++++++++++++++++++++++++++++++ sortix/alarm.h | 31 ++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 +- sortix/kernel.cpp | 4 +++ sortix/process.cpp | 28 +++++++++++---- sortix/process.h | 2 ++ 11 files changed, 213 insertions(+), 8 deletions(-) commit df5deac29bb0bb2734f54fdcbd37d14189d65d76 Author: Jonas 'Sortie' Termansen Date: Sun Oct 13 23:56:33 2013 +0200 Add support for per-process timers. libc/Makefile | 5 + libc/include/sys/types.h | 2 +- libc/include/time.h | 13 +- libc/time/timer_create.cpp | 37 +++ libc/time/timer_delete.cpp | 34 +++ libc/time/timer_getoverrun.cpp | 34 +++ libc/time/timer_gettime.cpp | 35 +++ libc/time/timer_settime.cpp | 37 +++ sortix/Makefile | 4 + sortix/clock.cpp | 374 ++++++++++++++++++++++++++++++ sortix/include/sortix/__/types.h | 2 +- sortix/include/sortix/itimerspec.h | 40 ++++ sortix/include/sortix/kernel/clock.h | 80 +++++++ sortix/include/sortix/kernel/time.h | 11 +- sortix/include/sortix/kernel/timer.h | 79 +++++++ sortix/include/sortix/kernel/user-timer.h | 50 ++++ sortix/include/sortix/sigevent.h | 54 +++++ sortix/include/sortix/syscallnum.h | 7 +- sortix/include/sortix/time.h | 36 +++ sortix/kernel.cpp | 9 +- sortix/process.cpp | 11 + sortix/process.h | 17 +- sortix/thread.h | 2 +- sortix/time.cpp | 132 +++-------- sortix/timer.cpp | 134 +++++++++++ sortix/user-timer.cpp | 237 +++++++++++++++++++ sortix/x86-family/time.cpp | 122 ++++++++++ 27 files changed, 1472 insertions(+), 126 deletions(-) commit 12a8bb91aa9ad04f0db76f28a39d86134d6dd697 Author: Jonas 'Sortie' Termansen Date: Mon Jun 10 12:07:06 2013 +0200 Update help program to search PATH. utils/help.cpp | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 86 insertions(+), 8 deletions(-) commit 7fc085f469c546dbbbc61388b4b4ec133b453838 Author: Jonas 'Sortie' Termansen Date: Fri May 3 22:44:40 2013 +0200 Add pw_gecos to struct passwd. libc/include/pwd.h | 1 + libc/pwent.cpp | 2 ++ 2 files changed, 3 insertions(+) commit ef32b3fcbe26dc252536ed8249b8881815d78597 Author: Jonas 'Sortie' Termansen Date: Fri May 3 21:42:36 2013 +0200 Add {,p}{read,write}v(2). libc/Makefile | 4 + libc/include/sys/uio.h | 49 +++++++++++ libc/preadv.cpp | 34 ++++++++ libc/pwritev.cpp | 34 ++++++++ libc/readv.cpp | 33 ++++++++ libc/writev.cpp | 33 ++++++++ sortix/include/sortix/syscallnum.h | 10 ++- sortix/include/sortix/uio.h | 40 +++++++++ sortix/io.cpp | 168 +++++++++++++++++++++++++++++++++++++ 9 files changed, 402 insertions(+), 3 deletions(-) commit b3e7aafff8dd3260b8e7a429d9bb6dc3f91a1850 Author: Jonas 'Sortie' Termansen Date: Wed May 1 22:00:44 2013 +0200 Add psignal(3). libc/Makefile | 1 + libc/psignal.cpp | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) commit 73f3d1c251118b6d896c61090a56ae851670046c Author: Jonas 'Sortie' Termansen Date: Tue Apr 23 23:52:51 2013 +0200 Add /dev/net/fs network device. sortix/Makefile | 1 + sortix/kernel.cpp | 4 + sortix/net/fs.cpp | 488 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/net/fs.h | 36 ++++ 4 files changed, 529 insertions(+) commit 658defdbc304ad096ab7ebcc6d762ef55b93ed9e Author: Jonas 'Sortie' Termansen Date: Wed Apr 24 17:32:11 2013 +0200 Refactor pipe implementation. sortix/include/sortix/kernel/pipe.h | 51 +++++++++++++ sortix/pipe.cpp | 143 +++++++++++++++++++++--------------- 2 files changed, 135 insertions(+), 59 deletions(-) commit 7f543dc9106ef4d9d284a21f0f06b2d396910c1e Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 19:20:19 2013 +0100 Add strto{f,d,ld}(3). libc/Makefile | 3 ++ libc/atof.cpp | 53 +---------------------------- libc/include/stdlib.h | 6 ++-- libc/strtod.cpp | 28 +++++++++++++++ libc/strtof.cpp | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++ libc/strtold.cpp | 28 +++++++++++++++ 6 files changed, 157 insertions(+), 55 deletions(-) commit 28a4fe477b372b2c7d3086fc2031f87a18696166 Author: Jonas 'Sortie' Termansen Date: Mon Apr 22 11:37:04 2013 +0200 Add tmpnam(3). libc/Makefile | 1 + libc/include/stdio.h | 7 +++++-- libc/tmpnam.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) commit 881776f72bed4782cf9d6eba5522bce0c955a3ba Author: Jonas 'Sortie' Termansen Date: Mon Apr 22 11:39:17 2013 +0200 Declare obsolete POSIX declarations. libc/include/features.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ee4acf731c9e6f9fb3bf77901bd219ffd3952707 Author: Jonas 'Sortie' Termansen Date: Mon Apr 22 10:15:44 2013 +0200 Add mblen(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/mblen.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) commit bf66d5bb76759f9e804031a4cb449acecfa50751 Author: Jonas 'Sortie' Termansen Date: Mon Apr 22 10:06:19 2013 +0200 Add mbrlen(3). libc/Makefile | 3 +- libc/include/wchar.h | 2 +- libc/mbrlen.cpp | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 2 deletions(-) commit 12947b0bdfdc87d6ea82500b6e9c026689692769 Author: Jonas 'Sortie' Termansen Date: Mon Apr 22 00:29:33 2013 +0200 Add fgetpos(3) and fsetpos(3). libc/Makefile | 2 ++ libc/fgetpos.cpp | 32 ++++++++++++++++++++++++++++++++ libc/fsetpos.cpp | 32 ++++++++++++++++++++++++++++++++ libc/include/stdio.h | 7 +++---- 4 files changed, 69 insertions(+), 4 deletions(-) commit 3c941997200c7bae1ea5b9b6084caf56c5f140fb Author: Jonas 'Sortie' Termansen Date: Mon Apr 22 00:38:38 2013 +0200 Add ENOLOCK. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 1a67e969c3b9e09a2675d637b50d4b0a69079d3c Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:22:59 2013 +0200 Add EPROTOTYPE. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit ad19a884739f25aa996cbc8b9d3389b2f978f763 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:20:09 2013 +0200 Add ENFILE. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit d16d327f321d8f33c3a22fc1868f582bf9111bdc Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:19:14 2013 +0200 Add EDEADLK. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 9f3cb1cf56ad2ee1c5389097ac2eaa58b44ecfcb Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:17:03 2013 +0200 Add ENOTCONN. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit d28a85bd8751fc841d3e5f4625142c8a952a2c26 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:16:32 2013 +0200 Add ENOPROTOOPT. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 369253450afab3ce8c38f3b03debcc934ee9a3a7 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:15:42 2013 +0200 Add ENOMSG. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 1b116d5cd44a1bdd78494589759f869bc98ff98d Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:14:55 2013 +0200 Add ENOBUFS. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 1e89d641d46688ebc0ce6121310581db14261ff6 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:14:05 2013 +0200 Add ENETUNREACH. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit c8a73cdd4081d8e91088ac7d84f474bd6e9c7e4b Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:13:23 2013 +0200 Add ENETRESET. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 670f612e12822a7c4e818bbf350926f55769fd25 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:12:18 2013 +0200 Add ENETDOWN. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit db02cd569b3f923de69835f03634ad220cf270bf Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:11:39 2013 +0200 Add EMSGSIZE. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 62734a008bafab7273936bc9c753733d94891912 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:10:44 2013 +0200 Add EHOSTUNREACH. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit fd6b3cce91353634bbe42737a71940ef6285820e Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:09:59 2013 +0200 Add EDESTADDRREQ. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 1adef1d0e2a6e5d92425868c73f103ecb030f21d Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:07:06 2013 +0200 Add EFAULT. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 4eb06d906367898ef523115ad8c55403c5cf3b74 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:05:48 2013 +0200 Add EISCONN. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 8427ee7a0f615f7cc8d27fd2f050178c8ac79e59 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 23:05:18 2013 +0200 Add EADDRNOTAVAIL. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 5e9bd04cc74b1f2022003c399af211019cbf4a8b Author: Jonas 'Sortie' Termansen Date: Thu Apr 18 14:53:17 2013 +0200 Add sysconf(_SC_PAGESIZE). libc/sysconf.cpp | 2 ++ 1 file changed, 2 insertions(+) commit c829cb3c20debb9e54878a6b113b1d8d4e0161ff Author: Jonas 'Sortie' Termansen Date: Thu Apr 18 13:56:34 2013 +0200 Add d_ino to struct dirent. libc/fddir-sortix.c | 1 + libc/include/dirent.h | 2 ++ 2 files changed, 3 insertions(+) commit f174660e2b0840778e63445e3c91825c069f6d9c Author: Jonas 'Sortie' Termansen Date: Thu Apr 18 12:59:05 2013 +0200 Add sigprocmask(2) stub. libc/Makefile | 1 + libc/sigprocmask.cpp | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) commit 6dbff1991bf2d788275cb2d04134a2523a4db1af Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:09:59 2013 +0100 Add sigset functions. libc/Makefile | 5 +++++ libc/sigaddset.cpp | 39 +++++++++++++++++++++++++++++++++++++++ libc/sigdelset.cpp | 39 +++++++++++++++++++++++++++++++++++++++ libc/sigemptyset.cpp | 32 ++++++++++++++++++++++++++++++++ libc/sigfillset.cpp | 32 ++++++++++++++++++++++++++++++++ libc/sigismember.cpp | 38 ++++++++++++++++++++++++++++++++++++++ libc/signal.cpp | 1 + 7 files changed, 186 insertions(+) commit e88d492efd5ac8f89b515e4efac557968054b92c Author: Jonas 'Sortie' Termansen Date: Thu Apr 18 12:41:39 2013 +0200 Add sigaction(2). libc/Makefile | 1 + libc/sigaction.cpp | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) commit 615bf32c600b6488e27944af93290e44f44996c3 Author: Jonas 'Sortie' Termansen Date: Sun Oct 13 23:49:09 2013 +0200 Forward declare API. libc/include/signal.h | 174 ++++++++++++++++++++++++++++++++++++++--- sortix/include/sortix/signal.h | 4 + 2 files changed, 166 insertions(+), 12 deletions(-) commit 29df8b3092bf23ef77a0157f5691c8863d94e45a Author: Jonas 'Sortie' Termansen Date: Tue Apr 16 11:44:04 2013 +0200 Add confstr(3). libc/Makefile | 1 + libc/confstr.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 34 ++++++++++++++++++++++++++++++++-- 3 files changed, 73 insertions(+), 2 deletions(-) commit e249533d99fa06f6c1c6dc35e33565576c4a0e6f Author: Jonas 'Sortie' Termansen Date: Tue Apr 16 10:30:13 2013 +0200 Add home directory syntax to shell. utils/mxsh.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) commit 5260d22492a2a4be907aec795b7fa986a77c6c32 Author: Jonas 'Sortie' Termansen Date: Tue Apr 16 10:19:00 2013 +0200 Simplify STDFOO_FILENO macros. libc/include/unistd.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 2b3f3d0bc4d4a1c13897c259fabfe422f482967a Author: Jonas 'Sortie' Termansen Date: Tue Apr 16 10:10:50 2013 +0200 Add sysconf(3). libc/Makefile | 1 + libc/include/unistd.h | 128 +++++++++++++++++++++++++++++++++++++++++++++++++- libc/sysconf.cpp | 38 +++++++++++++++ 3 files changed, 165 insertions(+), 2 deletions(-) commit f1fb806f7231d1bd236818774c22b2d03c298643 Author: Jonas 'Sortie' Termansen Date: Tue Apr 16 00:08:08 2013 +0200 Add getlogin(2) and getlogin_r(2). libc/Makefile | 2 ++ libc/getlogin.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ libc/getlogin_r.cpp | 39 +++++++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 6 +++--- libc/pwent.cpp | 8 -------- 5 files changed, 92 insertions(+), 11 deletions(-) commit 57003dd777187d6b6975cfa59d8511f6c0c3af06 Author: Jonas 'Sortie' Termansen Date: Sat Apr 13 00:41:48 2013 +0200 Add gethostname(2). libc/Makefile | 1 + libc/gethostname.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- 3 files changed, 42 insertions(+), 1 deletion(-) commit 931c0d1bc5d1a429f299525474e9beebacb1bede Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 02:44:06 2013 +0100 Add inttypes.h format and scan macros. libc/include/__/stdint.h | 263 +++++++++++++++++++++++++++++++++++++++++++++++ libc/include/inttypes.h | 179 +++++++++++++++++++++++++++++++- 2 files changed, 438 insertions(+), 4 deletions(-) commit 3eeec255c06ad5c61b4473363094021382f0510d Author: Jonas 'Sortie' Termansen Date: Sun Apr 7 17:26:46 2013 +0200 Use alternate restrict keyword when unavailable. libc/include/features.h | 20 ++++++++++++-- libc/include/netdb.h | 8 +++--- libc/include/stdio.h | 58 +++++++++++++++++++-------------------- libc/include/stdlib.h | 22 +++++++-------- libc/include/string.h | 24 ++++++++-------- libc/include/sys/select.h | 4 +-- libc/include/sys/socket.h | 14 +++++----- libc/include/sys/stat.h | 4 +-- libc/include/sys/time.h | 2 +- libc/include/time.h | 24 ++++++++-------- libc/include/unistd.h | 6 ++-- libc/include/wchar.h | 70 +++++++++++++++++++++++------------------------ libc/memcpy.cpp | 3 -- 13 files changed, 136 insertions(+), 123 deletions(-) commit d7c8e1e6df0fe89c4719c647d4b908a76520178e Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 19:19:41 2013 +0100 Add O_ACCMODE. libc/include/fcntl.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 09ddd20fb6e03844a2e78f45bfac1da8ac657cd8 Author: Jonas 'Sortie' Termansen Date: Sun Apr 7 15:27:13 2013 +0200 Add alloca.h. libc/include/alloca.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) commit 0ff17a00c83f34921b3d23f3e3ae999e4b1d7b8c Author: Jonas 'Sortie' Termansen Date: Sun Mar 31 17:28:04 2013 +0200 Add O_NONBLOCK support to the kernel terminal. sortix/logterminal.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 514fab535959a7a35644bbc5a885bb17ded7630f Author: Jonas 'Sortie' Termansen Date: Sun Mar 31 17:25:38 2013 +0200 Add O_NONBLOCK support to pipes. sortix/pipe.cpp | 4 ++++ 1 file changed, 4 insertions(+) commit c514dda0b21869c4dbd8c4a71660df7e08f5719d Author: Jonas 'Sortie' Termansen Date: Mon Jul 8 13:03:28 2013 +0200 Add O_NONBLOCK support to sockets. libc/sys/socket/socket.cpp | 3 +-- sortix/io.cpp | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) commit 1052f2c47a2e3e53a8e5281820e284980653a996 Author: Jonas 'Sortie' Termansen Date: Sun Mar 31 17:18:17 2013 +0200 Add O_NONBLOCK. sortix/descriptor.cpp | 7 +++++-- sortix/include/sortix/fcntl.h | 5 +++-- sortix/include/sortix/kernel/ioctx.h | 1 + sortix/ioctx.cpp | 2 ++ 4 files changed, 11 insertions(+), 4 deletions(-) commit ed5f14878d6891f719252eecfaa7f06c0f898130 Author: Jonas 'Sortie' Termansen Date: Sun Mar 31 17:05:41 2013 +0200 Add AT_SYMLINK_FOLLOW. sortix/include/sortix/fcntl.h | 1 + 1 file changed, 1 insertion(+) commit aca2a414019b746aa6dbd7ea12c733405d6423c3 Author: Jonas 'Sortie' Termansen Date: Sun Mar 31 14:59:47 2013 +0200 Implement setjmp(3) and longjmp(3). libc/Makefile | 2 +- libc/include/setjmp.h | 13 +++++---- libc/x64/setjmp.s | 62 +++++++++++++++++++++++++++++++++++++++++ libc/{setjmp.c => x86/setjmp.s} | 59 ++++++++++++++++++++++++++------------- 4 files changed, 109 insertions(+), 27 deletions(-) commit 70a661e1ab2b7dc4299f26b9b4c9c9f5c29c2134 Author: Jonas 'Sortie' Termansen Date: Fri Mar 29 14:56:52 2013 +0100 Add dirname(3) and basename(3). libc/Makefile | 2 ++ libc/basename.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ libc/dirname.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++++++ libc/include/libgen.h | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+) commit 8cc4c6cb0349bcc7d17f9f5b92b27f49aa714fa8 Author: Jonas 'Sortie' Termansen Date: Fri Mar 29 14:28:46 2013 +0100 Add tmpfile(3). libc/Makefile | 1 + libc/include/stdio.h | 2 +- libc/tmpfile.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) commit 8b7dad7d4db8a641dc0f37a7f74acde1c2eced7c Author: Jonas 'Sortie' Termansen Date: Sat Mar 16 22:41:23 2013 +0100 Add colormake(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/colormake.cpp | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+) commit cab42930908b970ccb7cb28e0ac92e3d8f494a06 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 01:39:18 2013 +0100 Add wcstombs(3). libc/Makefile | 1 + libc/include/stdlib.h | 4 ++-- libc/wcstombs.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 2 deletions(-) commit 8e0d659cec6ea443e8f0090fd66da8d4755b69dc Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 18:07:34 2013 +0100 Add wcsrtombs(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcsrtombs.cpp | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) commit 9e242e9cd7fa59736de9e7fc1f2abdd1572b9d54 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 01:27:23 2013 +0100 Add mbstowcs(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/mbstowcs.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) commit 9c336562a73f79f9576b20b666049cffdd1d4081 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 14:34:33 2013 +0100 Add mbsrtowcs(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/mbsrtowcs.cpp | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) commit eb9e027697cc14688736cd9c36af98485654f864 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:50:32 2013 +0100 Add wcstok(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcstok.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) commit b4945e88b206a174c7187d22b70163b75d9cb54a Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:54:09 2013 +0100 Add wcscspn(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcscspn.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) commit 1938db2c25a34ad0367c418b3e5c93c5ba08d37b Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:52:15 2013 +0100 Add wcsspn(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcsspn.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) commit 1902f2d797a1c082b597266ff838c314dded5fb9 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:46:19 2013 +0100 Add wcsrchr(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcsrchr.cpp | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) commit 7734074ba7fac008d90930dafe921b3155bef85c Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:44:58 2013 +0100 Add wcsncpy(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcsncpy.cpp | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) commit 3ec03badf3ec71dd545a8c4dbd3c1c8bb01b3d02 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:43:34 2013 +0100 Add wcsncat(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcsncat.cpp | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) commit c4da23f1f5e6e7257bd6354860f2670329c50c16 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:41:10 2013 +0100 Add wcscmp(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcscmp.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) commit ff33adeb7fd50c755bb36daf4925e791eca20c59 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:36:57 2013 +0100 Add wcschr{,nul}(3). libc/Makefile | 2 ++ libc/include/wchar.h | 3 ++- libc/wcschr.cpp | 31 +++++++++++++++++++++++++++++++ libc/wcschrnul.cpp | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 1 deletion(-) commit 10d01d8098cd11e70fa2ad1118e4c5e49b4024f5 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:30:39 2013 +0100 Add wcscat(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcscat.cpp | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) commit 93eda97b84453549aaac8917d3b7e1c8b56901c7 Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:29:06 2013 +0100 Add wcslen(3). libc/Makefile | 1 + libc/include/wchar.h | 2 +- libc/wcslen.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit 8f1e1018c7726bf42c2bdf852e7d1c2f7bbfc4bd Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 00:25:25 2013 +0100 Add wcscpy(3). libc/Makefile | 1 + libc/include/wchar.h | 4 ++-- libc/wcscpy.cpp | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) commit 01a82b2882ba935793c0dca96408ef39960180f0 Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 23:57:55 2013 +0100 Add ttyname(2). libc/Makefile | 1 + libc/include/unistd.h | 2 +- libc/ttyname.cpp | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) commit 3c4b4ace0cfa6461273ca2f5e3c80dc9cceed7a7 Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 23:03:28 2013 +0100 Add ECONNRESET. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 9e04af42a957dbb4fb6ac4902a3a014c21dcd46c Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 23:02:43 2013 +0100 Add ECONNABORTED. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 74a3081d5be51b7512606a15febbc6f14eaa3fc9 Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 23:02:00 2013 +0100 Add ESHUTDOWN. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 7f1a542f7b25d32a73c849870642d5b3fb0f7087 Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 23:01:13 2013 +0100 Add EALREADY. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit e60b8d15a55b8f88fd6377c2351d9615098bb4a2 Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 23:00:37 2013 +0100 Reuse the same dispd framebuffer if possible. dispd/client/window.cpp | 32 +++++++++++++++++++++++++++++--- dispd/client/window.h | 2 ++ 2 files changed, 31 insertions(+), 3 deletions(-) commit cf9719526e2ec76717ae1b2f6ed56e662f3a9cef Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 02:03:37 2013 +0100 Add EINPROGRESS. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 552ecf521e47251a01474511711ccf30a2974ed8 Author: Jonas 'Sortie' Termansen Date: Sat Mar 23 01:34:52 2013 +0100 Add EDOM. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 17f51aca2074309bb987945c3a19eddd52e496a8 Author: Jonas 'Sortie' Termansen Date: Fri Mar 8 18:18:45 2013 +0100 Add <__/limits.h> stub. libc/include/__/limits.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) commit 694f043beadf35d893e748964740056b4eddb639 Author: Jonas 'Sortie' Termansen Date: Fri Mar 8 18:16:11 2013 +0100 Add __pure2 attribute to features.h. libc/include/features.h | 2 ++ 1 file changed, 2 insertions(+) commit 79a49b20156aa01a43e35ba2c219bdddbf848381 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 22:40:12 2013 +0100 Add socket interface. libc/Makefile | 45 +++++++++ libc/arpa/inet/inet_addr.cpp | 36 +++++++ libc/arpa/inet/inet_ntoa.cpp | 36 +++++++ libc/arpa/inet/inet_ntop.cpp | 37 +++++++ libc/arpa/inet/inet_pton.cpp | 36 +++++++ libc/decl/in_addr_t.h | 4 + libc/decl/in_port_t.h | 4 + libc/decl/sa_family_t.h | 4 + libc/decl/socklen_t.h | 4 + libc/include/arpa/inet.h | 42 ++++++++ libc/include/netdb.h | 142 +++++++++++++++++++++++++++ libc/include/netinet/in.h | 126 ++++++++++++++++++++++++ libc/include/sys/socket.h | 158 ++++++++++++++++++++++++++++++ libc/include/sys/un.h | 42 ++++++++ libc/netdb/endhostent.cpp | 34 +++++++ libc/netdb/endnetent.cpp | 34 +++++++ libc/netdb/endprotoent.cpp | 34 +++++++ libc/netdb/endservent.cpp | 34 +++++++ libc/netdb/freeaddrinfo.cpp | 34 +++++++ libc/netdb/gai_strerror.cpp | 34 +++++++ libc/netdb/getaddrinfo.cpp | 36 +++++++ libc/netdb/gethostent.cpp | 34 +++++++ libc/netdb/getnameinfo.cpp | 36 +++++++ libc/netdb/getnetbyaddr.cpp | 34 +++++++ libc/netdb/getnetbyname.cpp | 34 +++++++ libc/netdb/getnetent.cpp | 34 +++++++ libc/netdb/getprotobyname.cpp | 34 +++++++ libc/netdb/getprotobynumber.cpp | 34 +++++++ libc/netdb/getprotoent.cpp | 34 +++++++ libc/netdb/getservbyname.cpp | 34 +++++++ libc/netdb/getservbyport.cpp | 34 +++++++ libc/netdb/getservent.cpp | 34 +++++++ libc/netdb/sethostent.cpp | 34 +++++++ libc/netdb/setnetent.cpp | 34 +++++++ libc/netdb/setprotoent.cpp | 34 +++++++ libc/netdb/setservent.cpp | 34 +++++++ libc/sys/socket/accept.cpp | 31 ++++++ libc/sys/socket/accept4.cpp | 44 +++++++++ libc/sys/socket/bind.cpp | 33 +++++++ libc/sys/socket/connect.cpp | 33 +++++++ libc/sys/socket/getpeername.cpp | 34 +++++++ libc/sys/socket/getsockname.cpp | 34 +++++++ libc/sys/socket/getsockopt.cpp | 34 +++++++ libc/sys/socket/listen.cpp | 33 +++++++ libc/sys/socket/recv.cpp | 33 +++++++ libc/sys/socket/recvfrom.cpp | 35 +++++++ libc/sys/socket/recvmsg.cpp | 34 +++++++ libc/sys/socket/send.cpp | 33 +++++++ libc/sys/socket/sendmsg.cpp | 34 +++++++ libc/sys/socket/sendto.cpp | 35 +++++++ libc/sys/socket/setsockopt.cpp | 34 +++++++ libc/sys/socket/shutdown.cpp | 34 +++++++ libc/sys/socket/sockatmark.cpp | 34 +++++++ libc/sys/socket/socket.cpp | 78 +++++++++++++++ libc/sys/socket/socketpair.cpp | 34 +++++++ sortix/descriptor.cpp | 33 +++++++ sortix/fs/user.cpp | 41 ++++++++ sortix/include/sortix/__/types.h | 1 + sortix/include/sortix/kernel/descriptor.h | 7 ++ sortix/include/sortix/kernel/inode.h | 16 +++ sortix/include/sortix/kernel/vnode.h | 6 ++ sortix/include/sortix/socket.h | 45 +++++++++ sortix/include/sortix/syscallnum.h | 8 +- sortix/include/sortix/x64/bits.h | 1 + sortix/include/sortix/x86/bits.h | 1 + sortix/inode.cpp | 35 +++++++ sortix/io.cpp | 69 +++++++++++++ sortix/vnode.cpp | 33 +++++++ 68 files changed, 2457 insertions(+), 1 deletion(-) commit ee106231c4eeb0d0b1b7c79a5db52677518508ad Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 22:00:36 2013 +0100 Add utimensat(2) and futimens(2). libc/Makefile | 3 +++ libc/futimens.cpp | 34 +++++++++++++++++++++++++++++ libc/include/sys/stat.h | 17 ++++++++++----- libc/include/utime.h | 44 ++++++++++++++++++++++++++++++++++++++ libc/utime.cpp | 18 ++++++++++------ libc/utimens.cpp | 33 ++++++++++++++++++++++++++++ libc/utimensat.cpp | 39 +++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 4 +++- sortix/io.cpp | 37 ++++++++++++++++++++++++++++++++ 9 files changed, 217 insertions(+), 12 deletions(-) commit 472155173dc3523178dcf14cddca7cdd81cbdd5e Author: Jonas 'Sortie' Termansen Date: Fri Mar 22 20:19:20 2013 +0100 Adopt struct timespec as the kernel time format. Note: Incompatible ABI change. libc/decl/timeval.h | 8 +++++++ libc/include/fsmarshall-msg.h | 6 ++--- libc/include/fsmarshall.h | 2 +- libc/include/sys/select.h | 2 +- libc/include/sys/stat.h | 10 ++++++++ libc/include/sys/time.h | 7 +----- mkinitrd/mkinitrd.cpp | 4 ++-- sortix/descriptor.cpp | 4 ++-- sortix/fs/user.cpp | 10 ++++---- sortix/include/sortix/kernel/descriptor.h | 3 +-- sortix/include/sortix/kernel/inode.h | 12 ++++------ sortix/include/sortix/kernel/vnode.h | 9 +++---- sortix/include/sortix/stat.h | 15 ++++++------ sortix/include/sortix/timeval.h | 40 ------------------------------- sortix/initrd.cpp | 9 +++---- sortix/inode.cpp | 16 ++++++++----- sortix/vnode.cpp | 4 ++-- 17 files changed, 69 insertions(+), 92 deletions(-) commit 46b86892de7cc81cf5a1592067771a7e6b604016 Author: Jonas 'Sortie' Termansen Date: Fri Mar 22 18:47:13 2013 +0100 Add __PRAGMA_WARNING for inserting warnings. libc/include/features.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) commit cc5302af315d7493a8c75deb499cae80599eab60 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 22:10:02 2013 +0100 Add atof(3). libc/Makefile | 1 + libc/atof.cpp | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ libc/include/stdlib.h | 2 +- 3 files changed, 83 insertions(+), 1 deletion(-) commit b852fbcc9b0dc46f7d8741d23af4860f50c54fcd Author: Jonas 'Sortie' Termansen Date: Fri Mar 22 14:13:42 2013 +0100 Add ctime{,_r}(3). libc/Makefile | 3 ++- libc/{ => time}/ctime.cpp | 11 ++++++----- libc/time/ctime_r.cpp | 31 +++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 6 deletions(-) commit c6d1285337dbf064c1d10abf4d7ebfbfc2b4f2e6 Author: Jonas 'Sortie' Termansen Date: Fri Mar 22 13:58:18 2013 +0100 Add pathconf(3). libc/Makefile | 1 + libc/include/unistd.h | 24 ++++++++++++++++++++++-- libc/pathconf.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 2 deletions(-) commit 6da33c469bac90929c7d2a8751f0909f80def9a4 Author: Jonas 'Sortie' Termansen Date: Sun Jan 13 03:14:18 2013 +0100 Add grent(3). libc/Makefile | 1 + libc/grent.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ libc/include/grp.h | 50 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) commit dab4b8a981b5b254b4b21430e1534c80f72b07b2 Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:08:58 2013 +0100 Add pwent(3). libc/Makefile | 1 + libc/include/pwd.h | 57 +++++++++++++++++++++++++ libc/pwent.cpp | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 181 insertions(+) commit 7ef559e2e160a4d24562b559a91a5f2e0f19cf7e Author: Jonas 'Sortie' Termansen Date: Fri Mar 22 01:08:38 2013 +0100 Add asctime{,_r}(3). libc/Makefile | 2 ++ libc/time/asctime.cpp | 36 +++++++++++++++++++++++++ libc/time/asctime_r.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+) commit 440e34ef625180a4cd0a166c9b5f18b5eecf071b Author: Jonas 'Sortie' Termansen Date: Fri Mar 22 00:13:05 2013 +0100 Add strftime(3). libc/Makefile | 1 + libc/sortix/time/.gitignore | 0 libc/time/strftime.cpp | 285 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 286 insertions(+) commit 8162011b5dc76902334a0912401f19234d20acad Author: Jonas 'Sortie' Termansen Date: Sun Oct 13 23:36:41 2013 +0200 Add header forward declarations. Note that many of the functions are not yet implemented. libc/decl/timer_t.h | 4 ++ libc/include/time.h | 88 +++++++++++++++++++++++++++++----------- sortix/include/sortix/__/types.h | 1 + sortix/include/sortix/clock.h | 2 + sortix/include/sortix/x64/bits.h | 1 + sortix/include/sortix/x86/bits.h | 1 + 6 files changed, 73 insertions(+), 24 deletions(-) commit dbc6c8c6637eb7e3c83c6f4cd2446000b46e28bf Author: Jonas 'Sortie' Termansen Date: Thu Mar 21 21:35:26 2013 +0100 Add ioctl(2). libc/Makefile | 1 + libc/include/sys/ioctl.h | 36 +++++++++++++++++++++++++++++++++++ libc/ioctl.cpp | 39 ++++++++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 5 +++-- sortix/io.cpp | 16 ++++++++++++++++ 5 files changed, 95 insertions(+), 2 deletions(-) commit ade239f18b22f21fbd852808144058e99502e0ac Author: Jonas 'Sortie' Termansen Date: Sun Jan 13 02:36:49 2013 +0100 Add {g,s}et{e,}{g,u}id(2). libc/Makefile | 8 +++ libc/getegid.cpp | 35 ++++++++++++ libc/geteuid.cpp | 35 ++++++++++++ libc/getgid.cpp | 35 ++++++++++++ libc/getuid.cpp | 35 ++++++++++++ libc/include/unistd.h | 16 +++--- libc/setegid.cpp | 35 ++++++++++++ libc/seteuid.cpp | 35 ++++++++++++ libc/setgid.cpp | 35 ++++++++++++ libc/setuid.cpp | 35 ++++++++++++ sortix/Makefile | 1 + sortix/identity.cpp | 106 +++++++++++++++++++++++++++++++++++++ sortix/identity.h | 36 +++++++++++++ sortix/include/sortix/syscallnum.h | 10 +++- sortix/ioctx.cpp | 13 +++-- sortix/kernel.cpp | 4 ++ sortix/process.cpp | 10 ++++ sortix/process.h | 7 ++- 18 files changed, 476 insertions(+), 15 deletions(-) commit 068c12be0422b8a8073e800d41ad6ab48cb59368 Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 14:41:19 2013 +0100 Add sig_atomic_t. libc/include/signal.h | 1 + 1 file changed, 1 insertion(+) commit 087bacb30f7b66fa39b7e9523d5c8bb60b384c6f Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:10:57 2013 +0100 Increase user-space stack to 512 KB. sortix/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 38b146472ee0f09d6055707110e4dffb6fd24b84 Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 14:50:24 2013 +0100 Implement F_SETFL and F_GETFL support in fcntl. sortix/descriptor.cpp | 17 +++++++++++++++++ sortix/include/sortix/kernel/descriptor.h | 2 ++ sortix/io.cpp | 7 ++++++- 3 files changed, 25 insertions(+), 1 deletion(-) commit ac1d64fd7ea05df37c6f40e5713775ee3edc8e71 Author: Jonas 'Sortie' Termansen Date: Thu Mar 21 15:25:43 2013 +0100 Refactor descriptor flags and security. libc/include/fcntl.h | 8 +++ sortix/descriptor.cpp | 124 ++++++++++++++++++++++++++++++++++++------ sortix/fs/user.cpp | 2 +- sortix/include/sortix/fcntl.h | 14 ++--- sortix/initrd.cpp | 4 +- sortix/io.cpp | 16 +++--- sortix/kernel.cpp | 6 +- sortix/pipe.cpp | 5 +- sortix/process.cpp | 2 +- 9 files changed, 139 insertions(+), 42 deletions(-) commit 915169bdae8c91e134ade08f6c92b6b4fbb45eeb Author: Jonas 'Sortie' Termansen Date: Wed Mar 20 22:57:24 2013 +0100 Bootstrap program_invocation_name. libc/init.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) commit 1e20b0e7ecad497fb4b4be3e9a6a65bcc33514a9 Author: Jonas 'Sortie' Termansen Date: Wed Mar 20 22:19:57 2013 +0100 Add freopen(3). libc/Makefile | 1 + libc/freopen.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) commit 476b27c301c2557615bdc80c45eb547a4cc8d6e7 Author: Jonas 'Sortie' Termansen Date: Wed Mar 20 22:11:55 2013 +0100 Refactor FILE creation and destruction. libc/Makefile | 3 ++ libc/decl/FILE.h | 4 +- libc/fclose.cpp | 13 ++----- libc/fdeletefile.cpp | 32 ++++++++++++++++ libc/fdio.c | 102 ++++++++++++++++++++++++++++++++++----------------- libc/fdio.h | 7 +++- libc/fgets.cpp | 2 + libc/fnewfile.cpp | 18 +++------ libc/fresetfile.cpp | 46 +++++++++++++++++++++++ libc/fshutdown.cpp | 45 +++++++++++++++++++++++ libc/include/stdio.h | 3 ++ libc/stdio.c | 9 +++-- 12 files changed, 222 insertions(+), 62 deletions(-) commit a90e6d5d16b1a8512f9d32a1085a01af517fa207 Author: Jonas 'Sortie' Termansen Date: Wed Mar 20 19:01:10 2013 +0100 Implement stdio line buffering semantics. libc/Makefile | 3 +++ libc/decl/FILE.h | 4 ++- libc/fgetc.cpp | 8 ++++-- libc/flbf.cpp | 2 +- libc/fnewfile.cpp | 11 +++++---- libc/fputc.cpp | 10 +++++--- libc/fread.cpp | 5 +++- libc/fsetdefaultbuf.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ libc/fwrite.cpp | 6 ++++- libc/include/stdio.h | 3 ++- libc/setbuf.cpp | 34 +++++++++++++++++++++++++ libc/setvbuf.cpp | 40 ++++++++++++++++++++++++++++++ libc/stdio.c | 1 + libc/ungetc.cpp | 6 ++++- 14 files changed, 183 insertions(+), 16 deletions(-) commit 15c48f4efc1abf97feedda9ac7070e01f9698701 Author: Jonas 'Sortie' Termansen Date: Sat Jan 5 15:08:19 2013 +0100 Add PATH variable. libc/execvpe.cpp | 86 +++++++++++++++++++++++++++++++++++++++++++------------- utils/init.cpp | 9 ++++++ 2 files changed, 76 insertions(+), 19 deletions(-) commit f29abd73ec51e67d246b929fb4378836a7d533a6 Author: Jonas 'Sortie' Termansen Date: Wed Mar 20 13:15:47 2013 +0100 Add fsync(2). libc/Makefile | 1 + libc/fsync.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 10 ++++++++++ 5 files changed, 48 insertions(+), 2 deletions(-) commit 04a4564924998d9a7b2581f5d306679f032ef742 Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 15:18:59 2013 +0200 Cross-compile mxmpp. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cccc249c80ff8ba88efc918fc549d0c7e149c4d4 Author: Jonas 'Sortie' Termansen Date: Wed Oct 2 15:18:27 2013 +0200 Cross-compile mkinitrd. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 80b4287c9d3441870c15905d62041cc7e98853f8 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 23:17:42 2013 +0100 Print program image path upon crash. sortix/interrupt.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit f2556c3551819ea07479e4c0af1d346f85a25c00 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 23:17:11 2013 +0100 Keep track of program image path. sortix/kernel.cpp | 4 ++++ sortix/process.cpp | 15 ++++++++++++++- sortix/process.h | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) commit e97990e14412193bc2d89a532ada86d12c4e66de Author: Jonas 'Sortie' Termansen Date: Tue Feb 19 21:41:28 2013 +0100 Add install(1) stub. utils/.gitignore | 39 ++++++++++++++++++++------------------- utils/Makefile | 2 ++ utils/cp.cpp | 12 ++++++++++++ utils/install-file.cpp | 24 ++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 19 deletions(-) commit e4bd7cad827b543767ba3da965872bf7bd9f25cf Author: Jonas 'Sortie' Termansen Date: Wed Mar 6 12:31:05 2013 +0100 Add MAP_PRIVATE and MAP_SHARED to sortix/mman.h. sortix/include/sortix/mman.h | 3 +++ 1 file changed, 3 insertions(+) commit 25b70f0e1c4a5562fe9fd1aec2a4a970f8550291 Author: Jonas 'Sortie' Termansen Date: Fri Mar 8 23:50:01 2013 +0100 Add ECONNREFUSED. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 633f4bb55cc78c4120adfcda479164fc6c392ec7 Author: Jonas 'Sortie' Termansen Date: Fri Mar 8 23:49:16 2013 +0100 Add ETIMEDOUT. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit d2b6543558768ec2583570f53e47e6e8084f8a33 Author: Jonas 'Sortie' Termansen Date: Sat Feb 23 14:56:09 2013 +0100 Add EADDRINUSE. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 279f15398f54887be244ffa4284676be06bc7029 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 22:39:49 2013 +0100 Add ENOTSOCK. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 8a72874548082168990879ded568a181fdcbe1b7 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 22:39:16 2013 +0100 Add EAFNOSUPPORT. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit c7d833686aa0752b3389aec96d3351e867ed4426 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 22:39:07 2013 +0100 Add EPROTONOSUPPORT. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) commit 971fc090b6410393c707885b1d3c85e556e4ce24 Author: Jonas 'Sortie' Termansen Date: Sun Mar 3 14:21:15 2013 +0100 Add select(2). libc/Makefile | 1 + libc/include/sys/select.h | 68 +++++++++++++++++++++++++++++++++++++++++++ libc/select.cpp | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) commit 729bfa3c32db88726394d2cd23407d93c8c91634 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 20:17:50 2013 +0100 Add readlink{,at}(2). libc/Makefile | 2 ++ libc/include/unistd.h | 4 ++-- libc/readlink.cpp | 32 ++++++++++++++++++++++++++++++++ libc/readlinkat.cpp | 37 +++++++++++++++++++++++++++++++++++++ sortix/descriptor.cpp | 2 ++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 20 ++++++++++++++++++++ 7 files changed, 97 insertions(+), 3 deletions(-) commit 9d3937fe9e8c4e30aa4f766ae9b56099f51931fc Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 18:53:31 2013 +0100 Add realpath(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/realpath.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) commit 0ce3d61cb926454b05154830209df7eb57d6a0aa Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 17:23:16 2013 +0100 Add canonicalize_file_name{,_at}(3). libc/Makefile | 2 + libc/canonicalize_file_name.cpp | 31 ++++++ libc/canonicalize_file_name_at.cpp | 206 +++++++++++++++++++++++++++++++++++++ libc/getcwd.cpp | 100 ++---------------- libc/include/stdlib.h | 2 + 5 files changed, 248 insertions(+), 93 deletions(-) commit 1a3aa45c2ca9ba9adda70e7cf53bf24e81ab3861 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 13:48:34 2013 +0100 Add srand(3). libc/include/stdlib.h | 2 +- libc/rand.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) commit 6d86af8d6080c85ab2da7b99bf35136a3be2c5cd Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 09:04:44 2013 +0100 Avoid noreturn macro conflict in . libc/include/stdlib.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 2630c7cb4e4c17ae4f570963d4a43137fe575b07 Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 08:59:01 2013 +0100 Add div(3), ldiv(3) and lldiv(3). libc/Makefile | 3 +++ libc/div.cpp | 33 +++++++++++++++++++++++++++++++++ libc/include/stdlib.h | 25 ++++++++++++++++++++----- libc/ldiv.cpp | 33 +++++++++++++++++++++++++++++++++ libc/lldiv.cpp | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 122 insertions(+), 5 deletions(-) commit c26cb897a010278266f16427860b4f93dae6d757 Author: Jonas 'Sortie' Termansen Date: Mon Mar 18 14:24:08 2013 +0100 Use malloc in memmove instead of operator new. libc/memmove.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit fc8d64013d232b4c3e20277d41d1a7db09d3b45e Author: Jonas 'Sortie' Termansen Date: Wed Jan 16 01:45:26 2013 +0100 Refactor datatype declarations. libc/decl/intn_t.h | 80 ------------- libc/decl/locale_t.h | 3 + libc/decl/wctrans_t.h | 3 + libc/decl/wint_t.h | 1 + libc/include/__/stdint.h | 250 +++++++++++++++++++++++++++++++++++++++ libc/include/features.h | 6 + libc/include/stdint.h | 132 ++++++++++++++++++++- libc/include/sys/__/types.h | 31 +++++ libc/include/sys/display.h | 1 + libc/include/sys/types.h | 6 +- libc/include/unistd.h | 10 +- sortix/dtable.cpp | 1 + sortix/include/sortix/__/types.h | 67 +++++++++++ sortix/include/sortix/bits.h | 17 +-- sortix/include/sortix/types.h | 30 +++++ utils/uname.cpp | 1 + 16 files changed, 532 insertions(+), 107 deletions(-) commit ce66539ff786cde03d3c68cf957d66727969d4c5 Author: Jonas 'Sortie' Termansen Date: Tue Mar 12 17:41:00 2013 +0100 Free surplus unused bcache blocks. sortix/fcache.cpp | 23 +++++++++++++++++++++++ sortix/include/sortix/kernel/fcache.h | 2 ++ 2 files changed, 25 insertions(+) commit 9434ee94fd1c80274c33b0e59234b3f29f514fa0 Author: Jonas 'Sortie' Termansen Date: Tue Mar 12 14:24:06 2013 +0100 Add file cache. sortix/Makefile | 1 + sortix/fcache.cpp | 473 ++++++++++++++++++++++++++++++++++ sortix/fs/kram.cpp | 71 ++--- sortix/fs/kram.h | 13 +- sortix/include/sortix/kernel/fcache.h | 143 ++++++++++ sortix/kernel.cpp | 4 + 6 files changed, 638 insertions(+), 67 deletions(-) commit dc4924585e573a2715f62cdb8cfb01a8715aec5f Author: Jonas 'Sortie' Termansen Date: Tue Mar 12 17:40:08 2013 +0100 Free the initrd after extraction. sortix/initrd.cpp | 20 ++++++++++++++++++++ sortix/initrd.h | 1 + sortix/kernel.cpp | 4 +++- 3 files changed, 24 insertions(+), 1 deletion(-) commit 54da838c79276795c0244b323420065497ec08c4 Author: Jonas 'Sortie' Termansen Date: Sat Feb 9 18:32:20 2013 +0100 Refactor kernel address space allocation. libc/heap.cpp | 43 ++++----- sortix/Makefile | 1 + sortix/addralloc.cpp | 122 ++++++++++++++++++++++++ sortix/bga.cpp | 109 ++++++++++++++------- sortix/include/sortix/kernel/addralloc.h | 48 ++++++++++ sortix/include/sortix/kernel/memorymanagement.h | 8 +- sortix/initrd.cpp | 25 ++--- sortix/kernel.cpp | 2 - sortix/x64/memorymanagement.cpp | 41 +------- sortix/x86/memorymanagement.cpp | 41 +------- 10 files changed, 292 insertions(+), 148 deletions(-) commit 5ce53a2a30d6c817a0d6172097e994b80f99b8e0 Author: Jonas 'Sortie' Termansen Date: Sun Mar 10 12:07:55 2013 +0100 Wait for orphans in init. utils/init.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 266a02ad7174278108646e683776a14d2df1fe7e Author: Jonas 'Sortie' Termansen Date: Sun Feb 17 14:22:39 2013 +0100 Add find(1) stub. utils/.gitignore | 1 + utils/Makefile | 1 + utils/find.cpp | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+) commit de41c02dedf254413edaf1aff85084abe853ceb9 Author: Jonas 'Sortie' Termansen Date: Sat Feb 16 16:28:15 2013 +0100 Add mv(1) utility. utils/.gitignore | 1 + utils/Makefile | 1 + utils/mv.cpp | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) commit c9289e839c9f3ac64c5de436600ee7082e2a8ad4 Author: Jonas 'Sortie' Termansen Date: Sat Feb 23 17:41:58 2013 +0100 Sort util/Makefile program list. utils/Makefile | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) commit fab7b7dfc8aafdaed9fd6461acc284982ac9df36 Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:11:19 2013 +0100 Rewrite cp(1). utils/cp.cpp | 433 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 400 insertions(+), 33 deletions(-) commit 4e095906fb93ff524a66cf58285209ca6d7fcb97 Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:04:14 2013 +0100 Add -c option to shell. utils/mxsh.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 7637e835b52c0e72cfe57de2097acbdafbec56d8 Author: Jonas 'Sortie' Termansen Date: Sun Dec 16 20:11:21 2012 +0100 Allow setting shell username and hostname. utils/mxsh.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 36f8d6e27390bac02a3b1b1e5ee81c667a7b07c8 Author: Jonas 'Sortie' Termansen Date: Sun Dec 9 19:53:36 2012 +0100 Add exit-on-error option to shell. utils/mxsh.cpp | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) commit 71be9b9b08fb0a954b3394986bf9df38976fb04f Author: Jonas 'Sortie' Termansen Date: Wed Nov 7 21:19:54 2012 +0100 Add support for shell scripts. utils/mxsh.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 8 deletions(-) commit dbab4e7683eb2d3bc3acc20629386b70970b2234 Author: Jonas 'Sortie' Termansen Date: Sat Oct 27 20:44:14 2012 +0200 Add shell non-interactive mode and shell comments. utils/mxsh.cpp | 130 ++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 91 insertions(+), 39 deletions(-) commit 94dcefb05c39e305ee568272de8beb9ffd6481c1 Author: Jonas 'Sortie' Termansen Date: Tue Oct 23 13:51:42 2012 +0200 Improve implementation of rm(1). utils/rm.cpp | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 196 insertions(+), 10 deletions(-) commit 25aebe4cd805a0c5ef770451a7db977e317d1d47 Author: Jonas 'Sortie' Termansen Date: Sat Mar 16 22:37:55 2013 +0100 Align ls long format. utils/ls.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cd48a3507427a806abd9e5f3ad35111423a683e4 Author: Jonas 'Sortie' Termansen Date: Tue Oct 23 13:52:37 2012 +0200 Add colors to sh(1) and ls(1). This makes Sortix a happier place to be. utils/ls.cpp | 32 +++++++++++++++++++++++++------- utils/mxsh.cpp | 2 +- 2 files changed, 26 insertions(+), 8 deletions(-) commit 0453ff95323cc7634b047ebf79d2590ba7103095 Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 22:21:47 2013 +0100 Add ln(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/ln.cpp | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) commit c32dac0e16ae3418cf1fd2a0954a4ed9fc946d91 Author: Jonas 'Sortie' Termansen Date: Sun Dec 9 19:10:34 2012 +0100 Add which(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/which.cpp | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 171 insertions(+) commit fe542c9276939f84d46177c8ef540dd2302153ae Author: Jonas 'Sortie' Termansen Date: Mon Oct 22 00:36:45 2012 +0200 Add rmdir(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/rmdir.cpp | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) commit 2169710127ed5b53eaa90fe0366676f280100dac Author: Jonas 'Sortie' Termansen Date: Sun Oct 21 23:48:16 2012 +0200 Add mkdir(1). utils/.gitignore | 1 + utils/Makefile | 1 + utils/mkdir.cpp | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 148 insertions(+) commit 6e22ee877d109e1d664d7b4d8227de2d758fc9ae Author: Jonas 'Sortie' Termansen Date: Wed Jan 16 14:07:41 2013 +0100 Provide __/wordsize.h. libc/include/__/wordsize.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) commit 8180797aa79b0d63769afe26abf90fe5943491fb Author: Jonas 'Sortie' Termansen Date: Mon Mar 18 14:22:23 2013 +0100 Support field widths in %c printf conversion. libc/format.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 4e46b40b4c759d6a514fe94137df388816e0e178 Author: Jonas 'Sortie' Termansen Date: Fri Mar 8 22:49:20 2013 +0100 Add support for ' ' and '+' flags to printf. libc/format.cpp | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) commit a023f2a348d9956277395cb96c6ebb492529187f Author: Jonas 'Sortie' Termansen Date: Sat Feb 16 16:02:04 2013 +0100 Add alternate flag to printf. libc/format.cpp | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) commit e70887cf3d57f9d12415c60075e8b2f289de99f0 Author: Jonas 'Sortie' Termansen Date: Thu Feb 14 14:23:49 2013 +0100 Add endian.h. libc/include/__/endian.h | 86 ++++++++++++++++++++++++++++++++++++++++++++++++ libc/include/endian.h | 62 ++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) commit bb1c80f68ef8004e01d5bb792a85a128b1a840be Author: Jonas 'Sortie' Termansen Date: Thu Feb 14 14:23:26 2013 +0100 Add byteswap.h. libc/include/__/byteswap.h | 39 +++++++++++++++++++++++++++++++++++++++ libc/include/byteswap.h | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) commit 7098317c09fa7e9df9e347d4c679926268aa7c28 Author: Jonas 'Sortie' Termansen Date: Thu Feb 21 12:00:32 2013 +0100 Only define the restrict macro if it hasn't already been. libc/include/features.h | 2 ++ 1 file changed, 2 insertions(+) commit 7b21a9eabd7db067e948608d34ca31aa0c7ce5cc Author: Jonas 'Sortie' Termansen Date: Thu Feb 21 12:00:14 2013 +0100 Always declare usleep(2). libc/include/unistd.h | 2 -- 1 file changed, 2 deletions(-) commit d3b9bdb3ba6fe02b28fdbf51023e9cb21c471f2a Author: Jonas 'Sortie' Termansen Date: Sat Feb 16 16:06:05 2013 +0100 Provide envp to the main function. libc/x64/crt1.s | 2 ++ libc/x86/crt1.s | 1 + 2 files changed, 3 insertions(+) commit b8f85d9ef2299945dabe60d16854c0f16816f6e2 Author: Jonas 'Sortie' Termansen Date: Tue Jan 15 19:39:52 2013 +0100 Add NSIG. sortix/include/sortix/signal.h | 1 + 1 file changed, 1 insertion(+) commit e8e5f14a5dfc4f6bfed408a38686e4c7d805d89a Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 22:57:42 2013 +0100 Add popen(3) and pclose(3). libc/Makefile | 1 + libc/include/stdio.h | 6 +- libc/popen.cpp | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 235 insertions(+), 3 deletions(-) commit 2d86b7dcf28412e0e7c5519d8ab79c210b5c5a6f Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 19:26:54 2013 +0100 Add system(3). libc/Makefile | 1 + libc/include/stdlib.h | 2 +- libc/system.cpp | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) commit 6b790a318480cdbfc1028f5f5ee8a57ff71f08e2 Author: Jonas 'Sortie' Termansen Date: Sun Jan 6 16:51:35 2013 +0100 Conditionally calltrace in abort(3). libc/abort.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) commit f6371bfcecc5412206fdb1a687d68971ec043b81 Author: Jonas 'Sortie' Termansen Date: Sun Jan 6 16:49:11 2013 +0100 Add calltrace(3) function. libc/Makefile | 2 ++ libc/calltrace.cpp | 43 +++++++++++++++++++++++++++++++++++++ libc/include/calltrace.h | 36 +++++++++++++++++++++++++++++++ libc/x64/calltrace.s | 53 ++++++++++++++++++++++++++++++++++++++++++++++ libc/x86/calltrace.s | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 189 insertions(+) commit 133e5d4410dec95eae568b1c8ba933bf1c3dbf8e Author: Jonas 'Sortie' Termansen Date: Sun Jan 13 02:55:11 2013 +0100 Make program_invocation_name a macro. libc/include/errno.h | 4 ++++ 1 file changed, 4 insertions(+) commit 03ab6cf26e48ba39f981e2076903d1dad55844bf Author: Jonas 'Sortie' Termansen Date: Sun Jan 6 21:37:40 2013 +0100 Add program_invocation_short_name(3). libc/include/errno.h | 1 + libc/init.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) commit b9d633108d423903d27becf5d432fc9218c0b946 Author: Jonas 'Sortie' Termansen Date: Thu Dec 20 16:17:59 2012 +0100 Add wctype(3). libc/Makefile | 1 + libc/decl/wctype_t.h | 2 +- libc/include/wctype.h | 34 ++++++----- libc/wctype.cpp | 124 +++++++++++++++++++++++++++++++++++++++ sortix/include/sortix/x64/bits.h | 1 - sortix/include/sortix/x86/bits.h | 1 - 6 files changed, 144 insertions(+), 19 deletions(-) commit 05219a27f25cd4cbb6ed9930f8fa5812d891b83e Author: Jonas 'Sortie' Termansen Date: Thu Dec 20 14:42:03 2012 +0100 Add mbrtowc(3), mbtowc(3), wcrtomb(3), wctomb(3). libc/Makefile | 3 ++ libc/include/stdlib.h | 4 +- libc/include/wchar.h | 5 ++- libc/mbrtowc.cpp | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++ libc/mbtowc.cpp | 7 ++-- libc/wcrtomb.cpp | 79 +++++++++++++++++++++++++++++++++++++ libc/wctomb.cpp | 32 +++++++++++++++ 7 files changed, 228 insertions(+), 7 deletions(-) commit e52c6c096624caf484017269ee46c00cde09b45c Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 19:01:42 2013 +0100 Add support for * field width in printf and %s field width. libc/format.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 4f9bbd1717a79bd3fcdae45e51c6c8013ddd7a0f Author: Jonas 'Sortie' Termansen Date: Sat Dec 8 23:56:14 2012 +0100 Add octal and adjusted blank support to printf. libc/format.cpp | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 159 insertions(+), 18 deletions(-) commit c25e4a18422b644a943e2ed67956035f18eb84eb Author: Jonas 'Sortie' Termansen Date: Sun Jan 13 02:27:26 2013 +0100 Add creat(3). libc/Makefile | 1 + libc/creat.cpp | 30 ++++++++++++++++++++++++++++++ libc/include/fcntl.h | 4 +--- 3 files changed, 32 insertions(+), 3 deletions(-) commit 391d844acaa0608cf178718260186e58a8433ca6 Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 21:53:24 2013 +0100 FILE backend controls return value of fclose. libc/fclose.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 06e2025a8743dc0b2234e846fe3977d259dbfd16 Author: Jonas 'Sortie' Termansen Date: Thu Dec 20 22:46:46 2012 +0100 Add support for useless 't' mode in fopen. libc/fdio.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 9ad7690c748793b6b67f1f694b163ef2e92f4372 Author: Jonas 'Sortie' Termansen Date: Sat Dec 8 21:14:04 2012 +0100 Rewrite stdio functions. These changes aim to make the stdio functions much more stable, flexible, correct and bugfree. libc/Makefile | 2 ++ libc/decl/FILE.h | 9 ++++--- libc/fclose.cpp | 3 ++- libc/fdio.c | 3 +++ libc/feof.cpp | 3 ++- libc/fflush.cpp | 12 +++++---- libc/fflush_stop_reading.cpp | 58 ++++++++++++++++++++++++++++++++++++++++++++ libc/fflush_stop_writing.cpp | 42 ++++++++++++++++++++++++++++++++ libc/fgetc.cpp | 43 +++++++++++++++++++++++++++++--- libc/fnewfile.cpp | 5 +++- libc/fpending.cpp | 2 +- libc/fpurge.cpp | 4 ++- libc/fputc.cpp | 26 +++++++++++++++++--- libc/fread.cpp | 33 ++++++++++++++++--------- libc/fseeko.cpp | 10 +++++--- libc/ftello.cpp | 17 ++++++++++--- libc/fwrite.cpp | 48 ++++++++++++++---------------------- libc/include/stdio.h | 2 ++ libc/ungetc.cpp | 25 ++++++++++++++++--- 19 files changed, 275 insertions(+), 72 deletions(-) commit 8e0aefda205925adfed07b4870c5a8e035bcfd3c Author: Jonas 'Sortie' Termansen Date: Thu Dec 20 16:18:42 2012 +0100 Add rename(2) and renameat(2). libc/Makefile | 2 + libc/include/fsmarshall-msg.h | 13 +++++- libc/include/stdio.h | 2 +- libc/rename.cpp | 31 ++++++++++++++ libc/renameat.cpp | 36 +++++++++++++++++ sortix/descriptor.cpp | 22 ++++++++++ sortix/fs/kram.cpp | 67 +++++++++++++++++++++++++++++++ sortix/fs/kram.h | 2 + sortix/fs/user.cpp | 24 +++++++++++ sortix/include/sortix/kernel/descriptor.h | 2 + sortix/include/sortix/kernel/inode.h | 4 ++ sortix/include/sortix/kernel/vnode.h | 2 + sortix/include/sortix/syscallnum.h | 3 +- sortix/inode.cpp | 8 ++++ sortix/io.cpp | 33 ++++++++++++++- sortix/vnode.cpp | 9 +++++ 16 files changed, 256 insertions(+), 4 deletions(-) commit fd6098a3a27b7208411f2d9c18c005a544939dca Author: Jonas 'Sortie' Termansen Date: Sat Feb 16 16:16:47 2013 +0100 Locking a NULL pointer using ScopedLock is a noop. sortix/include/sortix/kernel/kthread.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit bb284d9421c327e4a109cfead3ea119ce740a35f Author: Jonas 'Sortie' Termansen Date: Sat Jan 26 00:31:32 2013 +0100 Support doing calltraces on user-space/kernel crashes. sortix/interrupt.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) commit 7b3fd0f06fb373191146f27003ae529f1e67cf11 Author: Jonas 'Sortie' Termansen Date: Sat Jan 26 00:14:50 2013 +0100 Support doing kernel calltraces on another stack. sortix/calltrace.cpp | 8 ++++---- sortix/calltrace.h | 6 ++++-- sortix/x64/calltrace.s | 9 +++++++-- sortix/x86/calltrace.s | 9 +++++++-- 4 files changed, 22 insertions(+), 10 deletions(-) commit ef53864d363e30bc3b1325c01906b4b1313e4ed3 Author: Jonas 'Sortie' Termansen Date: Sun Dec 23 20:59:52 2012 +0100 dispd: Wait for console rendering to finish. This prevents a race condition where the console may still be rendering, but the process may be able to get data on the screen faster, which results in visual corruption as the two race. dispd/client/session.cpp | 15 +++++++++++++++ sortix/include/sortix/kernel/log.h | 7 +++++++ sortix/kernel.cpp | 8 +++++++- sortix/log.cpp | 3 +++ sortix/logterminal.cpp | 2 +- sortix/textterminal.cpp | 11 +++++++++++ sortix/textterminal.h | 1 + 7 files changed, 45 insertions(+), 2 deletions(-) commit ca7ad9709fd2f5ee6800105862c63c43be9ee660 Author: Jonas 'Sortie' Termansen Date: Sat Dec 22 21:09:41 2012 +0100 Queue lfb text render commands with async render. sortix/lfbtextbuffer.cpp | 378 ++++++++++++++++++++++++++++++++++++++++++----- sortix/lfbtextbuffer.h | 71 ++++++--- 2 files changed, 394 insertions(+), 55 deletions(-) commit ad0875aaac9d0b6e3b2d911e1168f1075ba28e19 Author: Jonas 'Sortie' Termansen Date: Sun Dec 23 19:14:33 2012 +0100 Add TextPos relations. sortix/include/sortix/kernel/textbuffer.h | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 907acf1e18ec3adfa7c52a18bb9fea704a42bfba Author: Jonas 'Sortie' Termansen Date: Sun Dec 23 18:51:47 2012 +0100 Add GetKernelProcess function to scheduler. sortix/include/sortix/kernel/scheduler.h | 1 + sortix/scheduler.cpp | 5 +++++ 2 files changed, 6 insertions(+) commit 193b76f8cb6c77d11d1c9c779b8952de53770cfe Author: Jonas 'Sortie' Termansen Date: Wed Jan 9 10:46:57 2013 +0100 Refactor scheduler API. sortix/{ => include/sortix/kernel}/scheduler.h | 25 ++++++++++++++++++------- sortix/interrupt.cpp | 2 +- sortix/kernel.cpp | 2 +- sortix/kthread.cpp | 6 ++++-- sortix/lfbtextbuffer.cpp | 5 +++++ sortix/logterminal.cpp | 3 ++- sortix/process.cpp | 2 +- sortix/scheduler.cpp | 22 +++++++++++----------- sortix/serialterminal.cpp | 4 +++- sortix/signal.h | 2 ++ sortix/syscall.cpp | 2 +- sortix/thread.cpp | 4 ++-- sortix/thread.h | 8 ++++---- sortix/time.cpp | 2 +- sortix/vga.cpp | 2 +- sortix/x64/scheduler.cpp | 2 +- sortix/x86/scheduler.cpp | 2 +- 17 files changed, 59 insertions(+), 36 deletions(-) commit 9ba7f26bf070a0c4d8f477cc95a47439ef37e818 Author: Jonas 'Sortie' Termansen Date: Wed Jan 9 16:07:02 2013 +0100 Refactor kernel time API and add timespec API. libc/Makefile | 1 + libc/decl/clockid_t.h | 4 + libc/include/sys/types.h | 4 +- libc/include/time.h | 2 + libc/include/timespec.h | 101 ++++++++++++++++ libc/timespec.cpp | 60 ++++++++++ sortix/{time.h => include/sortix/clock.h} | 34 +++--- sortix/include/sortix/kernel/time.h | 47 ++++++++ sortix/include/sortix/x64/bits.h | 1 + sortix/include/sortix/x86/bits.h | 1 + sortix/kernel.cpp | 2 +- sortix/scheduler.cpp | 45 ++++--- sortix/thread.cpp | 2 +- sortix/time.cpp | 192 +++++++++++++++++++----------- 14 files changed, 389 insertions(+), 107 deletions(-) commit 5424760719a92093b8c53614641319e02648ce7a Author: Jonas 'Sortie' Termansen Date: Wed Jan 9 23:30:11 2013 +0100 Refactor kernel interrupt API. sortix/com.cpp | 5 ++++- sortix/{ => include/sortix/kernel}/interrupt.h | 11 ++++++++--- sortix/interrupt.cpp | 2 +- sortix/kb/ps2.cpp | 6 +++++- sortix/kernel.cpp | 2 +- sortix/panic.cpp | 2 +- sortix/scheduler.cpp | 2 +- sortix/signal.cpp | 5 ++++- sortix/thread.cpp | 2 +- sortix/time.cpp | 2 +- sortix/x64/memorymanagement.cpp | 4 +++- sortix/x86-family/float.cpp | 4 +++- 12 files changed, 33 insertions(+), 14 deletions(-) commit 2ce76e3876b4abad5032c81f8d513e3ec9871b41 Author: Jonas 'Sortie' Termansen Date: Wed Jan 9 00:41:10 2013 +0100 Refactor system call API. sortix/dispmsg.cpp | 2 +- sortix/fs/user.cpp | 2 +- sortix/{ => include/sortix/kernel}/syscall.h | 31 +++++------ sortix/initrd.cpp | 5 +- sortix/interrupt.cpp | 4 +- sortix/io.cpp | 4 +- sortix/kernel.cpp | 5 +- sortix/kernelinfo.cpp | 4 +- sortix/log.cpp | 5 +- sortix/memorymanagement.cpp | 2 +- sortix/pipe.cpp | 4 +- sortix/poll.cpp | 2 +- sortix/process.cpp | 7 ++- sortix/scheduler.cpp | 4 +- sortix/sound.cpp | 4 +- sortix/syscall.cpp | 77 +++++++++++++--------------- sortix/thread.cpp | 5 +- sortix/time.cpp | 4 +- sortix/vga.cpp | 4 +- sortix/x86-family/memorymanagement.cpp | 5 +- 20 files changed, 102 insertions(+), 78 deletions(-) commit 76fe8602f3e9fff857587bf7c9c67df7312b0eec Author: Jonas 'Sortie' Termansen Date: Wed Jan 2 17:34:15 2013 +0100 Add poll support to pipes. sortix/pipe.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- sortix/pipe.h | 2 +- 2 files changed, 53 insertions(+), 2 deletions(-) commit 51da410dea4389ad1a92ab2b172e40fc58c63a8b Author: Jonas 'Sortie' Termansen Date: Sat Dec 29 23:08:59 2012 +0100 Add poll support to log terminal. sortix/logterminal.cpp | 29 +++++++++++++++++++++++++++++ sortix/logterminal.h | 4 ++++ 2 files changed, 33 insertions(+) commit b2b55bc34a4ebbfc4b3de3bc6ab0f12ff95247a2 Author: Jonas 'Sortie' Termansen Date: Sat Dec 29 23:08:44 2012 +0100 Add poll(2) and ppoll(2). libc/Makefile | 2 + libc/include/poll.h | 46 ++++++ libc/poll.cpp | 34 ++++ libc/ppoll.cpp | 36 ++++ sortix/Makefile | 1 + sortix/descriptor.cpp | 5 + sortix/fs/user.cpp | 6 + sortix/include/sortix/kernel/descriptor.h | 2 + sortix/include/sortix/kernel/inode.h | 3 + sortix/include/sortix/kernel/poll.h | 83 ++++++++++ sortix/include/sortix/kernel/vnode.h | 2 + sortix/include/sortix/poll.h | 57 +++++++ sortix/include/sortix/syscallnum.h | 3 +- sortix/inode.cpp | 14 ++ sortix/kernel.cpp | 4 + sortix/poll.cpp | 263 ++++++++++++++++++++++++++++++ sortix/poll.h | 36 ++++ sortix/vnode.cpp | 5 + 18 files changed, 601 insertions(+), 1 deletion(-) commit e76073cc4ff4c99eb2299b75f100f245338961b2 Author: Jonas 'Sortie' Termansen Date: Wed Jan 30 20:32:48 2013 +0100 Add user-space filesystem API. libc/Makefile | 8 + libc/fsm_bootstraprootfd.cpp | 38 ++ libc/fsm_closechannel.cpp | 32 + libc/fsm_closeserver.cpp | 32 + libc/fsm_fsbind.cpp | 36 + libc/fsm_listen.cpp | 32 + libc/fsm_mkserver.cpp | 32 + libc/fsm_recv.cpp | 32 + libc/fsm_send.cpp | 33 + libc/include/fsmarshall-msg.h | 310 +++++++++ libc/include/fsmarshall.h | 53 ++ sortix/Makefile | 1 + sortix/fs/user.cpp | 1193 ++++++++++++++++++++++++++++++++++ sortix/fs/user.h | 36 + sortix/include/sortix/kernel/vnode.h | 2 +- sortix/include/sortix/syscallnum.h | 3 +- sortix/kernel.cpp | 4 + 17 files changed, 1875 insertions(+), 2 deletions(-) commit 500d853f774b0ffa232c1fb37c19b344dea60c1c Author: Jonas 'Sortie' Termansen Date: Sun Jan 6 19:04:03 2013 +0100 Add removeat(3) and split remove(3) into its own file. libc/Makefile | 2 ++ libc/fdio.c | 11 ----------- libc/include/stdio.h | 1 + libc/remove.cpp | 31 +++++++++++++++++++++++++++++++ libc/removeat.cpp | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 66 insertions(+), 11 deletions(-) commit deeedf9e5d90b61543bd7efc99f917746ebb3f66 Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 22:58:09 2013 +0100 Add lchown(2). libc/Makefile | 1 + libc/include/unistd.h | 2 +- libc/lchown.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit 3b35dad9f7e1f25825c647686dd6f41769a5da76 Author: Jonas 'Sortie' Termansen Date: Sun Jan 6 19:14:05 2013 +0100 Add AT_REMOVEFILE flag to unlinkat(2). This allows unlinkat(2) to delete files and directories in the same call, which is useful for the implementation of remove(3). libc/include/fcntl.h | 4 ---- sortix/include/sortix/fcntl.h | 1 + sortix/io.cpp | 10 ++++++---- 3 files changed, 7 insertions(+), 8 deletions(-) commit 1fa2df3e6aa77d0041e9a9f56373f2cf456e878f Author: Jonas 'Sortie' Termansen Date: Thu Oct 25 17:35:29 2012 +0200 Replace system calls that accept a path with *at versions. libc/Makefile | 1 + libc/access.cpp | 6 ++---- libc/chmod.cpp | 6 ++---- libc/chown.cpp | 7 +++---- libc/link.cpp | 6 ++---- libc/lstat.cpp | 32 ++++++++++++++++++++++++++++++++ libc/mkdir.cpp | 5 ++--- libc/open.cpp | 8 ++++---- libc/rmdir.cpp | 6 ++---- libc/stat.cpp | 11 ++--------- libc/truncate.cpp | 8 ++++---- libc/unlink.cpp | 6 ++---- sortix/io.cpp | 10 ++++++++++ 13 files changed, 68 insertions(+), 44 deletions(-) commit 921deb6eeb104a1d2bd46781e7ebfa77076730b2 Author: Jonas 'Sortie' Termansen Date: Thu Oct 25 15:43:28 2012 +0200 Add linkat(2). libc/Makefile | 1 + libc/include/unistd.h | 2 +- libc/linkat.cpp | 37 +++++++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 19 ++++++++++++++++--- 5 files changed, 57 insertions(+), 5 deletions(-) commit 2ef2269168d96903c5fa72ae73fe626f47ac2001 Author: Jonas 'Sortie' Termansen Date: Thu Oct 25 00:29:23 2012 +0200 Add fchmodat(2). libc/Makefile | 1 + libc/fchmodat.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/include/sys/stat.h | 1 + sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 13 +++++++++++-- 5 files changed, 49 insertions(+), 3 deletions(-) commit f21462bf18f50582dd421534c6e2695f05fe822d Author: Jonas 'Sortie' Termansen Date: Thu Oct 25 00:17:18 2012 +0200 Add fchmod(2). libc/fchmod.cpp | 12 +++++------- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 10 ++++++++++ 3 files changed, 17 insertions(+), 8 deletions(-) commit c1280bedb0e06d39fbeedb1980ace693b2982b54 Author: Jonas 'Sortie' Termansen Date: Wed Oct 24 19:52:03 2012 +0200 Add fchown(2). libc/Makefile | 1 + libc/fchown.cpp | 35 +++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 10 +++++++++- 5 files changed, 48 insertions(+), 3 deletions(-) commit cb4569c6157489111a23b3555aeb7dae64d4a77b Author: Jonas 'Sortie' Termansen Date: Wed Oct 24 19:42:46 2012 +0200 Add fchownat(2). libc/Makefile | 1 + libc/fchownat.cpp | 36 ++++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 15 +++++++++++++-- 5 files changed, 53 insertions(+), 4 deletions(-) commit f843e15666eb400483200018493a110a32f856ab Author: Jonas 'Sortie' Termansen Date: Wed Oct 24 14:48:54 2012 +0200 Add truncateat(2). Linux doesn't have this, but since I do truncate(2) in the kernel, it would be more consistent to do it 'at'-style. (I will remove truncate(2) from the kernel and let libc call truncateat(2) soon anyway). libc/Makefile | 1 + libc/include/unistd.h | 1 + libc/truncateat.cpp | 34 ++++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 11 +++++++++-- 5 files changed, 47 insertions(+), 3 deletions(-) commit 37a4c8f05edbd7fcea22e7c87de91dd4e7ec16b6 Author: Jonas 'Sortie' Termansen Date: Wed Oct 24 13:05:47 2012 +0200 Add fchdir(2). libc/Makefile | 1 + libc/fchdir.cpp | 33 +++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 13 +++++++++++++ 5 files changed, 50 insertions(+), 2 deletions(-) commit 7dd59dd2e022161df8e37e6e42ebda6f1c4fd5fc Author: Jonas 'Sortie' Termansen Date: Wed Oct 24 00:07:14 2012 +0200 Add mkdirat(2). libc/Makefile | 1 + libc/include/sys/stat.h | 1 + libc/mkdirat.cpp | 35 +++++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 11 ++++++++--- 5 files changed, 47 insertions(+), 4 deletions(-) commit caf4a1f2c5145bbf1fb3ddb0298f97fe98403bd7 Author: Jonas 'Sortie' Termansen Date: Tue Oct 23 23:55:08 2012 +0200 Add faccessat(2). libc/Makefile | 1 + libc/faccessat.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- sortix/include/sortix/fcntl.h | 2 ++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 13 +++++++++++-- 6 files changed, 51 insertions(+), 4 deletions(-) commit 835f0d5fbcc8de252a30f4f75de724a4877cf462 Author: Jonas 'Sortie' Termansen Date: Tue Oct 23 13:50:08 2012 +0200 Add unlinkat(2). libc/Makefile | 1 + libc/include/unistd.h | 2 +- libc/unlinkat.cpp | 33 +++++++++++++++++++++++++++++++++ sortix/include/sortix/fcntl.h | 1 + sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 29 ++++++++++++++--------------- 6 files changed, 52 insertions(+), 17 deletions(-) commit 8e50f3d76b95e8e8f84405db75e5733fc5a966a3 Author: Jonas 'Sortie' Termansen Date: Thu Jun 27 20:46:59 2013 +0200 Add dup2(2). libc/Makefile | 1 + libc/dup2.cpp | 33 +++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 7 +++++++ 5 files changed, 44 insertions(+), 2 deletions(-) commit 49fe4aa51f5c8baf264e01f911567d9ba569a687 Author: Jonas 'Sortie' Termansen Date: Tue Oct 23 20:09:18 2012 +0200 Add link(2). libc/Makefile | 1 + libc/include/unistd.h | 2 +- libc/link.cpp | 33 +++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 69 insertions(+), 2 deletions(-) commit 2389a834b5b57e430aea6b9b4d38861d7ef521ab Author: Jonas 'Sortie' Termansen Date: Tue Oct 23 20:02:08 2012 +0200 Add chown(3). libc/Makefile | 1 + libc/chown.cpp | 34 ++++++++++++++++++++++++++++++++++ libc/include/unistd.h | 2 +- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 17 +++++++++++++++++ 5 files changed, 55 insertions(+), 2 deletions(-) commit a11439bc8707c453d53953318469480f95a39e97 Author: Jonas 'Sortie' Termansen Date: Tue Oct 23 19:55:29 2012 +0200 Add chmod(2). libc/chmod.cpp | 13 ++++++------- sortix/include/sortix/syscallnum.h | 3 ++- sortix/io.cpp | 17 +++++++++++++++++ 3 files changed, 25 insertions(+), 8 deletions(-) commit 1444683ea8be07b8847adfc389be3ec103d4fb65 Author: Jonas 'Sortie' Termansen Date: Wed Aug 8 00:19:19 2012 +0200 Refactor kernel VFS. Note: This is an incompatible ABI change. Makefile | 11 +- libc/Makefile | 3 +- libc/execvpe.cpp | 10 +- libc/fddir-sortix.c | 39 +- libc/fstatat.cpp | 33 ++ libc/getcwd.cpp | 110 ++++- libc/include/fcntl.h | 2 +- libc/include/sys/readdirents.h | 15 +- libc/include/sys/stat.h | 7 +- libc/include/unistd.h | 1 + libc/lseek.cpp | 5 +- libc/read.cpp | 7 +- libc/readdirents.cpp | 6 +- libc/write.cpp | 7 +- sortix/Makefile | 20 +- sortix/ata.cpp | 127 ++++- sortix/ata.h | 4 +- sortix/com.cpp | 149 ++---- sortix/com.h | 6 +- sortix/copy.cpp | 65 +++ sortix/descriptor.cpp | 419 +++++++++++++++++ sortix/descriptors.cpp | 195 -------- sortix/descriptors.h | 72 --- sortix/directory.cpp | 212 --------- sortix/directory.h | 64 --- sortix/dtable.cpp | 198 ++++++++ sortix/filesystem.cpp | 320 ------------- sortix/filesystem.h | 76 --- sortix/fs/devfs.cpp | 403 ---------------- sortix/fs/devfs.h | 65 --- sortix/fs/initfs.cpp | 249 ---------- sortix/fs/kram.cpp | 397 ++++++++++++++++ sortix/fs/kram.h | 103 +++++ sortix/fs/ramfs.cpp | 369 --------------- sortix/fs/ramfs.h | 59 --- sortix/fs/util.cpp | 210 +++------ sortix/fs/util.h | 74 +-- sortix/fs/videofs.cpp | 320 ------------- sortix/fsfunc.cpp | 81 ++++ sortix/include/sortix/dirent.h | 61 +++ sortix/include/sortix/fcntl.h | 4 + sortix/include/sortix/initrd.h | 4 +- .../{fs/initfs.h => include/sortix/kernel/copy.h} | 34 +- sortix/include/sortix/kernel/descriptor.h | 108 +++++ sortix/include/sortix/kernel/dtable.h | 69 +++ .../videofs.h => include/sortix/kernel/fsfunc.h} | 25 +- sortix/include/sortix/kernel/inode.h | 159 +++++++ .../{device.cpp => include/sortix/kernel/ioctx.h} | 61 ++- sortix/{ => include/sortix/kernel}/keyboard.h | 67 +-- sortix/include/sortix/kernel/kthread.h | 2 - .../{device.h => include/sortix/kernel/mtable.h} | 68 +-- sortix/include/sortix/kernel/refcount.h | 88 +++- sortix/include/sortix/kernel/textbuffer.h | 5 +- sortix/include/sortix/kernel/video.h | 4 +- sortix/include/sortix/kernel/vnode.h | 88 ++++ sortix/{ => include/sortix}/mount.h | 29 +- sortix/include/sortix/stat.h | 2 + sortix/include/sortix/syscallnum.h | 4 +- sortix/initrd.cpp | 103 ++++- sortix/initrd.h | 19 +- sortix/inode.cpp | 270 +++++++++++ sortix/io.cpp | 512 ++++++++++++++------- sortix/io.h | 16 +- sortix/{keyboard.cpp => ioctx.cpp} | 44 +- sortix/kb/layout/us.cpp | 2 +- sortix/kb/layout/us.h | 2 +- sortix/kb/ps2.cpp | 8 +- sortix/kb/ps2.h | 2 +- sortix/kernel.cpp | 287 ++++++++---- sortix/logterminal.cpp | 493 ++++++++++---------- sortix/logterminal.h | 93 ++-- sortix/mount.cpp | 139 ------ sortix/mtable.cpp | 85 ++++ sortix/pipe.cpp | 508 +++++++++----------- sortix/pipe.h | 19 +- sortix/process.cpp | 162 +++++-- sortix/process.h | 32 +- sortix/refcount.cpp | 18 +- sortix/scheduler.cpp | 12 + sortix/serialterminal.cpp | 4 +- sortix/stream.h | 69 --- sortix/terminal.cpp | 89 ---- sortix/terminal.h | 61 --- sortix/textterminal.cpp | 4 +- sortix/textterminal.h | 5 +- sortix/vga.cpp | 113 ++--- sortix/vga.h | 34 +- sortix/video.cpp | 4 +- sortix/vnode.cpp | 216 +++++++++ utils/cat.cpp | 2 +- utils/cp.cpp | 30 +- utils/init.cpp | 6 + 92 files changed, 4440 insertions(+), 4418 deletions(-) commit 9634a0c3d2c7144a4de46fc2eedbb0cfc18c5c8f Author: Jonas 'Sortie' Termansen Date: Mon Nov 4 13:42:31 2013 +0100 Add --version option to chvideomode(1) utils/chvideomode.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 8a2630fbeec75ffef20074558bec54ea96a2afce Author: Jonas 'Sortie' Termansen Date: Mon Nov 4 13:42:20 2013 +0100 Add --version option to column(1) utils/column.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 238de22ce8619f8d6d17ae8fed78cf647cef2ed2 Author: Jonas 'Sortie' Termansen Date: Mon Nov 4 13:41:48 2013 +0100 Add --version option to kernelinfo(1) utils/kernelinfo.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 5f003c2d87f3cc8139ccdf501c8bed902ff3b244 Author: Jonas 'Sortie' Termansen Date: Mon Nov 4 13:41:40 2013 +0100 Add --version option to ls(1) utils/ls.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 9986edce84aa149f9471cd504781aace45da0c93 Author: Jonas 'Sortie' Termansen Date: Mon Nov 4 13:40:57 2013 +0100 Add --version option to head(1) and tail(1) utils/tail.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 3879c0a77497340424d24aa2ce7d5554441414ea Author: Jonas 'Sortie' Termansen Date: Mon Nov 4 13:40:46 2013 +0100 Add --version option to type(1) utils/type.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 9a08acb8f3c53bc5c8a7ca8c2333743eb6c34dce Author: Jonas 'Sortie' Termansen Date: Mon Nov 4 13:40:36 2013 +0100 Add --version option to uname(1) utils/uname.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 945c769daf791b51ad9a2fdca4b3641d1eadac40 Author: Jonas 'Sortie' Termansen Date: Sun Nov 3 16:43:51 2013 +0100 Fix ^C not clearing the line buffer. sortix/logterminal.cpp | 2 ++ 1 file changed, 2 insertions(+) commit bfd013ab103654751d3c3c03bf31e19a57e329dd Author: Jonas 'Sortie' Termansen Date: Sat Nov 2 22:57:50 2013 +0100 Fix vfprintf(3) error case. libc/print.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) commit d6c1e64628f7bbce5e2441ae29e08e2e86520d80 Author: Jonas 'Sortie' Termansen Date: Tue Sep 24 23:18:32 2013 +0200 Fix poor implementation of the strchr(3) family. libc/strchr.cpp | 6 +++--- libc/strchrnul.cpp | 10 +++++----- libc/strrchr.cpp | 14 ++++++++------ 3 files changed, 16 insertions(+), 14 deletions(-) commit e72b1c0ac18ad46ba4ebebbeec80cb8f626998cb Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 22:41:27 2013 +0100 Fix flushlbf(3) being in a file with the wrong name. libc/Makefile | 2 +- libc/{flushlfb.cpp => flushlbf.cpp} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit c109f5165eb71134402057d8b15f13a3d81f4fa5 Author: Jonas 'Sortie' Termansen Date: Sun Oct 27 22:30:31 2013 +0100 Fix fnewfile(3) being in a file with the wrong name. libc/Makefile | 2 +- libc/{fnewline.cpp => fnewfile.cpp} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 59edfdb787c06b8af4de8b8f1517d739ac31c626 Author: Jonas 'Sortie' Termansen Date: Sun Nov 3 14:04:58 2013 +0100 Remove . libc/Makefile | 1 - libc/include/readparamstring.h | 36 ------------------- libc/readparamstring.cpp | 82 ------------------------------------------ utils/chvideomode.cpp | 1 - 4 files changed, 120 deletions(-) commit 752153d8010c2c4dba110f51f9d531f9607383a6 Author: Jonas 'Sortie' Termansen Date: Wed Oct 16 00:30:54 2013 +0200 Remove vexecl(3), vexecle(3), and vexeclp(3). These functions were non-standard and their use compared to the execv* family is questionable. Additionally, they would have to repeat much of the code from the execl* family of functions. In the end, they were removed because they weren't strictly needed and less bloat is better here. Besides programs that would use these functions would need to ship their own versions to be portable. libc/Makefile | 3 --- libc/include/unistd.h | 3 --- libc/vexecl.cpp | 45 --------------------------------------------- libc/vexecle.cpp | 47 ----------------------------------------------- libc/vexeclp.cpp | 45 --------------------------------------------- 5 files changed, 143 deletions(-) commit dd3662e3d07b578074167dfea840f6a5121dec4a Author: Jonas 'Sortie' Termansen Date: Wed Oct 16 00:29:14 2013 +0200 Fix prototypes for execl(3), execle(3), and execlp(3). libc/execl.cpp | 30 ++++++++++++++++++++++++++---- libc/execle.cpp | 37 +++++++++++++++++++++++++++++++++---- libc/execlp.cpp | 30 ++++++++++++++++++++++++++---- libc/include/unistd.h | 6 +++--- 4 files changed, 88 insertions(+), 15 deletions(-) commit b9eef9ed5d05fb542200b9ffb205dd78f8fb0b70 Author: Jonas 'Sortie' Termansen Date: Sat Jun 8 17:30:46 2013 +0200 Fix fopen allowing opening directories for writing. libc/fdio.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) commit 6f6d775d47ca583e0c14636f0cc9a0911242b67b Author: Jonas 'Sortie' Termansen Date: Wed Oct 16 00:28:08 2013 +0200 Fix using NULL environment in vexecle(3). libc/vexecle.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 63ad7d64ddd70d2404348d7ebe9f2a97c5b55067 Author: Jonas 'Sortie' Termansen Date: Tue Aug 20 00:44:38 2013 +0200 Fix abort(3) not being freestanding. libc/abort.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 90036ca6a82201eaa727b90f0eca22982a5972d8 Author: Jonas 'Sortie' Termansen Date: Wed Jul 10 15:25:36 2013 +0200 Update copyright headers of old files to the current format. bench/benchctxswitch.cpp | 26 +++++++++--------- bench/benchsyscall.cpp | 27 ++++++++++--------- dispd/client/framebuffer.h | 28 +++++++++---------- dispd/client/library.cpp | 28 +++++++++---------- dispd/client/session.cpp | 28 +++++++++---------- dispd/client/session.h | 28 +++++++++---------- dispd/client/window.cpp | 28 +++++++++---------- dispd/client/window.h | 28 +++++++++---------- dispd/include/dispd.h | 28 +++++++++---------- dispd/server/dispd.cpp | 28 +++++++++---------- games/asteroids.cpp | 22 +++++++++++++++ games/conway.cpp | 26 +++++++++--------- games/pong.cpp | 26 +++++++++--------- games/snake.cpp | 26 +++++++++--------- libc/SIG_DFL.cpp | 28 +++++++++---------- libc/SIG_ERR.cpp | 28 +++++++++---------- libc/SIG_IGN.cpp | 28 +++++++++---------- libc/_Exit.cpp | 28 +++++++++---------- libc/_assert.cpp | 28 +++++++++---------- libc/_exit.cpp | 28 +++++++++---------- libc/abort.cpp | 28 +++++++++---------- libc/abs.cpp | 28 +++++++++---------- libc/access.cpp | 28 +++++++++---------- libc/atoi.cpp | 28 +++++++++---------- libc/atol.cpp | 28 +++++++++---------- libc/atoll.cpp | 28 +++++++++---------- libc/bsearch.cpp | 28 +++++++++---------- libc/c++.cpp | 28 +++++++++---------- libc/calloc.cpp | 28 +++++++++---------- libc/chdir.cpp | 28 +++++++++---------- libc/chmod.cpp | 28 +++++++++---------- libc/clearerr.cpp | 28 +++++++++---------- libc/clock.cpp | 28 +++++++++---------- libc/close.cpp | 28 +++++++++---------- libc/ctime.cpp | 28 +++++++++---------- libc/ctype.c | 28 +++++++++---------- libc/dir.c | 28 +++++++++---------- libc/dispmsg_issue.cpp | 28 +++++++++---------- libc/dlfcn.cpp | 28 +++++++++---------- libc/dup.cpp | 28 +++++++++---------- libc/env.cpp | 28 +++++++++---------- libc/errno.cpp | 28 +++++++++---------- libc/errorprint.cpp | 28 +++++++++---------- libc/execl.cpp | 28 +++++++++---------- libc/execle.cpp | 28 +++++++++---------- libc/execlp.cpp | 28 +++++++++---------- libc/execv.cpp | 28 +++++++++---------- libc/execve.cpp | 28 +++++++++---------- libc/execvp.cpp | 28 +++++++++---------- libc/execvpe.cpp | 28 +++++++++---------- libc/exit.cpp | 28 +++++++++---------- libc/fabs.cpp | 28 +++++++++---------- libc/fbufsize.cpp | 28 +++++++++---------- libc/fchmod.cpp | 28 +++++++++---------- libc/fclose.cpp | 28 +++++++++---------- libc/fcloseall.cpp | 28 +++++++++---------- libc/fcntl.cpp | 28 +++++++++---------- libc/fddir-sortix.c | 28 +++++++++---------- libc/fdio.c | 28 +++++++++---------- libc/fdio.h | 28 +++++++++---------- libc/feof.cpp | 28 +++++++++---------- libc/ferror.cpp | 28 +++++++++---------- libc/fflush.cpp | 28 +++++++++---------- libc/fgetc.cpp | 28 +++++++++---------- libc/fgets.cpp | 28 +++++++++---------- libc/fileno.cpp | 28 +++++++++---------- libc/flbf.cpp | 28 +++++++++---------- libc/flushlfb.cpp | 28 +++++++++---------- libc/fnewline.cpp | 28 +++++++++---------- libc/fork.cpp | 28 +++++++++---------- libc/format.cpp | 28 +++++++++---------- libc/fpending.cpp | 28 +++++++++---------- libc/fpipe.cpp | 28 +++++++++---------- libc/fpurge.cpp | 28 +++++++++---------- libc/fputc.cpp | 28 +++++++++---------- libc/fputs.cpp | 28 +++++++++---------- libc/fread.cpp | 28 +++++++++---------- libc/freadable.cpp | 28 +++++++++---------- libc/freading.cpp | 28 +++++++++---------- libc/fregister.cpp | 30 ++++++++++----------- libc/fscanf.cpp | 28 +++++++++---------- libc/fseek.cpp | 28 +++++++++---------- libc/fseeko.cpp | 28 +++++++++---------- libc/fseterr.cpp | 28 +++++++++---------- libc/fsetlocking.cpp | 28 +++++++++---------- libc/fstat.cpp | 28 +++++++++---------- libc/ftell.cpp | 28 +++++++++---------- libc/ftello.cpp | 28 +++++++++---------- libc/ftruncate.cpp | 28 +++++++++---------- libc/fwritable.cpp | 28 +++++++++---------- libc/fwrite.cpp | 28 +++++++++---------- libc/fwriting.cpp | 28 +++++++++---------- libc/getc.cpp | 28 +++++++++---------- libc/getcwd.cpp | 28 +++++++++---------- libc/getdelim.cpp | 28 +++++++++---------- libc/getdtablesize.cpp | 28 +++++++++---------- libc/getline.cpp | 28 +++++++++---------- libc/getpagesize.cpp | 28 +++++++++---------- libc/getpid.cpp | 28 +++++++++---------- libc/getppid.cpp | 28 +++++++++---------- libc/gettermmode.cpp | 28 +++++++++---------- libc/gettimeofday.cpp | 28 +++++++++---------- libc/gmtime.cpp | 28 +++++++++---------- libc/gmtime_r.cpp | 28 +++++++++---------- libc/heap.cpp | 28 +++++++++---------- libc/include/assert.h | 28 +++++++++---------- libc/include/ctype.h | 28 +++++++++---------- libc/include/dirent.h | 28 +++++++++---------- libc/include/dlfcn.h | 28 +++++++++---------- libc/include/errno.h | 28 +++++++++---------- libc/include/error.h | 28 +++++++++---------- libc/include/fcntl.h | 28 +++++++++---------- libc/include/features.h | 28 +++++++++---------- libc/include/inttypes.h | 28 +++++++++---------- libc/include/locale.h | 28 +++++++++---------- libc/include/malloc.h | 28 +++++++++---------- libc/include/math.h | 28 +++++++++---------- libc/include/readparamstring.h | 28 +++++++++---------- libc/include/setjmp.h | 28 +++++++++---------- libc/include/signal.h | 28 +++++++++---------- libc/include/stdint.h | 28 +++++++++---------- libc/include/stdio.h | 28 +++++++++---------- libc/include/stdio_ext.h | 28 +++++++++---------- libc/include/stdlib.h | 28 +++++++++---------- libc/include/string.h | 28 +++++++++---------- libc/include/strings.h | 28 +++++++++---------- libc/include/sys/display.h | 30 ++++++++++----------- libc/include/sys/kernelinfo.h | 28 +++++++++---------- libc/include/sys/keycodes.h | 33 +++++++++++------------ libc/include/sys/mman.h | 28 +++++++++---------- libc/include/sys/readdirents.h | 28 +++++++++---------- libc/include/sys/stat.h | 28 +++++++++---------- libc/include/sys/syscall.h | 28 +++++++++---------- libc/include/sys/termmode.h | 33 +++++++++++------------ libc/include/sys/time.h | 28 +++++++++---------- libc/include/sys/types.h | 28 +++++++++---------- libc/include/sys/wait.h | 28 +++++++++---------- libc/include/termios.h | 28 +++++++++---------- libc/include/time.h | 28 +++++++++---------- libc/include/unistd.h | 30 ++++++++++----------- libc/include/wchar.h | 28 +++++++++---------- libc/include/wctype.h | 28 +++++++++---------- libc/init.cpp | 30 ++++++++++----------- libc/integer.cpp | 28 +++++++++---------- libc/ioleast.cpp | 34 +++++++++++------------ libc/isatty.cpp | 28 +++++++++---------- libc/kernelinfo.cpp | 28 +++++++++---------- libc/kill.cpp | 28 +++++++++---------- libc/localeconv.cpp | 28 +++++++++---------- libc/localtime.cpp | 28 +++++++++---------- libc/localtime_r.cpp | 28 +++++++++---------- libc/lseek.cpp | 28 +++++++++---------- libc/mbtowc.cpp | 28 +++++++++---------- libc/memccpy.cpp | 28 +++++++++---------- libc/memchr.cpp | 28 +++++++++---------- libc/memcmp.cpp | 28 +++++++++---------- libc/memcpy.cpp | 28 +++++++++---------- libc/memmove.cpp | 28 +++++++++---------- libc/memset.cpp | 28 +++++++++---------- libc/memstat.cpp | 28 +++++++++---------- libc/mkdir.cpp | 28 +++++++++---------- libc/mktemp.cpp | 28 +++++++++---------- libc/on_exit.cpp | 28 +++++++++---------- libc/op-new.cpp | 28 +++++++++---------- libc/open.cpp | 28 +++++++++---------- libc/openat.cpp | 28 +++++++++---------- libc/pipe.cpp | 28 +++++++++---------- libc/print.cpp | 28 +++++++++---------- libc/putc.cpp | 28 +++++++++---------- libc/raise.cpp | 28 +++++++++---------- libc/rand.cpp | 28 +++++++++---------- libc/read.cpp | 28 +++++++++---------- libc/readdirents.cpp | 28 +++++++++---------- libc/readparamstring.cpp | 28 +++++++++---------- libc/rewind.cpp | 28 +++++++++---------- libc/rmdir.cpp | 28 +++++++++---------- libc/sbrk.cpp | 28 +++++++++---------- libc/scanf.cpp | 28 +++++++++---------- libc/setjmp.c | 28 +++++++++---------- libc/setlocale.cpp | 28 +++++++++---------- libc/settermmode.cpp | 28 +++++++++---------- libc/sfork.cpp | 28 +++++++++---------- libc/signal.cpp | 28 +++++++++---------- libc/sleep.cpp | 28 +++++++++---------- libc/sort.cpp | 28 +++++++++---------- libc/sprint.cpp | 28 +++++++++---------- libc/sscanf.cpp | 28 +++++++++---------- libc/stat.cpp | 28 +++++++++---------- libc/stdio.c | 28 +++++++++---------- libc/stpcpy.cpp | 28 +++++++++---------- libc/stpncpy.cpp | 28 +++++++++---------- libc/strcasecmp.cpp | 28 +++++++++---------- libc/strcat.cpp | 28 +++++++++---------- libc/strchr.cpp | 28 +++++++++---------- libc/strchrnul.cpp | 28 +++++++++---------- libc/strcmp.cpp | 28 +++++++++---------- libc/strcoll.cpp | 28 +++++++++---------- libc/strcpy.cpp | 28 +++++++++---------- libc/strcspn.cpp | 28 +++++++++---------- libc/strdup.cpp | 28 +++++++++---------- libc/strerror.cpp | 28 +++++++++---------- libc/strlen.cpp | 28 +++++++++---------- libc/strncasecmp.cpp | 28 +++++++++---------- libc/strncat.cpp | 28 +++++++++---------- libc/strncmp.cpp | 28 +++++++++---------- libc/strncpy.cpp | 28 +++++++++---------- libc/strndup.cpp | 28 +++++++++---------- libc/strnlen.cpp | 28 +++++++++---------- libc/strpbrk.cpp | 28 +++++++++---------- libc/strrchr.cpp | 28 +++++++++---------- libc/strsignal.cpp | 28 +++++++++---------- libc/strspn.cpp | 28 +++++++++---------- libc/strstr.cpp | 28 +++++++++---------- libc/strtok.cpp | 28 +++++++++---------- libc/strtok_r.cpp | 28 +++++++++---------- libc/strxfrm.cpp | 28 +++++++++---------- libc/tfork.cpp | 28 +++++++++---------- libc/time.cpp | 28 +++++++++---------- libc/truncate.cpp | 28 +++++++++---------- libc/umask.cpp | 28 +++++++++---------- libc/ungetc.cpp | 30 ++++++++++----------- libc/unlink.cpp | 28 +++++++++---------- libc/uptime.cpp | 28 +++++++++---------- libc/usleep.cpp | 28 +++++++++---------- libc/utime.cpp | 28 +++++++++---------- libc/vexecl.cpp | 28 +++++++++---------- libc/vexecle.cpp | 28 +++++++++---------- libc/vexeclp.cpp | 28 +++++++++---------- libc/vfscanf.cpp | 28 +++++++++---------- libc/vscanf.cpp | 28 +++++++++---------- libc/vsscanf.cpp | 28 +++++++++---------- libc/wait.cpp | 28 +++++++++---------- libc/waitpid.cpp | 28 +++++++++---------- libc/winsize.cpp | 28 +++++++++---------- libc/write.cpp | 28 +++++++++---------- libc/x64/crt1.s | 30 ++++++++++----------- libc/x64/crti.s | 28 +++++++++---------- libc/x64/crtn.s | 28 +++++++++---------- libc/x64/fork.s | 28 +++++++++---------- libc/x64/signal.s | 28 +++++++++---------- libc/x64/syscall.s | 28 +++++++++---------- libc/x86/crt1.s | 30 ++++++++++----------- libc/x86/crti.s | 28 +++++++++---------- libc/x86/crtn.s | 28 +++++++++---------- libc/x86/fork.s | 28 +++++++++---------- libc/x86/signal.s | 28 +++++++++---------- libc/x86/syscall.s | 28 +++++++++---------- mkinitrd/crc32.cpp | 34 +++++++++++------------ mkinitrd/crc32.h | 34 +++++++++++------------ mkinitrd/initrdfs.cpp | 28 +++++++++---------- mkinitrd/mkinitrd.cpp | 28 +++++++++---------- mkinitrd/rules.cpp | 28 +++++++++---------- mkinitrd/rules.h | 28 +++++++++---------- mxmpp/mxmpp.cpp | 32 +++++++++++----------- sortix/ata.cpp | 28 +++++++++---------- sortix/ata.h | 28 +++++++++---------- sortix/bga.cpp | 28 +++++++++---------- sortix/bga.h | 28 +++++++++---------- sortix/calltrace.cpp | 28 +++++++++---------- sortix/calltrace.h | 28 +++++++++---------- sortix/com.cpp | 28 +++++++++---------- sortix/com.h | 28 +++++++++---------- sortix/cpu.h | 28 +++++++++---------- sortix/crc32.cpp | 34 +++++++++++------------ sortix/descriptors.cpp | 30 ++++++++++----------- sortix/descriptors.h | 28 +++++++++---------- sortix/device.cpp | 28 +++++++++---------- sortix/device.h | 28 +++++++++---------- sortix/directory.cpp | 32 +++++++++++----------- sortix/directory.h | 32 +++++++++++----------- sortix/dispmsg.cpp | 28 +++++++++---------- sortix/dispmsg.h | 28 +++++++++---------- sortix/elf.cpp | 32 +++++++++++----------- sortix/elf.h | 32 +++++++++++----------- sortix/end.cpp | 36 ++++++++++++------------- sortix/filesystem.cpp | 28 +++++++++---------- sortix/filesystem.h | 32 +++++++++++----------- sortix/fs/devfs.cpp | 32 +++++++++++----------- sortix/fs/devfs.h | 32 +++++++++++----------- sortix/fs/initfs.cpp | 32 +++++++++++----------- sortix/fs/initfs.h | 32 +++++++++++----------- sortix/fs/ramfs.cpp | 32 +++++++++++----------- sortix/fs/ramfs.h | 32 +++++++++++----------- sortix/fs/util.cpp | 28 +++++++++---------- sortix/fs/util.h | 28 +++++++++---------- sortix/fs/videofs.cpp | 28 +++++++++---------- sortix/fs/videofs.h | 28 +++++++++---------- sortix/include/sortix/bits.h | 32 +++++++++++----------- sortix/include/sortix/display.h | 28 +++++++++---------- sortix/include/sortix/fcntl.h | 28 +++++++++---------- sortix/include/sortix/fork.h | 28 +++++++++---------- sortix/include/sortix/initrd.h | 28 +++++++++---------- sortix/include/sortix/kernel/crc32.h | 34 +++++++++++------------ sortix/include/sortix/kernel/decl.h | 30 ++++++++++----------- sortix/include/sortix/kernel/endian.h | 28 +++++++++---------- sortix/include/sortix/kernel/interlock.h | 28 +++++++++---------- sortix/include/sortix/kernel/kernel.h | 28 +++++++++---------- sortix/include/sortix/kernel/kthread.h | 28 +++++++++---------- sortix/include/sortix/kernel/log.h | 29 ++++++++++---------- sortix/include/sortix/kernel/memorymanagement.h | 28 +++++++++---------- sortix/include/sortix/kernel/panic.h | 32 +++++++++++----------- sortix/include/sortix/kernel/pci.h | 28 +++++++++---------- sortix/include/sortix/kernel/platform.h | 28 +++++++++---------- sortix/include/sortix/kernel/refcount.h | 28 +++++++++---------- sortix/include/sortix/kernel/sortedlist.h | 30 ++++++++++----------- sortix/include/sortix/kernel/string.h | 28 +++++++++---------- sortix/include/sortix/kernel/textbuffer.h | 28 +++++++++---------- sortix/include/sortix/kernel/video.h | 28 +++++++++---------- sortix/include/sortix/kernel/worker.h | 28 +++++++++---------- sortix/include/sortix/keycodes.h | 32 +++++++++++----------- sortix/include/sortix/mman.h | 28 +++++++++---------- sortix/include/sortix/seek.h | 28 +++++++++---------- sortix/include/sortix/signal.h | 28 +++++++++---------- sortix/include/sortix/sigset.h | 28 +++++++++---------- sortix/include/sortix/stat.h | 30 ++++++++++----------- sortix/include/sortix/syscallnum.h | 28 +++++++++---------- sortix/include/sortix/termios.h | 28 +++++++++---------- sortix/include/sortix/termmode.h | 32 +++++++++++----------- sortix/include/sortix/timespec.h | 28 +++++++++---------- sortix/include/sortix/timeval.h | 28 +++++++++---------- sortix/include/sortix/unistd.h | 28 +++++++++---------- sortix/include/sortix/vga.h | 28 +++++++++---------- sortix/include/sortix/wait.h | 28 +++++++++---------- sortix/include/sortix/x64/bits.h | 36 ++++++++++++------------- sortix/include/sortix/x64/fork.h | 28 +++++++++---------- sortix/include/sortix/x86/bits.h | 36 ++++++++++++------------- sortix/include/sortix/x86/fork.h | 28 +++++++++---------- sortix/initrd.cpp | 28 +++++++++---------- sortix/initrd.h | 28 +++++++++---------- sortix/interlock.cpp | 28 +++++++++---------- sortix/interrupt.cpp | 28 +++++++++---------- sortix/interrupt.h | 28 +++++++++---------- sortix/io.cpp | 28 +++++++++---------- sortix/io.h | 32 +++++++++++----------- sortix/kb/layout/us.cpp | 32 +++++++++++----------- sortix/kb/layout/us.h | 32 +++++++++++----------- sortix/kb/ps2.cpp | 28 +++++++++---------- sortix/kb/ps2.h | 28 +++++++++---------- sortix/kernel.cpp | 30 ++++++++++----------- sortix/kernelinfo.cpp | 28 +++++++++---------- sortix/kernelinfo.h | 30 ++++++++++----------- sortix/keyboard.cpp | 32 +++++++++++----------- sortix/keyboard.h | 32 +++++++++++----------- sortix/kthread.cpp | 28 +++++++++---------- sortix/lfbtextbuffer.cpp | 28 +++++++++---------- sortix/lfbtextbuffer.h | 28 +++++++++---------- sortix/linebuffer.cpp | 32 +++++++++++----------- sortix/linebuffer.h | 32 +++++++++++----------- sortix/log.cpp | 32 +++++++++++----------- sortix/logterminal.cpp | 28 +++++++++---------- sortix/logterminal.h | 28 +++++++++---------- sortix/memorymanagement.cpp | 28 +++++++++---------- sortix/mount.cpp | 32 +++++++++++----------- sortix/mount.h | 32 +++++++++++----------- sortix/panic.cpp | 32 +++++++++++----------- sortix/pci.cpp | 28 +++++++++---------- sortix/pipe.cpp | 28 +++++++++---------- sortix/pipe.h | 28 +++++++++---------- sortix/process.cpp | 28 +++++++++---------- sortix/process.h | 28 +++++++++---------- sortix/refcount.cpp | 28 +++++++++---------- sortix/scheduler.cpp | 28 +++++++++---------- sortix/scheduler.h | 28 +++++++++---------- sortix/serialterminal.cpp | 32 +++++++++++----------- sortix/serialterminal.h | 28 +++++++++---------- sortix/signal.cpp | 32 +++++++++++----------- sortix/signal.h | 32 +++++++++++----------- sortix/sound.cpp | 36 ++++++++++++------------- sortix/sound.h | 32 +++++++++++----------- sortix/stream.h | 32 +++++++++++----------- sortix/string.cpp | 28 +++++++++---------- sortix/syscall.cpp | 28 +++++++++---------- sortix/syscall.h | 28 +++++++++---------- sortix/terminal.cpp | 32 +++++++++++----------- sortix/terminal.h | 34 +++++++++++------------ sortix/textbuffer.cpp | 28 +++++++++---------- sortix/textterminal.cpp | 28 +++++++++---------- sortix/textterminal.h | 28 +++++++++---------- sortix/thread.cpp | 28 +++++++++---------- sortix/thread.h | 28 +++++++++---------- sortix/time.cpp | 34 +++++++++++------------ sortix/time.h | 33 +++++++++++------------ sortix/uart.cpp | 32 +++++++++++----------- sortix/uart.h | 32 +++++++++++----------- sortix/utf8.cpp | 32 +++++++++++----------- sortix/utf8.h | 32 +++++++++++----------- sortix/vga.cpp | 28 +++++++++---------- sortix/vga.h | 28 +++++++++---------- sortix/vgatextbuffer.cpp | 28 +++++++++---------- sortix/vgatextbuffer.h | 28 +++++++++---------- sortix/video.cpp | 28 +++++++++---------- sortix/worker.cpp | 28 +++++++++---------- sortix/x64/base.s | 34 +++++++++++------------ sortix/x64/boot.s | 34 +++++++++++------------ sortix/x64/calltrace.s | 30 ++++++++++----------- sortix/x64/gdt.s | 28 +++++++++---------- sortix/x64/idt.s | 28 +++++++++---------- sortix/x64/interrupt.s | 28 +++++++++---------- sortix/x64/kthread.s | 28 +++++++++---------- sortix/x64/memorymanagement.cpp | 28 +++++++++---------- sortix/x64/memorymanagement.h | 32 +++++++++++----------- sortix/x64/process.cpp | 28 +++++++++---------- sortix/x64/scheduler.cpp | 32 +++++++++++----------- sortix/x64/syscall.s | 28 +++++++++---------- sortix/x64/thread.cpp | 28 +++++++++---------- sortix/x64/x64.cpp | 32 +++++++++++----------- sortix/x64/x64.h | 28 +++++++++---------- sortix/x86-family/float.cpp | 28 +++++++++---------- sortix/x86-family/float.h | 28 +++++++++---------- sortix/x86-family/gdt.cpp | 28 +++++++++---------- sortix/x86-family/gdt.h | 28 +++++++++---------- sortix/x86-family/idt.cpp | 28 +++++++++---------- sortix/x86-family/idt.h | 28 +++++++++---------- sortix/x86-family/memorymanagement.cpp | 28 +++++++++---------- sortix/x86-family/memorymanagement.h | 32 +++++++++++----------- sortix/x86-family/msr.cpp | 32 +++++++++++----------- sortix/x86-family/msr.h | 28 +++++++++---------- sortix/x86-family/x86-family.cpp | 32 +++++++++++----------- sortix/x86-family/x86-family.h | 28 +++++++++---------- sortix/x86/base.s | 34 +++++++++++------------ sortix/x86/boot.s | 34 +++++++++++------------ sortix/x86/calltrace.s | 30 ++++++++++----------- sortix/x86/gdt.s | 28 +++++++++---------- sortix/x86/idt.s | 28 +++++++++---------- sortix/x86/interrupt.s | 28 +++++++++---------- sortix/x86/kthread.s | 28 +++++++++---------- sortix/x86/memorymanagement.cpp | 28 +++++++++---------- sortix/x86/memorymanagement.h | 32 +++++++++++----------- sortix/x86/process.cpp | 28 +++++++++---------- sortix/x86/scheduler.cpp | 32 +++++++++++----------- sortix/x86/syscall.s | 28 +++++++++---------- sortix/x86/thread.cpp | 28 +++++++++---------- sortix/x86/x86.cpp | 32 +++++++++++----------- sortix/x86/x86.h | 28 +++++++++---------- utils/calc.cpp | 28 +++++++++---------- utils/cat.cpp | 26 +++++++++--------- utils/chvideomode.cpp | 22 +++++++++++++++ utils/clear.cpp | 26 +++++++++--------- utils/column.cpp | 26 +++++++++--------- utils/cp.cpp | 26 +++++++++--------- utils/echo.cpp | 26 +++++++++--------- utils/editor.cpp | 26 +++++++++--------- utils/head.cpp | 26 +++++++++--------- utils/help.cpp | 26 +++++++++--------- utils/init.cpp | 26 +++++++++--------- utils/kernelinfo.cpp | 26 +++++++++--------- utils/kill.cpp | 26 +++++++++--------- utils/ls.cpp | 26 +++++++++--------- utils/memstat.cpp | 26 +++++++++--------- utils/mxsh.cpp | 26 +++++++++--------- utils/pager.cpp | 26 +++++++++--------- utils/pwd.cpp | 26 +++++++++--------- utils/rm.cpp | 26 +++++++++--------- utils/tail.cpp | 26 +++++++++--------- utils/type.cpp | 26 +++++++++--------- utils/uname.cpp | 26 +++++++++--------- utils/uptime.cpp | 26 +++++++++--------- 457 files changed, 6551 insertions(+), 6510 deletions(-) commit 92b029b07fa97563cc210767f1876106e3c35e77 Author: Jonas 'Sortie' Termansen Date: Sun Apr 21 22:46:19 2013 +0200 Remove tabs from header include guards. libc/include/assert.h | 4 ++-- libc/include/ctype.h | 4 ++-- libc/include/dirent.h | 4 ++-- libc/include/dlfcn.h | 4 ++-- libc/include/errno.h | 4 ++-- libc/include/error.h | 4 ++-- libc/include/fcntl.h | 4 ++-- libc/include/features.h | 4 ++-- libc/include/inttypes.h | 4 ++-- libc/include/math.h | 4 ++-- libc/include/setjmp.h | 4 ++-- libc/include/signal.h | 4 ++-- libc/include/stdint.h | 4 ++-- libc/include/stdio.h | 4 ++-- libc/include/stdlib.h | 4 ++-- libc/include/string.h | 4 ++-- libc/include/strings.h | 4 ++-- libc/include/sys/kernelinfo.h | 4 ++-- libc/include/sys/keycodes.h | 4 ++-- libc/include/sys/mman.h | 4 ++-- libc/include/sys/readdirents.h | 4 ++-- libc/include/sys/stat.h | 4 ++-- libc/include/sys/syscall.h | 4 ++-- libc/include/sys/termmode.h | 4 ++-- libc/include/sys/time.h | 4 ++-- libc/include/sys/types.h | 4 ++-- libc/include/termios.h | 4 ++-- libc/include/time.h | 4 ++-- libc/include/unistd.h | 4 ++-- libc/include/wchar.h | 4 ++-- libc/include/wctype.h | 4 ++-- 31 files changed, 62 insertions(+), 62 deletions(-) commit eb5be61d20c03e0f6365626af20b8a1fdd6c9f85 Author: Jonas 'Sortie' Termansen Date: Sun Oct 13 18:03:09 2013 +0200 Fix trailing blank lines. games/pong.cpp | 1 - libc/abs.cpp | 1 - libc/ctype.c | 1 - libc/dir.c | 1 - libc/env.cpp | 1 - libc/fddir-sortix.c | 1 - libc/fdio.c | 1 - libc/fdio.h | 1 - libc/fgets.cpp | 1 - libc/include/ctype.h | 1 - libc/include/fcntl.h | 1 - libc/include/locale.h | 1 - libc/include/stdint.h | 1 - libc/include/sys/kernelinfo.h | 1 - libc/include/sys/mman.h | 1 - libc/include/sys/readdirents.h | 1 - libc/include/sys/stat.h | 1 - libc/include/sys/types.h | 1 - libc/include/sys/wait.h | 1 - libc/include/termios.h | 1 - libc/include/unistd.h | 1 - libc/include/wchar.h | 1 - libc/setjmp.c | 1 - libc/setlocale.cpp | 1 - libc/sort.cpp | 1 - mkinitrd/initrdfs.cpp | 1 - mkinitrd/mkinitrd.cpp | 1 - sortix/calltrace.cpp | 1 - sortix/calltrace.h | 1 - sortix/com.cpp | 1 - sortix/descriptors.cpp | 1 - sortix/descriptors.h | 1 - sortix/device.cpp | 1 - sortix/device.h | 1 - sortix/directory.cpp | 2 -- sortix/directory.h | 1 - sortix/elf.cpp | 1 - sortix/end.cpp | 1 - sortix/filesystem.cpp | 2 -- sortix/filesystem.h | 1 - sortix/fs/devfs.cpp | 1 - sortix/fs/devfs.h | 1 - sortix/fs/initfs.cpp | 1 - sortix/fs/initfs.h | 1 - sortix/fs/ramfs.cpp | 1 - sortix/fs/ramfs.h | 1 - sortix/fs/util.cpp | 1 - sortix/include/sortix/fcntl.h | 1 - sortix/include/sortix/initrd.h | 1 - sortix/include/sortix/kernel/kthread.h | 1 - sortix/include/sortix/kernel/memorymanagement.h | 1 - sortix/include/sortix/kernel/panic.h | 1 - sortix/include/sortix/kernel/pci.h | 1 - sortix/include/sortix/keycodes.h | 1 - sortix/include/sortix/seek.h | 1 - sortix/include/sortix/signal.h | 1 - sortix/include/sortix/stat.h | 1 - sortix/include/sortix/termios.h | 1 - sortix/include/sortix/termmode.h | 1 - sortix/include/sortix/timeval.h | 1 - sortix/include/sortix/unistd.h | 1 - sortix/include/sortix/vga.h | 1 - sortix/include/sortix/x64/bits.h | 1 - sortix/include/sortix/x64/fork.h | 1 - sortix/include/sortix/x86/bits.h | 1 - sortix/include/sortix/x86/fork.h | 1 - sortix/interrupt.cpp | 1 - sortix/interrupt.h | 1 - sortix/io.h | 1 - sortix/kb/layout/us.cpp | 1 - sortix/kb/layout/us.h | 1 - sortix/kb/ps2.cpp | 1 - sortix/kb/ps2.h | 1 - sortix/kernelinfo.cpp | 1 - sortix/kernelinfo.h | 1 - sortix/keyboard.cpp | 1 - sortix/keyboard.h | 1 - sortix/linebuffer.cpp | 1 - sortix/linebuffer.h | 1 - sortix/logterminal.h | 1 - sortix/mount.h | 1 - sortix/multiboot.h | 1 - sortix/pipe.h | 1 - sortix/process.h | 1 - sortix/serialterminal.h | 1 - sortix/signal.h | 1 - sortix/sound.cpp | 1 - sortix/sound.h | 1 - sortix/stream.h | 1 - sortix/syscall.cpp | 1 - sortix/syscall.h | 1 - sortix/terminal.cpp | 1 - sortix/terminal.h | 1 - sortix/thread.h | 1 - sortix/time.h | 1 - sortix/uart.h | 1 - sortix/utf8.cpp | 1 - sortix/utf8.h | 1 - sortix/vga.h | 1 - sortix/x64/gdt.s | 1 - sortix/x64/x64.h | 1 - sortix/x86-family/gdt.cpp | 1 - sortix/x86-family/gdt.h | 1 - sortix/x86-family/idt.cpp | 1 - sortix/x86-family/idt.h | 1 - sortix/x86-family/memorymanagement.cpp | 1 - sortix/x86-family/x86-family.h | 1 - sortix/x86/x86.h | 1 - utils/cat.cpp | 1 - utils/column.cpp | 1 - utils/head.cpp | 1 - utils/init.cpp | 1 - utils/ls.cpp | 1 - utils/mxsh.cpp | 1 - utils/pwd.cpp | 1 - utils/tail.cpp | 1 - utils/type.cpp | 1 - utils/uname.cpp | 1 - 118 files changed, 120 deletions(-) commit cea318a639321fddd07c8c270c8ead6b0690dbce Author: Jonas 'Sortie' Termansen Date: Sun Oct 20 16:50:23 2013 +0200 DeHTMLize license documents and install them into the system root. mxmpp/COPYING => COPYING-GPL | 0 COPYING-LGPL | 165 ++++++++++ Makefile | 2 + gpl.html | 694 ------------------------------------------- lgpl.html | 186 ------------ 5 files changed, 167 insertions(+), 880 deletions(-) commit 7eb9e3c33f3950266027e8208a695168cacb78fb Author: Jonas 'Sortie' Termansen Date: Tue Mar 19 23:28:07 2013 +0100 Refactor Sortix build system and de-autoconf mxmpp. .gitignore | 2 + Makefile | 384 +++++++---- bench/Makefile | 18 +- compiler.mak | 89 ++- dirs.mak | 175 ++--- dispd/Makefile | 28 +- games/Makefile | 18 +- games/asteroids.cpp | 2 +- libc/Makefile | 148 ++-- libc/include/features.h | 5 + libc/sortix/.gitignore | 0 libc/x64/crt1.s | 6 - libc/x64/start.s | 54 -- libc/x86/crt1.s | 6 - libc/x86/start.s | 52 -- mkinitrd/Makefile | 29 +- mxmpp/.gitignore | 1 + mxmpp/Makefile | 35 + mxmpp/Makefile.in | 69 -- mxmpp/config.guess | 1502 ----------------------------------------- mxmpp/config.h.in | 152 ----- mxmpp/config.sub | 1714 ----------------------------------------------- mxmpp/configure.ac | 110 --- mxmpp/install-sh | 322 --------- mxmpp/mxmpp.cpp | 1 - platform.mak | 67 ++ sortix/Makefile | 141 ++-- utils/Makefile | 16 +- 28 files changed, 690 insertions(+), 4456 deletions(-) commit 0c7d1486b5ff7150e3c29378c7e14f6f8e2ebd66 Author: Jonas 'Sortie' Termansen Date: Fri Dec 7 13:11:01 2012 +0100 Add PARANOIA level 3 and better malloc/free error reporting. libc/heap.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) commit 6afca10c25f8b3e5155b82dde2807a8a13431a02 Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:09:31 2013 +0100 Add sigset_t to signal.h. libc/include/signal.h | 1 + 1 file changed, 1 insertion(+) commit f72969a662f67ce47e870e9cc27a933fe90e8782 Author: Jonas 'Sortie' Termansen Date: Sat Dec 29 22:57:29 2012 +0100 Add sigset_t. sortix/include/sortix/sigset.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) commit bf2c624c9bb73f1f0e634e618d63de359ec9ef2a Author: Jonas 'Sortie' Termansen Date: Sat Dec 29 22:56:37 2012 +0100 Add struct timespec. libc/include/time.h | 4 ++++ sortix/include/sortix/timespec.h | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) commit a6a8a75a0c818f99a71b931eb664ceaa0bbb1837 Author: Jonas 'Sortie' Termansen Date: Thu Jan 10 19:45:32 2013 +0100 Add data types to and tm_yday to struct tm. libc/include/time.h | 6 ++++++ 1 file changed, 6 insertions(+) commit 9411784b58be09b37701672864e7b18581dfa5e3 Author: Jonas 'Sortie' Termansen Date: Fri Dec 7 20:34:35 2012 +0100 Set up initial stack frame as zero pointer. This allows call traces to know when they are done. libc/x64/crt1.s | 6 ++++++ libc/x86/crt1.s | 6 ++++++ 2 files changed, 12 insertions(+) commit 27fda0c0eb9731ee4c373aba1873f071b2334ef5 Author: Jonas 'Sortie' Termansen Date: Thu Dec 20 22:47:49 2012 +0100 Add ENXIO. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 517025f4743fc31742132e41e47d17685ae13fa5 Author: Jonas 'Sortie' Termansen Date: Thu Dec 20 02:01:04 2012 +0100 Add EMLINK. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 6c9852c21fd4f3beeef117d00ce8a7c76d34ab55 Author: Jonas 'Sortie' Termansen Date: Sat Jan 5 15:07:10 2013 +0100 Add ELOOP. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 1e2785b17f0e99ce77710006d7e7ab7bda6f2bd7 Author: Jonas 'Sortie' Termansen Date: Sat Jan 5 15:05:57 2013 +0100 Add ENAMETOOLONG. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 4627031f44bee68128f37d3e56a4315040ce6472 Author: Jonas 'Sortie' Termansen Date: Tue Jan 29 22:34:29 2013 +0100 Add ESPIPE. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 7f99ccb36d6531884995a38d0e36bd8cb3db7817 Author: Jonas 'Sortie' Termansen Date: Tue Jan 29 22:33:58 2013 +0100 Add EXDEV. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 123eabd60a92fbe8892bd57c4a37bb5cb5f2b4fb Author: Jonas 'Sortie' Termansen Date: Tue Jan 29 22:33:32 2013 +0100 Add EFBIG. libc/decl/errno_values.h | 1 + libc/strerror.cpp | 1 + 2 files changed, 2 insertions(+) commit 25a988442e34c3ef76dc88659e65c86fef5c48a8 Author: Jonas 'Sortie' Termansen Date: Tue Jan 29 20:01:21 2013 +0100 Support filtering paths in the mkinitrd program. This will allow initrds to omit certain files, such as other initrds, irrelevant files, iles for another platform, and so on. This will be useful when initrd contain entire system roots. Makefile | 3 +- compiler.mak | 2 + mkinitrd/Makefile | 6 +- mkinitrd/mkinitrd.cpp | 89 ++++++++++++----- mkinitrd/rules.cpp | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++ mkinitrd/rules.h | 66 +++++++++++++ 6 files changed, 405 insertions(+), 26 deletions(-) commit 2bfaa81f767737f6c85df39a8c2e6202d803912c Author: Jonas 'Sortie' Termansen Date: Sun Dec 9 13:22:53 2012 +0100 Use same inode for hardlinks in mkinitrd. This saves memory as the contents of the inode doesn't need to be duplicated needlessly in the final image. mkinitrd/mkinitrd.cpp | 80 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 6 deletions(-) commit 3c821cb4a1405586198e03ca884183eeefa6087f Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 14:39:39 2013 +0100 Make sys_memstat arguments optional. sortix/memorymanagement.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit f8793bc53e20423201975431fb32902f9a5e678f Author: Jonas 'Sortie' Termansen Date: Sun Dec 16 01:54:24 2012 +0100 Port chvideomode to interface. utils/chvideomode.cpp | 210 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 145 insertions(+), 65 deletions(-) commit 6daa7ee8fedf739474bfd5533d193a8b867211e7 Author: Jonas 'Sortie' Termansen Date: Sun Dec 16 00:18:03 2012 +0100 Port conway to dispd. games/conway.cpp | 53 +++++++++++++++++++---------------------------------- 1 file changed, 19 insertions(+), 34 deletions(-) commit 872954b36417f7721c825936a9926dff55b09ccb Author: Jonas 'Sortie' Termansen Date: Sun Dec 16 00:17:55 2012 +0100 Port snake to dispd. games/snake.cpp | 53 +++++++++++++++++++---------------------------------- 1 file changed, 19 insertions(+), 34 deletions(-) commit b99fd83d9af2bd37ff677f279708e644db45777b Author: Jonas 'Sortie' Termansen Date: Sat Dec 15 23:24:55 2012 +0100 Port pong to dispd. games/pong.cpp | 56 ++++++++++++++++++++------------------------------------ 1 file changed, 20 insertions(+), 36 deletions(-) commit 53a254384ec4861217f75422c8f022521befdb86 Author: Jonas 'Sortie' Termansen Date: Sat Dec 15 22:15:05 2012 +0100 Port asteroids to dispd. games/Makefile | 4 ++- games/asteroids.cpp | 85 ++++++++++++++++++++--------------------------------- 2 files changed, 35 insertions(+), 54 deletions(-) commit d00bc41c74eaf50651082f40390529f9a8c0b11d Author: Jonas 'Sortie' Termansen Date: Sun Dec 16 02:10:53 2012 +0100 Add dispd client library and server stub. Makefile | 5 ++ dispd/.gitignore | 3 + dispd/Makefile | 78 +++++++++++++++++++ dispd/client/framebuffer.h | 49 ++++++++++++ dispd/client/library.cpp | 37 +++++++++ dispd/client/session.cpp | 125 +++++++++++++++++++++++++++++ dispd/client/session.h | 48 ++++++++++++ dispd/client/window.cpp | 190 +++++++++++++++++++++++++++++++++++++++++++++ dispd/client/window.h | 43 ++++++++++ dispd/include/dispd.h | 65 ++++++++++++++++ dispd/server/dispd.cpp | 32 ++++++++ 11 files changed, 675 insertions(+) commit 0095983c8099a4a8e6db8b43fbace672baddcb4b Author: Jonas 'Sortie' Termansen Date: Sun Dec 16 02:09:54 2012 +0100 Add dispmsg_issue(2). libc/Makefile | 1 + libc/dispmsg_issue.cpp | 33 ++++ libc/include/sys/display.h | 38 +++++ sortix/Makefile | 1 + sortix/dispmsg.cpp | 340 +++++++++++++++++++++++++++++++++++++ sortix/dispmsg.h | 36 ++++ sortix/include/sortix/display.h | 162 ++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 +- sortix/kernel.cpp | 4 + 9 files changed, 617 insertions(+), 1 deletion(-) commit b380dd49c1c867ec93bb42a08a4a2fdf72212ac9 Author: Jonas 'Sortie' Termansen Date: Sun Dec 16 02:06:04 2012 +0100 Add useful functions to API. sortix/include/sortix/kernel/video.h | 4 ++++ sortix/video.cpp | 41 ++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) commit 9a608e5bb2d207ab5667c9586b9a930d23e7938f Author: Jonas 'Sortie' Termansen Date: Sat Dec 15 22:13:00 2012 +0100 Fix exit code in chvideomode. utils/chvideomode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b0c01f2c6a078bdc239b28ad266746bf37aecca3 Author: Jonas 'Sortie' Termansen Date: Sat Jan 12 15:15:54 2013 +0100 Make Memory::Lookup return false on unmapped pages. sortix/x86-family/memorymanagement.cpp | 2 ++ 1 file changed, 2 insertions(+) commit a685a9d68f4b4af3ea16305e8553b303adef632c Author: Jonas 'Sortie' Termansen Date: Mon May 20 19:59:28 2013 +0200 Fix kernel thread frame pointer base case. sortix/x64/thread.cpp | 3 ++- sortix/x86/thread.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) commit 5ad26d68a3d2d99c2df367e77fd62c9616f507a8 Author: Jonas 'Sortie' Termansen Date: Wed Jun 26 20:43:20 2013 +0200 Add OFF_MIN and OFF_MAX. sortix/include/sortix/bits.h | 6 ++++++ sortix/include/sortix/x64/bits.h | 2 ++ sortix/include/sortix/x86/bits.h | 2 ++ 3 files changed, 10 insertions(+) commit 5ebf7a3c8821504ebf9f1d04b7cf9ac0ec9486a2 Author: Jonas 'Sortie' Termansen Date: Fri Jul 26 13:32:44 2013 +0200 Set O_CLOEXEC in opendir(3). libc/fddir-sortix.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 2c2fd29585877624cec966c5e7b8537982bb04aa Author: Jonas 'Sortie' Termansen Date: Sun Mar 24 13:25:17 2013 +0100 Make "C" the default locale. libc/setlocale.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 53005fc01f5897f79c1e28fc450c1bbcd4a2555a Author: Jonas 'Sortie' Termansen Date: Mon Mar 18 19:04:09 2013 +0100 Fix shell buffer overflow on long argument lists. utils/mxsh.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit c8b795aab3f1a2b10e020850e1516bb4b48d2e31 Author: Jonas 'Sortie' Termansen Date: Sat Jan 26 01:07:02 2013 +0100 Correctly request SIZE_MAX in chvideomode. utils/chvideomode.cpp | 3 +++ 1 file changed, 3 insertions(+) commit 7c85b4a0579dc2520d4c7edcb1ef442dbd036470 Author: Juhani Haverinen Date: Sat Jun 8 03:09:54 2013 +0300 Add support for right shift in US keyboard layout sortix/kb/layout/us.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit dc4ef04e7ce88d8a618cd81c0ae875a90ddada4f Author: Jonas 'Sortie' Termansen Date: Wed May 22 22:05:53 2013 +0200 Add assembly file symbol sizes. libc/x64/crt1.s | 1 + libc/x64/fork.s | 2 +- libc/x64/signal.s | 4 ++-- libc/x64/syscall.s | 3 +-- libc/x86/crt1.s | 1 + libc/x86/fork.s | 2 +- libc/x86/signal.s | 1 + libc/x86/syscall.s | 1 + sortix/x64/base.s | 14 ++++++-------- sortix/x64/boot.s | 10 +++++----- sortix/x64/calltrace.s | 2 +- sortix/x64/gdt.s | 2 ++ sortix/x64/idt.s | 2 +- sortix/x64/interrupt.s | 5 ++++- sortix/x64/kthread.s | 4 ++++ sortix/x64/syscall.s | 2 ++ sortix/x86/base.s | 11 ++++++----- sortix/x86/boot.s | 14 ++++++-------- sortix/x86/calltrace.s | 2 +- sortix/x86/gdt.s | 2 ++ sortix/x86/idt.s | 1 + sortix/x86/interrupt.s | 5 ++++- sortix/x86/kthread.s | 5 +++++ sortix/x86/syscall.s | 2 ++ 24 files changed, 61 insertions(+), 37 deletions(-) commit 9224f8f43db1b3f19584822b72d5cb5a3ae4cc06 Author: Jonas 'Sortie' Termansen Date: Mon Sep 23 16:13:03 2013 +0200 Fix wrong malloc include guard. libc/include/malloc.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 3abad890ec56ae8a2edc5271dcab3550b8d4acb3 Author: Jonas 'Sortie' Termansen Date: Wed Sep 18 19:48:52 2013 +0200 Fix non-standard struct flock declaration. libc/include/fcntl.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 8d2c585479c272d3108b36735920846a7709a3a7 Author: Jonas 'Sortie' Termansen Date: Tue Sep 24 17:09:10 2013 +0200 Fix getdelim and getline having the wrong external linkage. libc/getdelim.cpp | 2 +- libc/getline.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 8a7a0db8c79a4c9376fe30b6a2ef2a622565fc15 Author: Jonas 'Sortie' Termansen Date: Sat Jun 15 16:56:51 2013 +0200 Add missing rdx register to x86_64 register dump function. sortix/x64/x64.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit 89118947edeb479d0dd1069f433673f34bb47c8b Author: Jonas 'Sortie' Termansen Date: Mon Jul 8 14:34:30 2013 +0200 Fix Sortix::Scheduler::ExitThread not being noreturn. sortix/scheduler.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit af2d8cb9dec871ca4243ff81d3ff61d9a99c02f4 Author: Steve Dougherty Date: Wed May 8 19:59:10 2013 +0200 Fix typo in syscall registration sanity test. sortix/syscall.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1ca946af2f5f9e96a3171e59eea92e96bce88a1e Author: Jonas 'Sortie' Termansen Date: Tue Apr 23 20:03:32 2013 +0200 Fix ls exit code. utils/ls.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit d12c420ca12c4997c77afa3c683f61234be5b397 Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 19:24:12 2013 +0100 Add W* wait constants to stdlib.h. libc/include/stdlib.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit cd1df6d088e212032b8b3b3f08da9b415813ed8b Author: Jonas 'Sortie' Termansen Date: Thu Mar 21 15:19:31 2013 +0100 Correct error detection in echo(1). utils/echo.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit efe70b3b3e8bd4e1d5701688eadd3491a4196e4a Author: Jonas 'Sortie' Termansen Date: Tue Mar 12 21:28:54 2013 +0100 Avoid physical frame stack overflow. sortix/x86-family/memorymanagement.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 54e68a0c51f2180a92e0dfa1f2e168638ac49683 Author: Jonas 'Sortie' Termansen Date: Sat Feb 16 16:03:17 2013 +0100 Fix '\0' support in strchr(3) and strchrnul(3). libc/strchr.cpp | 6 ++---- libc/strchrnul.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 6 deletions(-) commit 3a35139e6c04f3ef6686e5382c2098891db0aba7 Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:07:13 2013 +0100 Fix fopen(filename, "w") not creating files. libc/fdio.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit df677252212b7c0cc2b44747ddf56b893db956e3 Author: Jonas 'Sortie' Termansen Date: Tue Jan 8 15:08:12 2013 +0100 Fix fgets(3) handling EOF incorrectly. libc/fgets.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit 6aa4eb3405319290148a806f2f5247f2c69d5d8a Author: Jonas 'Sortie' Termansen Date: Fri Dec 7 13:09:41 2012 +0100 Refactor fwrite(3) to remove buffer overflow bug. libc/fwrite.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) commit d950421358385dda7cbbdcb4a52ab44b00f8014e Author: Jonas 'Sortie' Termansen Date: Wed Jan 30 20:20:34 2013 +0100 Implement pread(2) and pwrite(2). libc/read.cpp | 7 ++++--- libc/write.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) commit 2231e129b062351afe52dc7dfe982ddaa2026c5d Author: Jonas 'Sortie' Termansen Date: Thu Jul 11 18:04:37 2013 +0200 Fix deadlock in kthread_cond_wait. sortix/kthread.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit dd0379c6088f62a891dcd4fb082d8e63421c863a Author: Jonas 'Sortie' Termansen Date: Mon Jul 8 17:32:54 2013 +0200 Fix calltrace implementation on x86 and x86-64. sortix/x64/calltrace.s | 2 ++ sortix/x86/calltrace.s | 2 ++ 2 files changed, 4 insertions(+) commit aea6aefea9fbc5a98b23659cade6e8f76aa7f66e Author: Jonas 'Sortie' Termansen Date: Fri Jan 4 00:50:03 2013 +0100 Fix interlock implementation on x86_64 and x86. sortix/Makefile | 1 - sortix/include/sortix/kernel/interlock.h | 4 +-- sortix/interlock.cpp | 17 +++++---- sortix/x64/interlock.s | 56 ----------------------------- sortix/x86/interlock.s | 61 -------------------------------- 5 files changed, 13 insertions(+), 126 deletions(-) commit 986d331d3928dea65fa97c7925d419bd186aef25 Author: Jonas 'Sortie' Termansen Date: Wed Jun 26 20:46:06 2013 +0200 Fix x86_64 declaration of uint64_t. sortix/include/sortix/x64/bits.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 49a66893b20701151e340ae8d281de6f3c9a2b82 Author: Jonas 'Sortie' Termansen Date: Wed Jun 26 17:13:42 2013 +0200 Fix kernel compile warnings. sortix/ata.cpp | 25 ++++++++++++++++++------- sortix/descriptors.cpp | 3 +-- sortix/elf.cpp | 3 +++ sortix/initrd.cpp | 2 ++ sortix/kb/layout/us.cpp | 2 +- sortix/kernel.cpp | 4 +++- sortix/kthread.cpp | 1 + sortix/panic.cpp | 2 ++ sortix/process.cpp | 3 +++ sortix/serialterminal.cpp | 4 ++-- sortix/string.cpp | 1 - sortix/x64/memorymanagement.cpp | 2 +- sortix/x86-family/gdt.cpp | 5 +++++ sortix/x86-family/memorymanagement.cpp | 4 ++-- sortix/x86/memorymanagement.cpp | 4 ++-- 15 files changed, 46 insertions(+), 19 deletions(-) commit ed6d4f82bb807f986570d343d2189f1992caab81 Author: Jonas 'Sortie' Termansen Date: Wed Jun 26 16:57:35 2013 +0200 Fix games compile warnings. games/asteroids.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7fc1f0011ac4531166f38f18c4122c895b18e34e Author: Jonas 'Sortie' Termansen Date: Wed Jun 26 16:56:54 2013 +0200 Fix libc compile warnings. libc/chmod.cpp | 2 ++ libc/dlfcn.cpp | 7 +++++-- libc/fchmod.cpp | 2 ++ libc/fputs.cpp | 7 ++++--- libc/heap.cpp | 2 +- libc/include/dlfcn.h | 2 +- libc/readparamstring.cpp | 1 - libc/setjmp.c | 3 +++ libc/umask.cpp | 1 + libc/utime.cpp | 2 ++ libc/vfscanf.cpp | 26 +++++++++++++------------- 11 files changed, 34 insertions(+), 21 deletions(-) commit 4cb4478529c06b4a6db0248775b381b7e3fb477c Author: Jonas 'Sortie' Termansen Date: Sun Jul 7 00:01:11 2013 +0200 Fix mxmpp warnings. mxmpp/mxmpp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 39a8433b23052e968186ac9657d918d070ad93aa Author: Jonas 'Sortie' Termansen Date: Thu Jun 27 00:15:28 2013 +0200 Fix mkinitrd compile warnings. mkinitrd/crc32.cpp | 2 +- mkinitrd/initrdfs.cpp | 2 ++ mkinitrd/mkinitrd.cpp | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) commit 8318c5181964469aa30f2368b23a8a2248e470bd Author: Jonas 'Sortie' Termansen Date: Sat Jan 12 19:48:02 2013 +0100 Allow syscall parameters and return values larger than native words. Note: This is an incompatible ABI change. libc/Makefile | 1 + libc/include/sys/syscall.h | 208 +++++++++++++-------------------------------- libc/x64/syscall.s | 60 +++++++++++++ libc/x86/syscall.s | 64 ++++++++++++++ sortix/x64/syscall.s | 8 +- sortix/x64/thread.cpp | 2 +- sortix/x86/syscall.s | 14 +-- sortix/x86/thread.cpp | 2 +- 8 files changed, 196 insertions(+), 163 deletions(-) commit d890488304d5d1fd32f56feb23c41075dc6f1bb6 Author: Jonas 'Sortie' Termansen Date: Sat Jan 12 15:20:30 2013 +0100 Void system calls must now have a return value. libc/_exit.cpp | 4 +- libc/include/sys/syscall.h | 119 --------------------------------------------- libc/lseek.cpp | 2 +- libc/signal.cpp | 2 +- libc/sleep.cpp | 2 +- libc/usleep.cpp | 2 +- sortix/interrupt.cpp | 2 +- sortix/io.cpp | 13 ++--- sortix/process.cpp | 3 +- sortix/scheduler.cpp | 6 ++- sortix/thread.cpp | 3 +- 11 files changed, 22 insertions(+), 136 deletions(-) commit 96e4c00c5f5ebd8acd3dbd511213aa4da30c8953 Author: Jonas 'Sortie' Termansen Date: Fri Jun 21 23:19:29 2013 +0200 Detect and panic when running buggy qemu releases. sortix/kernel.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) commit 308b3169ca0e89d9ca9453f7047ec3d4cef6f3ea Author: Jonas 'Sortie' Termansen Date: Tue Feb 19 21:06:50 2013 +0100 Fix missing single quote character (') in US keyboard layout. sortix/kb/layout/us.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 607128334fab5531f7f801727f7b4879ec9ed338 Author: Jonas 'Sortie' Termansen Date: Mon Jan 14 14:37:56 2013 +0100 Fix floating point corruption on thread exit. sortix/scheduler.cpp | 3 ++- sortix/x86-family/float.cpp | 5 +++-- sortix/x86-family/float.h | 6 +++++- 3 files changed, 10 insertions(+), 4 deletions(-) commit 6a44dcae04e5c3c81b11574e40f687b50e721051 Author: Jonas 'Sortie' Termansen Date: Sat Dec 15 22:40:31 2012 +0100 Don't use movs in memcpy as it causes performance loss. libc/memcpy.cpp | 2 ++ 1 file changed, 2 insertions(+) commit d04592acf0f7a368cf3677d3115d7a01756f7220 Author: Jonas 'Sortie' Termansen Date: Fri Dec 7 20:27:18 2012 +0100 Prevent mxmpp conflict with Sortix ioleast functions. mxmpp/mxmpp.cpp | 1 + 1 file changed, 1 insertion(+) commit 7a8687e063b3ab22ffd2f1eba03ebe0628745659 Author: Jonas 'Sortie' Termansen Date: Mon Oct 22 22:45:58 2012 +0200 Handle ANSI Escape codes in column(1). utils/column.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit a041c107d5a9dea45555974845558cedf09dc919 Author: Jonas 'Sortie' Termansen Date: Sat Oct 27 19:23:17 2012 +0200 Fix shell crash if PWD is unset. utils/mxsh.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 754a10e274713778be7a17191e97a981d873f582 Author: Jonas 'Sortie' Termansen Date: Wed Dec 5 19:24:50 2012 +0100 Allow unloading video drivers. sortix/video.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) commit 6037babcbf4d20a74182eb6195ec2cb7f8aba4ae Author: Jonas 'Sortie' Termansen Date: Wed Dec 5 19:23:43 2012 +0100 Extend kernel video memory area to 386 MiB on x86. sortix/x86/memorymanagement.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1b0ddadab396892e8d97398598c9870d66c2451e Author: Jonas 'Sortie' Termansen Date: Wed Dec 5 17:34:03 2012 +0100 Optimize memcpy(3). libc/memcpy.cpp | 117 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 93 insertions(+), 24 deletions(-) commit 3116161f5d8849e6f069db11b0f27bbde26e49e9 Author: Jonas 'Sortie' Termansen Date: Wed Dec 5 01:08:40 2012 +0100 BGA: Fix possible memory leak. sortix/bga.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 4d37197472bb6e495baa1ba1b29ee7aeb434a368 Author: Jonas 'Sortie' Termansen Date: Wed Dec 5 19:28:55 2012 +0100 Sort objects in kernel makefile. sortix/Makefile | 90 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) commit f1bbbe5153dc754efa5b0e2fb36fa7494d318238 Author: Jonas 'Sortie' Termansen Date: Thu Nov 8 19:56:04 2012 +0100 Add strsignal(3). libc/Makefile | 1 + libc/include/string.h | 4 ++- libc/strsignal.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) commit ffab25b0f41da7f50d2b97bd4d3c901d25ad6244 Author: Jonas 'Sortie' Termansen Date: Thu Nov 8 19:34:17 2012 +0100 Fix strerror redirecting to wrong function. libc/include/string.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e08c13b34414280a6fda76ae9a843e07e447e03a Author: Jonas 'Sortie' Termansen Date: Thu Nov 8 19:04:30 2012 +0100 Add strxfrm(3). libc/Makefile | 1 + libc/include/string.h | 2 +- libc/strxfrm.cpp | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) commit 0c54bcd6e9ba305e25d6f690419c0cbd6f4d3807 Author: Jonas 'Sortie' Termansen Date: Thu Nov 8 18:52:24 2012 +0100 Add memccpy(3). libc/Makefile | 1 + libc/include/string.h | 2 +- libc/memccpy.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) commit e80f765fbfa3e9fa775da288ee77f7bb9eae0de9 Author: Jonas 'Sortie' Termansen Date: Thu Nov 8 18:50:28 2012 +0100 Add strndup(3). libc/Makefile | 1 + libc/include/string.h | 2 +- libc/strndup.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) commit fd088903ddbc9a3c6d271f62b3f02f8083208192 Author: Jonas 'Sortie' Termansen Date: Thu Nov 8 18:36:52 2012 +0100 Add stpncpy(3). libc/Makefile | 1 + libc/include/string.h | 2 +- libc/stpncpy.cpp | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) commit 7e0512902385ea23d1131add150d58008a570320 Author: Jonas 'Sortie' Termansen Date: Wed Nov 7 15:25:37 2012 +0100 Seek to 0 before writing to /dev/vga. games/conway.cpp | 4 +++- games/pong.cpp | 4 +++- games/snake.cpp | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) commit 4f60d028efd0a8021f776cc86ad44c4ea1bcbd26 Author: Jonas 'Sortie' Termansen Date: Wed Oct 17 11:33:22 2012 +0200 Update coding style of ATA driver. sortix/ata.cpp | 547 +++++++++++++++++++++++++++++---------------------------- sortix/ata.h | 120 ++++++------- 2 files changed, 335 insertions(+), 332 deletions(-) commit c9b3002e439c0d89a37769203d860956a1ec5fef Author: Jonas 'Sortie' Termansen Date: Sun Sep 30 13:42:10 2012 +0200 Add openat(2). This is a rather hacky implementation. libc/Makefile | 1 + libc/open.cpp | 10 ++++----- libc/openat.cpp | 42 ++++++++++++++++++++++++++++++++++++++ sortix/filesystem.cpp | 27 +++++++++++++++++++----- sortix/include/sortix/syscallnum.h | 7 ++++--- 5 files changed, 74 insertions(+), 13 deletions(-) commit 32f87f461d3af0f0151759d97e669a327d1ea3f5 Author: Jonas 'Sortie' Termansen Date: Sun Sep 30 13:09:00 2012 +0200 Remember path when opening files. sortix/descriptors.cpp | 32 +++++++++++++++++++++++++++----- sortix/descriptors.h | 6 ++++-- sortix/filesystem.cpp | 8 ++++++-- sortix/io.cpp | 5 ++++- sortix/pipe.cpp | 4 ++-- sortix/textterminal.cpp | 4 ++++ 6 files changed, 47 insertions(+), 12 deletions(-) commit db57bb633678b776add33b05ee0cf1c3022e5893 Author: Jonas 'Sortie' Termansen Date: Fri Oct 12 11:56:26 2012 +0200 Port remaining x86 nasm assembly to GNU as. README | 14 ++++++------ sortix/Makefile | 6 ------ sortix/x64/gdt.s | 2 +- sortix/x64/idt.s | 2 +- sortix/x86/gdt.asm | 31 --------------------------- sortix/x86/gdt.s | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/x86/idt.asm | 13 ----------- sortix/x86/idt.s | 33 ++++++++++++++++++++++++++++ 8 files changed, 104 insertions(+), 60 deletions(-) commit 2cb81aae333aec06f6778f2d86ef14c7dcef3117 Author: Jonas 'Sortie' Termansen Date: Sat Sep 29 11:45:09 2012 +0200 Remove unused initrd directory. .gitignore | 1 + initrd/.gitignore | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) commit be4858f82cc459c69657449d412fe4fb7f8a97c8 Author: Jonas 'Sortie' Termansen Date: Sat Sep 29 00:53:25 2012 +0200 Rename libmaxsi to sortix libc. .gitignore | 1 + Makefile | 6 +++--- README | 6 +++--- {libmaxsi => libc}/.gitignore | 0 {libmaxsi => libc}/Makefile | 2 +- {libmaxsi => libc}/SIG_DFL.cpp | 0 {libmaxsi => libc}/SIG_ERR.cpp | 0 {libmaxsi => libc}/SIG_IGN.cpp | 0 {libmaxsi => libc}/_Exit.cpp | 0 {libmaxsi => libc}/_assert.cpp | 0 {libmaxsi => libc}/_exit.cpp | 0 {libmaxsi => libc}/abort.cpp | 0 {libmaxsi => libc}/abs.cpp | 0 {libmaxsi => libc}/access.cpp | 0 {libmaxsi => libc}/atoi.cpp | 0 {libmaxsi => libc}/atol.cpp | 0 {libmaxsi => libc}/atoll.cpp | 0 {libmaxsi => libc}/bsearch.cpp | 0 {libmaxsi => libc}/c++.cpp | 0 {libmaxsi => libc}/calloc.cpp | 0 {libmaxsi => libc}/chdir.cpp | 0 {libmaxsi => libc}/chmod.cpp | 0 {libmaxsi => libc}/clearerr.cpp | 0 {libmaxsi => libc}/clock.cpp | 0 {libmaxsi => libc}/close.cpp | 0 {libmaxsi => libc}/ctime.cpp | 0 {libmaxsi => libc}/ctype.c | 0 {libmaxsi => libc}/decl/DIR.h | 0 {libmaxsi => libc}/decl/FILE.h | 0 {libmaxsi => libc}/decl/NULL.h | 0 {libmaxsi => libc}/decl/WCHAR_MAX.h | 0 {libmaxsi => libc}/decl/WCHAR_MIN.h | 0 {libmaxsi => libc}/decl/WEOF.h | 0 {libmaxsi => libc}/decl/blkcnt_t.h | 0 {libmaxsi => libc}/decl/blksize_t.h | 0 {libmaxsi => libc}/decl/clock_t.h | 0 {libmaxsi => libc}/decl/dev_t.h | 0 {libmaxsi => libc}/decl/errno_decl.h | 0 {libmaxsi => libc}/decl/errno_values.h | 0 {libmaxsi => libc}/decl/gid_t.h | 0 {libmaxsi => libc}/decl/id_t.h | 0 {libmaxsi => libc}/decl/ino_t.h | 0 {libmaxsi => libc}/decl/intn_t.h | 0 {libmaxsi => libc}/decl/intptr_t.h | 0 {libmaxsi => libc}/decl/locale_t.h | 0 {libmaxsi => libc}/decl/mode_t.h | 0 {libmaxsi => libc}/decl/nlink_t.h | 0 {libmaxsi => libc}/decl/off_t.h | 0 {libmaxsi => libc}/decl/pid_t.h | 0 {libmaxsi => libc}/decl/ptrdiff_t.h | 0 {libmaxsi => libc}/decl/size_t.h | 0 {libmaxsi => libc}/decl/ssize_t.h | 0 {libmaxsi => libc}/decl/suseconds_t.h | 0 {libmaxsi => libc}/decl/time_t.h | 0 {libmaxsi => libc}/decl/uid_t.h | 0 {libmaxsi => libc}/decl/useconds_t.h | 0 {libmaxsi => libc}/decl/va_list.h | 0 {libmaxsi => libc}/decl/wchar_t.h | 0 {libmaxsi => libc}/decl/wctrans_t.h | 0 {libmaxsi => libc}/decl/wctype_t.h | 0 {libmaxsi => libc}/decl/wint_t.h | 0 {libmaxsi => libc}/dir.c | 0 {libmaxsi => libc}/dlfcn.cpp | 0 {libmaxsi => libc}/dup.cpp | 0 {libmaxsi => libc}/env.cpp | 0 {libmaxsi => libc}/errno.cpp | 0 {libmaxsi => libc}/errorprint.cpp | 0 {libmaxsi => libc}/execl.cpp | 0 {libmaxsi => libc}/execle.cpp | 0 {libmaxsi => libc}/execlp.cpp | 0 {libmaxsi => libc}/execv.cpp | 0 {libmaxsi => libc}/execve.cpp | 0 {libmaxsi => libc}/execvp.cpp | 0 {libmaxsi => libc}/execvpe.cpp | 0 {libmaxsi => libc}/exit.cpp | 0 {libmaxsi => libc}/fabs.cpp | 0 {libmaxsi => libc}/fbufsize.cpp | 0 {libmaxsi => libc}/fchmod.cpp | 0 {libmaxsi => libc}/fclose.cpp | 0 {libmaxsi => libc}/fcloseall.cpp | 0 {libmaxsi => libc}/fcntl.cpp | 0 {libmaxsi => libc}/fddir-sortix.c | 0 {libmaxsi => libc}/fdio.c | 0 {libmaxsi => libc}/fdio.h | 0 {libmaxsi => libc}/feof.cpp | 0 {libmaxsi => libc}/ferror.cpp | 0 {libmaxsi => libc}/fflush.cpp | 0 {libmaxsi => libc}/fgetc.cpp | 0 {libmaxsi => libc}/fgets.cpp | 0 {libmaxsi => libc}/fileno.cpp | 0 {libmaxsi => libc}/flbf.cpp | 0 {libmaxsi => libc}/flushlfb.cpp | 0 {libmaxsi => libc}/fnewline.cpp | 0 {libmaxsi => libc}/fork.cpp | 0 {libmaxsi => libc}/format.cpp | 0 {libmaxsi => libc}/fpending.cpp | 0 {libmaxsi => libc}/fpipe.cpp | 0 {libmaxsi => libc}/fpurge.cpp | 0 {libmaxsi => libc}/fputc.cpp | 0 {libmaxsi => libc}/fputs.cpp | 0 {libmaxsi => libc}/fread.cpp | 0 {libmaxsi => libc}/freadable.cpp | 0 {libmaxsi => libc}/freading.cpp | 0 {libmaxsi => libc}/fregister.cpp | 0 {libmaxsi => libc}/fscanf.cpp | 0 {libmaxsi => libc}/fseek.cpp | 0 {libmaxsi => libc}/fseeko.cpp | 0 {libmaxsi => libc}/fseterr.cpp | 0 {libmaxsi => libc}/fsetlocking.cpp | 0 {libmaxsi => libc}/fstat.cpp | 0 {libmaxsi => libc}/ftell.cpp | 0 {libmaxsi => libc}/ftello.cpp | 0 {libmaxsi => libc}/ftruncate.cpp | 0 {libmaxsi => libc}/fwritable.cpp | 0 {libmaxsi => libc}/fwrite.cpp | 0 {libmaxsi => libc}/fwriting.cpp | 0 {libmaxsi => libc}/getc.cpp | 0 {libmaxsi => libc}/getcwd.cpp | 0 {libmaxsi => libc}/getdelim.cpp | 0 {libmaxsi => libc}/getdtablesize.cpp | 0 {libmaxsi => libc}/getline.cpp | 0 {libmaxsi => libc}/getpagesize.cpp | 0 {libmaxsi => libc}/getpid.cpp | 0 {libmaxsi => libc}/getppid.cpp | 0 {libmaxsi => libc}/gettermmode.cpp | 0 {libmaxsi => libc}/gettimeofday.cpp | 0 {libmaxsi => libc}/gmtime.cpp | 0 {libmaxsi => libc}/gmtime_r.cpp | 0 {libmaxsi => libc}/heap.cpp | 0 {libmaxsi => libc}/include/assert.h | 0 {libmaxsi => libc}/include/ctype.h | 0 {libmaxsi => libc}/include/dirent.h | 0 {libmaxsi => libc}/include/dlfcn.h | 0 {libmaxsi => libc}/include/errno.h | 0 {libmaxsi => libc}/include/error.h | 0 {libmaxsi => libc}/include/fcntl.h | 0 {libmaxsi => libc}/include/features.h | 0 {libmaxsi => libc}/include/inttypes.h | 0 {libmaxsi => libc}/include/locale.h | 0 {libmaxsi => libc}/include/malloc.h | 2 +- {libmaxsi => libc}/include/math.h | 0 {libmaxsi => libc}/include/readparamstring.h | 0 {libmaxsi => libc}/include/setjmp.h | 0 {libmaxsi => libc}/include/signal.h | 0 {libmaxsi => libc}/include/stdint.h | 0 {libmaxsi => libc}/include/stdio.h | 6 +++--- {libmaxsi => libc}/include/stdio_ext.h | 0 {libmaxsi => libc}/include/stdlib.h | 2 +- {libmaxsi => libc}/include/string.h | 2 +- {libmaxsi => libc}/include/strings.h | 0 {libmaxsi => libc}/include/sys/kernelinfo.h | 0 {libmaxsi => libc}/include/sys/keycodes.h | 0 {libmaxsi => libc}/include/sys/mman.h | 0 {libmaxsi => libc}/include/sys/readdirents.h | 0 {libmaxsi => libc}/include/sys/stat.h | 0 {libmaxsi => libc}/include/sys/syscall.h | 0 {libmaxsi => libc}/include/sys/termmode.h | 0 {libmaxsi => libc}/include/sys/time.h | 0 {libmaxsi => libc}/include/sys/types.h | 0 {libmaxsi => libc}/include/sys/wait.h | 2 +- {libmaxsi => libc}/include/termios.h | 0 {libmaxsi => libc}/include/time.h | 0 {libmaxsi => libc}/include/unistd.h | 2 +- {libmaxsi => libc}/include/wchar.h | 2 +- {libmaxsi => libc}/include/wctype.h | 2 +- {libmaxsi => libc}/init.cpp | 0 {libmaxsi => libc}/integer.cpp | 0 {libmaxsi => libc}/ioleast.cpp | 0 {libmaxsi => libc}/isatty.cpp | 0 {libmaxsi => libc}/kernelinfo.cpp | 0 {libmaxsi => libc}/kill.cpp | 0 {libmaxsi => libc}/localeconv.cpp | 0 {libmaxsi => libc}/localtime.cpp | 0 {libmaxsi => libc}/localtime_r.cpp | 0 {libmaxsi => libc}/lseek.cpp | 0 {libmaxsi => libc}/mbtowc.cpp | 0 {libmaxsi => libc}/memchr.cpp | 0 {libmaxsi => libc}/memcmp.cpp | 0 {libmaxsi => libc}/memcpy.cpp | 0 {libmaxsi => libc}/memmove.cpp | 0 {libmaxsi => libc}/memset.cpp | 0 {libmaxsi => libc}/memstat.cpp | 0 {libmaxsi => libc}/mkdir.cpp | 0 {libmaxsi => libc}/mktemp.cpp | 0 {libmaxsi => libc}/on_exit.cpp | 0 {libmaxsi => libc}/op-new.cpp | 0 {libmaxsi => libc}/open.cpp | 0 {libmaxsi => libc}/pipe.cpp | 0 {libmaxsi => libc}/print.cpp | 0 {libmaxsi => libc}/putc.cpp | 0 {libmaxsi => libc}/raise.cpp | 0 {libmaxsi => libc}/rand.cpp | 0 {libmaxsi => libc}/read.cpp | 0 {libmaxsi => libc}/readdirents.cpp | 0 {libmaxsi => libc}/readparamstring.cpp | 0 {libmaxsi => libc}/rewind.cpp | 0 {libmaxsi => libc}/rmdir.cpp | 0 {libmaxsi => libc}/sbrk.cpp | 0 {libmaxsi => libc}/scanf.cpp | 0 {libmaxsi => libc}/setjmp.c | 0 {libmaxsi => libc}/setlocale.cpp | 0 {libmaxsi => libc}/settermmode.cpp | 0 {libmaxsi => libc}/sfork.cpp | 0 {libmaxsi => libc}/signal.cpp | 0 {libmaxsi => libc}/sleep.cpp | 0 {libmaxsi => libc}/sort.cpp | 0 {libmaxsi => libc}/sprint.cpp | 0 {libmaxsi => libc}/sscanf.cpp | 0 {libmaxsi => libc}/stat.cpp | 0 {libmaxsi => libc}/stdio.c | 0 {libmaxsi => libc}/stpcpy.cpp | 0 {libmaxsi => libc}/strcasecmp.cpp | 0 {libmaxsi => libc}/strcat.cpp | 0 {libmaxsi => libc}/strchr.cpp | 0 {libmaxsi => libc}/strchrnul.cpp | 0 {libmaxsi => libc}/strcmp.cpp | 0 {libmaxsi => libc}/strcoll.cpp | 0 {libmaxsi => libc}/strcpy.cpp | 0 {libmaxsi => libc}/strcspn.cpp | 0 {libmaxsi => libc}/strdup.cpp | 0 {libmaxsi => libc}/strerror.cpp | 0 {libmaxsi => libc}/strlen.cpp | 0 {libmaxsi => libc}/strncasecmp.cpp | 0 {libmaxsi => libc}/strncat.cpp | 0 {libmaxsi => libc}/strncmp.cpp | 0 {libmaxsi => libc}/strncpy.cpp | 0 {libmaxsi => libc}/strnlen.cpp | 0 {libmaxsi => libc}/strpbrk.cpp | 0 {libmaxsi => libc}/strrchr.cpp | 0 {libmaxsi => libc}/strspn.cpp | 0 {libmaxsi => libc}/strstr.cpp | 0 {libmaxsi => libc}/strtok.cpp | 0 {libmaxsi => libc}/strtok_r.cpp | 0 {libmaxsi => libc}/tfork.cpp | 0 {libmaxsi => libc}/time.cpp | 0 {libmaxsi => libc}/truncate.cpp | 0 {libmaxsi => libc}/umask.cpp | 0 {libmaxsi => libc}/ungetc.cpp | 0 {libmaxsi => libc}/unlink.cpp | 0 {libmaxsi => libc}/uptime.cpp | 0 {libmaxsi => libc}/usleep.cpp | 0 {libmaxsi => libc}/utime.cpp | 0 {libmaxsi => libc}/vexecl.cpp | 0 {libmaxsi => libc}/vexecle.cpp | 0 {libmaxsi => libc}/vexeclp.cpp | 0 {libmaxsi => libc}/vfscanf.cpp | 0 {libmaxsi => libc}/vscanf.cpp | 0 {libmaxsi => libc}/vsscanf.cpp | 0 {libmaxsi => libc}/wait.cpp | 0 {libmaxsi => libc}/waitpid.cpp | 0 {libmaxsi => libc}/winsize.cpp | 0 {libmaxsi => libc}/write.cpp | 0 {libmaxsi => libc}/x64/crt1.s | 0 {libmaxsi => libc}/x64/crti.s | 0 {libmaxsi => libc}/x64/crtn.s | 0 {libmaxsi => libc}/x64/fork.s | 0 {libmaxsi => libc}/x64/signal.s | 0 {libmaxsi => libc}/x64/start.s | 0 {libmaxsi => libc}/x86/crt1.s | 0 {libmaxsi => libc}/x86/crti.s | 0 {libmaxsi => libc}/x86/crtn.s | 0 {libmaxsi => libc}/x86/fork.s | 0 {libmaxsi => libc}/x86/signal.s | 0 {libmaxsi => libc}/x86/start.s | 0 mkinitrd/Makefile | 6 +++--- mxmpp/README | 2 +- 266 files changed, 22 insertions(+), 21 deletions(-) commit 6b663d04d2e873178433ec7f4a117b0517820066 Author: Jonas 'Sortie' Termansen Date: Sat Sep 29 00:36:21 2012 +0200 Fix libc copyright notices. libmaxsi/SIG_DFL.cpp | 20 ++++++++++---------- libmaxsi/SIG_ERR.cpp | 20 ++++++++++---------- libmaxsi/SIG_IGN.cpp | 20 ++++++++++---------- libmaxsi/_Exit.cpp | 20 ++++++++++---------- libmaxsi/_assert.cpp | 24 ++++++++++++------------ libmaxsi/_exit.cpp | 20 ++++++++++---------- libmaxsi/abort.cpp | 20 ++++++++++---------- libmaxsi/abs.cpp | 22 +++++++++++----------- libmaxsi/access.cpp | 20 ++++++++++---------- libmaxsi/atoi.cpp | 20 ++++++++++---------- libmaxsi/atol.cpp | 20 ++++++++++---------- libmaxsi/atoll.cpp | 20 ++++++++++---------- libmaxsi/bsearch.cpp | 20 ++++++++++---------- libmaxsi/c++.cpp | 26 +++++++++++++------------- libmaxsi/calloc.cpp | 20 ++++++++++---------- libmaxsi/chdir.cpp | 20 ++++++++++---------- libmaxsi/chmod.cpp | 20 ++++++++++---------- libmaxsi/clearerr.cpp | 20 ++++++++++---------- libmaxsi/clock.cpp | 20 ++++++++++---------- libmaxsi/close.cpp | 20 ++++++++++---------- libmaxsi/ctime.cpp | 20 ++++++++++---------- libmaxsi/ctype.c | 26 +++++++++++++------------- libmaxsi/dir.c | 26 +++++++++++++------------- libmaxsi/dlfcn.cpp | 22 +++++++++++----------- libmaxsi/dup.cpp | 20 ++++++++++---------- libmaxsi/env.cpp | 22 +++++++++++----------- libmaxsi/errno.cpp | 20 ++++++++++---------- libmaxsi/errorprint.cpp | 20 ++++++++++---------- libmaxsi/execl.cpp | 20 ++++++++++---------- libmaxsi/execle.cpp | 20 ++++++++++---------- libmaxsi/execlp.cpp | 20 ++++++++++---------- libmaxsi/execv.cpp | 20 ++++++++++---------- libmaxsi/execve.cpp | 20 ++++++++++---------- libmaxsi/execvp.cpp | 20 ++++++++++---------- libmaxsi/execvpe.cpp | 20 ++++++++++---------- libmaxsi/exit.cpp | 20 ++++++++++---------- libmaxsi/fabs.cpp | 20 ++++++++++---------- libmaxsi/fbufsize.cpp | 20 ++++++++++---------- libmaxsi/fchmod.cpp | 20 ++++++++++---------- libmaxsi/fclose.cpp | 20 ++++++++++---------- libmaxsi/fcloseall.cpp | 20 ++++++++++---------- libmaxsi/fcntl.cpp | 20 ++++++++++---------- libmaxsi/fddir-sortix.c | 26 +++++++++++++------------- libmaxsi/fdio.c | 26 +++++++++++++------------- libmaxsi/fdio.h | 26 +++++++++++++------------- libmaxsi/feof.cpp | 20 ++++++++++---------- libmaxsi/ferror.cpp | 20 ++++++++++---------- libmaxsi/fflush.cpp | 20 ++++++++++---------- libmaxsi/fgetc.cpp | 20 ++++++++++---------- libmaxsi/fgets.cpp | 20 ++++++++++---------- libmaxsi/fileno.cpp | 20 ++++++++++---------- libmaxsi/flbf.cpp | 20 ++++++++++---------- libmaxsi/flushlfb.cpp | 20 ++++++++++---------- libmaxsi/fnewline.cpp | 20 ++++++++++---------- libmaxsi/fork.cpp | 20 ++++++++++---------- libmaxsi/format.cpp | 20 ++++++++++---------- libmaxsi/fpending.cpp | 20 ++++++++++---------- libmaxsi/fpipe.cpp | 24 ++++++++++++------------ libmaxsi/fpurge.cpp | 20 ++++++++++---------- libmaxsi/fputc.cpp | 20 ++++++++++---------- libmaxsi/fputs.cpp | 20 ++++++++++---------- libmaxsi/fread.cpp | 20 ++++++++++---------- libmaxsi/freadable.cpp | 20 ++++++++++---------- libmaxsi/freading.cpp | 20 ++++++++++---------- libmaxsi/fregister.cpp | 20 ++++++++++---------- libmaxsi/fscanf.cpp | 20 ++++++++++---------- libmaxsi/fseek.cpp | 20 ++++++++++---------- libmaxsi/fseeko.cpp | 20 ++++++++++---------- libmaxsi/fseterr.cpp | 20 ++++++++++---------- libmaxsi/fsetlocking.cpp | 20 ++++++++++---------- libmaxsi/fstat.cpp | 20 ++++++++++---------- libmaxsi/ftell.cpp | 20 ++++++++++---------- libmaxsi/ftello.cpp | 20 ++++++++++---------- libmaxsi/ftruncate.cpp | 20 ++++++++++---------- libmaxsi/fwritable.cpp | 20 ++++++++++---------- libmaxsi/fwrite.cpp | 20 ++++++++++---------- libmaxsi/fwriting.cpp | 20 ++++++++++---------- libmaxsi/getc.cpp | 20 ++++++++++---------- libmaxsi/getcwd.cpp | 20 ++++++++++---------- libmaxsi/getdelim.cpp | 20 ++++++++++---------- libmaxsi/getdtablesize.cpp | 20 ++++++++++---------- libmaxsi/getline.cpp | 20 ++++++++++---------- libmaxsi/getpagesize.cpp | 20 ++++++++++---------- libmaxsi/getpid.cpp | 20 ++++++++++---------- libmaxsi/getppid.cpp | 20 ++++++++++---------- libmaxsi/gettermmode.cpp | 20 ++++++++++---------- libmaxsi/gettimeofday.cpp | 20 ++++++++++---------- libmaxsi/gmtime.cpp | 20 ++++++++++---------- libmaxsi/gmtime_r.cpp | 20 ++++++++++---------- libmaxsi/heap.cpp | 20 ++++++++++---------- libmaxsi/include/assert.h | 24 ++++++++++++------------ libmaxsi/include/ctype.h | 26 +++++++++++++------------- libmaxsi/include/dirent.h | 26 +++++++++++++------------- libmaxsi/include/dlfcn.h | 22 +++++++++++----------- libmaxsi/include/errno.h | 26 +++++++++++++------------- libmaxsi/include/error.h | 26 +++++++++++++------------- libmaxsi/include/fcntl.h | 26 +++++++++++++------------- libmaxsi/include/features.h | 26 +++++++++++++------------- libmaxsi/include/inttypes.h | 22 +++++++++++----------- libmaxsi/include/locale.h | 20 ++++++++++---------- libmaxsi/include/malloc.h | 22 +++++++++++----------- libmaxsi/include/math.h | 24 ++++++++++++------------ libmaxsi/include/readparamstring.h | 20 ++++++++++---------- libmaxsi/include/setjmp.h | 26 +++++++++++++------------- libmaxsi/include/signal.h | 20 ++++++++++---------- libmaxsi/include/stdint.h | 26 +++++++++++++------------- libmaxsi/include/stdio.h | 20 ++++++++++---------- libmaxsi/include/stdio_ext.h | 26 +++++++++++++------------- libmaxsi/include/stdlib.h | 20 ++++++++++---------- libmaxsi/include/string.h | 24 ++++++++++++------------ libmaxsi/include/strings.h | 26 +++++++++++++------------- libmaxsi/include/sys/kernelinfo.h | 22 +++++++++++----------- libmaxsi/include/sys/keycodes.h | 26 +++++++++++++------------- libmaxsi/include/sys/mman.h | 22 +++++++++++----------- libmaxsi/include/sys/readdirents.h | 26 +++++++++++++------------- libmaxsi/include/sys/stat.h | 26 +++++++++++++------------- libmaxsi/include/sys/syscall.h | 20 ++++++++++---------- libmaxsi/include/sys/termmode.h | 26 +++++++++++++------------- libmaxsi/include/sys/time.h | 26 +++++++++++++------------- libmaxsi/include/sys/types.h | 26 +++++++++++++------------- libmaxsi/include/sys/wait.h | 26 +++++++++++++------------- libmaxsi/include/termios.h | 20 ++++++++++---------- libmaxsi/include/time.h | 24 ++++++++++++------------ libmaxsi/include/unistd.h | 20 ++++++++++---------- libmaxsi/include/wchar.h | 26 +++++++++++++------------- libmaxsi/include/wctype.h | 26 +++++++++++++------------- libmaxsi/init.cpp | 20 ++++++++++---------- libmaxsi/integer.cpp | 20 ++++++++++---------- libmaxsi/ioleast.cpp | 20 ++++++++++---------- libmaxsi/isatty.cpp | 20 ++++++++++---------- libmaxsi/kernelinfo.cpp | 22 +++++++++++----------- libmaxsi/kill.cpp | 20 ++++++++++---------- libmaxsi/localeconv.cpp | 20 ++++++++++---------- libmaxsi/localtime.cpp | 20 ++++++++++---------- libmaxsi/localtime_r.cpp | 20 ++++++++++---------- libmaxsi/lseek.cpp | 20 ++++++++++---------- libmaxsi/mbtowc.cpp | 20 ++++++++++---------- libmaxsi/memchr.cpp | 20 ++++++++++---------- libmaxsi/memcmp.cpp | 20 ++++++++++---------- libmaxsi/memcpy.cpp | 20 ++++++++++---------- libmaxsi/memmove.cpp | 20 ++++++++++---------- libmaxsi/memset.cpp | 20 ++++++++++---------- libmaxsi/memstat.cpp | 20 ++++++++++---------- libmaxsi/mkdir.cpp | 20 ++++++++++---------- libmaxsi/mktemp.cpp | 20 ++++++++++---------- libmaxsi/on_exit.cpp | 20 ++++++++++---------- libmaxsi/op-new.cpp | 20 ++++++++++---------- libmaxsi/open.cpp | 20 ++++++++++---------- libmaxsi/pipe.cpp | 20 ++++++++++---------- libmaxsi/print.cpp | 20 ++++++++++---------- libmaxsi/putc.cpp | 20 ++++++++++---------- libmaxsi/raise.cpp | 20 ++++++++++---------- libmaxsi/rand.cpp | 20 ++++++++++---------- libmaxsi/read.cpp | 20 ++++++++++---------- libmaxsi/readdirents.cpp | 20 ++++++++++---------- libmaxsi/readparamstring.cpp | 20 ++++++++++---------- libmaxsi/rewind.cpp | 20 ++++++++++---------- libmaxsi/rmdir.cpp | 20 ++++++++++---------- libmaxsi/sbrk.cpp | 20 ++++++++++---------- libmaxsi/scanf.cpp | 20 ++++++++++---------- libmaxsi/setjmp.c | 26 +++++++++++++------------- libmaxsi/setlocale.cpp | 20 ++++++++++---------- libmaxsi/settermmode.cpp | 20 ++++++++++---------- libmaxsi/sfork.cpp | 20 ++++++++++---------- libmaxsi/signal.cpp | 20 ++++++++++---------- libmaxsi/sleep.cpp | 20 ++++++++++---------- libmaxsi/sort.cpp | 22 +++++++++++----------- libmaxsi/sprint.cpp | 20 ++++++++++---------- libmaxsi/sscanf.cpp | 20 ++++++++++---------- libmaxsi/stat.cpp | 20 ++++++++++---------- libmaxsi/stdio.c | 26 +++++++++++++------------- libmaxsi/stpcpy.cpp | 20 ++++++++++---------- libmaxsi/strcasecmp.cpp | 20 ++++++++++---------- libmaxsi/strcat.cpp | 20 ++++++++++---------- libmaxsi/strchr.cpp | 20 ++++++++++---------- libmaxsi/strchrnul.cpp | 20 ++++++++++---------- libmaxsi/strcmp.cpp | 20 ++++++++++---------- libmaxsi/strcoll.cpp | 20 ++++++++++---------- libmaxsi/strcpy.cpp | 20 ++++++++++---------- libmaxsi/strcspn.cpp | 20 ++++++++++---------- libmaxsi/strdup.cpp | 20 ++++++++++---------- libmaxsi/strerror.cpp | 20 ++++++++++---------- libmaxsi/strlen.cpp | 20 ++++++++++---------- libmaxsi/strncasecmp.cpp | 20 ++++++++++---------- libmaxsi/strncat.cpp | 20 ++++++++++---------- libmaxsi/strncmp.cpp | 20 ++++++++++---------- libmaxsi/strncpy.cpp | 20 ++++++++++---------- libmaxsi/strnlen.cpp | 20 ++++++++++---------- libmaxsi/strpbrk.cpp | 20 ++++++++++---------- libmaxsi/strrchr.cpp | 20 ++++++++++---------- libmaxsi/strspn.cpp | 20 ++++++++++---------- libmaxsi/strstr.cpp | 20 ++++++++++---------- libmaxsi/strtok.cpp | 20 ++++++++++---------- libmaxsi/strtok_r.cpp | 20 ++++++++++---------- libmaxsi/tfork.cpp | 20 ++++++++++---------- libmaxsi/time.cpp | 20 ++++++++++---------- libmaxsi/truncate.cpp | 20 ++++++++++---------- libmaxsi/umask.cpp | 20 ++++++++++---------- libmaxsi/ungetc.cpp | 20 ++++++++++---------- libmaxsi/unlink.cpp | 20 ++++++++++---------- libmaxsi/uptime.cpp | 20 ++++++++++---------- libmaxsi/usleep.cpp | 20 ++++++++++---------- libmaxsi/utime.cpp | 20 ++++++++++---------- libmaxsi/vexecl.cpp | 20 ++++++++++---------- libmaxsi/vexecle.cpp | 20 ++++++++++---------- libmaxsi/vexeclp.cpp | 20 ++++++++++---------- libmaxsi/vfscanf.cpp | 20 ++++++++++---------- libmaxsi/vscanf.cpp | 20 ++++++++++---------- libmaxsi/vsscanf.cpp | 20 ++++++++++---------- libmaxsi/wait.cpp | 20 ++++++++++---------- libmaxsi/waitpid.cpp | 20 ++++++++++---------- libmaxsi/winsize.cpp | 22 +++++++++++----------- libmaxsi/write.cpp | 20 ++++++++++---------- libmaxsi/x64/crt1.s | 20 ++++++++++---------- libmaxsi/x64/crti.s | 20 ++++++++++---------- libmaxsi/x64/crtn.s | 20 ++++++++++---------- libmaxsi/x64/fork.s | 20 ++++++++++---------- libmaxsi/x64/signal.s | 22 +++++++++++----------- libmaxsi/x64/start.s | 26 +++++++++++++------------- libmaxsi/x86/crt1.s | 20 ++++++++++---------- libmaxsi/x86/crti.s | 20 ++++++++++---------- libmaxsi/x86/crtn.s | 20 ++++++++++---------- libmaxsi/x86/fork.s | 20 ++++++++++---------- libmaxsi/x86/signal.s | 20 ++++++++++---------- libmaxsi/x86/start.s | 26 +++++++++++++------------- 225 files changed, 2361 insertions(+), 2361 deletions(-) commit 24c89ec673a5ffc8b4c52c4b8209bf6dd59497c2 Author: Jonas 'Sortie' Termansen Date: Fri Sep 28 23:37:07 2012 +0200 Use libgcc. libmaxsi/c++.cpp | 120 ------------------------------------------------------- sortix/Makefile | 7 ++-- 2 files changed, 4 insertions(+), 123 deletions(-) commit 83ecf895d7b666df9756fe901384e305bed8413f Author: Jonas 'Sortie' Termansen Date: Fri Sep 28 23:22:25 2012 +0200 Reformat libmaxsi init.cpp. libmaxsi/init.cpp | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) commit 6f085938011b0f3f6f89723544cfc40cb4225af0 Author: Jonas 'Sortie' Termansen Date: Fri Sep 28 23:19:45 2012 +0200 Reformat libmaxsi format.cpp. libmaxsi/format.cpp | 555 ++++++++++++++++++++++++++-------------------------- 1 file changed, 275 insertions(+), 280 deletions(-) commit 63b1c50cd2ae0562c327b52f0798abe596ab083b Author: Jonas 'Sortie' Termansen Date: Fri Sep 28 23:13:35 2012 +0200 Split libmaxsi integer.cpp into multiple files. libmaxsi/Makefile | 3 + libmaxsi/atoi.cpp | 30 ++++++++++ libmaxsi/atol.cpp | 30 ++++++++++ libmaxsi/atoll.cpp | 30 ++++++++++ libmaxsi/integer.cpp | 164 ++++++++++++++++++++------------------------------- 5 files changed, 157 insertions(+), 100 deletions(-) commit 9306c8f64564fed4cda41834d2acc2cdb45f93d5 Author: Jonas 'Sortie' Termansen Date: Fri Sep 28 22:50:06 2012 +0200 Split libmaxsi signal.cpp into multiple files. libmaxsi/Makefile | 5 +++ libmaxsi/SIG_DFL.cpp | 63 +++++++++++++++++++++++++++ libmaxsi/SIG_ERR.cpp | 31 +++++++++++++ libmaxsi/SIG_IGN.cpp | 31 +++++++++++++ libmaxsi/kill.cpp | 34 +++++++++++++++ libmaxsi/raise.cpp | 34 +++++++++++++++ libmaxsi/signal.cpp | 120 +++++++++------------------------------------------ 7 files changed, 219 insertions(+), 99 deletions(-) commit 8290f8979c5bdeedece1de1a629d4c540a882b8d Author: Jonas 'Sortie' Termansen Date: Fri Sep 28 21:05:48 2012 +0200 Split libmaxsi time.cpp into multiple files. libmaxsi/Makefile | 9 +++++ libmaxsi/clock.cpp | 32 +++++++++++++++ libmaxsi/ctime.cpp | 30 ++++++++++++++ libmaxsi/gettimeofday.cpp | 36 +++++++++++++++++ libmaxsi/gmtime.cpp | 31 +++++++++++++++ libmaxsi/gmtime_r.cpp | 30 ++++++++++++++ libmaxsi/localtime.cpp | 31 +++++++++++++++ libmaxsi/localtime_r.cpp | 39 +++++++++++++++++++ libmaxsi/time.cpp | 99 ++++++----------------------------------------- libmaxsi/uptime.cpp | 34 ++++++++++++++++ libmaxsi/utime.cpp | 33 ++++++++++++++++ 11 files changed, 316 insertions(+), 88 deletions(-) commit 0e7518915e0094fc6cb0678072f2d5191cefd915 Author: Jonas 'Sortie' Termansen Date: Fri Sep 28 20:32:39 2012 +0200 Split libmaxsi random.o into multiple files. libmaxsi/Makefile | 2 +- libmaxsi/{random.cpp => rand.cpp} | 56 ++++++++++++++++++++------------------- 2 files changed, 30 insertions(+), 28 deletions(-) commit 4556036e0886e4233bad06cac62d9db8f1bb3e37 Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 21:01:52 2012 +0200 Split libmaxsi memory.cpp into multiple files. libmaxsi/Makefile | 9 +++- libmaxsi/getpagesize.cpp | 33 ++++++++++++ libmaxsi/memchr.cpp | 36 +++++++++++++ libmaxsi/memcmp.cpp | 37 +++++++++++++ libmaxsi/memcpy.cpp | 61 +++++++++++++++++++++ libmaxsi/memmove.cpp | 38 +++++++++++++ libmaxsi/memory.cpp | 138 ----------------------------------------------- libmaxsi/memset.cpp | 34 ++++++++++++ libmaxsi/memstat.cpp | 33 ++++++++++++ libmaxsi/sbrk.cpp | 34 ++++++++++++ 10 files changed, 314 insertions(+), 139 deletions(-) commit 297b7259af47cb79841cf8693df15bfb359a673a Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 20:02:28 2012 +0200 Move calloc(3) to its own file. libmaxsi/Makefile | 1 + libmaxsi/calloc.cpp | 36 ++++++++++++++++++++++++++++++++++++ libmaxsi/heap.cpp | 9 --------- 3 files changed, 37 insertions(+), 9 deletions(-) commit 31df7c0c93294f8e336bb6dfa7a46bdb018a6664 Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 19:56:03 2012 +0200 Fix formatting and remove namespaces in libmaxsi heap.cpp. What a mess. libmaxsi/heap.cpp | 1143 ++++++++++++++++++++++++++--------------------------- 1 file changed, 566 insertions(+), 577 deletions(-) commit d81cdc09e9469375d0a0631790d249576010022b Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 19:39:35 2012 +0200 Move operator new to its own file. libmaxsi/Makefile | 1 + libmaxsi/heap.cpp | 6 ------ libmaxsi/op-new.cpp | 31 +++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 6 deletions(-) commit 60214a9dfb9a7760594f8a3c945d6a08ef2cf176 Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 19:25:39 2012 +0200 Put getdelim(3) and getline(3) in their own files. libmaxsi/Makefile | 2 ++ libmaxsi/getdelim.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/getline.cpp | 30 ++++++++++++++++++++++++ libmaxsi/stdio.c | 42 ---------------------------------- 4 files changed, 95 insertions(+), 42 deletions(-) commit 97deb8bb8ad0972c3b91f8f1ffb6676ab8323139 Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 17:56:14 2012 +0200 Split libmaxsi error.o. libmaxsi/Makefile | 3 ++- libmaxsi/errno.cpp | 51 ++++++++++++++++++++++++++++++++++++ libmaxsi/{error.cpp => strerror.cpp} | 30 +++------------------ 3 files changed, 56 insertions(+), 28 deletions(-) commit fb91fbbc5c65c800f00bea1d50fa9f0b5bd48e83 Author: Jonas 'Sortie' Termansen Date: Wed Sep 26 16:11:13 2012 +0200 Split libmaxsi process.o into multiple files. libmaxsi/Makefile | 20 +++++- libmaxsi/execl.cpp | 35 +++++++++ libmaxsi/execle.cpp | 35 +++++++++ libmaxsi/execlp.cpp | 35 +++++++++ libmaxsi/execv.cpp | 31 ++++++++ libmaxsi/execve.cpp | 34 +++++++++ libmaxsi/execvp.cpp | 31 ++++++++ libmaxsi/execvpe.cpp | 44 ++++++++++++ libmaxsi/fork.cpp | 30 ++++++++ libmaxsi/getpid.cpp | 33 +++++++++ libmaxsi/getppid.cpp | 33 +++++++++ libmaxsi/process.cpp | 199 --------------------------------------------------- libmaxsi/sfork.cpp | 32 +++++++++ libmaxsi/tfork.cpp | 33 +++++++++ libmaxsi/vexecl.cpp | 45 ++++++++++++ libmaxsi/vexecle.cpp | 48 +++++++++++++ libmaxsi/vexeclp.cpp | 45 ++++++++++++ libmaxsi/wait.cpp | 30 ++++++++ libmaxsi/waitpid.cpp | 33 +++++++++ 19 files changed, 625 insertions(+), 201 deletions(-) commit 838992c3d8816c11fc2065c3015fa43f65918e2b Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 14:04:28 2012 +0200 Don't build libmaxsi.a. This should just about remove most of the old and deprecated (and now obsolete) Maxsi:: API. Of course, large parts of libc still suffer from its poor design, but I'll get around to fix that eventually. libmaxsi/Makefile | 15 ++++++--------- sortix/Makefile | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) commit bd8967069edaee903c3e491027546a10793365e1 Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 13:55:33 2012 +0200 Replace libmaxsi headers with libc headers. libmaxsi/c++.cpp | 4 +-- libmaxsi/format.cpp | 22 ++++++------- libmaxsi/heap.cpp | 30 ++++++++++-------- libmaxsi/include/libmaxsi/platform.h | 58 ---------------------------------- libmaxsi/include/libmaxsi/types.h | 61 ------------------------------------ libmaxsi/init.cpp | 1 - libmaxsi/integer.cpp | 2 +- libmaxsi/memory.cpp | 18 +++++------ libmaxsi/process.cpp | 7 ++--- libmaxsi/random.cpp | 2 -- libmaxsi/signal.cpp | 1 - libmaxsi/time.cpp | 3 +- sortix/x64/x64.cpp | 2 +- sortix/x86-family/x86-family.cpp | 2 +- sortix/x86/x86.cpp | 2 +- 15 files changed, 48 insertions(+), 167 deletions(-) commit c0fabc2e8d6fc8c71a5fb3806fb8d8a20a19fcf1 Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 13:27:17 2012 +0200 Move remainder of Maxsi::String into kernel tree. libmaxsi/Makefile | 1 - libmaxsi/format.cpp | 1 - libmaxsi/include/libmaxsi/string.h | 40 ----- libmaxsi/string.cpp | 269 ---------------------------------- sortix/Makefile | 1 + sortix/bga.cpp | 4 +- sortix/directory.cpp | 4 +- sortix/filesystem.cpp | 3 - sortix/fs/devfs.cpp | 4 +- sortix/fs/initfs.cpp | 4 +- sortix/fs/ramfs.cpp | 4 +- sortix/fs/util.cpp | 3 - sortix/fs/videofs.cpp | 4 +- sortix/include/sortix/kernel/string.h | 39 +++++ sortix/initrd.cpp | 4 +- sortix/kernelinfo.cpp | 3 - sortix/log.cpp | 3 - sortix/mount.cpp | 4 +- sortix/panic.cpp | 3 - sortix/process.cpp | 4 +- sortix/serialterminal.cpp | 3 - sortix/string.cpp | 100 +++++++++++++ sortix/uart.cpp | 3 - sortix/video.cpp | 4 +- 24 files changed, 150 insertions(+), 362 deletions(-) commit f3988b92f3150b7009f7a4ede729468a1ec1587b Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 13:08:47 2012 +0200 Made ReadParamString not depend on Maxsi::String::Substring. libmaxsi/readparamstring.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) commit b732c46bf50411b0e93a7e46249cca3760e71b57 Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 12:33:09 2012 +0200 Remove unused declarations from . libmaxsi/include/libmaxsi/string.h | 19 ------------------- 1 file changed, 19 deletions(-) commit 1b26d1bacf815214d9f5e741cafff740be46bbac Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 12:32:28 2012 +0200 Make sprintf family freestanding. And use them in the kernel. libmaxsi/Makefile | 1 + libmaxsi/print.cpp | 57 ----------------------------------- libmaxsi/sprint.cpp | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/bga.cpp | 7 +++-- 4 files changed, 91 insertions(+), 60 deletions(-) commit fd256bbb5192505a966b5cf3700a6e89104b647f Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 12:20:26 2012 +0200 Remove ReadParamString implementation from asteroids. games/asteroids.cpp | 50 +------------------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) commit c55a2882dc1ab4691df65692080441e03b6d86cd Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 12:05:03 2012 +0200 Replace Maxsi::String::ToInt with atoi. sortix/bga.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit 6ce762aac4e15213d09fc5b7375b1c62bfcd84d9 Author: Jonas 'Sortie' Termansen Date: Sun Sep 23 11:59:30 2012 +0200 Replace Maxsi::String::Seek with strchr. games/asteroids.cpp | 2 +- libmaxsi/readparamstring.cpp | 2 +- sortix/video.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 2206412e14cc28373a855c6c71a528b36ff0b524 Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 23:00:29 2012 +0200 Replace Maxsi::String::Reject with strcspn. games/asteroids.cpp | 4 ++-- libmaxsi/readparamstring.cpp | 4 ++-- sortix/fs/util.cpp | 2 +- sortix/video.cpp | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) commit 02a711befbd2700601d18ce338e50c7b2ad1580e Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 22:56:11 2012 +0200 Replace Maxsi::String::Accept with strspn. games/asteroids.cpp | 2 +- libmaxsi/readparamstring.cpp | 2 +- sortix/video.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit e5cf6c18f706688008e932a1279bc6ca723cf74c Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 22:52:46 2012 +0200 Replace Maxsi::String::Compare with strcmp. games/asteroids.cpp | 2 +- libmaxsi/readparamstring.cpp | 3 ++- sortix/fs/devfs.cpp | 12 ++++++------ sortix/fs/ramfs.cpp | 4 ++-- sortix/fs/videofs.cpp | 4 ++-- sortix/initrd.cpp | 6 +++--- sortix/kernelinfo.cpp | 8 ++++---- sortix/mount.cpp | 4 ++-- sortix/video.cpp | 6 +++--- 9 files changed, 25 insertions(+), 24 deletions(-) commit 70da61f5d13cc45569e391d7db6182375c8a484a Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 22:44:25 2012 +0200 Replace Maxsi::String::Copy with strcpy. sortix/directory.cpp | 4 ++-- sortix/fs/videofs.cpp | 2 +- sortix/kernelinfo.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 5e4dadbba021ba9dd34cd3e771b8580a3c4af301 Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 22:40:19 2012 +0200 Replace Maxsi::String::Length with strlen. libmaxsi/format.cpp | 3 ++- sortix/directory.cpp | 8 ++++---- sortix/fs/devfs.cpp | 4 ++-- sortix/fs/initfs.cpp | 2 +- sortix/fs/ramfs.cpp | 4 ++-- sortix/fs/util.cpp | 2 +- sortix/fs/videofs.cpp | 6 +++--- sortix/kernelinfo.cpp | 2 +- sortix/mount.cpp | 4 ++-- sortix/process.cpp | 4 ++-- sortix/serialterminal.cpp | 6 +++--- 11 files changed, 23 insertions(+), 22 deletions(-) commit 5e7bf8527ceb79e9209418befa0e0d210cb79ccc Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 22:31:24 2012 +0200 Move into kernel tree. sortix/ata.cpp | 2 -- sortix/com.cpp | 2 -- sortix/fs/devfs.h | 2 +- sortix/fs/initfs.h | 2 +- sortix/fs/ramfs.h | 4 +-- .../include/sortix/kernel}/sortedlist.h | 33 +++++++++++----------- sortix/process.cpp | 2 +- 7 files changed, 21 insertions(+), 26 deletions(-) commit df7d8ca335faf8e41c8fb9ea10b3b4aee1608282 Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 22:23:38 2012 +0200 Move crc32 checksum code into kernel. libmaxsi/Makefile | 1 - libmaxsi/include/libmaxsi/crc32.h | 43 ------------------------------------ sortix/Makefile | 1 + {libmaxsi => sortix}/crc32.cpp | 32 +++++++++++++-------------- sortix/include/sortix/kernel/crc32.h | 43 ++++++++++++++++++++++++++++++++++++ sortix/initrd.cpp | 2 +- 6 files changed, 61 insertions(+), 61 deletions(-) commit fd03635d4f97c948c09216df40de71e29a70b48d Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 22:13:26 2012 +0200 Remove . libmaxsi/include/libmaxsi/integer.h | 45 ------------------------------------- 1 file changed, 45 deletions(-) commit 1435937dd4a3f1e50d8c4cb463f4dbc8c0d03c31 Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 21:59:49 2012 +0200 Remove . libmaxsi/Makefile | 1 - libmaxsi/include/libmaxsi/sortix-sound.h | 39 ----------------------------- libmaxsi/sortix-sound.cpp | 42 -------------------------------- 3 files changed, 82 deletions(-) commit 6529af1f5742ce77144c30ffa3451d73898b06cd Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 21:19:18 2012 +0200 Remove . games/conway.cpp | 3 +-- games/snake.cpp | 3 +-- libmaxsi/include/libmaxsi/sortix-vga.h | 38 ---------------------------------- 3 files changed, 2 insertions(+), 42 deletions(-) commit 2c286d68308f261bf913de0de4c0469375c84c24 Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 21:09:08 2012 +0200 Replace with . libmaxsi/format.cpp | 7 ++++-- libmaxsi/include/libmaxsi/format.h | 39 ---------------------------------- libmaxsi/include/stdio.h | 7 ++++++ libmaxsi/print.cpp | 10 ++------- sortix/elf.cpp | 2 -- sortix/include/sortix/kernel/log.h | 17 ++++++--------- sortix/io.cpp | 2 -- sortix/log.cpp | 4 ++-- sortix/logterminal.cpp | 2 -- sortix/syscall.cpp | 2 -- sortix/terminal.cpp | 2 -- sortix/utf8.cpp | 2 -- sortix/x86-family/gdt.cpp | 2 -- sortix/x86-family/idt.cpp | 2 -- sortix/x86-family/memorymanagement.cpp | 2 -- 15 files changed, 23 insertions(+), 79 deletions(-) commit e9c8b0b6694ccf3f9e5161f6e4dcbffe54af12d9 Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 20:42:37 2012 +0200 Replace with . libmaxsi/include/libmaxsi/process.h | 39 ------------------------------------- libmaxsi/process.cpp | 1 - libmaxsi/signal.cpp | 1 - 3 files changed, 41 deletions(-) commit b4374f66b73b9d50bbf315386a4930f71fececdf Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 20:38:09 2012 +0200 Replace with . libmaxsi/heap.cpp | 6 ++-- libmaxsi/include/libmaxsi/memory.h | 50 ---------------------------------- libmaxsi/init.cpp | 4 +-- libmaxsi/memory.cpp | 6 ++-- libmaxsi/signal.cpp | 2 +- libmaxsi/string.cpp | 5 ++-- libmaxsi/time.cpp | 1 - sortix/ata.cpp | 6 ++-- sortix/bga.cpp | 12 ++++---- sortix/descriptors.cpp | 8 ++---- sortix/device.cpp | 2 +- sortix/directory.cpp | 2 +- sortix/elf.cpp | 10 +++---- sortix/filesystem.cpp | 4 +-- sortix/fs/devfs.cpp | 6 ++-- sortix/fs/initfs.cpp | 6 ++-- sortix/fs/ramfs.cpp | 10 +++---- sortix/fs/util.cpp | 10 +++---- sortix/fs/videofs.cpp | 4 +-- sortix/initrd.cpp | 2 +- sortix/interrupt.cpp | 8 ++---- sortix/kb/ps2.cpp | 8 ++---- sortix/lfbtextbuffer.cpp | 12 ++++---- sortix/linebuffer.cpp | 8 ++---- sortix/log.cpp | 2 +- sortix/logterminal.cpp | 4 +-- sortix/mount.cpp | 4 +-- sortix/panic.cpp | 2 +- sortix/pipe.cpp | 12 ++++---- sortix/process.cpp | 12 ++++---- sortix/scheduler.cpp | 6 ++-- sortix/signal.cpp | 4 +-- sortix/thread.cpp | 10 +++---- sortix/uart.cpp | 2 +- sortix/vga.cpp | 10 +++---- sortix/video.cpp | 6 ++-- sortix/x64/memorymanagement.cpp | 2 +- sortix/x64/process.cpp | 4 +-- sortix/x86-family/gdt.cpp | 4 +-- sortix/x86-family/idt.cpp | 4 +-- sortix/x86-family/memorymanagement.cpp | 8 +++--- sortix/x86/memorymanagement.cpp | 4 +-- sortix/x86/process.cpp | 4 +-- 43 files changed, 112 insertions(+), 184 deletions(-) commit 5d082b3bbbe6fca0bd847568d8e8abe323f2762f Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 16:44:25 2012 +0200 Replace Maxsi::Error:: with . games/asteroids.cpp | 11 ++++--- libmaxsi/error.cpp | 16 ++++------ libmaxsi/heap.cpp | 6 ++-- libmaxsi/include/libmaxsi/error.h | 54 ---------------------------------- libmaxsi/memory.cpp | 1 - libmaxsi/readparamstring.cpp | 10 +++---- sortix/ata.cpp | 26 ++++++++-------- sortix/bga.cpp | 6 ++-- sortix/com.cpp | 18 ++++++------ sortix/directory.cpp | 16 +++++----- sortix/elf.cpp | 8 ++--- sortix/filesystem.cpp | 26 ++++++++-------- sortix/fs/devfs.cpp | 18 ++++++------ sortix/fs/initfs.cpp | 24 +++++++-------- sortix/fs/ramfs.cpp | 40 ++++++++++++------------- sortix/fs/util.cpp | 20 ++++++------- sortix/fs/videofs.cpp | 26 ++++++++-------- sortix/initrd.cpp | 14 ++++----- sortix/interrupt.cpp | 2 +- sortix/io.cpp | 34 ++++++++++----------- sortix/kernelinfo.cpp | 6 ++-- sortix/logterminal.cpp | 18 ++++++------ sortix/pipe.cpp | 20 ++++++------- sortix/process.cpp | 30 +++++++++---------- sortix/scheduler.cpp | 1 - sortix/syscall.cpp | 1 - sortix/terminal.cpp | 18 ++++++------ sortix/thread.cpp | 8 ++--- sortix/utf8.cpp | 4 +-- sortix/vga.cpp | 8 ++--- sortix/video.cpp | 36 +++++++++++------------ sortix/x86-family/memorymanagement.cpp | 6 ++-- 32 files changed, 234 insertions(+), 298 deletions(-) commit 42754f17285d7e8b999c83ac70a23dc07b287abd Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 14:56:55 2012 +0200 Replace ASSERT with assert of . games/snake.cpp | 5 +-- libmaxsi/Makefile | 2 +- libmaxsi/_assert.cpp | 12 +++++++ libmaxsi/heap.cpp | 58 ++++++++++++++++------------------ libmaxsi/include/libmaxsi/platform.h | 4 --- libmaxsi/include/libmaxsi/sortedlist.h | 4 ++- sortix/descriptors.cpp | 21 ++++++------ sortix/directory.cpp | 3 +- sortix/elf.cpp | 13 ++++---- sortix/fs/devfs.cpp | 3 +- sortix/fs/ramfs.cpp | 3 +- sortix/include/sortix/kernel/decl.h | 7 ---- sortix/interrupt.cpp | 5 +-- sortix/kb/ps2.cpp | 3 +- sortix/pci.cpp | 9 +++--- sortix/pipe.cpp | 9 +++--- sortix/process.cpp | 37 +++++++++++----------- sortix/refcount.cpp | 3 +- sortix/scheduler.cpp | 13 ++++---- sortix/signal.cpp | 5 +-- sortix/textbuffer.cpp | 5 +-- sortix/thread.cpp | 5 +-- sortix/x86-family/float.cpp | 7 ++-- sortix/x86-family/memorymanagement.cpp | 15 +++++---- 24 files changed, 135 insertions(+), 116 deletions(-) commit b685b7a9ebb7fa9c3bdd6fa6791d4eabf9bb1e3d Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 14:14:33 2012 +0200 Don't include Maxsi:: API in kernel.cpp. Since kernel.cpp is intended to be an example of the current best coding practices within the Sortix kernel, and the Maxsi:: API is deprecated and is being removed, it should rather use the nice C standard library. libmaxsi/heap.cpp | 7 +++++++ libmaxsi/include/malloc.h | 38 ++++++++++++++++++++++++++++++++++++++ sortix/kernel.cpp | 14 +++++--------- 3 files changed, 50 insertions(+), 9 deletions(-) commit 0437d751470fe0d32293f4e6b5391ed522cf3a9b Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 13:55:26 2012 +0200 Remove libmaxsi stddef.h and stdarg.h. These are provided by the cross compiler. libmaxsi/decl/NULL.h | 3 ++- libmaxsi/decl/ptrdiff_t.h | 9 ++------ libmaxsi/decl/size_t.h | 12 ++--------- libmaxsi/decl/wchar_t.h | 11 ++-------- libmaxsi/include/stdarg.h | 39 ----------------------------------- libmaxsi/include/stddef.h | 44 ---------------------------------------- sortix/include/sortix/x64/bits.h | 2 +- sortix/include/sortix/x86/bits.h | 2 +- 8 files changed, 10 insertions(+), 112 deletions(-) commit 8b7eef9fe41986a144353e5dd2c12379a0156ece Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 01:08:55 2012 +0200 Removed header. libmaxsi/Makefile | 3 +- libmaxsi/{include/libmaxsi/thread.h => sleep.cpp} | 36 +++++------ libmaxsi/thread.cpp | 76 ----------------------- libmaxsi/usleep.cpp | 34 ++++++++++ 4 files changed, 50 insertions(+), 99 deletions(-) commit 1f1bdc8c2281b996b4eeee7cc4cd131c21659873 Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 00:59:26 2012 +0200 Remove unused header. libmaxsi/include/libmaxsi/io.h | 52 ------------------------------------------ libmaxsi/init.cpp | 1 - 2 files changed, 53 deletions(-) commit 86107a467c76166157a19508f33bf8ecac5e021f Author: Jonas 'Sortie' Termansen Date: Sat Sep 22 00:44:16 2012 +0200 Use instead of . libmaxsi/_exit.cpp | 6 +- libmaxsi/access.cpp | 7 +- libmaxsi/chdir.cpp | 8 +- libmaxsi/chmod.cpp | 7 +- libmaxsi/close.cpp | 7 +- libmaxsi/dup.cpp | 7 +- libmaxsi/error.cpp | 1 - libmaxsi/fchmod.cpp | 7 +- libmaxsi/fcntl.cpp | 14 +- libmaxsi/fstat.cpp | 7 +- libmaxsi/ftruncate.cpp | 8 +- libmaxsi/getcwd.cpp | 8 +- libmaxsi/gettermmode.cpp | 7 +- libmaxsi/include/libmaxsi/syscall.h | 311 ----------------------------------- libmaxsi/include/sys/syscall.h | 313 ++++++++++++++++++++++++++++++++++++ libmaxsi/include/termios.h | 1 + libmaxsi/isatty.cpp | 7 +- libmaxsi/kernelinfo.cpp | 8 +- libmaxsi/lseek.cpp | 7 +- libmaxsi/memory.cpp | 2 +- libmaxsi/mkdir.cpp | 8 +- libmaxsi/open.cpp | 18 ++- libmaxsi/pipe.cpp | 7 +- libmaxsi/process.cpp | 2 +- libmaxsi/read.cpp | 7 +- libmaxsi/readdirents.cpp | 7 +- libmaxsi/rmdir.cpp | 8 +- libmaxsi/settermmode.cpp | 7 +- libmaxsi/signal.cpp | 2 +- libmaxsi/sortix-sound.cpp | 2 +- libmaxsi/stat.cpp | 7 +- libmaxsi/thread.cpp | 2 +- libmaxsi/time.cpp | 2 +- libmaxsi/truncate.cpp | 8 +- libmaxsi/umask.cpp | 9 +- libmaxsi/unlink.cpp | 8 +- libmaxsi/winsize.cpp | 7 +- libmaxsi/write.cpp | 7 +- 38 files changed, 372 insertions(+), 489 deletions(-) commit a1ed9144bcb1587c05e2596c8dac10a9860a5b9e Author: Jonas 'Sortie' Termansen Date: Fri Sep 21 23:57:22 2012 +0200 Sort libmaxsi objects into freestanding and hosted. libmaxsi/Makefile | 216 +++++++++++++++++++++++++++--------------------------- 1 file changed, 108 insertions(+), 108 deletions(-) commit afafea577a3a7caa1e2f2f6425f5435a0ee42245 Author: Jonas 'Sortie' Termansen Date: Fri Sep 21 23:33:21 2012 +0200 Remove conditional libc macros in libmaxsi. libmaxsi/include/libmaxsi/platform.h | 19 +++---------------- libmaxsi/thread.cpp | 7 ------- 2 files changed, 3 insertions(+), 23 deletions(-) commit b293fb3171c98f22600ce879aa2e79c37a67af70 Author: Jonas 'Sortie' Termansen Date: Fri Sep 21 19:23:09 2012 +0200 Remove kernel platform.h dependency on libmaxsi platform.h. This reduces the dependence on libmaxsi with the aim that the Maxsi:: api can be removed and replaced with the standard C library. libmaxsi/include/libmaxsi/platform.h | 26 ++---------- libmaxsi/include/libmaxsi/types.h | 3 ++ sortix/include/sortix/kernel/decl.h | 70 +++++++++++++++++++++++++++++++++ sortix/include/sortix/kernel/kernel.h | 36 +++++++++++++++++ sortix/include/sortix/kernel/platform.h | 59 ++++++--------------------- 5 files changed, 124 insertions(+), 70 deletions(-) commit 3095503b9b40ca1fcb13c0b79243763d97bdab68 Author: Jonas 'Sortie' Termansen Date: Fri Sep 21 19:24:57 2012 +0200 Correct usage of deprecated nat and byte data types. sortix/com.cpp | 12 ++--- sortix/directory.cpp | 2 +- sortix/elf.cpp | 8 ++-- sortix/filesystem.cpp | 4 +- sortix/filesystem.h | 4 +- sortix/fs/devfs.cpp | 16 +++---- sortix/fs/initfs.cpp | 16 +++---- sortix/fs/ramfs.cpp | 12 ++--- sortix/fs/util.cpp | 12 ++--- sortix/fs/util.h | 12 ++--- sortix/fs/videofs.cpp | 8 ++-- sortix/io.cpp | 12 ++--- sortix/logterminal.cpp | 12 ++--- sortix/logterminal.h | 4 +- sortix/pipe.cpp | 32 +++++++------- sortix/process.cpp | 4 +- sortix/process.h | 2 +- sortix/sound.cpp | 2 +- sortix/sound.h | 2 +- sortix/stream.h | 4 +- sortix/uart.cpp | 116 ++++++++++++++++++++++++------------------------- sortix/vga.cpp | 8 ++-- sortix/vga.h | 4 +- 23 files changed, 154 insertions(+), 154 deletions(-) commit 9cf092d32e345c1f22e3eb3a5f15cf232d5ce396 Author: Jonas 'Sortie' Termansen Date: Mon Sep 10 23:35:50 2012 +0200 Use cross compiler in build system. Makefile | 134 +++++++++++++++++++++++++++-------------------- bench/.gitignore | 2 + bench/Makefile | 39 +++++++++----- compiler.mak | 65 +++++++++++++++++++++++ crosscompilemakefile.mak | 36 ------------- dirs.mak | 119 +++++++++++++++++++++++++++++++++++++++++ games/.gitignore | 2 + games/Makefile | 39 +++++++++----- libmaxsi/Makefile | 113 ++++++++++++++++++++------------------- sortix/Makefile | 93 ++++++++++++++++---------------- utils/.gitignore | 24 +++++++++ utils/Makefile | 39 +++++++++----- version.mak | 1 + 13 files changed, 470 insertions(+), 236 deletions(-) commit 81530bc58c73839219ccb4d47fe80f99da3020cc Author: Jonas 'Sortie' Termansen Date: Wed Sep 12 12:39:05 2012 +0200 Really fix size_t declarations by asking compiler. sortix/include/sortix/x64/bits.h | 4 ++-- sortix/include/sortix/x86/bits.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit 27b865e6c2f889b59ecc6bbe616daf3e1f28d497 Author: Jonas 'Sortie' Termansen Date: Wed Sep 12 12:19:56 2012 +0200 Remove pong dependencies on libmaxsi. games/pong.cpp | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) commit cceaaf00897fada944ac5d4d1467fbd1095f142d Author: Jonas 'Sortie' Termansen Date: Wed Sep 12 12:19:32 2012 +0200 Fix declaration of size_t on x86. sortix/include/sortix/x86/bits.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 53e945aa4f2cbdc168e15de88b1ebe31adc5a5de Author: Jonas 'Sortie' Termansen Date: Wed Sep 12 12:18:26 2012 +0200 Fix including private signal.h in kthread.h. sortix/include/sortix/kernel/kthread.h | 2 -- 1 file changed, 2 deletions(-) commit 82035e87dafb1d8dce7c4464c8ee16029b8a3aed Author: Jonas 'Sortie' Termansen Date: Mon Sep 10 21:45:13 2012 +0200 Add makefile targets for installing sysroot base headers. Makefile | 3 +++ libmaxsi/Makefile | 19 +++++++++++++++---- sortix/Makefile | 10 +++++++++- 3 files changed, 27 insertions(+), 5 deletions(-) commit 9d5c3f188255c06efe21639d711a552af569712e Author: Jonas 'Sortie' Termansen Date: Mon Sep 10 14:54:12 2012 +0200 Begun development of Sortix 0.8. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a6ea4e8cab70387789d9f5617e07c8dcbfbd7c3d Author: Jonas 'Sortie' Termansen Date: Mon Sep 10 14:32:08 2012 +0200 Update version number to 0.7. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 068e855d157ccf6befd62ba78ee26253803ffa78 Author: Jonas 'Sortie' Termansen Date: Mon Sep 10 12:29:05 2012 +0200 Fix trailing whitespace in asteroids. Required by release procedure. games/asteroids.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 50a2342a3780dd0c783bbfa6f14ed814ce0c82bd Author: Jonas 'Sortie' Termansen Date: Mon Sep 10 12:28:04 2012 +0200 Update README. README | 48 +++++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 17 deletions(-) commit 0b94239912221477b95220b1024af3cbc2305cb5 Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 23:07:38 2012 +0200 Fix missing WEXITSTATUS in init and kernel. sortix/kernel.cpp | 3 +++ utils/init.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) commit 66487f2895d0ddeedff61e4166274b5a27f15aa7 Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 22:57:17 2012 +0200 Make waitpid(2) fail on signal arrival. sortix/process.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit da7f10269d3ce3b780b7309a478b452d0631ef40 Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 22:40:37 2012 +0200 Better declarations of limits in stdint.h. This is more compatible with how gcc limits.h does stuff. sortix/include/sortix/x64/bits.h | 40 ++++++++++++++++++++++++++++------------ sortix/include/sortix/x86/bits.h | 40 ++++++++++++++++++++++++++++------------ 2 files changed, 56 insertions(+), 24 deletions(-) commit ab1901976ca9329437535c14bbd0cb1575d348da Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 21:02:37 2012 +0200 Add support for escaping spaces and tabs in shell. utils/mxsh.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) commit 5209258de002739e65ba3355ad919b7cd49e7f57 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 21:03:14 2012 +0200 Fix asteroids compile warnings. games/asteroids.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) commit 0b1c51579043b581467c201fa7e74d5e92590512 Author: Jonas 'Sortie' Termansen Date: Mon Aug 6 00:38:29 2012 +0200 Made smarter bots. games/asteroids.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 4 deletions(-) commit 45f8bb1fa1c7c420f6369cbc57a153fad9cff313 Author: Jonas 'Sortie' Termansen Date: Sun Aug 5 20:18:49 2012 +0200 Pressing B spawns a stupid AI controlled spaceship. games/asteroids.cpp | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) commit e1ddf82ba784c5ed24d4ae38075fb5d44dc40087 Author: Jonas 'Sortie' Termansen Date: Tue Jun 19 17:51:12 2012 +0200 TMP asteroids stuff games/asteroids.cpp | 216 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 198 insertions(+), 18 deletions(-) commit 043ceed621fa3d0f63c477bc4033bc5bdae7fbd4 Author: Steve Dougherty Date: Sat May 26 14:16:22 2012 -0400 Add firework weapon fired on left control. games/asteroids.cpp | 68 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 9 deletions(-) commit 46efe8923f32ec4aba424d3f06556f21712018c1 Author: Steve Dougherty Date: Sat May 26 14:14:42 2012 -0400 Missiles add spaceship vel; point in direction fired. This issue was visible as crooked missiles when firing in a direction other than that of travel, and being able to keep pace with fired missiles. games/asteroids.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit a1c106ce1c4495f19f07e06812a0789d5d1c8760 Author: Jonas 'Sortie' Termansen Date: Tue May 22 21:46:14 2012 +0200 Early prototype of an asteroids game. asteroids(1) now uses chvideomode(1) if no driver is active. Made the asteroids game object oriented. Added asteroids to ateroids(1). uptime(2) in asteroids. games/Makefile | 1 + games/asteroids.cpp | 841 ++++++++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/random.cpp | 25 +- 3 files changed, 862 insertions(+), 5 deletions(-) commit 41ed053fba8a295e5329b3d8a577aa485939cd38 Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 13:20:23 2012 +0200 Build benchmarks by default. Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 0245e9867ccbfd51cd5857684128f93cba7701af Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 13:15:08 2012 +0200 Fix NULL deference if no ATA bus is present. sortix/ata.cpp | 2 ++ 1 file changed, 2 insertions(+) commit b9b697f2cb9d0e6c9af177a0b55b23e5b636b008 Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 12:21:14 2012 +0200 Implement proper W* error codes in sys/wait.h and kernel. Note that signals can't really kill a process at this time. sortix/include/sortix/wait.h | 12 ++++++++++++ sortix/process.cpp | 4 ++-- utils/chvideomode.cpp | 3 +-- utils/init.cpp | 2 +- utils/mxsh.cpp | 15 ++++++++++----- 5 files changed, 26 insertions(+), 10 deletions(-) commit 1369aa9da92f960b38a089ee5a8c69e054d2782b Author: Jonas 'Sortie' Termansen Date: Sun Sep 9 12:20:33 2012 +0200 Fix wrong datatypes to printf in ls. gcc still complains, but that is because uintmax_t is declared incorrectly. utils/ls.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8595ec83da872874551b2bf2d0e433feba41ab28 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 22:45:55 2012 +0200 Print error if running VGA game in graphics mode. games/conway.cpp | 21 +++++++++++++++++++++ games/pong.cpp | 21 +++++++++++++++++++++ games/snake.cpp | 21 +++++++++++++++++++++ 3 files changed, 63 insertions(+) commit 46d02b784b80df242b098ba7145f7a448f28920e Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 20:55:18 2012 +0200 Fix compile warnings in userspace programs. bench/benchctxswitch.cpp | 2 +- bench/benchsyscall.cpp | 2 +- games/conway.cpp | 2 +- games/pong.cpp | 4 ++-- utils/cat.cpp | 2 +- utils/clear.cpp | 2 +- utils/cp.cpp | 2 +- utils/editor.cpp | 8 ++++---- utils/help.cpp | 2 +- utils/init.cpp | 2 +- utils/memstat.cpp | 28 ++++++++++++++-------------- utils/mxsh.cpp | 6 +++--- utils/pager.cpp | 3 +-- utils/pwd.cpp | 2 +- utils/type.cpp | 3 +-- utils/uptime.cpp | 2 +- 16 files changed, 35 insertions(+), 37 deletions(-) commit d855c6cec7df36bdbdb263e3eb531d78eff64041 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 20:33:27 2012 +0200 Add warnings to userspace compile flags. bench/Makefile | 2 ++ crosscompilemakefile.mak | 32 ++++++++++++++++---------------- games/Makefile | 2 ++ utils/Makefile | 2 ++ 4 files changed, 22 insertions(+), 16 deletions(-) commit b0807e8c7a7c5b0fa5c7b57347056ce020e17db6 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 19:39:57 2012 +0200 Fix reading /dev/video/fb causing a write instead. This really fucks stuff up. sortix/bga.cpp | 4 ++-- sortix/video.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit c9eb1b2cb37f4832a21c3aa8a422242023ecab97 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 19:24:48 2012 +0200 Better collection of zombie processes. Note that there seems to be a deadlock if a process exits when there are zombies around. Init also doesn't handle zombie children correctly as there is sent no SIGCHLD signal yet. utils/init.cpp | 4 +++- utils/mxsh.cpp | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) commit 07b3cc8e06f48ad07b477ea50dd89797935a2cce Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 19:17:15 2012 +0200 Implement WNOHANG in waitpid(2). libmaxsi/include/sys/wait.h | 5 +++-- sortix/include/sortix/wait.h | 36 ++++++++++++++++++++++++++++++++++++ sortix/process.cpp | 3 +++ 3 files changed, 42 insertions(+), 2 deletions(-) commit 356ae79f641867944f11a3ddfd839304f20dab12 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 19:15:31 2012 +0200 Don't deliver signals to zombies. sortix/process.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 32a1be00080246133e8d13d090eb9f806785ea50 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 15:05:45 2012 +0200 Increased tab size from 4 to 8. sortix/textterminal.cpp | 2 +- utils/pager.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit bde41a37ecd3151b0a7a242776f30ca660c7e578 Author: Jonas 'Sortie' Termansen Date: Sat Sep 8 14:36:51 2012 +0200 Implement crt1.o, crti.o, and crtn.o. This helps running cross compiled programs as well as compiling programs under Sortix with gcc. There is also support for global constructors. Currently, cross-compiled executables uses these startup files. The current build system continues to use start.o, which does not offer global constructors and other useful features. Note that these using the crtX.o files requires the crtbegin.o and crtend.o files that ship with the cross compiler, but that should be no problem. libmaxsi/Makefile | 27 ++++++++++++++++++++------ libmaxsi/x64/crt1.s | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/x64/crti.s | 39 +++++++++++++++++++++++++++++++++++++ libmaxsi/x64/crtn.s | 33 ++++++++++++++++++++++++++++++++ libmaxsi/x64/start.s | 6 ++++++ libmaxsi/x86/crt1.s | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/x86/crti.s | 39 +++++++++++++++++++++++++++++++++++++ libmaxsi/x86/crtn.s | 33 ++++++++++++++++++++++++++++++++ libmaxsi/x86/start.s | 7 ++++++- 9 files changed, 285 insertions(+), 7 deletions(-) commit 16019e58971e3de706b91be8401bcdb1774d72ef Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 22:03:36 2012 +0200 Make interrupt handler more robust. sortix/interrupt.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) commit 2135a2d432880e6502bc9042fae8e4387010fe8f Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 21:46:18 2012 +0200 Improve assertions in malloc. This also uses the user-space available header. libmaxsi/heap.cpp | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) commit 2158a16904fa2daffe0b27f3d36a7cbe96eb9cf7 Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 20:52:00 2012 +0200 Add setlocale(3) and localeconv(3). Ok, these are kinda hacky but they do implement a skeleton that a real implementation can be based upon. libmaxsi/Makefile | 2 ++ libmaxsi/include/locale.h | 53 ++++++++++++++++++++++++++++++++++++---- libmaxsi/localeconv.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++ libmaxsi/setlocale.cpp | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 168 insertions(+), 5 deletions(-) commit 3fd270f7a23dee9ddcbe6f014fc7cc55bf9a465f Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 20:45:41 2012 +0200 Remove trailing whitespace. libmaxsi/include/wchar.h | 2 +- sortix/fs/videofs.cpp | 2 +- sortix/include/sortix/kernel/textbuffer.h | 2 +- sortix/kernel.cpp | 2 +- sortix/kthread.cpp | 2 +- sortix/lfbtextbuffer.cpp | 2 +- sortix/x64/syscall.s | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) commit bb3e590915bf81a3409e925d1ff84330060d7c82 Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 20:36:02 2012 +0200 Add proper implementation of scanf family. There are still a few non-standard quirks and things that needs to be properly implemented but that shouldn't be too hard and the most important features are now implemented. libmaxsi/Makefile | 7 +- libmaxsi/fscanf.cpp | 35 ++++ libmaxsi/include/stdio.h | 16 +- libmaxsi/scanf.cpp | 35 ++++ libmaxsi/sscanf.cpp | 35 ++++ libmaxsi/vfscanf.cpp | 317 +++++++++++++++++++++++++++++++++++++ libmaxsi/vscanf.cpp | 31 ++++ libmaxsi/{scan.cpp => vsscanf.cpp} | 53 +++---- 8 files changed, 488 insertions(+), 41 deletions(-) commit cd728c9af9746237d2c6743c9fc2fa3441e98676 Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 20:28:34 2012 +0200 Add fabs{,f,l}(3). libmaxsi/Makefile | 1 + libmaxsi/fabs.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/include/math.h | 5 ++++- 3 files changed, 51 insertions(+), 1 deletion(-) commit 01ea5419cc41aca20e51366183dc01ad31ebe5cf Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 20:24:45 2012 +0200 Add E2BIG. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) commit 09c4f34e6623da3327f12e0c623805da76dffe9b Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 13:07:17 2012 +0200 Remove -pc from Sortix host triplet. sortix/kernel.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 9aba01cc828948c49917240b5423788c5a218214 Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 13:04:41 2012 +0200 Make libmaxsi/c++.cpp symbols weak. This prepares for Sortix using libgcc.a, since it would otherwise collide with libmaxsi/c++.o. libmaxsi/c++.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit 67553189196d2a36867323a43438b5add524ee43 Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 13:00:34 2012 +0200 Add bsearch(3). This is a rather stupid implementation as it does the search in linear time. More importantly, it is correct and helps porting gcc. Besides, it can easily be fixed in due time. libmaxsi/Makefile | 1 + libmaxsi/bsearch.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ libmaxsi/include/stdlib.h | 2 +- 3 files changed, 42 insertions(+), 1 deletion(-) commit 90a4009c536fd5a4a6c04d62b226d8819f66a7ad Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 12:53:37 2012 +0200 Make putenv(3) copy the input string. This violates POSIX but POSIX is stupid in this respect. Of course, this will ever so subtly break some applications. Not sure how this stupid design can be fixed without breaking backwards compatibility. Perhaps remove the putenv(3) function and replace it with a better replacement? (Or perhaps you should just use setenv(3) anyways..) libmaxsi/env.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) commit 550f9db1407b7a2cede9f26471f09805ea5bf1de Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 12:49:44 2012 +0200 Make string.h include strings.h. This helps gcc build since it assumes that string.h provides various functions that POSIX mandates is in strings.h. This is OK with me since that strings.h is a nasty hack anyways. Also, glibc does this. libmaxsi/include/string.h | 1 + 1 file changed, 1 insertion(+) commit 720b02b0fc2d109f4a1a5bcb4f15d2e9e870be27 Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 12:45:26 2012 +0200 Declare size_t and off_t before FILE in wchar.h. libmaxsi/include/wchar.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a478dda4d9b9794792a145166a63397c7769b3bb Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 12:40:45 2012 +0200 fflush(3) on fseeko(3). This caused a corruption of the resulting file if the program fwrite some data that is buffered, then fseeks, and then fflushes. The fwrite will then happen at the wrong memory location. Flushing in fseeko(3) fixes the problem but it may cause violate some standard or just be inefficient. libmaxsi/fseeko.cpp | 1 + 1 file changed, 1 insertion(+) commit 910197ffa78678e5a4a960b50c68bd5d554f0d31 Author: Jonas 'Sortie' Termansen Date: Fri Sep 7 12:38:48 2012 +0200 Fix wrong return value of fdio_seek. libmaxsi/fdio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 29f5cd2335750580f5646ebd3eace69d1ea79329 Author: Jonas 'Sortie' Termansen Date: Mon Sep 3 10:18:44 2012 +0200 Fix return value of fdio fread(3) and fwrite(3). Previously fread and fwrite for file descriptors would return the number of bytes read/written rather than the number of elements read/written. This breaks the C standard and broke various third party programs such as readelf from binutils. libmaxsi/fdio.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit b4192c10e9a56a6dcfad6f6331cd9ba3b7797382 Author: Jonas 'Sortie' Termansen Date: Thu Sep 6 22:29:44 2012 +0200 Refactor libc process exit and abortion. Removed Maxsi::Process:: functions as they suck and are barely used. Gave the functions standard names and put them in their own source files. The declarations now have nice noreturn attributes attached. libmaxsi/Makefile | 6 +++- libmaxsi/_Exit.cpp | 31 +++++++++++++++++++ libmaxsi/_exit.cpp | 38 +++++++++++++++++++++++ libmaxsi/abort.cpp | 31 +++++++++++++++++++ libmaxsi/exit.cpp | 45 ++++++--------------------- libmaxsi/include/libmaxsi/process.h | 4 +-- libmaxsi/include/stdlib.h | 8 ++--- libmaxsi/include/unistd.h | 2 +- libmaxsi/on_exit.cpp | 62 +++++++++++++++++++++++++++++++++++++ libmaxsi/process.cpp | 24 -------------- libmaxsi/signal.cpp | 21 +++++++------ 11 files changed, 194 insertions(+), 78 deletions(-) commit 34970e63f39c9a1d06b272adebe4e194e85ef2d8 Author: Jonas 'Sortie' Termansen Date: Thu Sep 6 21:36:30 2012 +0200 Implement assert(3) properly. libmaxsi/Makefile | 1 + libmaxsi/_assert.cpp | 35 +++++++++++++++++++++++++++++++++++ libmaxsi/include/assert.h | 36 +++++++++++++++++++++++++++++------- 3 files changed, 65 insertions(+), 7 deletions(-) commit 13c0ab638a4f2096de20df2cce13ac8ef122da21 Author: Jonas 'Sortie' Termansen Date: Thu Sep 6 18:07:41 2012 +0200 Sort the output of ls(1). libmaxsi/fddir-sortix.c | 1 + libmaxsi/include/dirent.h | 1 + utils/ls.cpp | 98 +++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 88 insertions(+), 12 deletions(-) commit 17a93359dd5a0959899566d2205dae4f90335423 Author: Jonas 'Sortie' Termansen Date: Thu Sep 6 16:16:17 2012 +0200 Add . and .. support to kernel filesystems. This makes the hack in ls(1) not needed and is hence removed. sortix/fs/devfs.cpp | 2 +- sortix/fs/initfs.cpp | 3 --- sortix/fs/ramfs.cpp | 20 ++++++++++++++------ sortix/fs/videofs.cpp | 12 ++++++++++++ utils/ls.cpp | 5 ----- 5 files changed, 27 insertions(+), 15 deletions(-) commit e761332366764f687e1e249162eaea6c4060b198 Author: Jonas 'Sortie' Termansen Date: Sun Aug 19 00:49:37 2012 +0200 Fixed bad gets(3) declaration in stdio.h. libmaxsi/include/stdio.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 8bac113573fc1fbccb3e60dc7324831cd1a2223e Author: Jonas 'Sortie' Termansen Date: Sat Aug 18 23:16:47 2012 +0200 Split libmaxsi/terminal.cpp into multiple files. libmaxsi/Makefile | 4 ++- libmaxsi/{terminal.cpp => gettermmode.cpp} | 42 +++++++++++------------------- libmaxsi/isatty.cpp | 38 +++++++++++++++++++++++++++ libmaxsi/settermmode.cpp | 38 +++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 28 deletions(-) commit 118fc9ce9a586d0a07068b15f515014f1adab4e8 Author: Jonas 'Sortie' Termansen Date: Sun Aug 5 18:57:38 2012 +0200 The lfb text buffer class now uses the correct cursor color. sortix/lfbtextbuffer.cpp | 3 +-- sortix/lfbtextbuffer.h | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) commit 755e855c083683520ab5670e3099eac758e5d04c Author: Jonas 'Sortie' Termansen Date: Sun Aug 5 17:34:54 2012 +0200 Renamed sforkr(2) to tfork(2). It's a much better name if you think of it as task-fork or thread-fork in the sense that it either modifies this task or creates a new one. This call will be used to provide user-space threads as well as fork(2). libmaxsi/include/unistd.h | 2 +- libmaxsi/process.cpp | 12 ++++++------ libmaxsi/x64/fork.s | 14 +++++++------- libmaxsi/x86/fork.s | 14 +++++++------- sortix/include/sortix/fork.h | 28 +++++++++++++++++----------- sortix/include/sortix/syscallnum.h | 2 +- sortix/include/sortix/x64/fork.h | 4 ++-- sortix/include/sortix/x86/fork.h | 2 +- sortix/process.cpp | 6 +++--- sortix/process.h | 2 +- sortix/x64/process.cpp | 2 +- sortix/x86/process.cpp | 2 +- 12 files changed, 48 insertions(+), 42 deletions(-) commit 111e359482f73760fac419a63c30ce7e81bc5fa4 Author: Jonas 'Sortie' Termansen Date: Sun Aug 5 16:28:00 2012 +0200 Updated README. README | 150 +++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 72 insertions(+), 78 deletions(-) commit fc811af89061e8d7bda3505e38d8945c238422ff Author: Jonas 'Sortie' Termansen Date: Sun Aug 5 16:16:45 2012 +0200 Increased shell limit for line length. Yes this is hacky, I'll fix it with a better shell. utils/mxsh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7d39906acc4d3ad96ac273061d04e5b3dd876dfa Author: Jonas 'Sortie' Termansen Date: Sun Aug 5 00:05:52 2012 +0200 Added support for saving FPU registers upon context switch. This code uses the cr0 task switched bit to disable the FPU upon task switch, which allows the kernel to delay copying the registers until another task starts using them. Or better yet, if no other thread actually uses the registers, then it won't need to do any copying at all! sortix/Makefile | 1 + sortix/interrupt.cpp | 2 +- sortix/kernel.cpp | 5 +++ sortix/scheduler.cpp | 4 +++ sortix/thread.cpp | 5 +++ sortix/thread.h | 3 ++ sortix/x86-family/float.cpp | 84 +++++++++++++++++++++++++++++++++++++++++++++ sortix/x86-family/float.h | 54 +++++++++++++++++++++++++++++ 8 files changed, 157 insertions(+), 1 deletion(-) commit 93bb4f992bec7ca02cc088c80888c1d93eb5e3aa Author: Jonas 'Sortie' Termansen Date: Sun May 27 14:57:08 2012 +0200 Added support for floating point numbers. Note that the scheduler does not load/restore floating point numbers yet upon task switching. This means only one task can use floating point numbers at the same time without the risk of race conditions. Note that this enables SSE in 32-bit x86 platforms - but not all models have such support, which limits which computers Sortix works on. Ideally, we should detect what features are available on the computer at runtime and enable/disable the proper kernel support. This is not a problem on x86_64. sortix/x64/boot.s | 21 ++++++++++++++++++--- sortix/x86/base.s | 3 +-- sortix/x86/boot.s | 22 +++++++++++++++++++++- 3 files changed, 40 insertions(+), 6 deletions(-) commit 66b8d237132e3319e3c16b3bf0392d90b7bc0b51 Author: Jonas 'Sortie' Termansen Date: Sat Apr 14 15:31:31 2012 +0200 Init defaults $objtype to $cputype. utils/init.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit 8f3fd73bd6306f0fe6db3a6114daccbdd3a25b0b Author: Jonas 'Sortie' Termansen Date: Sat Apr 14 15:31:15 2012 +0200 The kernel provides the $cputype environmental variable. sortix/kernel.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit e230854ee977b0114b7b2f995f0f712d5d273c90 Author: Jonas 'Sortie' Termansen Date: Sat Apr 14 13:58:58 2012 +0200 Removed the idle program. utils/Makefile | 1 - utils/idle.cpp | 28 ---------------------------- 2 files changed, 29 deletions(-) commit f1f0c44a12a60046748c6510e96d7b21ebf98e6c Author: Jonas 'Sortie' Termansen Date: Fri Aug 3 15:39:46 2012 +0200 Made the shell more compatible with signals. utils/mxsh.cpp | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) commit 51e3de971c23e3469e5714708970a950baabeba1 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 17:30:09 2012 +0200 Multithreaded kernel and improvement of signal handling. Pardon the big ass-commit, this took months to develop and debug and the refactoring got so far that a clean merge became impossible. The good news is that this commit does quite a bit of cleaning up and generally improves the kernel quality. This makes the kernel fully pre-emptive and multithreaded. This was done by rewriting the interrupt code, the scheduler, introducing new threading primitives, and rewriting large parts of the kernel. During the past few commits the kernel has had its device drivers thread secured; this commit thread secures large parts of the core kernel. There still remains some parts of the kernel that is _not_ thread secured, but this is not a problem at this point. Each user-space thread has an associated kernel stack that it uses when it goes into kernel mode. This stack is by default 8 KiB since that value works for me and is also used by Linux. Strange things tends to happen on x86 in case of a stack overflow - there is no ideal way to catch such a situation right now. The system call conventions were changed, too. The %edx register is now used to provide the errno value of the call, instead of the kernel writing it into a registered global variable. The system call code has also been updated to better reflect the native calling conventions: not all registers have to be preserved. This makes system calls faster and simplifies the assembly. In the kernel, there is no longer the event.h header or the hacky method of 'resuming system calls' that closely resembles cooperative multitasking. If a system call wants to block, it should just block. The signal handling was also improved significantly. At this point, signals cannot interrupt kernel threads (but can always interrupt user-space threads if enabled), which introduces some problems with how a SIGINT could interrupt a blocking read, for instance. This commit introduces and uses a number of new primitives such as kthread_lock_mutex_signal() that attempts to get the lock but fails if a signal is pending. In this manner, the kernel is safer as kernel threads cannot be shut down inconveniently, but in return for complexity as blocking operations must check they if they should fail. Process exiting has also been refactored significantly. The _exit(2) system call sets the exit code and sends SIGKILL to all the threads in the process. Once all the threads have cleaned themselves up and exited, a worker thread calls the process's LastPrayer() method that unmaps memory, deletes the address space, notifies the parent, etc. This provides a very robust way to terminate processes as even half-constructed processes (during a failing fork for instance) can be gracefully terminated. I have introduced a number of kernel threads to help avoid threading problems and simplify kernel design. For instance, there is now a functional generic kernel worker thread that any kernel thread can schedule jobs for. Interrupt handlers run with interrupts off (hence they cannot call kthread_ functions as it may deadlock the system if another thread holds the lock) therefore they cannot use the standard kernel worker threads. Instead, they use a special purpose interrupt worker thread that works much like the generic one expect that interrupt handlers can safely queue work with interrupts off. Note that this also means that interrupt handlers cannot allocate memory or print to the kernel log/screen as such mechanisms uses locks. I'll introduce a lock free algorithm for such cases later on. The boot process has also changed. The original kernel init thread in kernel.cpp creates a new bootstrap thread and becomes the system idle thread. Note that pid=0 now means the kernel, as there is no longer a system idle process. The bootstrap thread launches all the kernel worker threads and then creates a new process and loads /bin/init into it and then creates a thread in pid=1, which starts the system. The bootstrap thread then quietly waits for pid=1 to exit after which it shuts down/reboots/panics the system. In general, the introduction of race conditions and dead locks have forced me to revise a lot of the design and make sure it was thread secure. Since early parts of the kernel was quite hacky, I had to refactor such code. So it seems that the risk of dead locks forces me to write better code. Note that a real preemptive multithreaded kernel simplifies the construction of blocking system calls. My hope is that this will trigger a clean up of the filesystem code that current is almost beyond repair. Almost all of the kernel was modified during this refactoring. To the extent possible, these changes have been backported to older non-multithreaded kernel, but many changes were tightly coupled and went into this commit. Of interest is the implementation of the kthread_ api based on the design of pthreads; this library allows easy synchronization mechanisms and includes C++-style scoped locks. This commit also introduces new worker threads and tested mechanisms for interrupt handlers to schedule work in a kernel worker thread. A lot of code have been rewritten from scratch and has become a lot more stable and correct. Share and enjoy! libmaxsi/error.cpp | 5 +- libmaxsi/include/libmaxsi/signal.h | 42 -- libmaxsi/include/libmaxsi/signalnum.h | 71 -- libmaxsi/include/libmaxsi/syscall.h | 84 ++- libmaxsi/include/signal.h | 44 +- libmaxsi/init.cpp | 18 +- libmaxsi/signal.cpp | 71 +- libmaxsi/x64/signal.s | 14 +- libmaxsi/x86/signal.s | 17 +- sortix/Makefile | 2 +- sortix/com.cpp | 2 +- sortix/cpu.h | 13 + sortix/event.cpp | 84 --- sortix/event.h | 50 -- sortix/include/sortix/kernel/kthread.h | 23 +- sortix/include/sortix/kernel/memorymanagement.h | 4 +- sortix/include/sortix/signal.h | 79 +++ sortix/include/sortix/syscallnum.h | 4 +- sortix/interrupt.cpp | 129 +++- sortix/interrupt.h | 11 +- sortix/kernel.cpp | 195 +++-- sortix/kthread.cpp | 83 ++- sortix/logterminal.cpp | 8 +- sortix/logterminal.h | 1 - sortix/panic.cpp | 2 + sortix/pipe.cpp | 5 +- sortix/process.cpp | 908 ++++++++++++------------ sortix/process.h | 65 +- sortix/scheduler.cpp | 597 +++++++--------- sortix/scheduler.h | 50 +- sortix/serialterminal.h | 10 +- sortix/signal.cpp | 296 +++----- sortix/signal.h | 99 +-- sortix/syscall.cpp | 98 +-- sortix/syscall.h | 39 +- sortix/textterminal.cpp | 4 + sortix/textterminal.h | 3 + sortix/thread.cpp | 344 ++++----- sortix/thread.h | 107 +-- sortix/x64/interrupt.s | 60 +- sortix/x64/kthread.s | 85 +++ sortix/x64/memorymanagement.cpp | 41 +- sortix/x64/process.cpp | 49 +- sortix/x64/syscall.s | 148 ++-- sortix/x64/thread.cpp | 127 ++-- sortix/x64/x64.h | 29 +- sortix/x86-family/memorymanagement.cpp | 2 + sortix/x86-family/x86-family.h | 32 +- sortix/x86/interrupt.s | 161 ++++- sortix/x86/kthread.s | 104 +++ sortix/x86/memorymanagement.cpp | 60 +- sortix/x86/process.cpp | 40 +- sortix/x86/syscall.s | 121 +--- sortix/x86/thread.cpp | 123 ++-- sortix/x86/x86.h | 29 +- 55 files changed, 2598 insertions(+), 2294 deletions(-) commit c518a37bef63e5e49582256edb2dcf5b581b75f8 Author: Jonas 'Sortie' Termansen Date: Sat Aug 4 13:57:48 2012 +0200 Fixed compiler warning in PageProtect function family. sortix/x86-family/memorymanagement.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 69c23aed569552ed88eceae2bcf179eb974025e3 Author: Jonas 'Sortie' Termansen Date: Thu Aug 2 20:39:00 2012 +0200 Thread secured the sound driver. sortix/sound.cpp | 8 +++++++- sortix/sound.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) commit 5f93e157d55d8cda399326257c90f17fbc13db0c Author: Jonas 'Sortie' Termansen Date: Sat Aug 4 13:49:56 2012 +0200 Thread secured refcount class. sortix/include/sortix/kernel/refcount.h | 3 +++ sortix/refcount.cpp | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) commit 61dbb4a2ececa4aa0e5f623ced632ff355b1df3c Author: Jonas 'Sortie' Termansen Date: Thu Aug 2 15:23:35 2012 +0200 Better abstraction of setting kernel stack. sortix/scheduler.cpp | 10 +++++----- sortix/x86-family/gdt.cpp | 8 ++++---- sortix/x86-family/gdt.h | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) commit 950610e1eb6e74f8ad757fca87f783faa2833f5a Author: Jonas 'Sortie' Termansen Date: Thu Aug 2 15:09:37 2012 +0200 Added a kernel worker thread for use when the kernel goes multithreaded. sortix/Makefile | 1 + sortix/include/sortix/kernel/worker.h | 39 +++++++++++++ sortix/worker.cpp | 107 ++++++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+) commit ee73aa7783898f19373b745157669083176afad4 Author: Jonas 'Sortie' Termansen Date: Thu Aug 2 14:47:45 2012 +0200 Added a library of functions to simulate atomic operations on memory. sortix/Makefile | 2 + sortix/include/sortix/kernel/interlock.h | 48 +++++++++++++++++++++ sortix/interlock.cpp | 73 ++++++++++++++++++++++++++++++++ sortix/x64/interlock.s | 56 ++++++++++++++++++++++++ sortix/x86/interlock.s | 61 ++++++++++++++++++++++++++ 5 files changed, 240 insertions(+) commit dafe1c499d96ebb4821b86f7432f285d40005c54 Author: Jonas 'Sortie' Termansen Date: Thu Aug 2 14:34:11 2012 +0200 Thread secured pipe class. sortix/pipe.cpp | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- sortix/pipe.h | 10 +++---- 2 files changed, 88 insertions(+), 13 deletions(-) commit 66d7234ab1ca7967ecefa6d9927226a4ee848bb3 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 21:39:49 2012 +0200 Thread secured logterminal class and implemented VEOF. sortix/logterminal.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++----- sortix/logterminal.h | 20 +++++++++++---- 2 files changed, 75 insertions(+), 11 deletions(-) commit bf07674d7a8cab337fe6ea697323cede7de40873 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 20:53:26 2012 +0200 Thread secured the keyboard driver. sortix/kb/ps2.cpp | 47 +++++++++++++++++++++++++++++++++++++++++------ sortix/kb/ps2.h | 13 ++++++++----- 2 files changed, 49 insertions(+), 11 deletions(-) commit af015491dba924c94167977e8c4897e615aeb62b Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 20:22:06 2012 +0200 sortix/io.cpp is now ready for new system call semantics. sortix/io.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) commit 4810ccae3989416099cbff759f9d25f84b43f294 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 19:01:59 2012 +0200 Added warning in case the laws of logic changes. sortix/initrd.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) commit 2e3843ffce78fd8b49ee7675f0ee0e8151e35d0a Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 18:54:20 2012 +0200 Fixed incorrect x86-family protection flags. sortix/x86-family/memorymanagement.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 49ad293d1dceba214fb8a6abd2c3cd36a6555d9c Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 18:50:07 2012 +0200 Thread secured the physical page allocator. sortix/include/sortix/kernel/memorymanagement.h | 9 +++- sortix/x86-family/memorymanagement.cpp | 61 +++++++++++++++++++++---- 2 files changed, 60 insertions(+), 10 deletions(-) commit 459a1b2b3f9484b868f97a69b2ea47b65b10f1f9 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 18:40:15 2012 +0200 Thread secured initfs. sortix/fs/initfs.cpp | 6 ++++++ 1 file changed, 6 insertions(+) commit f00c8b3d630b6497f766d4d2be21aee380b57d49 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 17:37:57 2012 +0200 Thread secured the kernel device class. sortix/device.cpp | 20 ++++++++++++++------ sortix/device.h | 13 ++++++++----- 2 files changed, 22 insertions(+), 11 deletions(-) commit 38349da082e8fb09d0828b84f48a996bd28a2279 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 17:30:09 2012 +0200 Thread secured the COM driver. sortix/com.cpp | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- sortix/com.h | 2 +- 2 files changed, 54 insertions(+), 2 deletions(-) commit f3f33e22e7613de569cddfb54bba795de4ca49c8 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 16:24:35 2012 +0200 Thread secured ATA driver. sortix/ata.cpp | 14 +++++++++----- sortix/ata.h | 13 ++++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) commit eb4f17933080e58ea2160adbcc08b979b5dc44b6 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 16:17:07 2012 +0200 Added DEBUG_KERNEL option to kernel makefile. sortix/Makefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 715a4588e550a2ca886f31cf060e7aac5085b6b0 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 14:32:27 2012 +0200 Fixed wrong return value of ioleast(3) functions. libmaxsi/ioleast.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit bff1abda2e21a1e5404c1cf24f7344ca1ca7c714 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 14:26:37 2012 +0200 Thread secured the kernel heap. libmaxsi/heap.cpp | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) commit 199fec667465918951737ed99562361c157d3e6e Author: Jonas 'Sortie' Termansen Date: Fri Aug 3 23:35:49 2012 +0200 Hack: ReadParamString supports "STOP" because of stdarg bug. sortix/video.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 14d709c136434924b0132240e4b46a2b6ed7bd73 Author: Jonas 'Sortie' Termansen Date: Sat Aug 4 18:33:22 2012 +0200 Added support for gcc 4.7.1. sortix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 78300931ba5acbffe4b6a086eff01bb663f19944 Author: Jonas 'Sortie' Termansen Date: Thu Aug 2 16:24:26 2012 +0200 Workarounds for older gcc releases such that endian.h works. sortix/include/sortix/kernel/endian.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) commit 86f8662a4e334521d8f09741c83e0f4b2ced188f Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 13:07:22 2012 +0200 The VGA font is now available as /dev/vga. sortix/vga.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) commit f3532081aa4f778e0ae6d820817222494cbbcea6 Author: Jonas 'Sortie' Termansen Date: Wed Aug 1 13:07:06 2012 +0200 Added a filesystem utility class for providing a fixed buffer. sortix/fs/util.cpp | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/util.h | 27 ++++++++++++++++++++ 2 files changed, 101 insertions(+) commit 260eab8e44f3b8c673595f91d182381c78c9336d Author: Jonas 'Sortie' Termansen Date: Tue Jul 31 20:40:54 2012 +0200 Fixed problems in strncmp(3) and strncasecmp(3). This was introduced during the recent refactoring. libmaxsi/strncasecmp.cpp | 2 +- libmaxsi/strncmp.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 47ae7124194f9ceab3099939d9246dce41637ec1 Author: Jonas 'Sortie' Termansen Date: Tue Jul 31 16:48:31 2012 +0200 pager(1) now detects the terminal resolution. utils/pager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 261c063f4f88b9efa0b64076a167d0d5fd4a47c2 Author: Jonas 'Sortie' Termansen Date: Tue Jul 31 14:15:38 2012 +0200 Refactored libmaxsi/file.c into a multiple files. libmaxsi/Makefile | 35 ++++- libmaxsi/clearerr.cpp | 31 +++++ libmaxsi/fbufsize.cpp | 30 +++++ libmaxsi/fclose.cpp | 34 +++++ libmaxsi/fcloseall.cpp | 32 +++++ libmaxsi/feof.cpp | 34 +++++ libmaxsi/ferror.cpp | 32 +++++ libmaxsi/fflush.cpp | 42 ++++++ libmaxsi/fgetc.cpp | 32 +++++ libmaxsi/fgets.cpp | 47 +++++++ libmaxsi/file.c | 340 ----------------------------------------------- libmaxsi/fileno.cpp | 33 +++++ libmaxsi/flbf.cpp | 30 +++++ libmaxsi/flushlfb.cpp | 31 +++++ libmaxsi/fnewline.cpp | 45 +++++++ libmaxsi/fpending.cpp | 30 +++++ libmaxsi/fpurge.cpp | 30 +++++ libmaxsi/fputc.cpp | 32 +++++ libmaxsi/fputs.cpp | 34 +++++ libmaxsi/fread.cpp | 45 +++++++ libmaxsi/freadable.cpp | 30 +++++ libmaxsi/freading.cpp | 32 +++++ libmaxsi/fregister.cpp | 46 +++++++ libmaxsi/fseek.cpp | 30 +++++ libmaxsi/fseeko.cpp | 31 +++++ libmaxsi/fseterr.cpp | 31 +++++ libmaxsi/fsetlocking.cpp | 36 +++++ libmaxsi/ftell.cpp | 30 +++++ libmaxsi/ftello.cpp | 32 +++++ libmaxsi/fwritable.cpp | 30 +++++ libmaxsi/fwrite.cpp | 64 +++++++++ libmaxsi/fwriting.cpp | 32 +++++ libmaxsi/getc.cpp | 30 +++++ libmaxsi/include/stdio.h | 14 +- libmaxsi/putc.cpp | 30 +++++ libmaxsi/rewind.cpp | 31 +++++ libmaxsi/ungetc.cpp | 35 +++++ 37 files changed, 1217 insertions(+), 346 deletions(-) commit 8dc5955f5e05930432ae3b2b1e4395ae04f434af Author: Jonas 'Sortie' Termansen Date: Tue May 22 21:44:51 2012 +0200 Wrote a driver for the Bochs VBE Extensions (BGA). sortix/Makefile | 1 + sortix/bga.cpp | 529 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/bga.h | 36 ++++ sortix/kernel.cpp | 4 + 4 files changed, 570 insertions(+) commit cb5a242dfc7394d5ad487a609f305f6f1ef520da Author: Jonas 'Sortie' Termansen Date: Mon Jul 30 19:01:40 2012 +0200 Added a text buffer that works with graphical linear frame buffers. sortix/Makefile | 1 + sortix/lfbtextbuffer.cpp | 334 +++++++++++++++++++++++++++++++++++++++++++++++ sortix/lfbtextbuffer.h | 114 ++++++++++++++++ 3 files changed, 449 insertions(+) commit ce43f9c3062e7d47d18639961a87c4be09b74b80 Author: Jonas 'Sortie' Termansen Date: Wed May 23 17:01:29 2012 +0200 Add chvideomode(1) using the /dev/video interface. utils/Makefile | 1 + utils/chvideomode.cpp | 382 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 383 insertions(+) commit 78f0c6c094b709a41a34aadab732e683ba0576d2 Author: Jonas 'Sortie' Termansen Date: Sun May 27 14:32:03 2012 +0200 The video framework is now exposed as /dev/video. This provides easy user-space access to the framebuffer. sortix/Makefile | 1 + sortix/fs/devfs.cpp | 21 +++- sortix/fs/videofs.cpp | 310 ++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/videofs.h | 46 ++++++++ 4 files changed, 375 insertions(+), 3 deletions(-) commit 1ce55af846a681ae4668158a9d639edfa94f282d Author: Jonas 'Sortie' Termansen Date: Wed May 2 02:43:31 2012 +0200 Created framework for video drivers. This supports dynamic loading and unloading of graphics drivers, mode switching and detection and flexible kernel access to the framebuffer. sortix/Makefile | 1 + sortix/include/sortix/kernel/video.h | 68 ++++++ sortix/kernel.cpp | 4 + sortix/video.cpp | 433 +++++++++++++++++++++++++++++++++++ 4 files changed, 506 insertions(+) commit d27a2bdcbf657fbb22f734825e49bee02fbc0091 Author: Jonas 'Sortie' Termansen Date: Mon Jul 30 18:58:48 2012 +0200 Better detection of panicing while panicing. sortix/panic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1041823d4225f0f6c641910f0c30aee841e3e361 Author: Jonas 'Sortie' Termansen Date: Mon Jul 30 18:56:22 2012 +0200 Fixed VGA text buffer rendering non-ascii text incorrectly. sortix/vgatextbuffer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3b0f165c4f80f49bbb2c1454d2b5fb3885da8004 Author: Jonas 'Sortie' Termansen Date: Mon Jul 30 18:55:37 2012 +0200 Fixed bad declaration of MapPAT in x86-family/memorymanagement.h. sortix/x86-family/memorymanagement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ab7ee4fd1e04668c31633b74a7651f0c4402a27f Author: Jonas 'Sortie' Termansen Date: Mon Jul 30 00:34:58 2012 +0200 column(1) now queries the terminal width. utils/column.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit 19b5451f3b3d4e6dfb2404e972fe4da0ce7d5f6a Author: Jonas 'Sortie' Termansen Date: Sat Jul 28 01:40:00 2012 +0200 Refactored the PCI code to become a library of utility functions. sortix/include/sortix/kernel/pci.h | 75 +++++++ sortix/kernel.cpp | 6 +- sortix/pci.cpp | 411 ++++++++++++++----------------------- sortix/pci.h | 39 ---- 4 files changed, 234 insertions(+), 297 deletions(-) commit 5f6ca5e7293b0ecf30568f314f6f9ff9a3adb798 Author: Jonas 'Sortie' Termansen Date: Sat Jul 28 21:11:18 2012 +0200 Added a kernel endian.h header for easy conversion. sortix/include/sortix/kernel/endian.h | 107 ++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) commit 829e63f0e929245abcd34cfbbe35c2150f30ee54 Author: Jonas 'Sortie' Termansen Date: Sun Jul 29 23:41:11 2012 +0200 editor(1) now bails if the terminal resolution isn't 80x25. This isn't perfect, but support for other resolutions is near! utils/editor.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 5eb48d32fb4dc9416df6f2f67ad8b884eda252e1 Author: Jonas 'Sortie' Termansen Date: Thu Jul 26 18:51:25 2012 +0200 Fixed a bug in --usage of uname(1). utils/uname.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit ba07631aa2b701973ae143a45d2328febcb3281c Author: Jonas 'Sortie' Termansen Date: Thu Jul 26 16:04:20 2012 +0200 uname(1) now behaves much more like its GNU coreutils counterpart. utils/uname.cpp | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 172 insertions(+), 7 deletions(-) commit 87c8120b9524762c45b3eccff4b09587db7a86fb Author: Jonas 'Sortie' Termansen Date: Thu Jul 26 14:17:31 2012 +0200 Refactored libmaxsi/string.cpp into multiple files. However, parts libmaxsi/string.cpp remains as the kernel and parts of the standard library still rely on . libmaxsi/Makefile | 22 ++++++++ libmaxsi/init.cpp | 6 +-- libmaxsi/integer.cpp | 5 +- libmaxsi/signal.cpp | 1 - libmaxsi/stpcpy.cpp | 33 ++++++++++++ libmaxsi/strcasecmp.cpp | 40 ++++++++++++++ libmaxsi/strcat.cpp | 31 +++++++++++ libmaxsi/strchr.cpp | 33 ++++++++++++ libmaxsi/strchrnul.cpp | 31 +++++++++++ libmaxsi/strcmp.cpp | 39 ++++++++++++++ libmaxsi/strcoll.cpp | 31 +++++++++++ libmaxsi/strcpy.cpp | 34 ++++++++++++ libmaxsi/strcspn.cpp | 44 +++++++++++++++ libmaxsi/strdup.cpp | 36 +++++++++++++ libmaxsi/string.cpp | 137 +++++------------------------------------------ libmaxsi/strlen.cpp | 33 ++++++++++++ libmaxsi/strncasecmp.cpp | 41 ++++++++++++++ libmaxsi/strncat.cpp | 35 ++++++++++++ libmaxsi/strncmp.cpp | 40 ++++++++++++++ libmaxsi/strncpy.cpp | 35 ++++++++++++ libmaxsi/strnlen.cpp | 33 ++++++++++++ libmaxsi/strpbrk.cpp | 33 ++++++++++++ libmaxsi/strrchr.cpp | 37 +++++++++++++ libmaxsi/strspn.cpp | 44 +++++++++++++++ libmaxsi/strstr.cpp | 45 ++++++++++++++++ libmaxsi/strtok.cpp | 31 +++++++++++ libmaxsi/strtok_r.cpp | 43 +++++++++++++++ libmaxsi/time.cpp | 1 - 28 files changed, 840 insertions(+), 134 deletions(-) commit 01df97080e9d6ce2db168963100b0ed1c8d97e6a Author: Jonas 'Sortie' Termansen Date: Wed Jul 25 22:59:52 2012 +0200 Refactored libmaxsi/io.cpp into multiple files. This creates more object files in the static library which reduces the size of statically linked files as only the relevant object files are included. In my experience, it reduced the size of the system initrd from 1.9 MiB to 1.6 MiB which is valuable. libmaxsi/Makefile | 29 +++- libmaxsi/access.cpp | 38 +++++ libmaxsi/chdir.cpp | 37 +++++ libmaxsi/chmod.cpp | 39 +++++ libmaxsi/close.cpp | 38 +++++ libmaxsi/dup.cpp | 38 +++++ libmaxsi/errorprint.cpp | 51 ++++++ libmaxsi/fchmod.cpp | 39 +++++ libmaxsi/fcntl.cpp | 38 +++++ libmaxsi/fstat.cpp | 38 +++++ libmaxsi/ftruncate.cpp | 37 +++++ libmaxsi/getcwd.cpp | 37 +++++ libmaxsi/getdtablesize.cpp | 33 ++++ libmaxsi/io.cpp | 384 --------------------------------------------- libmaxsi/lseek.cpp | 39 +++++ libmaxsi/mbtowc.cpp | 32 ++++ libmaxsi/mkdir.cpp | 37 +++++ libmaxsi/mktemp.cpp | 37 +++++ libmaxsi/open.cpp | 38 +++++ libmaxsi/pipe.cpp | 38 +++++ libmaxsi/print.cpp | 127 +++++++++++++++ libmaxsi/read.cpp | 48 ++++++ libmaxsi/readdirents.cpp | 38 +++++ libmaxsi/rmdir.cpp | 37 +++++ libmaxsi/scan.cpp | 58 +++++++ libmaxsi/stat.cpp | 44 ++++++ libmaxsi/truncate.cpp | 37 +++++ libmaxsi/umask.cpp | 39 +++++ libmaxsi/unlink.cpp | 37 +++++ libmaxsi/write.cpp | 48 ++++++ 30 files changed, 1225 insertions(+), 385 deletions(-) commit db5d216cbec492bac2921e4eb8b6adcd945f5942 Author: Jonas 'Sortie' Termansen Date: Sun Jul 1 14:48:54 2012 +0200 Added ReadParamString to libmaxsi as a hack. libmaxsi/Makefile | 1 + libmaxsi/include/readparamstring.h | 36 ++++++++++++++++++ libmaxsi/readparamstring.cpp | 75 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+) commit f3904185150828ef3036bc93736a5cf09afdaae3 Author: Jonas 'Sortie' Termansen Date: Mon May 28 00:18:54 2012 +0200 Preallocated kernel address space for video memory. sortix/include/sortix/kernel/memorymanagement.h | 2 ++ sortix/x64/memorymanagement.cpp | 14 +++++++++++- sortix/x86/memorymanagement.cpp | 30 +++++++++++++++++-------- 3 files changed, 36 insertions(+), 10 deletions(-) commit 494636b8eb85700bc3ee1f800ee5cf5957f3c1e9 Author: Jonas 'Sortie' Termansen Date: Sun May 27 14:30:45 2012 +0200 Added some filesystem utility classes. sortix/Makefile | 1 + sortix/fs/util.cpp | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/util.h | 78 ++++++++++++++++++++++++++++ 3 files changed, 224 insertions(+) commit 38f06d505ca478db535a26515dbfb515957f93ad Author: Jonas 'Sortie' Termansen Date: Sun May 27 14:29:00 2012 +0200 Better detection of environmental variables in mxsh. utils/mxsh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b7788610da63bb27e053fbf628f31f35f84d47a5 Author: Jonas 'Sortie' Termansen Date: Sun May 27 14:28:35 2012 +0200 Added error detection to echo(1). utils/echo.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) commit 4dda38cab3ba73ccc585369344ab4406f465c864 Author: Jonas 'Sortie' Termansen Date: Sun May 27 14:28:09 2012 +0200 Added ENODRV. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 12326f2e34cdfc028705ead5a2f6371bbec6ba1e Author: Jonas 'Sortie' Termansen Date: Tue Jul 24 18:50:57 2012 +0200 Added $LINES and $COLUMNS to the shell. This tests the fancy new system call tcgetwinsize(2). utils/mxsh.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 143120d1601af8b6d2282faccc849994a1b27f98 Author: Jonas 'Sortie' Termansen Date: Tue Jul 24 18:43:09 2012 +0200 Added tcgetwinsize(2) for determining terminal resolution. Unfortunately this area is not standardized by POSIX. Linux uses an ioctl which is not that bad, but I'd like to have a designated function. I'm not sure if this facility is powerful enough and whether it should be improved. Also note that I use a struct winsize as on Linux, but I use size_ts instead for the heck of it. Perhaps I should use another name for the struct. libmaxsi/Makefile | 1 + libmaxsi/include/termios.h | 40 +++++++++++++++++++++++++++++++++++ libmaxsi/winsize.cpp | 38 +++++++++++++++++++++++++++++++++ sortix/include/sortix/kernel/log.h | 41 ++++++++++++++++++++++++------------ sortix/include/sortix/syscallnum.h | 3 ++- sortix/include/sortix/termios.h | 43 ++++++++++++++++++++++++++++++++++++++ sortix/kernel.cpp | 12 ++++++++++- sortix/log.cpp | 9 +++++++- sortix/logterminal.cpp | 4 ++-- sortix/terminal.cpp | 21 ++++++++++++++++++- sortix/textterminal.cpp | 16 ++++++++++++++ sortix/textterminal.h | 4 +++- 12 files changed, 212 insertions(+), 20 deletions(-) commit 1761db9f2730cdca03d11c8fd8a3ee4287cd222f Author: Jonas 'Sortie' Termansen Date: Tue Jul 24 17:02:49 2012 +0200 Updated copyright format in unistd.h. This is because I usually copy the header of new files from unistd.h. libmaxsi/include/unistd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f5c4b64aff6011716e12eec55e6f17992354fe8b Author: Jonas 'Sortie' Termansen Date: Mon Jul 23 00:00:47 2012 +0200 The console can now be rendered to any text buffer. The console renderer now renders to a text buffer, which can be implemented on any device, whether it's the VGA text buffer or a bitmap graphics device with font rendering. This replaces the older code that could only render to a VGA framebuffer and where the input parsing was tightly coupled with the device rendering phase. sortix/Makefile | 4 +- sortix/include/sortix/kernel/textbuffer.h | 99 ++++++ sortix/kernel.cpp | 29 +- sortix/serialterminal.cpp | 4 +- sortix/textbuffer.cpp | 83 +++++ sortix/textterminal.cpp | 417 +++++++++++++++++++++++ sortix/textterminal.h | 69 ++++ sortix/vgaterminal.cpp | 547 ------------------------------ sortix/vgaterminal.h | 39 --- sortix/vgatextbuffer.cpp | 193 +++++++++++ sortix/vgatextbuffer.h | 70 ++++ 11 files changed, 959 insertions(+), 595 deletions(-) commit 8c5ab54c9b9e4a815da83452d41527ac20915f3e Author: Jonas 'Sortie' Termansen Date: Sun Jul 22 21:25:11 2012 +0200 Updated refcount.cpp to a newer coding convention. sortix/{ => include/sortix/kernel}/refcount.h | 32 ++++++++--------- sortix/refcount.cpp | 49 ++++++++++++++------------- 2 files changed, 41 insertions(+), 40 deletions(-) commit 3907e14cb83c2c417f86600cfa474ebce5ba3af2 Author: Jonas 'Sortie' Termansen Date: Sun Jul 22 18:22:13 2012 +0200 Updated vgaterminal.cpp to newer coding conventions. sortix/vgaterminal.cpp | 926 ++++++++++++++++++++++++------------------------- sortix/vgaterminal.h | 32 +- 2 files changed, 470 insertions(+), 488 deletions(-) commit d75a7145ef6e7c3b992863e41f05c6fd484dafa9 Author: Jonas 'Sortie' Termansen Date: Sun Jul 22 17:01:09 2012 +0200 Updated vga code to newer coding conventions. libmaxsi/include/libmaxsi/sortix-vga.h | 19 +- sortix/include/sortix/vga.h | 52 ++++++ sortix/vga.cpp | 321 +++++++++++++++++---------------- sortix/vga.h | 98 +++++----- sortix/vgaterminal.cpp | 1 + 5 files changed, 258 insertions(+), 233 deletions(-) commit b2814db927c0e5663c7e182faf62090b57e251cf Author: Jonas 'Sortie' Termansen Date: Sun Jul 22 15:51:13 2012 +0200 Added support for getting a copy of the VGA Font. This will be useful for providing a text-mode like environment (console) after having switched to graphical mode where the system needs a font. sortix/vga.cpp | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- sortix/vga.h | 16 +++++++--- 2 files changed, 103 insertions(+), 11 deletions(-) commit 476ba278dabeaf375c94847caacb2879bd4041b4 Author: Jonas 'Sortie' Termansen Date: Tue Jul 17 16:21:56 2012 +0200 Improved VGA scroll performance using memcpy(3). sortix/vgaterminal.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) commit ebc0b064c301fc60c0a69d093e8c0fd3822a62a7 Author: Jonas 'Sortie' Termansen Date: Mon Apr 9 14:15:16 2012 +0200 Added a function to get the current address space pointer. sortix/include/sortix/kernel/memorymanagement.h | 1 + sortix/x64/memorymanagement.cpp | 10 +++++----- sortix/x86-family/memorymanagement.cpp | 7 ++++++- sortix/x86/memorymanagement.cpp | 10 +++++----- 4 files changed, 17 insertions(+), 11 deletions(-) commit d59c0cb3ede06d406a0dcf3de970eebc11bef96d Author: Jonas 'Sortie' Termansen Date: Sat Apr 7 20:12:01 2012 +0200 getpagesize(2) now call Sortix::Page::Size(). sortix/process.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 22990b77b84cf7c66c1ccb6ce86ef1898baeb71f Author: Jonas 'Sortie' Termansen Date: Wed Mar 21 17:19:02 2012 +0100 Refactored the internal kernel memory management API. It is now permission-oriented, not just user/kernel oriented. Added with nice PROT_{READ,WRITE,EXEC,FORK} constants. libmaxsi/heap.cpp | 9 +- libmaxsi/include/sys/mman.h | 36 +++ sortix/Makefile | 1 + sortix/elf.cpp | 17 +- sortix/include/sortix/kernel/memorymanagement.h | 34 +-- sortix/include/sortix/mman.h | 47 ++++ sortix/initrd.cpp | 3 +- sortix/memorymanagement.cpp | 53 +++++ sortix/process.cpp | 8 +- sortix/scheduler.cpp | 4 +- sortix/thread.cpp | 8 +- sortix/x86-family/memorymanagement.cpp | 297 ++++++++++++++---------- sortix/x86-family/memorymanagement.h | 7 +- 13 files changed, 368 insertions(+), 156 deletions(-) commit ec5fa92761dd605ac9d695894782afea59b4664e Author: Jonas 'Sortie' Termansen Date: Mon Mar 26 22:22:35 2012 +0200 Programmers can now redirect what the errno macro refers to. libmaxsi/decl/errno_decl.h | 11 +++++++++-- libmaxsi/error.cpp | 18 +++++++++++++++--- libmaxsi/include/libmaxsi/error.h | 10 ++++++++++ sortix/process.cpp | 4 ++-- sortix/process.h | 2 +- sortix/syscall.cpp | 4 ++-- sortix/x64/syscall.s | 2 +- sortix/x86/syscall.s | 2 +- 8 files changed, 41 insertions(+), 12 deletions(-) commit e7baf6a4b0ff6152cf0664feaea7fa8923834a10 Author: Jonas 'Sortie' Termansen Date: Fri Jul 6 17:17:20 2012 +0200 Updated the kthread compatibility layer with signal support. sortix/include/sortix/kernel/kthread.h | 44 ++++++++++++++++++++++++++++------ sortix/kthread.cpp | 13 +++++++++- 2 files changed, 49 insertions(+), 8 deletions(-) commit c39473157a6fb69344ebe903866cc18e778142c2 Author: Jonas 'Sortie' Termansen Date: Fri Mar 23 19:36:27 2012 +0100 Implemented a new initrd format with better inode support. This enables useful features such as directories, CRC32 checksums, and other useful features. The initrdfs in the kernel is now hooked up against the new API, although the kernel's current limited FS support is a problem for now. To work around that, directories are not supported at runtime, although the internal API understands them wonderfully. This will be fixed when the kernel gets a real VFS. Makefile | 2 +- mkinitrd/.gitignore | 3 +- mkinitrd/Makefile | 9 +- mkinitrd/catinitrd.cpp | 223 ----------------- mkinitrd/crc32.cpp | 94 +++++++ mkinitrd/crc32.h | 40 +++ mkinitrd/initrdfs.cpp | 349 ++++++++++++++++++++++++++ mkinitrd/lsinitrd.cpp | 155 ------------ mkinitrd/mkinitrd.cpp | 551 +++++++++++++++++++++++++---------------- sortix/fs/initfs.cpp | 28 ++- sortix/include/sortix/initrd.h | 113 ++++++--- sortix/include/sortix/stat.h | 32 ++- sortix/initrd.cpp | 285 ++++++++++++++------- sortix/initrd.h | 35 +-- sortix/kernel.cpp | 11 +- 15 files changed, 1173 insertions(+), 757 deletions(-) commit 887abdfe879d299c604e4c5100d3b4a3e6a24e90 Author: Jonas 'Sortie' Termansen Date: Mon Jul 2 17:15:58 2012 +0200 Added a CRC32 function to libmaxsi. libmaxsi/Makefile | 2 ++ libmaxsi/crc32.cpp | 72 +++++++++++++++++++++++++++++++++++++++ libmaxsi/format.cpp | 1 + libmaxsi/include/libmaxsi/crc32.h | 43 +++++++++++++++++++++++ 4 files changed, 118 insertions(+) commit 0ab2bbbd1b62544a868d3a2207aa51d2f93db8e7 Author: Jonas 'Sortie' Termansen Date: Mon Jul 2 15:58:27 2012 +0200 Finally fixed the loaderbug! Programs were crashing randomly at startup on the kthread branch. After some investigation, it turned out that the programs weren't correctly loaded by the program loader in rare cases. Although, all investigation showed that the program loader was correct and so was the interrupt routines (well, almost, but nothing that could really trigger this). Yada yada, a few months later I discovered that memcpy(3) was being corrupted by an interrupt handler (which was correct). Turns out memcpy used stack space it hadn't allocated. This is a Linux optimization that I had forgotten to disable with -mno-red-zone in libmaxsi and thus interrupts just overwrote the stack of optimized functions. Eek! libmaxsi/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2046482e77cb1b99943d7ff93a335d5aebc4f48f Author: Jonas 'Sortie' Termansen Date: Sun Jul 1 00:50:02 2012 +0200 Added support for MSRs, PAT and MTRRs. This provides control over the caching of memory, which makes write-combined IO possible. Graphics drivers can use this to transfer data at a much higher rate to the video memory. The implementation is a bit hacky but it'll do for now. It provides enough support for the experimental VBE driver to work on the real computers I tested it on, even if the BIOS uses screwed up default MTRRs. The virtual memory layer now automatically uses the PAT feature if available but in a backwards compatible manner and otherwise just tries to approximate PAT features if they are asked for. sortix/Makefile | 1 + sortix/x86-family/memorymanagement.cpp | 48 +++++- sortix/x86-family/memorymanagement.h | 45 ++++++ sortix/x86-family/msr.cpp | 273 +++++++++++++++++++++++++++++++++ sortix/x86-family/msr.h | 42 +++++ 5 files changed, 404 insertions(+), 5 deletions(-) commit aac12add54ae0773290127633ade847c6fe82b2a Author: Jonas 'Sortie' Termansen Date: Wed May 30 23:57:40 2012 +0200 Added stubs for functions in dlfcn.h. libmaxsi/Makefile | 1 + libmaxsi/dlfcn.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/include/dlfcn.h | 44 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) commit 6eb6a14acebc64bb7f26b6618bf86f93c4a874f3 Author: Jonas 'Sortie' Termansen Date: Tue May 29 22:14:34 2012 +0200 Added stubs for fscanf(3) and mbtowc(3). This helps gzip build. libmaxsi/io.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 622e0176e31a2819a21393eacc18cc85a0e78186 Author: Jonas 'Sortie' Termansen Date: Tue May 29 00:26:42 2012 +0200 Added stubs for gmtime(3), localtime(3) and utime(3). libmaxsi/include/time.h | 13 +++++++++++++ libmaxsi/time.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) commit 45981431de3468c03021d7c64a6044ee8b427373 Author: Jonas 'Sortie' Termansen Date: Tue May 29 00:05:03 2012 +0200 Added atexit(3) and on_exit(3). libmaxsi/Makefile | 1 + libmaxsi/exit.cpp | 62 +++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/include/stdlib.h | 3 ++- libmaxsi/process.cpp | 3 +++ 4 files changed, 68 insertions(+), 1 deletion(-) commit c5c92d9615cc8eea6181c82a4cf103fa22f64b13 Author: Jonas 'Sortie' Termansen Date: Tue May 29 00:04:33 2012 +0200 Added ungetc(3). libmaxsi/decl/FILE.h | 3 +++ libmaxsi/file.c | 24 +++++++++++++++++++++++- libmaxsi/include/stdio.h | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) commit b2b54d108d5b5dec524fcf461020b7f9aa74c4cf Author: Jonas 'Sortie' Termansen Date: Mon May 28 23:11:20 2012 +0200 Added getdtablesize(3) for gzip compatibility. Remove this once sysconf(_SC_OPEN_MAX) is implemented. libmaxsi/include/unistd.h | 1 + libmaxsi/io.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) commit 35347ec7095d64051f58328498923e0f558281ef Author: Jonas 'Sortie' Termansen Date: Mon May 28 23:10:31 2012 +0200 Added raise(3). libmaxsi/include/signal.h | 1 + libmaxsi/signal.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) commit 309416c2918b2e722151a76dbedd74e488ffec49 Author: Jonas 'Sortie' Termansen Date: Mon May 28 23:02:39 2012 +0200 Renamed error(3) to gnu_error(3), but with a redirect. This fixes compatibility issues with programs that like to make their own error function. This includes zlib and gzip. libmaxsi/include/error.h | 5 ++++- libmaxsi/io.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) commit 271c64e5376a0df82ba729ccf7d5554296e8213b Author: Jonas 'Sortie' Termansen Date: Mon May 28 22:56:39 2012 +0200 Added a stub locale.h header. libmaxsi/include/locale.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) commit b650c9a8f0639bd89bef487191b2ab3163017230 Author: Jonas 'Sortie' Termansen Date: Mon May 28 22:51:47 2012 +0200 Added a O_ACCMODE flag for GNU compatibility. sortix/include/sortix/fcntl.h | 1 + 1 file changed, 1 insertion(+) commit 8ae9f6bd799721f2851a3da63df6b18117fe37ee Author: Jonas 'Sortie' Termansen Date: Mon May 28 22:50:56 2012 +0200 Added struct tm and implemented a gettimeofday stub. Note that gettimeofday calls uptime() and has no idea what the time was when the system booted. libmaxsi/include/time.h | 16 ++++++++++++++-- libmaxsi/time.cpp | 18 +++++++++++------- 2 files changed, 25 insertions(+), 9 deletions(-) commit 341bd73cb04f9c6e17f5e43173823c85c6f9c9ff Author: Jonas 'Sortie' Termansen Date: Mon May 28 16:58:01 2012 +0200 GCC no longer fixes stdio.h because of va_list. Note that for non-ANSI C programs, stdio.h includes stdarg.h which defines macros that stdio.h wasn't supposed to define. libmaxsi/decl/va_list.h | 3 ++- libmaxsi/include/stdarg.h | 2 ++ libmaxsi/include/stdio.h | 22 ++++++++++++---------- 3 files changed, 16 insertions(+), 11 deletions(-) commit 500f8651bb2cc19e26af24f9070341e82c7de630 Author: Jonas 'Sortie' Termansen Date: Sun May 27 23:46:35 2012 +0200 Prevent GCC from fixing headers that are OK. libmaxsi/decl/ptrdiff_t.h | 3 +++ libmaxsi/decl/size_t.h | 3 +++ libmaxsi/decl/wchar_t.h | 3 +++ 3 files changed, 9 insertions(+) commit 4b252fc55e874c7b589854c22c663af0e8d5c9c1 Author: Jonas 'Sortie' Termansen Date: Sun May 27 23:07:56 2012 +0200 now autodetects the current platform. libmaxsi/include/libmaxsi/platform.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 87b81080d5e132468c6192cbb71fcec41773e415 Author: Jonas 'Sortie' Termansen Date: Sun May 27 17:37:36 2012 +0200 Added sortix_strerror(3) which replaces strerror(3). The string returned is now const - POSIX did not allow modifying the string in any case, conforming applications should not break. If _SORTIX_SOURCE is defined strerror(3) automatically redirects to sortix_strerror(3), otherwise the application will receive the traditional function. libmaxsi/error.cpp | 115 ++++++++++++++++++++++++---------------------- libmaxsi/include/string.h | 14 ++++-- 2 files changed, 71 insertions(+), 58 deletions(-) commit 9905a2f2d67f38c8d7219b7ade1545ed837b6e24 Author: Jonas 'Sortie' Termansen Date: Sun May 27 17:20:09 2012 +0200 Added EINIT, "Not initialized". libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit e8d75643ea16b1dfc11d7ad19b087daa3db76e59 Author: Jonas 'Sortie' Termansen Date: Sun May 27 14:06:59 2012 +0200 More efficient memcpy(3) for aligned data. libmaxsi/memory.cpp | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) commit 00869bcdc120d5975fa45c6e1ba349bb7a4c85c8 Author: Jonas 'Sortie' Termansen Date: Mon Apr 30 17:23:19 2012 +0200 The PIC can now be deprogrammed and reprogrammed. sortix/interrupt.cpp | 45 +++++++++++++++++++++++++++++++++------------ sortix/time.cpp | 6 +++--- 2 files changed, 36 insertions(+), 15 deletions(-) commit a75b215fe3fd5e132fe290d6539a6e1e35e03c23 Author: Jonas 'Sortie' Termansen Date: Mon May 21 12:52:03 2012 +0200 Added fpipe(3) providing pipe(2) through the FILE interface. libmaxsi/Makefile | 1 + libmaxsi/fpipe.cpp | 37 +++++++++++++++++++++++++++++++++++++ libmaxsi/include/stdio.h | 1 + 3 files changed, 39 insertions(+) commit 795b1ef4fd56abf5f8730e15927e4f0a9405a95d Author: Jonas 'Sortie' Termansen Date: Fri May 4 13:35:57 2012 +0200 Added String::Combine. It was previously commented out because it was broken. libmaxsi/string.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit bd489eb73ac0c401864888fe1bfb29a88cd10717 Author: Jonas 'Sortie' Termansen Date: Fri May 4 13:13:20 2012 +0200 Forward compatbility with the kthread branch. sortix/Makefile | 1 + sortix/include/sortix/kernel/kthread.h | 66 ++++++++++++++++++++++++++++++++++ sortix/kthread.cpp | 58 ++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) commit 92c553382004a29af8fa6f345e2e06bf0191dee7 Author: Jonas 'Sortie' Termansen Date: Sun Apr 29 14:36:47 2012 +0200 Improved the implementation of the exec* functions. libmaxsi/include/unistd.h | 13 ++++-- libmaxsi/process.cpp | 109 ++++++++++++++++++++++++++++++++++++++++++++++ sortix/process.cpp | 8 ++-- utils/help.cpp | 2 +- utils/init.cpp | 2 +- utils/ls.cpp | 4 -- utils/mxsh.cpp | 2 +- 7 files changed, 124 insertions(+), 16 deletions(-) commit 93abeda32e41e0941a248c92671b178d9b4ced72 Author: Jonas 'Sortie' Termansen Date: Sat Apr 14 22:03:31 2012 +0200 Fixed buffer overflow in devfs.cpp. sortix/fs/devfs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 042aeb0181c8b797af8ba07cdc3915c8a7eb9262 Author: Jonas 'Sortie' Termansen Date: Fri Apr 13 23:00:40 2012 +0200 Added the $PWD environmental variable to the shell. utils/mxsh.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) commit b554eb2dfb08544ab83c50a69480c1c2826c2e95 Author: Jonas 'Sortie' Termansen Date: Fri Apr 13 22:40:43 2012 +0200 The shell now implements $$, $PPID, and $? as normal variables. utils/mxsh.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) commit a24e86e751769153300c33885edbc478a87ef2b2 Author: Jonas 'Sortie' Termansen Date: Fri Apr 13 21:47:23 2012 +0200 init(1) now restarts the shell upon crash. utils/init.cpp | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) commit 10291fcb388abfef755e4fd3df3cc495daffb606 Author: Jonas 'Sortie' Termansen Date: Fri Apr 13 19:58:28 2012 +0200 Removed old draft for Sortix subsystems. It was removed because it does represent the current vision for Sortix development, which is more flexible than subsystems. Mainly, I wish to implement processes being able to have their own user-id table, their own filesystem namespace, own root directory, and so on. subsystem/man | 64 ----------------------------------------------------------- 1 file changed, 64 deletions(-) commit 3b63a701914144419a52061a8087e2643f817928 Author: Jonas 'Sortie' Termansen Date: Fri Apr 13 17:41:57 2012 +0200 Added Interrupt::SetEnabled(bool). sortix/interrupt.h | 6 ++++++ 1 file changed, 6 insertions(+) commit f59b53ddcee70bee1e612b6d7be643a5d5e653d3 Author: Jonas 'Sortie' Termansen Date: Fri Apr 13 17:33:53 2012 +0200 Ported x64 interrupt assembly to the GNU assembler. sortix/x64/interrupt.s | 12 +- sortix/x86/interrupt.asm | 166 ------------------ sortix/x86/interrupt.s | 438 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 444 insertions(+), 172 deletions(-) commit 8cbf9ff8f09588885e476c9e87e4bbb0c32b18be Author: Jonas 'Sortie' Termansen Date: Wed Apr 11 15:46:08 2012 +0200 Added Interrupt::IsEnabled(). sortix/interrupt.h | 3 +++ sortix/x64/interrupt.s | 8 ++++++++ sortix/x86/interrupt.asm | 9 +++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) commit 36ff6c7f96a2607daeb9924db8afc440a15aef14 Author: Jonas 'Sortie' Termansen Date: Tue Apr 10 13:20:09 2012 +0200 seek(2) now correctly rejects a bad whence value. sortix/io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6367a2352e70e4f752e6d608c4ca6c78f3e1c0da Author: Jonas 'Sortie' Termansen Date: Thu Apr 5 23:00:23 2012 +0200 Added sforkr(2) that controls the child registers as well. sfork(2) now calls sforkr(2) with the current registers. This will prove useful in creating threads, where user-space now can fully control what state the child will start in. This is unlike the Linux clone system call that accepts a pointer to the child stack; this is more powerful and somehow simpler. Note that this will create a rather raw thread; no thread initization has been done by the standard thread API (when it is implemented), so this feature shouldn't be used by programmers unless they know what they are doing. fork(2) now calls sfork(2) directly. Also removed fork(2) and sfork(2) from the kernel as they are done using sforkr(2) now. So technically they aren't system calls right now, but that could always change. libmaxsi/Makefile | 1 + libmaxsi/include/unistd.h | 5 +++ libmaxsi/process.cpp | 16 ++++--- libmaxsi/x64/fork.s | 67 ++++++++++++++++++++++++++++ libmaxsi/x86/fork.s | 62 ++++++++++++++++++++++++++ sortix/include/sortix/fork.h | 89 ++++++++++++++++++++++++++++++++++++++ sortix/include/sortix/syscallnum.h | 3 +- sortix/include/sortix/unistd.h | 36 +-------------- sortix/include/sortix/x64/fork.h | 57 ++++++++++++++++++++++++ sortix/include/sortix/x86/fork.h | 49 +++++++++++++++++++++ sortix/process.cpp | 61 +++++++++++++++++++++----- 11 files changed, 393 insertions(+), 53 deletions(-) commit 6f36ecf0b3658668f20668e78bc50bc3c3b3b161 Author: Jonas 'Sortie' Termansen Date: Wed Apr 4 01:41:05 2012 +0200 execve(2) now pushes envp to the new stack and sets up registers. This fully implements environmental variables over exec. libmaxsi/x64/start.s | 2 ++ libmaxsi/x86/start.s | 2 ++ sortix/process.cpp | 69 ++++++++++++++++++++++++++++++++++++++++++-------- sortix/process.h | 9 +++++-- sortix/x64/process.cpp | 6 ++++- sortix/x86/process.cpp | 7 ++++- 6 files changed, 80 insertions(+), 15 deletions(-) commit 60b9a84a515c258df8d761208708b3125da756b9 Author: Jonas 'Sortie' Termansen Date: Wed Apr 4 01:38:21 2012 +0200 execv(3) now passes environ(7) to execve(2). libmaxsi/process.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 33645eb3476bdbce17301770c79d591f56369285 Author: Jonas 'Sortie' Termansen Date: Wed Apr 4 01:36:41 2012 +0200 now declares environ(7) if _WANT_ENVIRON. Note that it is very bad style of programs to access it directly. libmaxsi/include/unistd.h | 4 ++++ 1 file changed, 4 insertions(+) commit 05b29ce25a9f09d7584d07dcfa0776fd626b2d56 Author: Jonas 'Sortie' Termansen Date: Wed Apr 4 00:29:01 2012 +0200 Renamed rfork(2) to sfork(2) to avoid compatibility issues. sfork is much like rfork except sharing is default for everything. Eventually, I'll make a rfork(3) wrapper function around sfork(2) to provide compatibility to BSD programs. I don't like Linux clone(2): that's some messy function. libmaxsi/include/unistd.h | 10 +--------- libmaxsi/process.cpp | 6 +++--- sortix/include/sortix/syscallnum.h | 2 +- sortix/include/sortix/unistd.h | 41 ++++++++++++++++++++++++++++---------- sortix/process.cpp | 10 +++++----- 5 files changed, 41 insertions(+), 28 deletions(-) commit 2331a1a23419a00b9ea60c2453c7a9a3433cd9e0 Author: Jonas 'Sortie' Termansen Date: Tue Apr 3 20:15:38 2012 +0200 Added hacky support for environmental variables to the shell. utils/mxsh.cpp | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) commit dd5157da6ae687893c21f8c756f3a9543c56cb74 Author: Jonas 'Sortie' Termansen Date: Tue Apr 3 20:15:10 2012 +0200 Implemented setenv(3), putenv(3), getenv(3), clearenv(3), sortix_getenv(3), unsetenv(3), envlength(3), getenvindexed(3), and environ(7). This provides the user-space foundation for environmental variables. Note that this works over fork(2), but not execve(2) yet. libmaxsi/Makefile | 1 + libmaxsi/env.cpp | 192 ++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/include/stdlib.h | 24 +++++- libmaxsi/process.cpp | 7 -- 4 files changed, 213 insertions(+), 11 deletions(-) commit 5d59f0ed0365d824b25b0130804390f07c27eb11 Author: Jonas 'Sortie' Termansen Date: Mon Apr 2 20:24:32 2012 +0200 Added EBOUND. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 95a088fec5f0f6ad1dbd96ca4d70d37417520cfc Author: Jonas 'Sortie' Termansen Date: Mon Apr 2 16:21:25 2012 +0200 Added a dummy implementation rfork(2) equal to fork(2). Note that in my implementation, you share per default, unless you ask. libmaxsi/include/unistd.h | 11 +++++++++-- libmaxsi/process.cpp | 6 ++++++ sortix/include/sortix/syscallnum.h | 3 ++- sortix/include/sortix/unistd.h | 11 +++++++++++ sortix/process.cpp | 12 +++++++++++- 5 files changed, 39 insertions(+), 4 deletions(-) commit b3b1f6af6627f7f5a3c932abb8382d5dbd7af6bc Author: Jonas 'Sortie' Termansen Date: Tue Mar 27 16:32:19 2012 +0200 Make sure that the right bits.h file is always included. sortix/include/sortix/bits.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) commit cd0e402bbbd1a871dbc7ed377b07f6091968c059 Author: Jonas 'Sortie' Termansen Date: Tue Mar 27 16:24:27 2012 +0200 Added {,l,ll,imax}abs(3). libmaxsi/Makefile | 1 + libmaxsi/abs.cpp | 38 ++++++++++++++++++++++++++++++++++++++ libmaxsi/include/inttypes.h | 39 +++++++++++++++++++++++++++++++++++++++ libmaxsi/include/stdlib.h | 16 ++++++++-------- 4 files changed, 86 insertions(+), 8 deletions(-) commit 554b2e44cc50b6b1cc03541c836775cd2e37d1cf Author: Jonas 'Sortie' Termansen Date: Mon Mar 26 16:46:02 2012 +0200 Added a Page::IsAligned inline function. sortix/include/sortix/kernel/memorymanagement.h | 3 +++ 1 file changed, 3 insertions(+) commit 9ab0bc5474f8d7e68ee7204291f7813b27f4ad09 Author: Jonas 'Sortie' Termansen Date: Sat Mar 24 15:34:06 2012 +0100 Added {,p}{read,write}{all,least}(3). games/conway.cpp | 2 +- games/pong.cpp | 2 +- games/snake.cpp | 2 +- libmaxsi/Makefile | 1 + libmaxsi/include/unistd.h | 9 +++- libmaxsi/io.cpp | 20 +------- libmaxsi/ioleast.cpp | 119 ++++++++++++++++++++++++++++++++++++++++++++++ utils/cat.cpp | 2 +- utils/cp.cpp | 6 ++- utils/editor.cpp | 2 +- 10 files changed, 140 insertions(+), 25 deletions(-) commit c62eb09cdc8e804775cdf030560ecd95ddd22025 Author: Jonas 'Sortie' Termansen Date: Sat Mar 24 15:22:43 2012 +0100 Added stubs for pread(2) and pwrite(2). These are not implemented yet because the current kernel design is bad. However, I need the stubs for other code. libmaxsi/include/unistd.h | 14 +++++++------- libmaxsi/io.cpp | 22 +++++++++++++++++----- sortix/include/sortix/syscallnum.h | 15 ++++++++------- sortix/io.cpp | 26 +++++++++++++++++++++----- 4 files changed, 53 insertions(+), 24 deletions(-) commit 757184fd5c1c27979a2e31315d5094bdf722f1bc Author: Jonas 'Sortie' Termansen Date: Sat Mar 24 15:18:52 2012 +0100 Added EEOF. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 1ba4417b19a51ceac981d1cb5046748290a622a9 Author: Jonas 'Sortie' Termansen Date: Thu Mar 22 01:04:03 2012 +0100 Removed dead ancient code. sortix/system.h | 51 --------------------------------------------------- sortix/user.h | 43 ------------------------------------------- 2 files changed, 94 deletions(-) commit db79994e64cb9c8f2debb3d0960c7c041e97ab71 Author: Jonas 'Sortie' Termansen Date: Thu Mar 22 00:52:05 2012 +0100 Refactored all the sortix headers into a include directory. Also got rid of trailing white space. That corrupted .git/. Big ass-commit because of recovered .git directory. Makefile | 2 +- README | 2 +- crosscompilemakefile.mak | 5 +- debsrc/DEBIAN/control | 2 +- games/pong.cpp | 2 +- games/snake.cpp | 4 +- gpl.html | 6 +-- lgpl.html | 2 +- libmaxsi/Makefile | 14 ++--- libmaxsi/c++.cpp | 4 +- libmaxsi/decl/DIR.h | 2 +- libmaxsi/dir.c | 2 +- libmaxsi/error.cpp | 2 +- libmaxsi/format.cpp | 2 +- libmaxsi/heap.cpp | 10 ++-- libmaxsi/include/libmaxsi/format.h | 2 +- libmaxsi/include/libmaxsi/io.h | 2 +- libmaxsi/include/libmaxsi/platform.h | 8 +-- libmaxsi/memory.cpp | 2 +- libmaxsi/random.cpp | 4 +- libmaxsi/signal.cpp | 4 +- libmaxsi/string.cpp | 14 ++--- libmaxsi/thread.cpp | 2 +- libmaxsi/x64/start.s | 2 +- libmaxsi/x86/start.s | 2 +- mkinitrd/Makefile | 4 +- mkinitrd/catinitrd.cpp | 10 ++-- mkinitrd/lsinitrd.cpp | 8 +-- mkinitrd/mkinitrd.cpp | 8 +-- sortix/Makefile | 23 +++------ sortix/ata.cpp | 7 +-- sortix/calltrace.cpp | 2 +- sortix/com.cpp | 2 +- sortix/cpu.h | 38 ++++++++++++++ sortix/descriptors.cpp | 2 +- sortix/descriptors.h | 2 +- sortix/device.cpp | 4 +- sortix/directory.cpp | 2 +- sortix/elf.cpp | 8 +-- sortix/end.cpp | 2 +- sortix/event.cpp | 2 +- sortix/filesystem.cpp | 2 +- sortix/fs/devfs.cpp | 2 +- sortix/fs/devfs.h | 2 +- sortix/fs/initfs.cpp | 4 +- sortix/fs/ramfs.cpp | 4 +- sortix/fs/ramfs.h | 2 +- sortix/{ => include/sortix}/bits.h | 0 sortix/{ => include/sortix}/fcntl.h | 0 sortix/include/sortix/initrd.h | 59 ++++++++++++++++++++++ sortix/{ => include/sortix/kernel}/log.h | 4 +- .../{ => include/sortix/kernel}/memorymanagement.h | 0 sortix/{ => include/sortix/kernel}/panic.h | 0 sortix/{ => include/sortix/kernel}/platform.h | 10 ---- sortix/{ => include/sortix}/keycodes.h | 0 sortix/{ => include/sortix}/seek.h | 0 sortix/{ => include/sortix}/stat.h | 0 sortix/{ => include/sortix}/syscallnum.h | 0 sortix/{ => include/sortix}/termmode.h | 0 sortix/{ => include/sortix}/timeval.h | 0 sortix/{ => include/sortix}/unistd.h | 0 sortix/{ => include/sortix}/x64/bits.h | 0 sortix/{ => include/sortix}/x86/bits.h | 0 sortix/initrd.cpp | 7 +-- sortix/initrd.h | 31 +----------- sortix/interrupt.cpp | 4 +- sortix/interrupt.h | 2 + sortix/io.cpp | 4 +- sortix/kb/layout/us.cpp | 4 +- sortix/kb/layout/us.h | 2 +- sortix/kb/ps2.cpp | 4 +- sortix/kernel.cpp | 12 ++--- sortix/kernelinfo.cpp | 2 +- sortix/keyboard.cpp | 2 +- sortix/keyboard.h | 4 +- sortix/linebuffer.cpp | 2 +- sortix/log.cpp | 4 +- sortix/logterminal.cpp | 4 +- sortix/mount.cpp | 4 +- sortix/panic.cpp | 6 +-- sortix/pci.cpp | 7 +-- sortix/pipe.cpp | 6 +-- sortix/pipe.h | 2 +- sortix/process.cpp | 12 ++--- sortix/process.h | 1 + sortix/refcount.cpp | 2 +- sortix/scheduler.cpp | 6 +-- sortix/serialterminal.cpp | 8 +-- sortix/signal.cpp | 4 +- sortix/signal.h | 1 + sortix/sound.cpp | 6 +-- sortix/syscall.cpp | 8 +-- sortix/syscall.h | 3 +- sortix/terminal.cpp | 4 +- sortix/terminal.h | 2 +- sortix/thread.cpp | 12 ++--- sortix/thread.h | 2 +- sortix/time.cpp | 8 +-- sortix/time.h | 4 +- sortix/uart.cpp | 13 ++--- sortix/utf8.cpp | 2 +- sortix/vga.cpp | 5 +- sortix/vgaterminal.cpp | 8 +-- sortix/x64/boot.s | 4 +- sortix/x64/gdt.s | 2 +- sortix/x64/memorymanagement.cpp | 8 +-- sortix/x64/process.cpp | 2 +- sortix/x64/scheduler.cpp | 4 +- sortix/x64/syscall.s | 2 +- sortix/x64/thread.cpp | 2 +- sortix/x64/x64.cpp | 2 +- sortix/x64/x64.h | 2 +- sortix/x86-family/gdt.cpp | 2 +- sortix/x86-family/gdt.h | 2 +- sortix/x86-family/idt.cpp | 2 +- sortix/x86-family/memorymanagement.cpp | 6 +-- sortix/x86/idt.asm | 2 +- sortix/x86/interrupt.asm | 4 +- sortix/x86/memorymanagement.cpp | 6 +-- sortix/x86/process.cpp | 2 +- sortix/x86/scheduler.cpp | 4 +- sortix/x86/syscall.s | 2 +- sortix/x86/thread.cpp | 2 +- sortix/x86/x86.cpp | 2 +- sortix/x86/x86.h | 2 +- utils/cat.cpp | 2 +- utils/column.cpp | 2 +- utils/editor.cpp | 14 ++--- utils/init.cpp | 2 +- utils/pager.cpp | 2 +- 130 files changed, 346 insertions(+), 282 deletions(-) commit e496c07764054d71101f23d2a0ca07ff4b448a2b Author: Jonas 'Sortie' Termansen Date: Wed Mar 21 16:22:41 2012 +0100 Added a header with divide-round-up functions. libmaxsi/include/libmaxsi/integer.h | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) commit ea11c20689fcec4afcda5553c63547bce10e0b54 Author: Jonas 'Sortie' Termansen Date: Wed Mar 21 16:20:17 2012 +0100 Added a way for discover refcount of Refcounted classes. sortix/refcount.h | 1 + 1 file changed, 1 insertion(+) commit 0f099c65caab8587b9cfdf7566b3c613113de5ed Author: Jonas 'Sortie' Termansen Date: Mon Mar 19 02:38:47 2012 +0100 The virtual memory fork code can now handle ENOMEM conditions. (forkbombs now don't panic the system!) sortix/x86-family/memorymanagement.cpp | 176 ++++++++++++++++----------------- 1 file changed, 83 insertions(+), 93 deletions(-) commit e0e0cadf4a6c22d349c469ecff599cdb43822919 Author: Jonas 'Sortie' Termansen Date: Mon Mar 19 02:26:08 2012 +0100 Changed error message for ENOMEM to something sensible. libmaxsi/error.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 02d309a92d2b08939d41d612db5c46fa3cbf9013 Author: Jonas 'Sortie' Termansen Date: Sun Mar 18 23:34:40 2012 +0100 Began development of Sortix 0.7 Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2709d174555137658153879bcd1277009343df3c Author: Jonas 'Sortie' Termansen Date: Sun Mar 18 22:49:14 2012 +0100 Updated version number to 0.6. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8a8b8e47b7c1a2112af6cf71ac72ade199930e99 Author: Jonas 'Sortie' Termansen Date: Sun Mar 18 22:46:34 2012 +0100 Fixed spelling error in README. README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 051ec170f5e7d12fa4106c496bdb76d112693dc6 Author: Jonas 'Sortie' Termansen Date: Sun Mar 18 21:35:47 2012 +0100 Updated the README with information about the upcoming 0.6 release. README | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 79 insertions(+), 6 deletions(-) commit c9ab4fa6b463f975dcb28740fb50bc4a8f7a2c7f Author: Jonas 'Sortie' Termansen Date: Sun Mar 18 18:05:49 2012 +0100 The sortix vga terminal now can delete tabs and newlines properly. A nice little vga attribute array takes care of remembering what indexes actually contains a character. sortix/vgaterminal.cpp | 52 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 11 deletions(-) commit 14a9149f17d05f57c74edc41992d5e15f5bd8188 Author: Jonas 'Sortie' Termansen Date: Sun Mar 18 17:36:07 2012 +0100 Added detection for an obscure bug to let users know I know about it. sortix/vgaterminal.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit d5646034609d7c9592d52b132ff178b2a9764b26 Author: Jonas 'Sortie' Termansen Date: Sun Mar 18 16:14:02 2012 +0100 Fixed kernel stack overflow and premature EOF in the unix pipe code. This usually caused the system to lock up when much data was transferred over pipes, for instance: $ cd /bin ; cat cat | cat sortix/pipe.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit c7c0fc603af15be5361227716a8669e813d11d5c Author: Jonas 'Sortie' Termansen Date: Sat Mar 17 20:16:48 2012 +0100 Fixed initial kernel stack being wrong size. sortix/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 969c0e804805cfd8ffc2eb85241c4a2c6851a9ef Author: Jonas 'Sortie' Termansen Date: Sat Mar 17 20:11:13 2012 +0100 Cleaned up sortix/kernel.cpp and it now uses the new coding style. All kernel.cpp code related to jssortix was removed as it is not supported any longer. sortix/kernel.cpp | 360 +++++++++++++++++++++--------------------------------- 1 file changed, 140 insertions(+), 220 deletions(-) commit 4f3e22140c164359bd13de0778dc3bee4979286b Author: Jonas 'Sortie' Termansen Date: Sat Mar 17 18:14:33 2012 +0100 Fixed x64 memory leaks upon process termination. sortix/x64/boot.s | 4 ++-- sortix/x64/memorymanagement.cpp | 22 ++++++++++++++++++++-- sortix/x86/memorymanagement.cpp | 3 ++- 3 files changed, 24 insertions(+), 5 deletions(-) commit 0364ce6f55f9b54d83477fa393742b8fa21c4a1f Author: Jonas 'Sortie' Termansen Date: Sat Mar 17 15:17:39 2012 +0100 Added a new COM Port driver. Any detected COM ports available as /dev/comN. It currently utilizes AGAIN to do polling in user-space. This prevents it from locking up the whole system and makes it respond to the SIGINT hack. There is also a more reliable and faster polling-blocking mode, but it locks up the entire system. The main interrupt mode is broken, perhaps by a bug in VirtualBox. sortix/Makefile | 1 + sortix/com.cpp | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/com.h | 37 +++++ sortix/kernel.cpp | 6 + 4 files changed, 499 insertions(+) commit f54cb6ab942ec716299d13c8f9d539b77b54b30b Author: Jonas 'Sortie' Termansen Date: Sat Mar 17 15:35:21 2012 +0100 Added EAGAIN and made read(1) and write(1) retry if they get it. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + libmaxsi/io.cpp | 10 ++++++++-- 3 files changed, 10 insertions(+), 2 deletions(-) commit 1ff0321400e5407995dd37bdb252dfa14cae0a9b Author: Jonas 'Sortie' Termansen Date: Sat Mar 17 15:14:18 2012 +0100 Added a stub for Syscall::Yield() which is used by broken code. The whole system call interface is currently stupid. sortix/syscall.cpp | 6 ++++++ sortix/syscall.h | 5 +++++ 2 files changed, 11 insertions(+) commit 798b421d165a6b29276db0f99d3787111fb049fc Author: Jonas 'Sortie' Termansen Date: Sat Mar 17 15:11:11 2012 +0100 Refactored devfs so new devices can easily be added. sortix/ata.cpp | 3 +- sortix/fs/devfs.cpp | 169 +++++++++++++++++++++++++++++++++++----------------- sortix/fs/devfs.h | 16 ++++- sortix/kernel.cpp | 4 ++ 4 files changed, 133 insertions(+), 59 deletions(-) commit 5ec4e33196e92f998cdc585e5fdfcbe93021df52 Author: Jonas 'Sortie' Termansen Date: Fri Mar 16 16:49:31 2012 +0100 Removed the last reference to the old kernel HTTP server. sortix/kernel.cpp | 4 ---- 1 file changed, 4 deletions(-) commit fa6d445b0d29da8f1b9f0cfa3ebfe8fce195614f Author: Jonas 'Sortie' Termansen Date: Fri Mar 16 15:55:45 2012 +0100 Added type(1), a replacement for the "traditional" Sortix cat(1). cat(1) now work as you would expect. utils/Makefile | 1 + utils/cat.cpp | 89 +++++++++++++++++++++++--------------------------- utils/type.cpp | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+), 48 deletions(-) commit a353706011c298b27d6dd058355b136da1b245d4 Author: Jonas 'Sortie' Termansen Date: Wed Mar 14 15:13:57 2012 +0100 Updated the README. README | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) commit e0eabd0e5f4938a0170b1cabc87a4493b3b2f71d Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 02:02:31 2012 +0100 now declares size_t. libmaxsi/include/dirent.h | 1 + 1 file changed, 1 insertion(+) commit 8399b1a2ee7c0d90396a2ee68a37396e20902e8e Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 01:59:36 2012 +0100 Made more POSIX compliant. libmaxsi/include/sys/types.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) commit 3cab1113cfb724d4b0aabcb67f2675078ce49d35 Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 01:45:48 2012 +0100 Made EOPNOTSUPP an alias for ENOTSUP. libmaxsi/decl/errno_values.h | 2 ++ 1 file changed, 2 insertions(+) commit 2cdeb575f8ece581dcfbcaf21d81263cb181fb69 Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 01:42:36 2012 +0100 Renamed EACCESS to EACCES. Stupid POSIX. libmaxsi/decl/errno_values.h | 2 +- libmaxsi/error.cpp | 2 +- sortix/process.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 6de3c462be8022b6856ec0b3f6bb78f70dc3e2f8 Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 01:37:26 2012 +0100 Added EMFILE. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 44e2537d7ba0719d1635b2db114531f9d24c2dd1 Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 01:26:45 2012 +0100 Added mode_t to . Gonna do something about that header. libmaxsi/include/sys/types.h | 1 + 1 file changed, 1 insertion(+) commit d564574cd0ab4263a908b9c9d94d6603010a33c9 Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 00:52:50 2012 +0100 Added fseterr(3). libmaxsi/decl/FILE.h | 1 + libmaxsi/fdio.c | 7 +++++++ libmaxsi/file.c | 5 +++++ libmaxsi/include/stdio.h | 1 + 4 files changed, 14 insertions(+) commit 366cc2549a305a886f1de2f93fad78e93f2e8751 Author: Jonas 'Sortie' Termansen Date: Mon Mar 12 00:38:24 2012 +0100 Added the stdio_ext(3) API. The API is available in without __ prefix if _SORTIX_SOURCE. libmaxsi/decl/FILE.h | 3 ++ libmaxsi/file.c | 69 ++++++++++++++++++++++++++++++++++++++++++-- libmaxsi/include/stdio.h | 13 ++++++++- libmaxsi/include/stdio_ext.h | 57 ++++++++++++++++++++++++++++++++++++ 4 files changed, 139 insertions(+), 3 deletions(-) commit d033a58b10f678893861dca831df0326ae829e80 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 20:49:26 2012 +0100 Added a hacky definition of MB_CUR_MAX. libmaxsi/include/stdlib.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 4ad0d360da302050fdf5e68a9e575603ea482bea Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 20:44:33 2012 +0100 Added EILSEQ. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 9fa5690d7949be41c7b73ef37a891437dfe86c33 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 20:38:31 2012 +0100 Added time_t declaration to . libmaxsi/include/time.h | 1 + 1 file changed, 1 insertion(+) commit 5b916b5f630cc8ccad53acca016e07e4998c0d24 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 20:28:36 2012 +0100 Added F_SETFL and F_GETFL to fcntl(2). This is a bit of a hacky implementation. sortix/fcntl.h | 2 ++ sortix/filesystem.cpp | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) commit beb88d0443bb6b002ee3bee32c9f05b287bb4609 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 20:11:08 2012 +0100 Added EPIPE. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit a6a296a97101edd60f7854e7e511349478dc6def Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 18:16:31 2012 +0100 Fixed bug where pager(1) prints a line too much. utils/pager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5e317c9726bcaf18e3b477e8542c97392189f5cc Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 18:13:57 2012 +0100 Made kernelinfo(1) a little more friendly on bad string name. utils/kernelinfo.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 868ed43e0563771836ae0dae762eea82a20bbd07 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 18:06:37 2012 +0100 Removed sortix/mxfs. It's unbelievable that this piece of dead code survived 8 months of development on git. It doesn't even work, despit the comment that it does. sortix/mxfs.cpp | 429 -------------------------------------------------------- sortix/mxfs.h | 118 ---------------- 2 files changed, 547 deletions(-) commit c403c1d798029ae85bd2c94fe2fe6fe07da45a1b Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 17:06:01 2012 +0100 Greatly improved ls(1). utils/ls.cpp | 189 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 168 insertions(+), 21 deletions(-) commit f01d7951c1952476c2cb97371a457081b63c8be7 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 17:55:56 2012 +0100 stat(2) now supports directories. A bit hackily, though. sortix/filesystem.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 6e536ba8f900b0f0d3cf8b4aa5a53b29e110c90d Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 17:55:28 2012 +0100 Fixed error codes in sortix/fs/devfs. sortix/fs/devfs.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 245e8bf0e3ab54cd340824c7f1bd26cd99c64d25 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 17:54:59 2012 +0100 Fixed error codes in sortix/fs/initfs. sortix/fs/initfs.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit f45cf8327a06529ba2a4e32cf077c530e72564cc Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 17:29:49 2012 +0100 Forgot to enable the /bin /dev hack in sortix/fs/ramfs.cpp. sortix/fs/ramfs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cadac5ce2afacda416ab3ae68e0858d22066115d Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 17:25:08 2012 +0100 Moved the /bin and /dev hack into the kernel. This makes ls seem less hacky. sortix/fs/ramfs.cpp | 17 +++++++++++++---- utils/ls.cpp | 3 --- 2 files changed, 13 insertions(+), 7 deletions(-) commit dc0f78f6b7c2f55c0ff4025335c1ca54391cbd53 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 15:56:49 2012 +0100 Added copyright headers to benchmarks, games and utilities. It's all GPLv3 or later. bench/benchctxswitch.cpp | 22 ++++++++++++++++++++++ bench/benchsyscall.cpp | 22 ++++++++++++++++++++++ games/conway.cpp | 22 ++++++++++++++++++++++ games/pong.cpp | 22 ++++++++++++++++++++++ games/snake.cpp | 22 ++++++++++++++++++++++ utils/calc.cpp | 8 ++++---- utils/cat.cpp | 22 ++++++++++++++++++++++ utils/clear.cpp | 22 ++++++++++++++++++++++ utils/column.cpp | 22 ++++++++++++++++++++++ utils/cp.cpp | 22 ++++++++++++++++++++++ utils/echo.cpp | 22 ++++++++++++++++++++++ utils/editor.cpp | 22 ++++++++++++++++++++++ utils/head.cpp | 22 ++++++++++++++++++++++ utils/help.cpp | 22 ++++++++++++++++++++++ utils/idle.cpp | 22 ++++++++++++++++++++++ utils/init.cpp | 22 ++++++++++++++++++++++ utils/kernelinfo.cpp | 22 ++++++++++++++++++++++ utils/kill.cpp | 22 ++++++++++++++++++++++ utils/ls.cpp | 22 ++++++++++++++++++++++ utils/memstat.cpp | 22 ++++++++++++++++++++++ utils/mxsh.cpp | 22 ++++++++++++++++++++++ utils/pager.cpp | 22 ++++++++++++++++++++++ utils/pwd.cpp | 22 ++++++++++++++++++++++ utils/rm.cpp | 22 ++++++++++++++++++++++ utils/tail.cpp | 22 ++++++++++++++++++++++ utils/uname.cpp | 22 ++++++++++++++++++++++ utils/uptime.cpp | 22 ++++++++++++++++++++++ 27 files changed, 576 insertions(+), 4 deletions(-) commit d9fef09ac34219bc3a59afc0b92d3f63afd6ad1f Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 15:07:39 2012 +0100 Added -Ulinux -Dsottix to the cross makefile. crosscompilemakefile.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3de134a3f0930ade039a3975df71d12cc7ded815 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 01:41:39 2012 +0100 Added build instructions to the README. README | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit 89223ed3edb0cb0f2e02fb9acf4b19c7ac87af95 Author: Jonas 'Sortie' Termansen Date: Sun Mar 11 00:57:32 2012 +0100 Added a README. README | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) commit c2660e5432c9833dd8e27442251317d09fb378cd Author: Jonas 'Sortie' Termansen Date: Sat Mar 10 23:18:03 2012 +0100 Added EBUSY. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit f8bcf3117dedaf47b93015f4e604a354c1bb23d5 Author: Jonas 'Sortie' Termansen Date: Sat Mar 10 23:12:07 2012 +0100 Added ENOTEMPTY. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit bdd8b2a77a5c1af548fdb994912001c4d49fcdf9 Author: Jonas 'Sortie' Termansen Date: Sat Mar 10 23:04:25 2012 +0100 Added strnlen(3). libmaxsi/include/string.h | 2 +- libmaxsi/string.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) commit 9ed2031dd23a77420c5b057b205997dfe1ab73af Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 21:06:05 2012 +0100 pager(1) now supports reading from stdin. utils/pager.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) commit cde10097e6c865354531b7468175c3410b8ece6d Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 20:52:20 2012 +0100 Fixed realloc(3) bug causing buffer overruns. libmaxsi/heap.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bd7cb5195a43a8b3c6a30ce2499068fece71f9ac Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 18:25:38 2012 +0100 Removed debug string from mxsh(1). utils/mxsh.cpp | 1 - 1 file changed, 1 deletion(-) commit 87248fbce9cbd150faa4636f617de6552019fb39 Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 18:20:16 2012 +0100 Aded kernelinfo(1) as a frontend of kernelinfo(2). utils/Makefile | 1 + utils/kernelinfo.cpp | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) commit a7658d5b8ccdc25c2d4291573ca2a5840112519d Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 18:05:59 2012 +0100 uname(1) now uses kernelinfo(2) to determine kernel version. utils/uname.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 8a9a0c58ea680ebc641fb542ac2ed60a59857ef7 Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 18:04:35 2012 +0100 Added kernelinfo(2), which reads a kernel information string. Currently it lets you query the name of the kernel, its version, and the build timestamp of the kernelinfo.cpp file. Makefile | 2 ++ libmaxsi/Makefile | 1 + libmaxsi/include/sys/kernelinfo.h | 40 ++++++++++++++++++++++ libmaxsi/kernelinfo.cpp | 39 ++++++++++++++++++++++ sortix/Makefile | 4 +++ sortix/kernel.cpp | 4 +++ sortix/kernelinfo.cpp | 70 +++++++++++++++++++++++++++++++++++++++ sortix/kernelinfo.h | 38 +++++++++++++++++++++ sortix/syscallnum.h | 3 +- 9 files changed, 200 insertions(+), 1 deletion(-) commit 7d4c79bc8c4c355a4dce7b2049b7a7a37d8e347f Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 15:52:35 2012 +0100 Improved error message upon line reading failure in head(1) and tail(1). utils/tail.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d6f9505d3bdc6ae5b2b69ec0b42def20bec1d7be Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 15:51:43 2012 +0100 Made getdelim(3) follow POSIX-2008 a bit more closely. It now reads lines that aren't delimited, but terminated by EOF. libmaxsi/stdio.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 3cc1f7a687d5b1828b5502bc76ce1cc282227fd5 Author: Jonas 'Sortie' Termansen Date: Wed Mar 7 15:51:01 2012 +0100 Made fgetc(3) and fputc(3) use unsigned char internally. libmaxsi/file.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 2722c3f03d70949963fc42ee0722ddea24364512 Author: Jonas 'Sortie' Termansen Date: Tue Mar 6 13:36:20 2012 +0100 Added EINTR. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 9f7175fbc839efeb880f8a30fda6a134bf8cec8b Author: Jonas 'Sortie' Termansen Date: Tue Mar 6 13:23:46 2012 +0100 Forgot to add fputs(3) to . libmaxsi/include/stdio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 065ceae5096014a4f5970cec63716126be3febd4 Author: Jonas 'Sortie' Termansen Date: Tue Mar 6 13:14:38 2012 +0100 Added fgets(3). libmaxsi/file.c | 20 ++++++++++++++++++++ libmaxsi/include/stdio.h | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) commit 6bcb3d7384bac8bbfe516d5271f3699bc65e2507 Author: Jonas 'Sortie' Termansen Date: Tue Mar 6 13:10:35 2012 +0100 Added stat(2) and fstat(2) in the kernel. It's a bit hacky, but it works. lstat(2) currently redirects to stat(2). libmaxsi/include/libmaxsi/types.h | 2 ++ sortix/filesystem.cpp | 34 ++++++++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-) commit fa4bd9e7a8ef22c711f1b4dd17ccd991c7661657 Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 16:05:51 2012 +0100 Forgot to add extern "C" to sscanf. libmaxsi/io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c03738a9f3b3f5d3b145f9c3152eb5057e5665a8 Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 16:01:19 2012 +0100 Added a stub for sscanf(3). This stub implements an ugly hack to help port binutils. Hopefully we'll get a real scanf family of functions soon. libmaxsi/include/stdio.h | 2 +- libmaxsi/io.cpp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) commit f089a030b46502d5df827974c0890694ba68319b Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 15:50:17 2012 +0100 Added stub for lstat(2). libmaxsi/include/sys/stat.h | 1 + libmaxsi/io.cpp | 5 +++++ 2 files changed, 6 insertions(+) commit 4b2c22d48085c93869e6f72e1c5af5f804e7cbb2 Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 15:45:59 2012 +0100 Added access(2). libmaxsi/include/unistd.h | 3 ++- libmaxsi/io.cpp | 6 ++++++ sortix/Makefile | 1 + sortix/filesystem.cpp | 22 ++++++++++++++++++++++ sortix/syscallnum.h | 3 ++- sortix/unistd.h | 40 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 73 insertions(+), 2 deletions(-) commit cd350620f2fa0c6048bd31a977bb7efe3ba95c7b Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 13:32:18 2012 +0100 Added fputs(3). libmaxsi/file.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit bc38dc5127d6a8acd0f8c162b92464c4a21c05ee Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 13:20:13 2012 +0100 Added a stub for environ(3). libmaxsi/process.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 25b33b4755a35dc4c9b45a7021f8ac9ddc981be0 Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 13:10:32 2012 +0100 Fixed broken declaration of mktemp(3) in . libmaxsi/include/stdlib.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 85549b56884d494f86a93934e94592c70900aedc Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 13:08:36 2012 +0100 Uncommented warning in to prevent compile errors in binutils. This is because they treat warnings as errors. libmaxsi/include/assert.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c1affdf6db43d9963ed73c43b8a042c302273ca6 Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 13:07:38 2012 +0100 Added missing extern "C" linkages in libmaxsi/string.cpp. libmaxsi/string.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 7082ac4ac92fbbc5699f020a2a87f0ee1ac4aa14 Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 13:05:21 2012 +0100 Forgot to add extern "C" linkage to mktemp(3). libmaxsi/io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5449ae78f44a39270e11d118b061a5eeec04ddcc Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 12:53:34 2012 +0100 Added atol(3) and atoll(3). libmaxsi/include/stdlib.h | 5 ++--- libmaxsi/integer.cpp | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) commit 422d2fd579bc67b058b74d19d23b3497c7392d46 Author: Jonas 'Sortie' Termansen Date: Mon Mar 5 12:37:35 2012 +0100 Added qsort(3). This is a rather slow implementation. Will be fixed soon. libmaxsi/Makefile | 1 + libmaxsi/include/stdlib.h | 2 +- libmaxsi/sort.cpp | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) commit 12e8dd6d81331c99a25b7fa0389f99d14d1a28ab Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 23:55:17 2012 +0100 Added stub for getenv(3). libmaxsi/include/stdlib.h | 2 +- libmaxsi/process.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) commit 00c3aaa919e367a9b4fffe44a9da218d992c6f6a Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 23:51:15 2012 +0100 Added stub for ctime(3). libmaxsi/include/time.h | 1 + libmaxsi/time.cpp | 5 +++++ 2 files changed, 6 insertions(+) commit e2d673294c5f189ceaf020515166d463c0469bea Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 23:40:06 2012 +0100 Added a stub for assert(3). libmaxsi/include/assert.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) commit 7c33b3f10fdea857c28d24cfabb59fb45f47f306 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 23:35:40 2012 +0100 Always show the declaration of sbrk(2). This was done because binutils need this to compile. libmaxsi/include/unistd.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit be98120b49b4e19685fc25dec38f6b28461eeb85 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 23:15:08 2012 +0100 Added stubs for setjmp(3) and longjmp(3). libmaxsi/Makefile | 1 + libmaxsi/include/setjmp.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/setjmp.c | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) commit 390150839e1f4b55660531c666046e13472ea6cb Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 23:01:17 2012 +0100 Added a stub for umask(2). libmaxsi/include/sys/stat.h | 1 + libmaxsi/io.cpp | 6 ++++++ 2 files changed, 7 insertions(+) commit 6f9b8b2f64410cd4f33760a505dae0c6a302b0b2 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 22:57:20 2012 +0100 Added stubs for chmod(2) and fchmod(2). libmaxsi/include/sys/stat.h | 2 ++ libmaxsi/io.cpp | 14 ++++++++++++++ 2 files changed, 16 insertions(+) commit 9b2de25f9b7241837ae26b3cd23c6ffc470e6210 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 22:46:00 2012 +0100 Added strcasecmp(3), strncasecmp(3) and . Why ? Stupid POSIX. libmaxsi/include/strings.h | 40 ++++++++++++++++++++++++++++++++++++++++ libmaxsi/string.cpp | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) commit 2b57319c1cddb4424a1fbfcc916afb0bd5ebef7b Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 22:26:03 2012 +0100 Added stub for time(3). libmaxsi/include/time.h | 1 + libmaxsi/time.cpp | 6 ++++++ 2 files changed, 7 insertions(+) commit d3c4df72b1e9d16644c2676ec5fc1fd2f26fb301 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 22:25:23 2012 +0100 Added st_{a,c,m}time to struct stat. libmaxsi/include/sys/stat.h | 1 + sortix/stat.h | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) commit aa72efdb2c22210172bf46698d375c95ecce0691 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 22:18:29 2012 +0100 Added to the list of public headers. sortix/Makefile | 1 + 1 file changed, 1 insertion(+) commit c0a02248da11f4523149d7e00aed9b93afce8fd5 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 22:05:28 2012 +0100 Added , struct timeval and gettimeofday(3) stub. libmaxsi/decl/suseconds_t.h | 4 ++++ libmaxsi/decl/time_t.h | 4 ++++ libmaxsi/include/sys/time.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/time.cpp | 8 ++++++++ sortix/timeval.h | 41 +++++++++++++++++++++++++++++++++++++++++ sortix/x64/bits.h | 2 ++ sortix/x86/bits.h | 2 ++ 7 files changed, 106 insertions(+) commit e0066876451ecfef0926cf994232729d15aca5b3 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 21:48:39 2012 +0100 Added abort(3) to . libmaxsi/include/stdlib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5e75f5c428d2df43e808067b0e436349da978cd2 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 21:36:16 2012 +0100 Added fcntl(3) with FD_GET and FD_SET. libmaxsi/include/fcntl.h | 5 +---- libmaxsi/io.cpp | 6 ++++++ sortix/fcntl.h | 3 +++ sortix/filesystem.cpp | 16 ++++++++++++++++ sortix/syscallnum.h | 3 ++- 5 files changed, 28 insertions(+), 5 deletions(-) commit 75b14aa821d47c6fd484848e3eb8bb613d50274d Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 21:06:25 2012 +0100 Refactored the descriptor table and added FD_CLOEXEC and FD_CLOFORK. open(2) now also respects O_CLOEXEC and O_CLOFORK. sortix/descriptors.cpp | 89 ++++++++++++++++++++++++++++++++++---------------- sortix/descriptors.h | 23 +++++++++---- sortix/fcntl.h | 4 +++ sortix/filesystem.cpp | 5 +++ sortix/process.cpp | 2 ++ 5 files changed, 87 insertions(+), 36 deletions(-) commit 777fc04682f75b57b486da2328dce2af89556130 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 18:35:40 2012 +0100 Added , clock_t, and a stub for clock(3). libmaxsi/decl/clock_t.h | 4 ++++ libmaxsi/include/sys/types.h | 1 + libmaxsi/include/time.h | 38 ++++++++++++++++++++++++++++++++++++++ libmaxsi/time.cpp | 8 ++++++++ sortix/x64/bits.h | 1 + sortix/x86/bits.h | 1 + 6 files changed, 53 insertions(+) commit 0bd6a4ff67c54b7a3a95a2d0dd19fad659ca5cd8 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 18:16:40 2012 +0100 Added . libmaxsi/include/math.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) commit 6695da9229b82584d1abae52593b5f07c7723d6a Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 18:12:30 2012 +0100 Added strncat(3). libmaxsi/include/string.h | 2 +- libmaxsi/string.cpp | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) commit 73e2d9db3cee9d0f360fc9ce7efd3b2ab7e982ed Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 18:06:00 2012 +0100 Made errno(3) a macro to itself. libmaxsi/decl/errno_decl.h | 1 + 1 file changed, 1 insertion(+) commit 38f27a45fc87c94bb30c0dc75f496781d6978ac7 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 17:44:00 2012 +0100 Added strpbrk(3). libmaxsi/include/string.h | 2 +- libmaxsi/string.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) commit b1b123109a76ded19e093745d2196394bbb3307f Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 17:29:26 2012 +0100 Added mktemp(3). This is a stupid, ugly function added for compatibility. libmaxsi/include/stdlib.h | 3 +++ libmaxsi/io.cpp | 11 +++++++++++ 2 files changed, 14 insertions(+) commit 5d826ec284603553311b71eab304484a3589c6bc Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 17:20:18 2012 +0100 Added strstr(3). libmaxsi/include/string.h | 2 +- libmaxsi/string.cpp | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) commit 6c6e1091a151bdad97c1c67ad95407ff81c6ef8d Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 17:10:28 2012 +0100 Added memmove(3). libmaxsi/include/string.h | 2 +- libmaxsi/memory.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) commit a52200f4a78ef5af92cff5fada01b3dc6132b13c Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 17:00:35 2012 +0100 Added strncpy(3). This function is stupid. libmaxsi/include/string.h | 2 +- libmaxsi/string.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) commit 90ea0d3e64b26b2c4525fb56f73282081e9aab3e Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 16:54:29 2012 +0100 Added strdup(3) to . libmaxsi/include/string.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 563f8315451d4a046c099291596708fe1c0fe4e5 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 16:50:20 2012 +0100 The shell now support the >> operator. Note that the RAM filesystem, however, doesn't. utils/mxsh.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 3c12de760f7f6fa38978098e4d0ab8a1fbb75e31 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 16:49:27 2012 +0100 cat(1) now only uses "traditional" mode if both stdin and stdout isatty(2). utils/cat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ac7e55ffbde8c57e130c6d580cf1eaa36e179e81 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 16:48:00 2012 +0100 Added st_dev to struct stat. libmaxsi/decl/dev_t.h | 4 ++++ libmaxsi/include/sys/stat.h | 1 + sortix/stat.h | 1 + sortix/x64/bits.h | 1 + sortix/x86/bits.h | 1 + 5 files changed, 8 insertions(+) commit db7781c54aa7f192e657b8f5d9cc7bdf7a4c1213 Author: Jonas 'Sortie' Termansen Date: Sun Mar 4 16:03:48 2012 +0100 Install headers in sysroot. sortix/Makefile | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit f9f59e9536fb7e668e902a75d8dd4fd10f9a8f7a Author: Jonas 'Sortie' Termansen Date: Sat Mar 3 01:06:08 2012 +0100 Added ELAKE. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 617c4333c6d76e9c56bb658c775be4ea10aa455b Author: Jonas 'Sortie' Termansen Date: Sat Mar 3 00:29:00 2012 +0100 Added head(1), tail(1). utils/Makefile | 2 + utils/head.cpp | 3 + utils/tail.cpp | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 186 insertions(+) commit 7b9e15baf214bee1ee8dde6f05eb923f06737582 Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 18:15:31 2012 +0100 Made cat(1) read from stdin if it isn't a tty. utils/cat.cpp | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) commit 98d1ccfa7ddeea5e0f7a760b9ced69d6f0ac5826 Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 18:02:07 2012 +0100 Improved the shell with pipes, background processes and semicolons. It's really hacky, but it's an improvement. utils/mxsh.cpp | 195 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 151 insertions(+), 44 deletions(-) commit 0ed0082070edbcd8c1feb3969602f0f40b774cee Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 14:59:47 2012 +0100 Added execv(3) and execve(3). Removed the older libmaxsi system call. libmaxsi/include/libmaxsi/process.h | 11 +++++------ libmaxsi/include/unistd.h | 4 ++-- libmaxsi/process.cpp | 28 +++++++++++++++++----------- sortix/process.cpp | 4 +++- utils/help.cpp | 10 +++------- utils/init.cpp | 10 +++------- utils/ls.cpp | 4 ++-- utils/mxsh.cpp | 14 ++++---------- 8 files changed, 39 insertions(+), 46 deletions(-) commit 93a9ee334d0ae34db6fa5891d3ecd7fb10faf9e0 Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 14:25:24 2012 +0100 Removed a debug ifdef that isn't used. sortix/x86/memorymanagement.cpp | 5 ----- 1 file changed, 5 deletions(-) commit cfbbf672473d5b45cbd52f9a94016a3551a6883d Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 14:08:01 2012 +0100 make CALLTRACE=1 to enable printing primitive calltraces upon panic. This won't work with optimizations turned fully on. Added protection against double panics. sortix/Makefile | 11 +++++++++-- sortix/calltrace.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++ sortix/calltrace.h | 35 +++++++++++++++++++++++++++++++++ sortix/panic.cpp | 24 +++++++++++++++++++++++ sortix/x64/calltrace.s | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ sortix/x86/calltrace.s | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 215 insertions(+), 2 deletions(-) commit 6dd0e586ff90b28f05688cde32ef67e459c70298 Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 13:50:39 2012 +0100 Added protection against bad addrspace vars and bad Page::Put() calls. This will offer protection against the bug fixed in the previous commit. sortix/scheduler.cpp | 9 +++++++++ sortix/thread.cpp | 3 +++ sortix/thread.h | 1 + sortix/x86-family/memorymanagement.cpp | 5 ++++- 4 files changed, 17 insertions(+), 1 deletion(-) commit 5e5991ce19e9b89fb221432a41e423731b5373bb Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 13:45:09 2012 +0100 Fixed x86 addrspace destroy code calling Page::Put with garbage. sortix/x86/memorymanagement.cpp | 5 +++++ 1 file changed, 5 insertions(+) commit a7c38cb9972e7ff4734f2b49f3ce296c87241932 Author: Jonas 'Sortie' Termansen Date: Fri Mar 2 00:08:44 2012 +0100 Improved bad currentdir variable panic message. sortix/x86-family/memorymanagement.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit f2f4b2ca60d3c424039f636817c68a747cd26b21 Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 16:59:29 2012 +0100 Better argument parsing in column(1). utils/column.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) commit c5302df2775e5228dc435b5e3c3120eb95b6af19 Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 16:41:49 2012 +0100 error(3) now doesn't print an error if supplied errno=0. libmaxsi/io.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 158909033e212596901f2f39aee12dff7c64d478 Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 14:37:04 2012 +0100 ls(1) now pipe(2) into column(1) if stdout(3) isatty(2). This saves precious screen space as Sortix only supports 25-line ttys. utils/ls.cpp | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) commit caddf8c1916fdc0fd44071c3bc6452472989fc40 Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 14:36:32 2012 +0100 Added column(1). utils/Makefile | 1 + utils/column.cpp | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) commit 9c193777a9acfc6177d4114ff41bfd0df281b14e Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 14:30:48 2012 +0100 Pipes now return 0 (EOF) if no data and no fds can write. sortix/pipe.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit 982b9a732a34e83bb5d71ea6741a9d89a94c445c Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 14:29:56 2012 +0100 Fixed bug where fopen(3) used the wrong mode in call to fdopen(3). libmaxsi/fdio.c | 2 ++ 1 file changed, 2 insertions(+) commit 081bb6481ca6e1c09511013363ad907ad69fa9c3 Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 00:27:06 2012 +0100 Added pwd(1). utils/Makefile | 1 + utils/pwd.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+) commit b4f47f0f793734240a4ed6ed55c36f1d6e2ce57b Author: Jonas 'Sortie' Termansen Date: Thu Mar 1 00:15:04 2012 +0100 Split descriptor_tables.cpp into a gdt.cpp and idt.cpp. This was about time, since descriptor_tables was a really bad name! sortix/Makefile | 4 +- sortix/interrupt.cpp | 2 +- sortix/kernel.cpp | 2 +- sortix/scheduler.cpp | 2 +- sortix/x64/gdt.s | 19 ++---- sortix/x64/idt.s | 33 +++++++++ sortix/x64/scheduler.cpp | 1 - .../{descriptor_tables.cpp => x86-family/gdt.cpp} | 45 ++----------- sortix/{descriptor_tables.h => x86-family/gdt.h} | 55 ++------------- sortix/x86-family/idt.cpp | 68 +++++++++++++++++++ sortix/x86-family/idt.h | 78 ++++++++++++++++++++++ sortix/x86/gdt.asm | 7 -- sortix/x86/idt.asm | 13 ++++ sortix/x86/scheduler.cpp | 1 - 14 files changed, 212 insertions(+), 118 deletions(-) commit 5162a12d03ed770833af70429f47f81262312cb0 Author: Jonas 'Sortie' Termansen Date: Wed Feb 29 23:03:16 2012 +0100 Further cleanup and refactoring of the interrupt code. sortix/descriptor_tables.cpp | 19 +----- sortix/interrupt.cpp | 146 ++++++++++++++++++++++++++++--------------- sortix/interrupt.h | 6 +- sortix/x86/interrupt.asm | 10 +-- 4 files changed, 103 insertions(+), 78 deletions(-) commit 0e48b234290f653e7afa77225337e5a62b5db6dd Author: Jonas 'Sortie' Termansen Date: Wed Feb 29 13:35:47 2012 +0100 Refactored the interrupt code to make it cleaner and more flexible. Added support for hooking directly into an interrupt with your own interrupt handler. sortix/descriptor_tables.cpp | 63 ++-------- sortix/descriptor_tables.h | 65 ++-------- sortix/interrupt.cpp | 281 +++++++++++++++++++++++++++---------------- sortix/interrupt.h | 131 ++++++++++++++------ sortix/kernel.cpp | 20 ++- sortix/x64/gdt.s | 3 - sortix/x64/interrupt.s | 5 + sortix/x86/gdt.asm | 1 - sortix/x86/interrupt.asm | 6 +- 9 files changed, 307 insertions(+), 268 deletions(-) commit 7ebed6dd6a5b59138297e7855a8cef9d2beeebd1 Author: Jonas 'Sortie' Termansen Date: Fri Feb 24 22:01:37 2012 +0100 sortix/io.cpp now uses . sortix/io.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) commit cbdf54fcdd98f6622fa16196511d60f9a6fac179 Author: Jonas 'Sortie' Termansen Date: Fri Feb 24 17:34:26 2012 +0100 Moved SEEK_SET, SEEK_CUR, and SEEK_SET to . libmaxsi/decl/SEEK_CUR.h | 3 --- libmaxsi/decl/SEEK_END.h | 3 --- libmaxsi/decl/SEEK_SET.h | 3 --- libmaxsi/include/fcntl.h | 5 +---- libmaxsi/include/stdio.h | 7 +------ libmaxsi/include/unistd.h | 5 +---- sortix/seek.h | 39 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 42 insertions(+), 23 deletions(-) commit 5de83df6ec91a23d141ddee99d33c93c64914707 Author: Jonas 'Sortie' Termansen Date: Thu Feb 23 13:15:16 2012 +0100 Unified constants from sortix/filesystem.h and in . libmaxsi/include/fcntl.h | 23 ++--------------------- sortix/fcntl.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ sortix/filesystem.h | 22 +--------------------- 3 files changed, 51 insertions(+), 42 deletions(-) commit 03273d007691529b55241a0fe458ed9af214650e Author: Jonas 'Sortie' Termansen Date: Wed Feb 22 00:30:10 2012 +0100 Added stubs for stat(2), and fstat(2). libmaxsi/decl/blkcnt_t.h | 4 +++ libmaxsi/decl/blksize_t.h | 4 +++ libmaxsi/decl/ino_t.h | 4 +++ libmaxsi/decl/mode_t_values.h | 27 --------------- libmaxsi/decl/nlink_t.h | 4 +++ libmaxsi/include/fcntl.h | 3 +- libmaxsi/include/libmaxsi/types.h | 4 +++ libmaxsi/include/sys/stat.h | 22 ++++++++---- libmaxsi/io.cpp | 13 +++++++ sortix/filesystem.cpp | 16 +++++++++ sortix/stat.h | 73 +++++++++++++++++++++++++++++++++++++++ sortix/syscallnum.h | 4 ++- sortix/x64/bits.h | 4 +++ sortix/x86/bits.h | 4 +++ 14 files changed, 150 insertions(+), 36 deletions(-) commit 75b3b9c8581d037fba5c487a70f422e263a28895 Author: Jonas 'Sortie' Termansen Date: Tue Feb 21 23:23:33 2012 +0100 Added a Maxsi::String::Substring function. libmaxsi/include/libmaxsi/string.h | 1 + libmaxsi/string.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) commit edd806fc74e5f58c73ab79e5fd63a6da14458344 Author: Jonas 'Sortie' Termansen Date: Tue Feb 21 20:12:28 2012 +0100 Added a Refcounted class, useful for refcounted objects. sortix/Makefile | 1 + sortix/refcount.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/refcount.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) commit 74dab2cbcad7d3017eae195f5bf5a36789ca175b Author: Jonas 'Sortie' Termansen Date: Mon Feb 13 13:16:19 2012 +0100 Cleaned up the Sortix makefile. sortix/Makefile | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) commit 2a4a51fafc1c12003a12a6b78249bf0b6eec31ba Author: Jonas 'Sortie' Termansen Date: Mon Feb 13 01:06:38 2012 +0100 Added getline(3), getdelim(3), sortix_gets(3) and gets(3). gets(3) exists and is an alias for sortix_gets(3) if _SORTIX_SOURCE. sortix_gets(3) returns a pointer to a safe newly read and allocated line. libmaxsi/include/features.h | 9 ++++++++ libmaxsi/include/stdio.h | 15 +++++++++---- libmaxsi/stdio.c | 54 ++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 71 insertions(+), 7 deletions(-) commit 3bf5b1f17e42cfa75d9adf62fa093e7631dc4caf Author: Jonas 'Sortie' Termansen Date: Mon Feb 13 00:30:41 2012 +0100 Added realloc(3). libmaxsi/heap.cpp | 24 +++++++++++++++++++++--- libmaxsi/include/stdlib.h | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) commit 4804e60a8b4ce3f71e05b3d6a59890d421fb9e35 Author: Jonas 'Sortie' Termansen Date: Sun Feb 12 13:53:43 2012 +0100 Fixed race condition when building libmaxsi with -j. The headers could end up being made before their dirs were ready. libmaxsi/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c8dfe630afcd38118276b119aea551f8c3eaa3fc Author: Jonas 'Sortie' Termansen Date: Sun Feb 12 13:19:10 2012 +0100 Removed annoying warnings when declaring x64 systemcalls. Actually, the warnings are true, but that's a task for later. libmaxsi/include/libmaxsi/syscall.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit c6682265aadfb2a47295d21292c19f89d08bc0cb Author: Jonas 'Sortie' Termansen Date: Sun Feb 12 12:17:42 2012 +0100 Fixed minor compile errors in fddir-sortix.c. libmaxsi/fddir-sortix.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit e05e934bebb8f1bfbcca33c46a43e175409f4ac2 Author: Jonas 'Sortie' Termansen Date: Sun Feb 12 12:14:03 2012 +0100 Changed return type of FILE::tell_func to off_t. libmaxsi/decl/FILE.h | 2 +- libmaxsi/fdio.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit fec176fa15ef0c9bf41e1d6899c108c893b418e8 Author: Jonas 'Sortie' Termansen Date: Sun Feb 12 02:03:10 2012 +0100 Refactored the libmaxsi/ directory. C and C++ files are now kept together and so are the mxmpp declarations. Header files are now stored in include/ and mxmpp'd into preproc/. All other code now -I ../libmaxsi/preproc. And other stuff to make this happen, including refactoring Makefile. crosscompilemakefile.mak | 2 +- libmaxsi/.gitignore | 4 +- libmaxsi/Makefile | 196 +++++++-------------- libmaxsi/c++.cpp | 2 +- libmaxsi/c/string.c | 35 ---- libmaxsi/{c => }/ctype.c | 0 libmaxsi/{c => }/decl/DIR.h | 0 libmaxsi/{c => }/decl/FILE.h | 0 libmaxsi/{c => }/decl/SEEK_CUR.h | 0 libmaxsi/{c => }/decl/SEEK_END.h | 0 libmaxsi/{c => }/decl/SEEK_SET.h | 0 libmaxsi/{c => }/decl/WEOF.h | 0 libmaxsi/{c => }/decl/useconds_t.h | 0 libmaxsi/{c => }/decl/wctrans_t.h | 0 libmaxsi/{c => }/decl/wctype_t.h | 0 libmaxsi/{c => }/dir.c | 0 libmaxsi/error.cpp | 6 +- libmaxsi/{c => }/fddir-sortix.c | 0 libmaxsi/{c => }/fdio.c | 0 libmaxsi/{c => }/fdio.h | 0 libmaxsi/{c => }/file.c | 0 libmaxsi/format.cpp | 6 +- libmaxsi/heap.cpp | 6 +- libmaxsi/{c/hsrc => include}/ctype.h | 0 libmaxsi/{c/hsrc => include}/dirent.h | 0 libmaxsi/{c/hsrc => include}/errno.h | 0 libmaxsi/{c/hsrc => include}/error.h | 0 libmaxsi/{c/hsrc => include}/fcntl.h | 0 libmaxsi/{c/hsrc => include}/features.h | 2 +- libmaxsi/{hsrc => include/libmaxsi}/error.h | 0 libmaxsi/{hsrc => include/libmaxsi}/format.h | 0 libmaxsi/{hsrc => include/libmaxsi}/io.h | 0 libmaxsi/{hsrc => include/libmaxsi}/memory.h | 0 libmaxsi/{hsrc => include/libmaxsi}/platform.h | 0 libmaxsi/{hsrc => include/libmaxsi}/process.h | 0 libmaxsi/{hsrc => include/libmaxsi}/signal.h | 0 libmaxsi/{hsrc => include/libmaxsi}/signalnum.h | 0 libmaxsi/{hsrc => include/libmaxsi}/sortedlist.h | 0 libmaxsi/{hsrc => include/libmaxsi}/sortix-sound.h | 0 libmaxsi/{hsrc => include/libmaxsi}/sortix-vga.h | 0 libmaxsi/{hsrc => include/libmaxsi}/string.h | 0 libmaxsi/{hsrc => include/libmaxsi}/syscall.h | 0 libmaxsi/{hsrc => include/libmaxsi}/thread.h | 0 libmaxsi/{hsrc => include/libmaxsi}/types.h | 0 libmaxsi/{c/hsrc => include}/signal.h | 0 libmaxsi/{c/hsrc => include}/stdarg.h | 0 libmaxsi/{c/hsrc => include}/stddef.h | 0 libmaxsi/{c/hsrc => include}/stdint.h | 0 libmaxsi/{c/hsrc => include}/stdio.h | 0 libmaxsi/{c/hsrc => include}/stdlib.h | 0 libmaxsi/{c/hsrc => include}/string.h | 0 libmaxsi/{c/hsrc => include}/sys/keycodes.h | 0 libmaxsi/{c/hsrc => include}/sys/readdirents.h | 0 libmaxsi/{c/hsrc => include}/sys/stat.h | 0 libmaxsi/{c/hsrc => include}/sys/termmode.h | 0 libmaxsi/{c/hsrc => include}/sys/types.h | 0 libmaxsi/{c/hsrc => include}/sys/wait.h | 0 libmaxsi/{c/hsrc => include}/unistd.h | 0 libmaxsi/{c/hsrc => include}/wchar.h | 0 libmaxsi/{c/hsrc => include}/wctype.h | 0 libmaxsi/init.cpp | 10 +- libmaxsi/integer.cpp | 2 +- libmaxsi/io.cpp | 12 +- libmaxsi/memory.cpp | 8 +- libmaxsi/process.cpp | 6 +- libmaxsi/random.cpp | 2 +- libmaxsi/signal.cpp | 12 +- libmaxsi/sortix-sound.cpp | 6 +- libmaxsi/sortix/.gitignore | 1 - libmaxsi/{c => }/stdio.c | 0 libmaxsi/string.cpp | 19 +- libmaxsi/terminal.cpp | 4 +- libmaxsi/thread.cpp | 6 +- libmaxsi/time.cpp | 8 +- sortix/Makefile | 2 +- 75 files changed, 129 insertions(+), 228 deletions(-) commit 4e29f2b90742117e571b7d05e8af32f4ed05de65 Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 21:20:25 2012 +0100 Fixed spelling error in sortix/*/bits.h. sortix/x64/bits.h | 2 +- sortix/x86/bits.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit b4131def9f9305cd75224cb4b411b9dd7cd2037c Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 19:50:03 2012 +0100 The offsetof macro now expands to __builtin_offsetof. The compiler knows this stuff best, anyway. libmaxsi/c/hsrc/stddef.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d693f8a2f409b2c66e25fa6806821c2130e0e4a8 Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 19:38:27 2012 +0100 Fixed broken . libmaxsi/c/hsrc/stdarg.h | 5 ----- 1 file changed, 5 deletions(-) commit ead53567a1b41cdd9bc424bcacfaccda84940c41 Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 19:05:36 2012 +0100 Made the compile process a little less verbose. Makefile | 4 ++-- sortix/Makefile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit 6d1129c29ab8395d519b53368b741ff0bb1e267a Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 19:02:53 2012 +0100 Removed compile warnings related to feature macros. Accidentally commited them. Oops. libmaxsi/c/hsrc/features.h | 32 -------------------------------- 1 file changed, 32 deletions(-) commit ed68db03fb58e45d3d2a0fced2d62485cb478164 Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 18:49:48 2012 +0100 Replaced SORTIX_EXTENSIONS macro with _SORTIX_SOURCE macro. declares _SORTIX_SOURCE if no conflicting macros are declared, such as _GNU_SOURCE. Fixed g++ automatically declaring _GNU_SOURCE, but Sortix isn't GNU. Replaced SORTIX_UNIMPLEMENTED macro with __SORTIX_SHOW_UNIMPLEMENTED. crosscompilemakefile.mak | 2 +- libmaxsi/Makefile | 2 +- libmaxsi/c/hsrc/dirent.h | 2 +- libmaxsi/c/hsrc/fcntl.h | 2 +- libmaxsi/c/hsrc/features.h | 51 ++++++++++++++++++++++++++++++++++++++++------ libmaxsi/c/hsrc/stdio.h | 4 ++-- libmaxsi/c/hsrc/stdlib.h | 2 +- libmaxsi/c/hsrc/string.h | 4 ++-- libmaxsi/c/hsrc/sys/wait.h | 2 +- libmaxsi/c/hsrc/unistd.h | 8 ++++---- libmaxsi/c/hsrc/wchar.h | 2 +- libmaxsi/c/hsrc/wctype.h | 2 +- sortix/Makefile | 2 +- 13 files changed, 62 insertions(+), 23 deletions(-) commit 88c7788b4ef8c360814756f72fabee67f6b9b8d8 Author: Jonas 'Sortie' Termansen Date: Sat Feb 11 18:45:53 2012 +0100 Fixed stdint.h include guard conflicting with unistd.h. libmaxsi/c/hsrc/stdint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 028867ab9d088d913cf9192384456c5d0114e217 Author: Jonas 'Sortie' Termansen Date: Fri Feb 10 01:13:06 2012 +0100 Removed the unused and deprecated old API. This has been entirely replaced by stdin and . libmaxsi/Makefile | 3 - libmaxsi/hsrc/keyboard.h | 70 -------------------- libmaxsi/hsrc/sortix-keyboard.h | 47 ------------- libmaxsi/sortix-keyboard.cpp | 41 ------------ sortix/Makefile | 1 - sortix/fs/devfs.cpp | 89 ------------------------- sortix/kbapiadapter.cpp | 142 ---------------------------------------- sortix/kbapiadapter.h | 63 ------------------ sortix/keyboard.cpp | 8 --- sortix/serialterminal.cpp | 1 - sortix/syscallnum.h | 1 - 11 files changed, 466 deletions(-) commit c4264d9c2a29e88a141017b9873dac6d442981d2 Author: Jonas 'Sortie' Termansen Date: Sun Jan 22 23:46:17 2012 +0100 Ported the user-space programs to use stdin for keyboard access. The old keyboard API is hereby deprecated and unused. games/conway.cpp | 56 +++++----- games/pong.cpp | 33 +++--- games/snake.cpp | 43 ++++---- sortix/fs/devfs.cpp | 4 +- sortix/keyboard.cpp | 9 +- utils/cat.cpp | 33 +++--- utils/editor.cpp | 286 ++++++++++++++++++++++++++-------------------------- utils/init.cpp | 4 +- utils/mxsh.cpp | 48 ++++----- utils/pager.cpp | 26 ++--- 10 files changed, 276 insertions(+), 266 deletions(-) commit fa9c7007b4b45727b217f7a7757ceaded38d50b8 Author: Jonas 'Sortie' Termansen Date: Thu Feb 9 23:54:39 2012 +0100 Implemented a terminal that reads from keyboard and writes to kernel log. This terminal will provide the keyboard data in a couple modes as /dev/tty. sortix/Makefile | 1 + sortix/logterminal.cpp | 267 +++++++++++++++++++++++++++++++++++++++++++++++++ sortix/logterminal.h | 77 ++++++++++++++ 3 files changed, 345 insertions(+) commit 4ba906a1574e9d55161de2624b0ebe83539ccdcc Author: Jonas 'Sortie' Termansen Date: Thu Feb 9 23:54:00 2012 +0100 Added a class for handling terminal linebuffering. sortix/Makefile | 1 + sortix/linebuffer.cpp | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/linebuffer.h | 58 +++++++++++++++++++++++ 3 files changed, 183 insertions(+) commit 133fb9871cf88cfbcbb35f17ebeb08b73feaf816 Author: Jonas 'Sortie' Termansen Date: Thu Feb 9 23:52:46 2012 +0100 Fixed buggy and broken KBKEY_ENCODE and KBKEY_DECODE macros. sortix/keycodes.h | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) commit 5fde8e13ed4c7225ca2629e9bc081695f545a1e0 Author: Jonas 'Sortie' Termansen Date: Sun Jan 22 18:48:40 2012 +0100 Blocking systemcalls now return EBLOCKING instead of EWOULDBLOCK. EWOULDBLOCK is now used when it wanted to block, but didn't. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + sortix/io.cpp | 4 ++-- sortix/pipe.cpp | 4 ++-- sortix/process.cpp | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) commit 9bcfdad1744b7c5234e14285021402a754afdc75 Author: Jonas 'Sortie' Termansen Date: Fri Feb 10 13:26:47 2012 +0100 Added protection against running terminated threads. A bool is set when a thread is terminated, which may help detect it. A cached version of the thread's pid is also kept around. And lastly, the thread is unsubscribed from events upon destruction. sortix/event.cpp | 19 ++++++++++++++++++- sortix/event.h | 1 + sortix/scheduler.cpp | 1 + sortix/thread.cpp | 11 +++++++++++ sortix/thread.h | 2 ++ 5 files changed, 33 insertions(+), 1 deletion(-) commit f6f0d24b5c76d462def9f4dea8521a55db20fd6f Author: Jonas 'Sortie' Termansen Date: Sun Jan 22 18:38:22 2012 +0100 Added TERMMODE_NONBLOCK. This allows user-space to query whether data is available. sortix/termmode.h | 1 + 1 file changed, 1 insertion(+) commit ecc3114f2a9ca158b4784e374b8f8ecac5480844 Author: Jonas 'Sortie' Termansen Date: Sun Jan 22 16:48:33 2012 +0100 Refactored the system to use the new Terminal interface. This will allow development of a better terminal providing stdin. Added new system calls settermmode(2) and gettermmode(2) declared in . They allow querying and changing the current mode of terminals (enabling raw keyboard data, signal handling, line buffering, UTF-8 encoding stdin, and more). However, all that is unsupported by the current terminal device driver. Added KBKEY_ENCODE and KBKEY_DECODE macros to which allows encoding the kbkey format in UTF-32 characters. libmaxsi/Makefile | 2 ++ libmaxsi/c/hsrc/sys/termmode.h | 39 ++++++++++++++++++++++ libmaxsi/io.cpp | 6 ---- libmaxsi/terminal.cpp | 50 +++++++++++++++++++++++++++++ sortix/Makefile | 1 + sortix/device.h | 2 +- sortix/fs/devfs.cpp | 45 +++++++++++++++++++++++--- sortix/io.cpp | 10 ------ sortix/kernel.cpp | 4 +++ sortix/keycodes.h | 17 ++++++++++ sortix/syscallnum.h | 4 ++- sortix/terminal.cpp | 73 ++++++++++++++++++++++++++++++++++++++++++ sortix/terminal.h | 62 +++++++++++++++++++++++++++++++++++ sortix/termmode.h | 36 +++++++++++++++++++++ 14 files changed, 328 insertions(+), 23 deletions(-) commit ead0e1523f928c01663b8613905743338fd125fe Author: Jonas 'Sortie' Termansen Date: Sat Jan 7 21:08:37 2012 +0100 Refactored the kernel keyboard API, but kept system calls compatible. Caps lock now works as caps lock, not as shift lock. This new design will allow implementing a working tty, such that stdin is the only way to access the keyboard, instead of the current hacky way of using a special system call to read from the keyboard. Added a new system header file defining the constants for every key on the keyboard. This will be used in future APIs. The main change is to split the keyboard driver into a class that reads from the keyboard, while another class handles the translation into printable characters (if possible). This allows a terminal driver based on logical key presses and printable characters, instead of a terminal driver based only on unicode-ish codes. libmaxsi/Makefile | 1 + libmaxsi/c/hsrc/sys/keycodes.h | 32 ++ sortix/Makefile | 5 +- sortix/kb/layout/us.cpp | 153 +++++++++ sortix/kb/layout/us.h | 49 +++ sortix/kb/ps2.cpp | 193 +++++++++++ sortix/kb/ps2.h | 69 ++++ sortix/kbapiadapter.cpp | 142 ++++++++ sortix/kbapiadapter.h | 63 ++++ sortix/keyboard.cpp | 722 ++--------------------------------------- sortix/keyboard.h | 38 ++- sortix/keycodes.h | 145 +++++++++ sortix/serialterminal.cpp | 8 + 13 files changed, 909 insertions(+), 711 deletions(-) commit 16dd39e467149c53c7d8e5861440bdcd4ea9aef5 Author: Jonas 'Sortie' Termansen Date: Sun Jan 22 02:12:28 2012 +0100 Added a nice Log::PrintData function to the kernel. This allows writing binary data to the kernel log. sortix/log.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit 1f3f85b6096aae9859f0c53220aef5fd00c7f235 Author: Jonas 'Sortie' Termansen Date: Wed Jan 18 22:05:46 2012 +0100 Added a simple utf8 encoder in the kernel. sortix/Makefile | 1 + sortix/utf8.cpp | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/utf8.h | 37 ++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) commit ac51e98cb88c8cbec51e8e80f2440f8d215fc8b3 Author: Jonas 'Sortie' Termansen Date: Sat Jan 21 01:30:50 2012 +0100 Improved removal performance in Maxsi::SortedList. libmaxsi/hsrc/sortedlist.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) commit f29f6dd05320aac7e7184f19484210c18a9a8ac2 Author: Jonas 'Sortie' Termansen Date: Fri Jan 20 23:21:48 2012 +0100 ValidateHeap is now only called when PARANOIA is at least 2. This speeds up memory allocations from O(N) to O(1) by default. libmaxsi/heap.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 83aeec25147861bef2645037fdfcc93dfe3c3975 Author: Jonas 'Sortie' Termansen Date: Wed Jan 18 17:10:20 2012 +0100 Multiple threads can now wait on the same pipe. sortix/Makefile | 1 + sortix/event.cpp | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/event.h | 49 ++++++++++++++++++++++++++++++++++++++++ sortix/pipe.cpp | 31 ++++++------------------- sortix/thread.cpp | 4 ++++ sortix/thread.h | 7 ++++++ 6 files changed, 135 insertions(+), 24 deletions(-) commit f676cf75f46404febbc300afb460bb99af9bccf7 Author: Jonas 'Sortie' Termansen Date: Wed Jan 18 15:40:07 2012 +0100 Added ENOTSUP. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 17d1b67a77c9e3c4fe23e945952063b80d67b32a Author: Jonas 'Sortie' Termansen Date: Wed Jan 18 12:40:07 2012 +0100 Fixed bug in fopen(3) where it didn't open correctly. libmaxsi/c/fdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ba2cb5103a73998c90a79a70d69ba09ec4a4bdbd Author: Jonas 'Sortie' Termansen Date: Wed Jan 18 01:10:53 2012 +0100 Made Device::IsType 'const', because it is. sortix/device.h | 2 +- sortix/directory.h | 2 +- sortix/filesystem.h | 2 +- sortix/fs/devfs.cpp | 4 ++-- sortix/stream.h | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) commit 35fc0f6dfef5bab9494a0400a14876323a17a560 Author: Jonas 'Sortie' Termansen Date: Sun Jan 15 18:59:41 2012 +0100 Removed the old unused interrupt 177. sortix/descriptor_tables.h | 1 - sortix/time.cpp | 11 ----------- sortix/x86/interrupt.asm | 1 - 3 files changed, 13 deletions(-) commit 93fb66ff90b3af73d570dcf5e751282bdc9ac110 Author: Jonas 'Sortie' Termansen Date: Sun Jan 15 18:32:18 2012 +0100 Refactored Interrupt handlers to provide a user pointer. sortix/interrupt.cpp | 19 +++++++++++++------ sortix/interrupt.h | 4 ++-- sortix/keyboard.cpp | 4 ++-- sortix/keyboard.h | 2 +- sortix/time.cpp | 8 ++++---- sortix/time.h | 2 +- 6 files changed, 23 insertions(+), 16 deletions(-) commit ff9221de1a8ca2f5d9ed975e9889daf456ddefb1 Author: Jonas 'Sortie' Termansen Date: Sun Jan 15 00:47:14 2012 +0100 Updated ls(1) to use the DIR API. utils/ls.cpp | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) commit d2c4b1d6ac646da0efcf1bec51a08a80cb6e75a2 Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 20:53:38 2012 +0100 Added readdir(3), closedir(3), rewinddir(3), dirfd(3), fdopendir(3), opendir(3). Also added non-standard dregister(3), dunregister(3), dclearerr(3), derror(3), deof(3), dnewdir(3), dcloseall(3). libmaxsi/Makefile | 3 + libmaxsi/c/decl/DIR.h | 23 +++++++ libmaxsi/c/dir.c | 150 ++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/c/fddir-sortix.c | 139 ++++++++++++++++++++++++++++++++++++++++++ libmaxsi/c/hsrc/dirent.h | 58 ++++++++++++++++++ libmaxsi/process.cpp | 2 + 6 files changed, 375 insertions(+) commit c8c34d3cddd009941f91c961856912fc947e6174 Author: Jonas 'Sortie' Termansen Date: Sun Jan 15 00:42:49 2012 +0100 readdirents(2) now properly reports ERANGE. sortix/directory.cpp | 1 + sortix/fs/devfs.cpp | 2 +- sortix/fs/initfs.cpp | 2 +- sortix/fs/ramfs.cpp | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) commit f476a824988919ec0ae6c297066e36288b29a6bf Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 23:19:07 2012 +0100 Fixed idention error in ramfs. sortix/fs/ramfs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c94f6b64c349d4baea94f9d8951b54fa51c6db44 Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 23:05:54 2012 +0100 readdirents(2) now returns ERANGE if insufficient storage space was provided, but that the needed size could be copied to d_namelen. sortix/directory.cpp | 2 +- sortix/fs/devfs.cpp | 2 +- sortix/fs/initfs.cpp | 2 +- sortix/fs/ramfs.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 8ef439b32801d5d0cac72f47a280b398d1df8780 Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 22:56:53 2012 +0100 Fixed NULL-pointer in SysReadDirEnts. sortix/directory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8d1899358435584f34eb28f2171f4201e1473842 Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 17:19:53 2012 +0100 Added stpcpy(3). libmaxsi/c/hsrc/string.h | 2 +- libmaxsi/string.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) commit a06902baf6ba5fff86bd4d398d7fa77c5a357104 Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 16:44:24 2012 +0100 Added strcoll(3). libmaxsi/c/hsrc/string.h | 2 +- libmaxsi/string.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) commit 56084556bb8746159fb6b72a6aa3dc05704654bc Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 16:36:57 2012 +0100 Added stubs for truncate(2) and ftruncate(3). libmaxsi/c/hsrc/unistd.h | 4 ++-- libmaxsi/io.cpp | 12 ++++++++++++ sortix/filesystem.cpp | 16 ++++++++++++++++ sortix/syscallnum.h | 4 +++- 4 files changed, 33 insertions(+), 3 deletions(-) commit 0519af33eede83d5f02fcc61ac764bc53455b71c Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 16:25:04 2012 +0100 Added stubs for rmdir(2) and mkdir(2). libmaxsi/c/hsrc/sys/stat.h | 3 +++ libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/io.cpp | 12 ++++++++++++ sortix/filesystem.cpp | 16 ++++++++++++++++ sortix/syscallnum.h | 4 +++- 5 files changed, 35 insertions(+), 2 deletions(-) commit c5ddc6923ab6e009b497ddf11b8c70bdbf88392c Author: Jonas 'Sortie' Termansen Date: Sat Jan 14 16:09:06 2012 +0100 Added ENOSYS. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + 2 files changed, 2 insertions(+) commit 1824dd6867271400b4b78cd53650daade5f55ec2 Author: Jonas 'Sortie' Termansen Date: Mon Jan 9 01:38:20 2012 +0100 Added memchr(3). libmaxsi/c/hsrc/string.h | 2 +- libmaxsi/memory.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) commit 10a37e1f98118ae084ebe47581148630e7b85691 Author: Jonas 'Sortie' Termansen Date: Mon Jan 9 00:31:18 2012 +0100 Added {,v}s{,n}printf(3). libmaxsi/c/hsrc/stdio.h | 8 +++---- libmaxsi/io.cpp | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 4 deletions(-) commit 91015a2ea7b4015bf209d5a80860b5e5e3a8672c Author: Jonas 'Sortie' Termansen Date: Mon Jan 9 00:30:50 2012 +0100 Made the size_t declaration compatible with GCC. libmaxsi/decl/size_t.h | 3 +++ 1 file changed, 3 insertions(+) commit 66c411b43a18006747966bfc5ea069ff5d7e218b Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 23:24:47 2012 +0100 sys/types.h now declares pid_t. libmaxsi/c/hsrc/sys/types.h | 1 + 1 file changed, 1 insertion(+) commit df728efb8c6084f26b1b1ad0e2141e27b8a476cc Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 22:26:08 2012 +0100 Added strchr(3), strchrnul(3), strrchr(3). libmaxsi/c/hsrc/string.h | 8 ++++++-- libmaxsi/hsrc/string.h | 3 +++ libmaxsi/string.cpp | 28 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) commit 4806f25e503f45e1abdc61da66464238e6487122 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 21:58:57 2012 +0100 Added strtok(3), strtok_r(3), strspn(3), strcspn(3). libmaxsi/c/hsrc/string.h | 8 +++---- libmaxsi/hsrc/string.h | 7 +++++- libmaxsi/string.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 5 deletions(-) commit 9064185bd8e29fef8110b89be7795ee977470ba0 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 20:17:03 2012 +0100 Added memcmp(3). libmaxsi/c/hsrc/string.h | 2 +- libmaxsi/hsrc/memory.h | 13 +++++++------ libmaxsi/memory.cpp | 11 +++++++++++ 3 files changed, 19 insertions(+), 7 deletions(-) commit 46e717e30fb12b33195dbd709fe7444b3b425204 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 15:52:46 2012 +0100 Revert ".so's are no longer installed into sysroot as there are no kernel support." This reverts commit e6db1874e7ed16a6987d5a86d7f6c10cd8b0ffff. These dummy .so's are actually OK. libmaxsi/Makefile | 1 + 1 file changed, 1 insertion(+) commit 7cd5363af83e60701ef9285a36f954b251a129b1 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 15:49:09 2012 +0100 Disabled shared libaries in libmaxsi by default. libmaxsi/Makefile | 4 ++++ 1 file changed, 4 insertions(+) commit 145da20c04d3867f4ec8a54d5b4740019cb26a8d Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 15:44:49 2012 +0100 Added a libg (symlink to libc) and symlinks are now copied to sysroot. libmaxsi/Makefile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit d3c16470e3a039362dacf403e3e94c6658daadac Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 15:39:16 2012 +0100 .so's are no longer installed into sysroot as there are no kernel support. libmaxsi/Makefile | 1 - 1 file changed, 1 deletion(-) commit 954fd11703bb85e63350d4ecfe344b0e78caedff Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 15:35:11 2012 +0100 Added isalnum(3), isalpha(3), isblank(3), iscntrl(3), isdigit(3), isgraph(3), islower(3), isprint(3), ispunct(3), isspace(3), isupper(3), isxdigit(3), tolower(3), and toupper(3). libmaxsi/Makefile | 2 + libmaxsi/c/ctype.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/c/hsrc/ctype.h | 53 +++++++++++++++++++++++++ 3 files changed, 158 insertions(+) commit ad200ffa91aede876cbf1fb9e02055e87c530349 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 14:58:33 2012 +0100 Added getpagesize(2) with the new return type size_t. This function is non-standard and size_t is better than int here. libmaxsi/c/hsrc/unistd.h | 1 + libmaxsi/memory.cpp | 6 ++++++ sortix/process.cpp | 7 +++++++ sortix/syscallnum.h | 3 ++- 4 files changed, 16 insertions(+), 1 deletion(-) commit 809bedd32b51a08a24ae2cfbcc3e7b4f012d0f3f Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 01:58:58 2012 +0100 Just ignore the restrict keyword fully. libmaxsi/c/hsrc/features.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8eebe18922dfce42dc3200201871b16e405330a0 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 01:57:21 2012 +0100 Added an implementation of puts(3) because gcc needs it. I still didn't add it to stdio.h since it's still stupid. libmaxsi/c/stdio.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit 25d8551b265444d6cf5bc9d3483e2955470081eb Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 00:14:42 2012 +0100 Moved _start into crtbegin.o as that's where the cross compiler wants it. libmaxsi/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d3ad36b1816bca271db13b8610238e026a35ea6b Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 14:21:12 2012 +0100 Made detected ATA devices available as /dev/ataN block devices. sortix/ata.cpp | 4 +- sortix/fs/devfs.cpp | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++- sortix/fs/devfs.h | 5 ++ 3 files changed, 149 insertions(+), 3 deletions(-) commit a3a2226bb511d6a6a654a21900aff965e2aff7e1 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 14:20:15 2012 +0100 Implemented a simple ATA PIO Mode driver that can read and write. Read operations are enabled by default, but you must set DISKWRITE=1 in makeflags before write operations are permitted. This protects against accidentally corrupting the existing filesystems on the system. sortix/Makefile | 6 + sortix/ata.cpp | 359 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/ata.h | 88 +++++++++++++ sortix/kernel.cpp | 12 +- sortix/pci.cpp | 5 + 5 files changed, 464 insertions(+), 6 deletions(-) commit 4e0f57f4d7b312f6fe7a491f60e1d41637ae07d5 Author: Jonas 'Sortie' Termansen Date: Sun Jan 8 14:15:27 2012 +0100 DevFileWrapper now understands and respects O_TRUNC. sortix/filesystem.cpp | 1 + 1 file changed, 1 insertion(+) commit 75282bdab7190cbfed9891ad570746757ad78fe7 Author: Jonas 'Sortie' Termansen Date: Tue Jan 3 21:54:25 2012 +0100 Added -fno-rrti to the C++ compile flags in the cross-compiler. crosscompilemakefile.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9a779018837fd3be6727a3d597776e004348abd3 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 01:22:36 2011 +0100 Added missing prototypes to stdio.h. libmaxsi/c/hsrc/stdio.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 73a7e8f53d07da982ca1e90c25b2cdbf502a4c10 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 01:13:17 2011 +0100 Forgot to actually add remove(3) in the previous commit. libmaxsi/c/fdio.c | 11 +++++++++++ 1 file changed, 11 insertions(+) commit deee5e43352f990a3dee4fa56143a0251075a8f7 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 01:11:09 2011 +0100 Added a partial implementation of remove(3), since rmdir(2) is missing. libmaxsi/c/hsrc/stdio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5d16b5c61eeaea5cd1a516359c69263ae6422500 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 01:06:03 2011 +0100 Added getchar(3) and putchar(3). libmaxsi/c/hsrc/stdio.h | 4 ++-- libmaxsi/c/stdio.c | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) commit 66999ff94a53c3783d34ff52d53c41a08c6720a1 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 01:03:00 2011 +0100 Added putc(3) and getc(3). libmaxsi/c/file.c | 9 +++++++++ libmaxsi/c/hsrc/stdio.h | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) commit d39d4222b58c20084720316264d02be5b9f45560 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 00:55:35 2011 +0100 Added fputc(3) and fgetc(3). libmaxsi/c/file.c | 13 +++++++++++++ libmaxsi/c/hsrc/stdio.h | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) commit 76800553da3a1a577dbfeb7f5298ae56c2694a55 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 00:42:12 2011 +0100 Clarified comment about typedef struct _FILE FILE. libmaxsi/c/decl/FILE.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 064b69d2b63f572b7023a254376e66f1a01e0e62 Author: Jonas 'Sortie' Termansen Date: Fri Dec 30 00:36:15 2011 +0100 Added fseeko(3) and ftello(3). libmaxsi/c/decl/FILE.h | 2 +- libmaxsi/c/fdio.c | 6 +++--- libmaxsi/c/file.c | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) commit 912b2f78f065532f9c49905623d0a4c1b91adb28 Author: Jonas 'Sortie' Termansen Date: Mon Dec 26 23:15:28 2011 +0100 Implemented the fdio backend of fseek(3) and ftell(3). libmaxsi/c/fdio.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) commit 648b3243859cafa6588ab95785ae25ac80790299 Author: Jonas 'Sortie' Termansen Date: Mon Dec 26 23:11:48 2011 +0100 Added lseek(2). libmaxsi/c/decl/SEEK_END.h | 4 ++-- libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/io.cpp | 7 +++++++ sortix/io.cpp | 34 ++++++++++++++++++++++++++++++++++ sortix/syscallnum.h | 3 ++- 5 files changed, 46 insertions(+), 4 deletions(-) commit d6d404f3f0ef87e0a3b5625bd92593ff4770c92a Author: Jonas 'Sortie' Termansen Date: Mon Dec 26 17:14:50 2011 +0100 Added a simple pager program while we wait for less(1) to be ported. utils/Makefile | 1 + utils/pager.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) commit 36b01eb2d3fda8c869e0b34acbbc0d5eab3e597a Author: Jonas 'Sortie' Termansen Date: Sun Dec 25 03:32:48 2011 +0100 Fixed the horrible 'nofoo' bug! When compiled with gcc 4.6.1, 32-bit Sortix would triple fault during early boot: When the TLB is being flushed, somehow a garbage value had sneaked into Sortix::Memory::currentdir, and a non-page aligned (and garbage) page directory is loaded. (Triple fault, here we come!) However, adding a volatile addr_t foo after the currentdir variable actually caused the system to boot correctly - the garbage was written into that variable instead. To debug the problem, I set the foo value to 0: as long as !foo (hence the name nofoo) everything was alright. After closer examination I found that the initrd open code wrote to a pointer supplied by kernel.cpp. The element pointed to was on the stack. Worse, its address was the same as currentdir (now foo). Indeed, the stack had gone into the kernel's data segment! Turns out that this gcc configuration stores variables in the data segment in the reverse order they are defined in, whereas previous compilers did the opposite. The hack used to set up the stack during early boot relied on this (now obviously incorrect) fact. In effect, the stack was initialized to the end of the stack, not the start of it: completely ignoring all the nice stack space allocated in kernel.cpp. I did not see that one coming. sortix/kernel.cpp | 2 +- sortix/x64/base.s | 3 ++- sortix/x86-family/memorymanagement.cpp | 6 ++++++ sortix/x86/base.s | 5 +++-- 4 files changed, 12 insertions(+), 4 deletions(-) commit 7bc1fa259eb67bf488186a4a1a948d678a289258 Author: Jonas 'Sortie' Termansen Date: Sun Dec 25 00:10:32 2011 +0100 Made Sortix compatible with gcc 4.6.1. This commit fixes some instances of uninitialized memory. In addition, the bootstrap tables for x64 are moved around a bit, in this awful game of placing stuff where it won't collide with grub. sortix/scheduler.cpp | 5 ++++- sortix/syscall.cpp | 11 ++++++----- sortix/x64/boot.s | 12 ++++++------ sortix/x64/memorymanagement.cpp | 22 +++++++++++----------- 4 files changed, 27 insertions(+), 23 deletions(-) commit 2b3b4ed62a99e4adbe7f84fe153674ecc8e4ab3e Author: Jonas 'Sortie' Termansen Date: Sat Dec 24 04:36:18 2011 +0100 error(3) and perror(3) now writes to stderr. libmaxsi/io.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit fdbd4ca90df978af67fc2b80d55b4e564fa28972 Author: Jonas 'Sortie' Termansen Date: Sat Dec 24 04:07:46 2011 +0100 Implemented large parts of the stdio(3), including fprintf. Made FILE an interface to various backends. This allows application writers to override the standard FILE API functions with their own backends. This is highly unportable - it'd be nice if a real standard existed for this. glibc already does something like this internally, but AFAIK you can't hook into it. Added fdopen(3), fopen(3), fregister(3), funregister(3), fread(3), fwrite(3), fseek(3), clearerr(3), ferror(3), feof(3), rewind(3), ftell(3), fflush(3), fclose(3), fileno(3), fnewline(3), fcloseall(3), memset(3), stdio(3), vfprintf(3), fprintf(3), and vprintf(3). Added a file-descriptor backend to the FILE API. fd's {0, 1, 2} are now initialized as stdin, stdout, and stderr when the standard library initializes. fcloseall(3) is now called on exit(3). decl/intn_t_.h now @include(size_t.h) instead of declaring it itself. Added . The following programs now flush stdout: cat(1), clear(1), editor(1), init(1), mxsh(1). printf(3) is now hooked up against vprintf(3), while Maxsi::PrintF remains using the system call, for now. libmaxsi/Makefile | 7 +- libmaxsi/c/decl/FILE.h | 31 ++++- libmaxsi/c/fdio.c | 197 ++++++++++++++++++++++++++++ libmaxsi/c/fdio.h | 38 ++++++ libmaxsi/c/file.c | 324 +++++++++++++++-------------------------------- libmaxsi/c/hsrc/stdint.h | 39 ++++++ libmaxsi/c/hsrc/stdio.h | 46 ++++--- libmaxsi/c/hsrc/string.h | 2 +- libmaxsi/c/stdio.c | 39 ++++++ libmaxsi/decl/intn_t.h | 4 +- libmaxsi/init.cpp | 4 + libmaxsi/io.cpp | 32 ++++- libmaxsi/process.cpp | 2 + utils/cat.cpp | 11 +- utils/clear.cpp | 1 + utils/editor.cpp | 15 ++- utils/init.cpp | 1 + utils/mxsh.cpp | 6 +- 18 files changed, 539 insertions(+), 260 deletions(-) commit 4841d83ff877abe2a253068bf2c7ad5913ba28c9 Author: Jonas 'Sortie' Termansen Date: Sat Dec 24 04:05:14 2011 +0100 Added calloc(3). libmaxsi/c/hsrc/stdlib.h | 2 +- libmaxsi/heap.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) commit b5fe020b7a5a590d8c446d6d34d8090c0fc8c14a Author: Jonas 'Sortie' Termansen Date: Fri Dec 23 19:53:23 2011 +0100 Fixed bad variable name in uptime(1), it's usecs not msecs. utils/uptime.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit ee125f01e2df38f24f132b3b53e31930ce8c1599 Author: Jonas 'Sortie' Termansen Date: Fri Dec 23 16:54:10 2011 +0100 Made the memstat program a little more 64-bit friendly. I think. utils/memstat.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) commit ffe3cc49f22e8c93096cd83f641d32274791c8f9 Author: Jonas 'Sortie' Termansen Date: Fri Dec 23 16:44:43 2011 +0100 Now counting memory usage in a more solid manner. sortix/x86-family/memorymanagement.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) commit ba9b715c591e25f04497b285a193c98e2fb86cd7 Author: Jonas 'Sortie' Termansen Date: Fri Dec 23 13:08:45 2011 +0100 Added a global variable at the end of the kernel to detect its size. This lets the kernel use any memory not directly used by it or the init ramdisk. Although, now we test whether the kernel fits into the identitymapped area. It can't really grow down there, unless it wants to collide with user-space. Instead, modules and the like (when they are invented), should be put in the upper memory. Or in their own user-space process, yay, microkernel! sortix/Makefile | 1 + sortix/end.cpp | 33 +++++++++++++++++++++++++++++++++ sortix/x86-family/memorymanagement.cpp | 16 +++++++++++++--- 3 files changed, 47 insertions(+), 3 deletions(-) commit 05151113141bc9d44617d2724bdda106657995cd Author: Jonas 'Sortie' Termansen Date: Thu Dec 22 14:12:54 2011 +0100 The initial ramdisk is now mapped onto a special location. This fixes issues where it did not fit into the first few MiB, or that GRUB loaded it someplace weird. The kernel heap is now also protected against growing into the ramdisk and the kernel stack. libmaxsi/heap.cpp | 4 +-- sortix/initrd.cpp | 19 ++++++++++-- sortix/initrd.h | 2 +- sortix/kernel.cpp | 10 ++++--- sortix/memorymanagement.h | 15 +++++----- sortix/scheduler.cpp | 13 ++++++-- sortix/x64/memorymanagement.cpp | 42 ++++++++++++++++++++++++++ sortix/x64/scheduler.cpp | 14 --------- sortix/x86-family/memorymanagement.cpp | 55 +++++++++++++++++++++++++++------- sortix/x86/memorymanagement.cpp | 42 ++++++++++++++++++++++++++ sortix/x86/scheduler.cpp | 17 ----------- 11 files changed, 173 insertions(+), 60 deletions(-) commit a623b1b07e68388c6d4b2fb5eb9101c39a3ec905 Author: Jonas 'Sortie' Termansen Date: Thu Dec 22 12:59:24 2011 +0100 Fixed registering memstat(2) multiple times. sortix/x86-family/memorymanagement.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c8c08e7b9035eceab2d53ddc36c88e9f49268079 Author: Jonas 'Sortie' Termansen Date: Thu Dec 22 12:56:05 2011 +0100 Moved the make-color-red code into DoWelcome in kernel.cpp. sortix/kernel.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 567786d26b5800263285510e204c08b7be1fd9ce Author: Steve Dougherty Date: Fri Dec 16 00:00:18 2011 -0500 Added calc, an integer-based reverse polish notation calculator. utils/Makefile | 1 + utils/calc.cpp | 398 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 399 insertions(+) commit 203f2a2bb109f0ae5ea19609e16c158380062f80 Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 22:24:05 2011 +0100 Better default octal detection in strtol(3). libmaxsi/integer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 73bcafc004af763f9c269e62d175614694769e82 Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 21:44:08 2011 +0100 strtol(3) now returns 0 if the string was + or -. libmaxsi/integer.cpp | 4 ++++ 1 file changed, 4 insertions(+) commit f1a49dbad37b8da47b2379c0b2bf08b259e6c3cd Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 21:15:02 2011 +0100 Hex numbers now work properly in strtol(3). libmaxsi/integer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ae6696ed7a079545153e39f02b0351d6a9c35207 Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 18:46:32 2011 +0100 Added -fno-exceptions to the cross compiler flags. crosscompilemakefile.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit da2bfac34fb1a978e6d187fbd6ff1779a2c4bbd3 Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 18:27:58 2011 +0100 Fixed bug in strtol*. libmaxsi/integer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit bf6a4c1861eadd083d761ee2e3f4c376007bbedc Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 16:49:03 2011 +0100 Added strto{u,}{l,}l(3). libmaxsi/Makefile | 1 + libmaxsi/c/hsrc/stdlib.h | 8 ++-- libmaxsi/integer.cpp | 106 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 4 deletions(-) commit 0f5864602fb096459b6be52c458ff51b9bb537e8 Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 15:35:21 2011 +0100 Fixed bad filename written in elf.cpp. sortix/elf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7cd28f097cabbca43c590f1b48b4563abcb616cc Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 15:32:48 2011 +0100 Program loader now sets the correct program segment type. sortix/elf.cpp | 23 +++++++++++++++++++++-- sortix/elf.h | 4 ++++ sortix/process.h | 9 +++++---- 3 files changed, 30 insertions(+), 6 deletions(-) commit acf1eebc9861784777a84b52fc0f2070f4dbe730 Author: Jonas 'Sortie' Termansen Date: Fri Dec 16 13:24:25 2011 +0100 Added user-space memory allocation. libmaxsi/c/hsrc/unistd.h | 1 + libmaxsi/heap.cpp | 61 +++++++++++++++++++++++++--------- libmaxsi/hsrc/memory.h | 6 +--- libmaxsi/init.cpp | 4 +++ libmaxsi/memory.cpp | 6 ++++ sortix/elf.cpp | 2 ++ sortix/process.cpp | 42 +++++++++++++++++++++++ sortix/process.h | 5 +++ sortix/syscallnum.h | 3 +- sortix/x86-family/memorymanagement.cpp | 6 ++-- 10 files changed, 113 insertions(+), 23 deletions(-) commit fecaf6b43f00c4e2401801e2c64eacd300424d7a Author: Jonas 'Sortie' Termansen Date: Fri Dec 9 12:40:42 2011 +0100 System calls in libmaxsi now use the constants from syscallnum.h. libmaxsi/error.cpp | 2 +- libmaxsi/hsrc/syscall.h | 2 ++ libmaxsi/io.cpp | 24 ++++++++++++------------ libmaxsi/memory.cpp | 2 +- libmaxsi/process.cpp | 12 ++++++------ libmaxsi/signal.cpp | 6 +++--- libmaxsi/sortix-keyboard.cpp | 2 +- libmaxsi/sortix-sound.cpp | 2 +- libmaxsi/thread.cpp | 6 +++--- libmaxsi/time.cpp | 2 +- 10 files changed, 31 insertions(+), 29 deletions(-) commit 8be3624ca3979876389aa638a8c6b5319d256052 Author: Jonas 'Sortie' Termansen Date: Tue Dec 6 14:17:51 2011 +0100 Added auto-completion to snake for debugging purposes. games/snake.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit fefeb92e89cefefa3a9da39a81ff262558a9ed30 Author: Jonas 'Sortie' Termansen Date: Tue Dec 6 01:27:59 2011 +0100 Begun development of Sortix 0.6. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9b3efeed5a97e1d54b14fdbbfe8ab83fa0c606c7 Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 23:22:03 2011 +0100 Updated version number to 0.5. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit aae0ed309267fcd808ce2f0bd241bd3bbbb9f8d7 Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 22:13:27 2011 +0100 The cursor is disabled when displaying the VGA under JSVM. sortix/serialterminal.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) commit 2c728fc1f1aaa000577928a946b916a3ff34ef53 Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 21:43:50 2011 +0100 VGA now sort-of works under serial-connections. sortix/serialterminal.cpp | 47 ++++++----------------------------------------- sortix/serialterminal.h | 3 +-- sortix/uart.cpp | 8 -------- sortix/vga.cpp | 11 +++++++++++ 4 files changed, 18 insertions(+), 51 deletions(-) commit 9e5b9e3767bdc189ced461aec906cec279ce22d6 Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 21:13:58 2011 +0100 Hacks to make the JSVM serial driver work better. sortix/serialterminal.cpp | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) commit cdb873271d8d101494d53c42c1f42a1e967339a1 Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 19:43:03 2011 +0100 Increased hard-coded maximum JSVM initrd size to 2 MiB 512 KiB. sortix/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7e55f325fc0bf421c47757f95ae7f77a09c1592e Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 19:35:51 2011 +0100 Don't check the initrd on JSVM. sortix/initrd.cpp | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) commit 0bb91ee161356a957ddf244b1d9f051d59ffe66c Author: Jonas 'Sortie' Termansen Date: Mon Dec 5 13:12:43 2011 +0100 printf(3) now supports signed integers and ptrdiff_t. libmaxsi/c++.cpp | 64 ++++++++++++++++++ libmaxsi/format.cpp | 183 ++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 193 insertions(+), 54 deletions(-) commit a9609502ed97084bc3ad41d81ded13527940653d Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 21:32:59 2011 +0100 Removed references to mksound from mxmpp. mxmpp/mxmpp.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 889646d033db36a87fd68746369fc109dfb5c073 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 21:31:29 2011 +0100 Removed excess space. mkinitrd/mkinitrd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 854d9b171a2a6e99169c6565b1d577447578ea6f Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 21:26:57 2011 +0100 uptime(2) now reports usecs instead of msecs. bench/benchctxswitch.cpp | 2 +- bench/benchsyscall.cpp | 2 +- libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/time.cpp | 4 ++-- sortix/time.cpp | 6 +++--- utils/uptime.cpp | 16 ++++++++-------- 6 files changed, 16 insertions(+), 16 deletions(-) commit 597e700618f7e1d07dbacfb50b0b6ce871f72b22 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 21:07:08 2011 +0100 Removed outdated comment about sleep(2) and signals. libmaxsi/thread.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5bc05c4e0e049ebd3ea9d8033c4bb136827fc1b5 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 20:59:18 2011 +0100 Moved around comments in heap.cpp. libmaxsi/heap.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit fcc6147c5ca803064cd7232cab866bd5891d98bc Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 20:56:05 2011 +0100 Prevent the kernel from calling system calls. libmaxsi/hsrc/syscall.h | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) commit 60d23eac19cb998cdd724c3040bbc79f4689d854 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 20:53:19 2011 +0100 printf now understands %l and %j. libmaxsi/format.cpp | 4 ++++ 1 file changed, 4 insertions(+) commit 84b93044c8eea39761ba073dd8729de0790c8af6 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 20:13:05 2011 +0100 Sortix now defaults to build the same arch as the host machine. Makefile | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) commit de70b1804d19c1de85c6986c4d10d1e44ebe9529 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 19:02:11 2011 +0100 Rewrote the x86 64-bit division stubs, which now actually work. libmaxsi/c++.cpp | 93 ++++++++++++++++++++++---------------------------------- 1 file changed, 37 insertions(+), 56 deletions(-) commit a2dd8be7aad1d5c97cd5ca3dc5969a901de2ee76 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 18:23:42 2011 +0100 Fixed using wrong system call in libmaxsi/x64/signal.s libmaxsi/x64/signal.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 61f02431eedee2cd09a0800fa0ad06c746424d42 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 15:49:05 2011 +0100 Removed ConvertUInt{8,16} - ConvertUInt32 handles their input instead. libmaxsi/format.cpp | 34 ---------------------------------- libmaxsi/hsrc/string.h | 2 -- 2 files changed, 36 deletions(-) commit 3b8bf9419d7d5d8d8b921b4644e9737884544523 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 15:37:38 2011 +0100 Removed obsolete functions to read from the initrd. Use the initrd filesystem instead. libmaxsi/hsrc/process.h | 9 --------- libmaxsi/process.cpp | 18 ------------------ sortix/initrd.cpp | 44 -------------------------------------------- 3 files changed, 71 deletions(-) commit 635a49644a1a011f665d393d136b7d3e812b028c Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 15:24:31 2011 +0100 Made usleep(2) a sortix extension. libmaxsi/c/hsrc/unistd.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 7623ff809242676ccd9dea7cb73026e7c679f290 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 15:11:15 2011 +0100 unistd.h now uses the __useconds_t from sortix/bits.h. libmaxsi/c/hsrc/unistd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0f0696dc749ab4a59dab592efdff59c31df5ce12 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 15:06:06 2011 +0100 make clean also cleans bench/ now. Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit d9205a59df6eebe56042783a11129c7b21727ac8 Author: Jonas 'Sortie' Termansen Date: Sun Dec 4 15:03:42 2011 +0100 The games now use the error(3) function. games/conway.cpp | 3 ++- games/pong.cpp | 3 ++- games/snake.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) commit fda16f93ac55a2c0cc75a09259fdcae57dec893d Author: Jonas 'Sortie' Termansen Date: Fri Dec 2 22:56:26 2011 +0100 Added a everything-all-archs target that builds both x86 and x64. Makefile | 6 ++++++ 1 file changed, 6 insertions(+) commit ac81da76091220c5b77a3d9db9a3df3abbee27c5 Author: Jonas 'Sortie' Termansen Date: Fri Dec 2 22:48:06 2011 +0100 Only build benchmarks when given BENCH=1 to make. Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 63cde0700420d382ad848e4c77c1d6bbc8f6a064 Author: Jonas 'Sortie' Termansen Date: Fri Dec 2 22:38:54 2011 +0100 Added a benchmark for counting context-switches per second. bench/Makefile | 1 + bench/benchctxswitch.cpp | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) commit b0859c6d921212cf62797ac30033d3ed6f99eb5d Author: Jonas 'Sortie' Termansen Date: Fri Dec 2 22:36:53 2011 +0100 usleep'ing for 0 usecs simply causes a context-switch. libmaxsi/c/hsrc/unistd.h | 5 +++-- sortix/scheduler.cpp | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) commit 5862441351f4b90c825cb6b50b0ba12aec4f476d Author: Jonas 'Sortie' Termansen Date: Fri Dec 2 12:27:34 2011 +0100 Added a system calls per second benchmark. Makefile | 2 +- bench/.gitignore | 1 + bench/Makefile | 26 ++++++++++++++++++++++++++ bench/benchsyscall.cpp | 14 ++++++++++++++ 4 files changed, 42 insertions(+), 1 deletion(-) commit f8129a17b2e482bb570b822c19f1180d8c8fc786 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 23:04:44 2011 +0100 Changed the build system for 64-bit quite a bit. The kernel is now compiled 100% as 64-bit code and converted to ELF32. sortix/Makefile | 12 +++--------- sortix/kernel.cpp | 4 ++-- sortix/x64/base.s | 6 +----- sortix/x64/boot.s | 12 ++++++------ 4 files changed, 12 insertions(+), 22 deletions(-) commit 8e8bb15a1b1fab7f2f7caaacee8fbccc6b46355f Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 23:02:36 2011 +0100 Improved corruption panic message in initrd.cpp sortix/initrd.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit b0884584a1d4751463758e55abca28791d2fb2ef Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 21:43:47 2011 +0100 Added a very simple checksum field to the init ramdisk. This uncovers a bug where the bootloader may corrupt the initrd on x64. This is probably related to our kernel64 hack.. mkinitrd/mkinitrd.cpp | 25 +++++++++++++++++++++++++ sortix/initrd.cpp | 19 +++++++++++++++++++ sortix/initrd.h | 5 +++++ 3 files changed, 49 insertions(+) commit 2faafd3f99dbfcd688d59fc1d22acb76f83024d0 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 21:43:11 2011 +0100 Stack is now aligned in 64-bit Sortix threads. sortix/x64/process.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7304c8f5286af5dae3d81a3a927e42a8bfdb1b37 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 17:26:36 2011 +0100 Fixed uninitialized memory bug in the keyboard driver. This often prevented the letter 'c' from working in x64. sortix/keyboard.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit f5b46a89eddc5b0c68515cc18b9cc8211ff8e085 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 15:29:53 2011 +0100 uname(1) now reports whether the system is 32-bit or 64-bit. utils/uname.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ae1c1574457fd11862627596a6a6bef2e9d156f0 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 14:54:23 2011 +0100 Temporary hack to make x64 system calls use the right registers. libmaxsi/hsrc/syscall.h | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) commit 6562da4092bd68a397e748945431d3c5567c6b78 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 14:53:55 2011 +0100 waitpid(2) now returns ECHILD on error. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 10 ++++++++-- sortix/process.cpp | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) commit cf53e4a0207c31c644017d4ff822fea268bdce91 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 14:29:25 2011 +0100 Fixed 64-bit resumed system calls. sortix/x64/syscall.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c0c20860ed6709a90ba5d102ffc42b376ab7d607 Author: Jonas 'Sortie' Termansen Date: Thu Dec 1 10:45:20 2011 +0100 Lots of improvements to 64-bit Sortix. Fixed 64-bit-ness bug in BSR() and BSF(). Added 64-bit system call stubs in libmaxsi. Added a Elf64 program loader. Fixed uninitialized memory bug in the scheduler. x64/boot.s now takes care of user-space memory permissions. Fixed bug in x64/syscall.s That's right. The system now boots in 64-bit mode. It is horribly unstable, though. libmaxsi/error.cpp | 2 +- libmaxsi/heap.cpp | 28 ++++++++++++++++-- libmaxsi/hsrc/syscall.h | 36 +++++++++++++++++++---- sortix/elf.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++++++++- sortix/elf.h | 47 +++++++++++++++++++++++++++++- sortix/kernel.cpp | 11 ++----- sortix/scheduler.cpp | 1 + sortix/x64/boot.s | 8 +++-- sortix/x64/syscall.s | 2 +- 9 files changed, 187 insertions(+), 25 deletions(-) commit f460c4abece838cca5774df2daf186b89e99e923 Author: Jonas 'Sortie' Termansen Date: Wed Nov 30 23:29:50 2011 +0100 Added support for 64-bit interrupts. sortix/descriptor_tables.cpp | 141 +++++++------- sortix/descriptor_tables.h | 28 ++- sortix/interrupt.cpp | 51 ++--- sortix/interrupt.h | 2 + sortix/kernel.cpp | 44 +++-- sortix/x64/boot.s | 1 - sortix/x64/gdt.s | 8 +- sortix/x64/interrupt.asm | 108 ----------- sortix/x64/interrupt.s | 440 +++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 592 insertions(+), 231 deletions(-) commit f0ec4ffacc98c95bd3ac11afa14b60b435e911bf Author: Jonas 'Sortie' Termansen Date: Tue Nov 29 11:44:05 2011 +0100 Forgot to push %rbp in x64/syscall.s sortix/x64/syscall.s | 2 ++ 1 file changed, 2 insertions(+) commit 0b1c2a77c9b59533ec7c583a2e8c30744c8bd2c7 Author: Jonas 'Sortie' Termansen Date: Tue Nov 29 01:21:35 2011 +0100 x64 now compiles again and runs on real hardware. A nasty bug was fixed that caused triple faults on systems with > 1 GiB RAM. libmaxsi/x64/start.s | 7 +- sortix/Makefile | 1 + sortix/kernel.cpp | 4 +- sortix/process.cpp | 6 +- sortix/process.h | 1 + sortix/x64/memorymanagement.cpp | 37 ++++++++ sortix/x64/process.cpp | 38 ++++++++ sortix/x64/scheduler.cpp | 52 +++++++++++ sortix/x64/syscall.s | 157 +++++++++++++++++++++++++++++++++ sortix/x64/thread.cpp | 139 +++++++++++++++++++++++++++++ sortix/x64/x64.cpp | 16 ++++ sortix/x64/x64.h | 19 +++- sortix/x86-family/memorymanagement.cpp | 15 ++-- sortix/x86/memorymanagement.cpp | 3 + sortix/x86/process.cpp | 38 ++++++++ 15 files changed, 517 insertions(+), 16 deletions(-) commit 8c146f14c0c42360e9a03b8f8469a78947a46300 Author: Jonas 'Sortie' Termansen Date: Mon Nov 28 16:28:32 2011 +0100 Added uptime(1). libmaxsi/Makefile | 1 + libmaxsi/c/hsrc/unistd.h | 2 ++ libmaxsi/time.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ sortix/syscallnum.h | 3 ++- sortix/time.cpp | 12 +++++++++++- utils/Makefile | 1 + utils/uptime.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 103 insertions(+), 2 deletions(-) commit f232a054d3ba690ffa5c3b124582cb1754851d5c Author: Jonas 'Sortie' Termansen Date: Mon Nov 28 15:24:36 2011 +0100 Added O=-ON and PANIC_SHORT=1 variables to the makefile. Makefile | 5 +++++ sortix/Makefile | 9 ++++++++- sortix/panic.cpp | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) commit 965f3e3dbf3ea10479039b58808ac139428c9191 Author: Jonas 'Sortie' Termansen Date: Mon Nov 28 11:47:38 2011 +0100 Pong no longer shakes as much the first few frames. games/pong.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 1686b2b903a7cd8298212711cd8fe13d85a82c23 Author: Jonas 'Sortie' Termansen Date: Mon Nov 28 11:34:26 2011 +0100 Removed hello program. Makefile | 2 +- hello/.gitignore | 7 ------- hello/Makefile | 26 -------------------------- hello/hello.cpp | 38 -------------------------------------- 4 files changed, 1 insertion(+), 72 deletions(-) commit 6781308360e73d54768157a136621a9c655e5e13 Author: Jonas 'Sortie' Termansen Date: Sun Nov 27 16:55:20 2011 +0100 Rewrote the memory allocation functions. free(3) can now unify unused neighbor blocks, reducing mem usage. libmaxsi/Makefile | 2 +- libmaxsi/heap.cpp | 595 ++++++++++++++++++++++++++++++++++++++++++++++++++++ libmaxsi/memory.cpp | 415 +----------------------------------- 3 files changed, 598 insertions(+), 414 deletions(-) commit cd936886e6624208f883bd7b5683123792c4a674 Author: Jonas 'Sortie' Termansen Date: Sun Nov 27 12:03:09 2011 +0100 Writing to /dev/vga hides the cursor until a write to /dev/tty. sortix/vga.cpp | 1 + 1 file changed, 1 insertion(+) commit 4f3a7230b022181451c514690627884b0fd5e1ef Author: Jonas 'Sortie' Termansen Date: Sun Nov 27 12:02:10 2011 +0100 Destroying the addressspace after exit prevents leak of at least 16 KiB. libmaxsi/memory.cpp | 2 +- sortix/memorymanagement.h | 1 + sortix/process.cpp | 7 +++++- sortix/x86/memorymanagement.cpp | 52 ++++++++++++++++++++++++++++++++++++++++- 4 files changed, 59 insertions(+), 3 deletions(-) commit 06909c6df98dd1d960ccd75d452aaffb3c3f2e4b Author: Jonas 'Sortie' Termansen Date: Sun Nov 27 00:19:59 2011 +0100 Fixed panic when executing non-existent file. sortix/process.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d96d790de7926a2c9ece5775d8c82fe9902e7e23 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 21:09:44 2011 +0100 Oops, meant 'used' instead of 'free' in memstat. utils/memstat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bd1b1fe3bcfc1d04e7f3fe8ecf9955258d2d3d3d Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 20:56:21 2011 +0100 Added isatty(2), which is used by editor. libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + libmaxsi/io.cpp | 6 ++++++ sortix/device.h | 1 + sortix/fs/ramfs.cpp | 10 +++++++--- sortix/io.cpp | 30 ++++++++++++++++++++---------- sortix/syscallnum.h | 3 ++- utils/editor.cpp | 2 ++ 9 files changed, 41 insertions(+), 15 deletions(-) commit 3f50a335bb207be2877ec5577a8b819f333d8b87 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 20:53:56 2011 +0100 devfs now correctly manages sizes of files. This fixes a regression caused by the RAM fix a few commits ago. sortix/fs/devfs.cpp | 6 ++++++ 1 file changed, 6 insertions(+) commit ce9787a43951d7c07afe2ffa354da603aa14aa82 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 20:25:01 2011 +0100 Greatly reduced RAM usage in ramfs. sortix/fs/ramfs.cpp | 1 + 1 file changed, 1 insertion(+) commit 9152443816d4f183a456a03ea9d5fdc0406233e8 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 20:14:33 2011 +0100 Added memstat, a program for displaying memory usage. libmaxsi/c/hsrc/unistd.h | 2 ++ libmaxsi/memory.cpp | 14 +++++++++ sortix/memorymanagement.h | 1 + sortix/syscallnum.h | 3 +- sortix/x86-family/memorymanagement.cpp | 35 ++++++++++++++++++++- utils/Makefile | 1 + utils/memstat.cpp | 57 ++++++++++++++++++++++++++++++++++ 7 files changed, 111 insertions(+), 2 deletions(-) commit f45def4a68277ba80f90c483b4cf4a29ab5e03f2 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 19:13:44 2011 +0100 cat(1) now writes to fd 1 instead of /dev/tty. utils/cat.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit 4cac495121af60043509644ddbbb87fe441665f0 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 13:26:51 2011 +0100 mxsh now ignores trailing whitespace. utils/mxsh.cpp | 1 + 1 file changed, 1 insertion(+) commit d4231b2027a4e588b1742c70bd04e4a017e32332 Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 11:00:21 2011 +0100 Added program_invocation_name(3), error(3), and perror(3) and used them. libmaxsi/Makefile | 1 + libmaxsi/c/hsrc/errno.h | 2 ++ libmaxsi/c/hsrc/error.h | 36 ++++++++++++++++++++++++++++++++++++ libmaxsi/c/hsrc/stdio.h | 2 +- libmaxsi/init.cpp | 12 +++++++++++- libmaxsi/io.cpp | 22 ++++++++++++++++++++++ utils/cat.cpp | 9 +++++---- utils/cp.cpp | 13 +++++-------- utils/editor.cpp | 11 ++++++----- utils/help.cpp | 4 ++++ utils/init.cpp | 12 +++++------- utils/kill.cpp | 3 ++- utils/ls.cpp | 5 +++-- utils/mxsh.cpp | 11 +++++------ utils/rm.cpp | 3 ++- 15 files changed, 110 insertions(+), 36 deletions(-) commit 867627c08559e420c360df88325efa7ee77e967f Author: Jonas 'Sortie' Termansen Date: Sat Nov 26 00:53:53 2011 +0100 Added echo(1). utils/Makefile | 1 + utils/echo.cpp | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) commit b6a0fd0374dda1adc124d6d8899a8c3b96df12cd Author: Jonas 'Sortie' Termansen Date: Fri Nov 25 13:38:07 2011 +0100 Removed deprecated VGA API and moved it to /dev/vga. games/conway.cpp | 28 ++++--- games/pong.cpp | 45 ++++++----- games/snake.cpp | 37 +++++---- libmaxsi/Makefile | 1 - libmaxsi/hsrc/sortix-vga.h | 41 ---------- libmaxsi/sortix-vga.cpp | 54 ------------- sortix/fs/devfs.cpp | 6 +- sortix/serialterminal.cpp | 4 +- sortix/uart.cpp | 22 ++--- sortix/uart.h | 2 +- sortix/vga.cpp | 197 +++++++++++++-------------------------------- sortix/vga.h | 41 ++++------ 12 files changed, 155 insertions(+), 323 deletions(-) commit c0fa3a6aaed785b489943f85b1e569020a33a50e Author: Jonas 'Sortie' Termansen Date: Thu Nov 24 19:27:00 2011 +0100 Editor no longer moves the cursor if not needed. utils/editor.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 63b622a086b1b6a02542802b6205a8295bdbcf06 Author: Jonas 'Sortie' Termansen Date: Thu Nov 24 17:42:16 2011 +0100 The shell now supports sending stdout to a file. utils/mxsh.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 724305f3a7e8e1e3b3b7f10cf90f43a54f355d66 Merge: 481ddfa7 7aff4761 Author: Jonas 'Sortie' Termansen Date: Thu Nov 24 15:38:21 2011 +0100 Merge commit '7a233f2938f4e28d61504853e2f6daf4904aab33' Conflicts: sortix/fs/ramfs.cpp commit 7aff4761177c09eaa2c4b4fa8f776f950769a2b8 Author: Jonas 'Sortie' Termansen Date: Thu Nov 24 10:40:49 2011 +0100 Fixed bug in the remove function of the sorted list class. libmaxsi/hsrc/sortedlist.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 4890c306c4a4f1b615638d24641b29be2757731b Author: Jonas 'Sortie' Termansen Date: Thu Nov 24 10:26:12 2011 +0100 printf(3) now writes to fd 1. libmaxsi/c/hsrc/features.h | 10 ++++++++-- libmaxsi/c/hsrc/unistd.h | 5 ++++- libmaxsi/io.cpp | 25 ++++++++++++++++++++++--- utils/cat.cpp | 16 +--------------- utils/cp.cpp | 16 +--------------- utils/editor.cpp | 16 +--------------- utils/init.cpp | 5 +++++ 7 files changed, 42 insertions(+), 51 deletions(-) commit e72d086a8f4231a4ed6c49a9dc5fc97b4c807f5e Author: Jonas 'Sortie' Termansen Date: Wed Nov 23 17:50:54 2011 +0100 Disallow / in filenames in ramfs. sortix/fs/ramfs.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 481ddfa7e4ae85cd5ddc11d09932b27f3e9413cc Author: Jonas 'Sortie' Termansen Date: Wed Nov 23 17:04:45 2011 +0100 rm(1) usage now works without crashing. utils/rm.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5bf22b2c4a2b3a98137df370fcb9c44acddc7113 Author: Jonas 'Sortie' Termansen Date: Wed Nov 23 14:14:35 2011 +0100 ramfs doesn't allow opening files as directories. sortix/fs/ramfs.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 1f4dc3d0b515d2171c58c0895351dfdba8fa6068 Author: Jonas 'Sortie' Termansen Date: Wed Nov 23 14:06:38 2011 +0100 The shell can now print %. utils/mxsh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2b032b04148b1194719c1cfa1e45374b93bc321b Author: Jonas 'Sortie' Termansen Date: Thu Sep 15 22:38:16 2011 +0200 Initial signal support. Please squash improvements into this commit. .gitignore | 1 + Makefile | 9 +- libmaxsi/Makefile | 24 ++++- libmaxsi/c/hsrc/signal.h | 80 ++++++++++++++ libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + libmaxsi/hsrc/signal.h | 42 ++++++++ libmaxsi/hsrc/signalnum.h | 71 +++++++++++++ libmaxsi/init.cpp | 5 + libmaxsi/signal.cpp | 127 ++++++++++++++++++++++ libmaxsi/x64/signal.s | 38 +++++++ libmaxsi/x86/signal.s | 43 ++++++++ mkinitrd/Makefile | 2 + sortix/Makefile | 23 ++-- sortix/kernel.cpp | 3 + sortix/process.cpp | 2 +- sortix/scheduler.cpp | 2 + sortix/signal.cpp | 244 +++++++++++++++++++++++++++++++++++++++++++ sortix/signal.h | 99 ++++++++++++++++++ sortix/syscallnum.h | 5 +- sortix/thread.cpp | 114 +++++++++++++++++++- sortix/thread.h | 14 +++ sortix/x86/thread.cpp | 6 ++ utils/Makefile | 1 + utils/kill.cpp | 38 +++++++ 25 files changed, 972 insertions(+), 23 deletions(-) commit 7a9afd66fe297c6e3f91e4848ab9bf5f8900ea9b Author: Jonas 'Sortie' Termansen Date: Wed Nov 23 00:17:40 2011 +0100 cat(1) now writes to /dev/tty. Someone really ought to implement stdout. utils/cat.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) commit 46c0cc6a125bca8ffcc944a0ff8ac3347ed91d20 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 22:08:10 2011 +0100 -1 is no longer an allowed system call. This treats a nasty bug where forking and exiting before the child causes the kernel to panic, because the syscall -1 is run, which just contains a trash value that happened to be 0. The cause is still unknown. Might be the scheduler. This won't help me sleep at night. sortix/x86/syscall.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b15763b2de56eb2130cb184e8cac986d29045a96 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 19:11:40 2011 +0100 Fixed descriptors not being reset by SysExit. Indirectly, this fixes the snake; snake; panic bug. sortix/descriptors.cpp | 9 ++++++++- sortix/descriptors.h | 2 ++ sortix/process.cpp | 12 ++---------- 3 files changed, 12 insertions(+), 11 deletions(-) commit e234e0a2d42a2a78bd1129b0579840c5a88fdfc8 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 18:20:37 2011 +0100 execve(2) now sets errno=EACCESS on non-buffer files. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 5 +++-- sortix/process.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) commit 9deb1837862777879930ed63aea3d9ebca78765b Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 18:06:16 2011 +0100 The ELF loader now uses errno. libmaxsi/decl/errno_values.h | 1 + libmaxsi/error.cpp | 1 + sortix/elf.cpp | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) commit 6986963b4bd8a03263e3631c2b4e58a3877ead20 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 17:56:46 2011 +0100 cp(1) can now support the syntax cp /bin/snake / utils/cp.cpp | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) commit 1b56d01f177943e0fe1a40826de388afdd085307 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 17:56:34 2011 +0100 Improved error codes in devfs. sortix/fs/devfs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9f35df813ee276a8a2c7c7735d8e0b95b2f6fb9d Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 17:26:23 2011 +0100 Implemented errno(3), added support in both kernel and utils. libmaxsi/Makefile | 1 + libmaxsi/c/hsrc/errno.h | 37 +++++++++++++++++++++++++++++++++++++ libmaxsi/c/hsrc/string.h | 2 +- libmaxsi/decl/errno_decl.h | 6 ++++++ libmaxsi/decl/errno_values.h | 21 +++++++++++++++++++++ libmaxsi/error.cpp | 37 +++++++++++++++++++++++++++++++++++-- libmaxsi/hsrc/error.h | 44 ++++++++------------------------------------ libmaxsi/init.cpp | 4 +++- libmaxsi/memory.cpp | 2 +- libmaxsi/x86/start.s | 6 ++++-- sortix/directory.cpp | 14 +++++++------- sortix/filesystem.cpp | 4 ++-- sortix/fs/devfs.cpp | 10 +++++----- sortix/fs/initfs.cpp | 20 ++++++++++---------- sortix/fs/ramfs.cpp | 32 ++++++++++++++++---------------- sortix/io.cpp | 4 ++-- sortix/pipe.cpp | 8 ++++---- sortix/process.cpp | 20 +++++++++++++++----- sortix/process.h | 1 + sortix/syscall.cpp | 16 +++++++++++++++- sortix/syscallnum.h | 3 ++- sortix/x86/syscall.s | 6 ++++++ utils/cat.cpp | 16 ++++++++++++++-- utils/cp.cpp | 10 ++++++---- utils/editor.cpp | 11 ++++++----- utils/init.cpp | 6 ++++-- utils/ls.cpp | 5 +++-- utils/mxsh.cpp | 9 +++++---- utils/rm.cpp | 4 +++- 29 files changed, 243 insertions(+), 116 deletions(-) commit 8678ad6444ea4a43e266b7969e6551e70f7695f0 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 15:33:23 2011 +0100 / is no longer a valid filename under ramfs. sortix/fs/ramfs.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 2c3fb60d5279c19185ad4891b6ceb2bea666e695 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 15:27:34 2011 +0100 execve(2) now works relative to current dir. sortix/process.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit e8fb8d885b7f28769a55a60a723e52e2e8e226d5 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 13:53:12 2011 +0100 execve(2) can now load programs from the filesystem. Previously it was restricted to only the ramdisk. libmaxsi/hsrc/error.h | 1 + sortix/elf.cpp | 4 +- sortix/interrupt.cpp | 12 ++- sortix/process.cpp | 216 +++++++++++++++++++++++++++++++++++--------------- sortix/process.h | 3 +- sortix/scheduler.cpp | 15 +++- 6 files changed, 180 insertions(+), 71 deletions(-) commit 324a9a1a2219d28c31f13943c7e415de59b7ad25 Author: Jonas 'Sortie' Termansen Date: Tue Nov 22 12:43:59 2011 +0100 Fixed bug in initfs causing panics. sortix/fs/initfs.cpp | 1 + 1 file changed, 1 insertion(+) commit 55240fb3f5e07b8adcf62b532b8a0e7fc4cc5913 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 21:48:49 2011 +0100 Added devfs, with files /tty and /null and mounted it at /dev. libmaxsi/hsrc/error.h | 1 + sortix/Makefile | 1 + sortix/fs/devfs.cpp | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/devfs.h | 47 ++++++++++ sortix/mount.cpp | 3 + utils/ls.cpp | 2 +- 6 files changed, 290 insertions(+), 1 deletion(-) commit 91a97a26674d6a0430b1a5f9a9fa4ba2f7393813 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 19:38:49 2011 +0100 Mount-points are now handled properly within the kernel. sortix/mount.cpp | 99 +++++++++++++++++++++++++++++++++++++++++++++----------- sortix/mount.h | 1 + 2 files changed, 82 insertions(+), 18 deletions(-) commit 8b2b52b9f69305004ba7f8883a6d3df11f061604 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 18:49:31 2011 +0100 Added unlink(2) and rm(1). libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/hsrc/error.h | 1 + libmaxsi/io.cpp | 6 ++++++ sortix/filesystem.cpp | 21 +++++++++++++++++++++ sortix/filesystem.h | 2 ++ sortix/fs/initfs.cpp | 6 ++++++ sortix/fs/initfs.h | 1 + sortix/fs/ramfs.cpp | 17 +++++++++++++++++ sortix/fs/ramfs.h | 1 + sortix/syscallnum.h | 3 ++- utils/Makefile | 1 + utils/rm.cpp | 20 ++++++++++++++++++++ 12 files changed, 79 insertions(+), 2 deletions(-) commit 66f6055a133e6cbeee28b714d2bfbdefa769ccf8 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 14:56:38 2011 +0100 Added cp(1). utils/Makefile | 1 + utils/cp.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) commit 211af74690b2d2cfb93acf86d16ce7ec7594889e Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 14:55:45 2011 +0100 Fixed bug where SortedList::Search did not sort the list if needed. libmaxsi/hsrc/sortedlist.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d4590cefa1424d21c9d28787ea09ca3f09f39a3a Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 12:19:33 2011 +0100 Added chdir(2), getcwd(2), which mxsh and ls now uses. libmaxsi/c/hsrc/unistd.h | 4 +- libmaxsi/hsrc/error.h | 2 + libmaxsi/io.cpp | 12 +++++ sortix/directory.cpp | 120 +++++++++++++++++++++++++++++++++++++++++++++++ sortix/directory.h | 1 + sortix/filesystem.cpp | 26 +++++----- sortix/process.cpp | 5 ++ sortix/process.h | 3 +- sortix/syscallnum.h | 4 +- utils/ls.cpp | 7 ++- utils/mxsh.cpp | 20 +++++++- 11 files changed, 182 insertions(+), 22 deletions(-) commit 819c152292e4d087c43da1000351dbbd80b2112f Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 00:30:00 2011 +0100 Help now shell-offs ls /bin, instead of ls /. utils/help.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit eb035d6a4a39f785b556acabce2a4c1d96eaa282 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 00:26:46 2011 +0100 Fixed tripple-fault when creating a new frame, after the current was gc'd. We'll need to get rid of that awful VGA sometime soon. sortix/vga.cpp | 1 + sortix/x86-family/memorymanagement.cpp | 2 ++ 2 files changed, 3 insertions(+) commit 313079483a1a6ae9d145d185b3929550b86b85e1 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 00:19:31 2011 +0100 Missing files from the previous two commits. Ooops! libmaxsi/c/hsrc/sys/readdirents.h | 48 ++++++++++++++++++++ sortix/directory.cpp | 94 +++++++++++++++++++++++++++++++++++++++ sortix/directory.h | 64 ++++++++++++++++++++++++++ 3 files changed, 206 insertions(+) commit 0b90ab534f6ba1df4a6dea0bd3d6ae8bb6a8ab46 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 00:11:56 2011 +0100 ramfs now supports O_TRUNC. sortix/fs/ramfs.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 23fde42249bdcc2b65e3432496c2f69c778223b0 Author: Jonas 'Sortie' Termansen Date: Mon Nov 21 00:02:29 2011 +0100 Added readdirents(2), which ls(1) now uses, and added dir devices. The initfs and ramfs are now able to list their contents. libmaxsi/Makefile | 1 + libmaxsi/hsrc/error.h | 2 ++ libmaxsi/io.cpp | 7 +++++ sortix/Makefile | 1 + sortix/device.h | 1 + sortix/fs/initfs.cpp | 71 +++++++++++++++++++++++++++++++++++++++++- sortix/fs/ramfs.cpp | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/ramfs.h | 6 +++- sortix/initrd.cpp | 16 +++++++++- sortix/initrd.h | 2 ++ sortix/kernel.cpp | 4 +++ sortix/syscallnum.h | 3 +- utils/ls.cpp | 40 +++++++++++++++++++----- 13 files changed, 229 insertions(+), 11 deletions(-) commit e3bb0dfc9d191a21fcaa6cbb8c03a7d505b6a229 Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 22:47:58 2011 +0100 Fixed bug in previous commit. Ooops. sortix/fs/ramfs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c1849ed7d8a0b68e2773bd6dcfab86c806a44d6f Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 22:47:15 2011 +0100 / is no longer a valid filename in ramfs. sortix/fs/ramfs.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 06c0777193ad8af2ca79fc84c2ff8b4010613598 Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 17:07:10 2011 +0100 Improvements to sortix/mount.cpp sortix/mount.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) commit 728bde3beea0c2a89dd4b79365fa87eadbd39b6b Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 17:06:37 2011 +0100 Added strncmp(3). libmaxsi/hsrc/string.h | 2 +- libmaxsi/string.cpp | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) commit a6a2c400bf0a04990b53f164159759ec09ee4485 Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 16:25:31 2011 +0100 Hard-code-mounted the initd at /bin. sortix/mount.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) commit 190989646bf43abd9d2b8329d7478117ba3b66c8 Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 16:25:08 2011 +0100 Added an filesystem able to browse the initrd. libmaxsi/c/hsrc/fcntl.h | 31 ++++----- libmaxsi/hsrc/error.h | 1 + sortix/Makefile | 1 + sortix/fs/initfs.cpp | 163 ++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/initfs.h | 48 ++++++++++++++ 5 files changed, 230 insertions(+), 14 deletions(-) commit 446616b3aac9e1f4038d206f0278cd35abdadbf0 Author: Jonas 'Sortie' Termansen Date: Sun Nov 20 15:58:18 2011 +0100 Improved JSVM compabillity. sortix/elf.cpp | 4 +- sortix/process.cpp | 13 ++++++- sortix/serialterminal.cpp | 94 ++++++++++++++++++++++++++++++++++++++++++++--- sortix/serialterminal.h | 3 ++ sortix/time.cpp | 42 +-------------------- sortix/vga.cpp | 5 ++- 6 files changed, 110 insertions(+), 51 deletions(-) commit 002a1f9ea63f34c14e88bbfbd27e5d29a0ed8aad Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 10:32:05 2011 +0100 Hardcoded the PWD as '/'. sortix/filesystem.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) commit 3d7e565d23fc3e8d8e8011d404ab937663ef2b82 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 10:31:44 2011 +0100 strcat(3) now nul-terminates strings properly. libmaxsi/string.cpp | 2 ++ 1 file changed, 2 insertions(+) commit a0eebc01dbbbe8fae962b69c097067d4b7268c4c Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 01:08:27 2011 +0100 Added sortix/fs to the sortix/Makefile DIRS variable. sortix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5714eaa882843c49433e883fe133149b56896a46 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 00:56:31 2011 +0100 Added a simple text editor that can save/load files. utils/Makefile | 1 + utils/editor.cpp | 434 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 435 insertions(+) commit 96d94d959715a2f4aa20547a5b0d23b8470d64e9 Author: Jonas 'Sortie' Termansen Date: Fri Nov 18 19:29:28 2011 +0100 cat(1) can now cat files. utils/cat.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) commit 013e11ca5eef43e5eb14c92e429007f009f77418 Author: Jonas 'Sortie' Termansen Date: Fri Nov 18 17:49:07 2011 +0100 Added a RAM filesystem. libmaxsi/hsrc/error.h | 4 + sortix/Makefile | 1 + sortix/device.h | 1 + sortix/filesystem.cpp | 75 ++++++++++++++++- sortix/filesystem.h | 27 ++++++ sortix/fs/ramfs.cpp | 225 ++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/fs/ramfs.h | 55 ++++++++++++ sortix/mount.cpp | 9 +- sortix/stream.h | 2 +- 9 files changed, 394 insertions(+), 5 deletions(-) commit ae423eaeefbc916b2457f5a35ab9717370609e73 Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 23:31:17 2011 +0100 Added open(2). Please note that mount points and file systems do not exist yet. libmaxsi/c/hsrc/fcntl.h | 4 +- libmaxsi/io.cpp | 6 ++ sortix/Makefile | 2 + sortix/filesystem.cpp | 60 +++++++++++ sortix/filesystem.h | 74 ++++--------- sortix/kernel.cpp | 8 ++ sortix/mount.cpp | 275 ++---------------------------------------------- sortix/mount.h | 37 +------ sortix/syscallnum.h | 3 +- 9 files changed, 110 insertions(+), 359 deletions(-) commit 6447783c12be3eefdcb2bf20bea7eef7c6dfb3f8 Author: Jonas 'Sortie' Termansen Date: Sat Nov 19 00:52:18 2011 +0100 strcpy(3) now nul-terminates dest. libmaxsi/string.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 15329187b9715fbd47e4403d4da9e29cd3da1644 Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 23:14:21 2011 +0100 Unrefing a device that has never been ref'd will also destroy it. sortix/device.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 708643d0f276358f71ca5b5810a950d0cef946a0 Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 23:02:50 2011 +0100 Fixed bug in dup(2). sortix/filesystem.cpp | 80 --------------------------------------------------- sortix/io.cpp | 1 - 2 files changed, 81 deletions(-) commit fccad5e31c010a771b66b513da50ac54d39fe1d0 Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 22:32:53 2011 +0100 Don't leave old binaries around in the initrd. Makefile | 1 + 1 file changed, 1 insertion(+) commit dd349a150a88a79d89868c614e7e65b467009a9d Merge: e8cd27c3 05196f49 Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 22:27:56 2011 +0100 Merge branch 'master' of gitorious.org:sortix/sortix Conflicts: libmaxsi/c/hsrc/unistd.h libmaxsi/io.cpp sortix/io.cpp sortix/syscallnum.h commit 05196f49b25d704b27e5e97b3af978e945c43d7f Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 20:33:40 2011 +0100 Added dup(2). libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/io.cpp | 5 +++++ sortix/io.cpp | 9 +++++++++ sortix/syscallnum.h | 3 ++- 4 files changed, 17 insertions(+), 2 deletions(-) commit 5bde040295f3c50da86fbe18d61bacc71d8e436a Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 13:10:45 2011 +0100 Fixed randomness-related crash in snake. games/snake.cpp | 10 ++++++---- libmaxsi/random.cpp | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) commit e8cd27c353dd0b97f3e65216052580f5be892ad0 Author: Jonas 'Sortie' Termansen Date: Thu Nov 17 10:22:19 2011 +0100 Added close(2) and fixed bugs in pipe(2) and others. libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/io.cpp | 5 +++++ sortix/descriptors.cpp | 15 +++++++++++---- sortix/io.cpp | 10 ++++++++++ sortix/pipe.cpp | 4 ++-- sortix/syscallnum.h | 3 ++- 6 files changed, 31 insertions(+), 8 deletions(-) commit a7de7b4905a127b8e6076a9acaa319e1ab6a7e12 Author: Jonas 'Sortie' Termansen Date: Wed Nov 16 08:37:05 2011 +0100 Added pipe(2), write(2), and read(2). Makefile | 1 - libmaxsi/c/hsrc/unistd.h | 6 +- libmaxsi/hsrc/error.h | 2 + libmaxsi/io.cpp | 19 ++++ sortix/Makefile | 2 + sortix/descriptors.cpp | 3 +- sortix/descriptors.h | 2 +- sortix/device.cpp | 19 ++-- sortix/device.h | 53 ++------- sortix/io.cpp | 126 +++++++++++++++++++++ sortix/io.h | 37 ++++++ sortix/kernel.cpp | 8 ++ sortix/pipe.cpp | 289 +++++++++++++++++++++++++++++++++++++++++++++++ sortix/pipe.h | 40 +++++++ sortix/stream.h | 56 ++++----- sortix/syscallnum.h | 5 +- sortix/vga.cpp | 9 +- sortix/vga.h | 6 +- 18 files changed, 578 insertions(+), 105 deletions(-) commit c5605b6693982b8db2b3248d8015c3d6b1066f4d Author: Jonas 'Sortie' Termansen Date: Thu Nov 10 12:27:07 2011 +0100 Pong and snake now use rand(3). games/conway.cpp | 2 +- games/pong.cpp | 35 +++++++++++++++++++++++++++++++---- games/snake.cpp | 20 ++++++-------------- libmaxsi/Makefile | 1 + libmaxsi/c/hsrc/stdlib.h | 2 +- libmaxsi/random.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 79 insertions(+), 20 deletions(-) commit 8b7188e6a4a13c1da3b3adfb5b2fd3c9cbbb6eda Author: Jonas 'Sortie' Termansen Date: Thu Nov 10 00:03:29 2011 +0100 Added the $? command to the shell. utils/mxsh.cpp | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) commit 29a1b689339e74fe22726b57874ff626f86d649e Author: Jonas 'Sortie' Termansen Date: Wed Nov 9 23:54:11 2011 +0100 Added --speed , --help, and --usage to conway. games/conway.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) commit 33c0a9586e4f0673dbdbdf62eb02791933c660df Author: Jonas 'Sortie' Termansen Date: Wed Nov 9 23:48:02 2011 +0100 Added atoi(3). libmaxsi/c/hsrc/stdlib.h | 1 + libmaxsi/hsrc/string.h | 1 + libmaxsi/string.cpp | 14 ++++++++++++++ 3 files changed, 16 insertions(+) commit ae599b6d6719a63f4bb053d341baab28a3911fc4 Author: Jonas 'Sortie' Termansen Date: Wed Nov 9 23:18:02 2011 +0100 Argv now works in main. libmaxsi/process.cpp | 4 +-- libmaxsi/x86/start.s | 5 ++-- sortix/interrupt.cpp | 3 ++- sortix/process.cpp | 71 +++++++++++++++++++++++++++++++++++++++++++++------- sortix/process.h | 2 +- sortix/scheduler.cpp | 5 +++- utils/mxsh.cpp | 25 ++++++++++++++++-- 7 files changed, 96 insertions(+), 19 deletions(-) commit 9ba01ad3b231c950ecd039029ab1c01a3ec7fa80 Author: Jonas 'Sortie' Termansen Date: Mon Nov 7 14:36:11 2011 +0100 Oh my god, did I include thread.cpp into kernel.cpp!? sortix/Makefile | 1 + sortix/kernel.cpp | 2 +- utils/init.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) commit b27fa68c810dbdfd9d63f39bd2c56da66eacfaf6 Author: Jonas 'Sortie' Termansen Date: Sun Nov 6 23:50:38 2011 +0100 The shell now forks, uses exit, and wait. libmaxsi/process.cpp | 7 +------ utils/init.cpp | 10 ++++++---- utils/mxsh.cpp | 15 +++++++++++++++ 3 files changed, 22 insertions(+), 10 deletions(-) commit 024f1581ea5498ef9d5f42cf0e65b761419e73a4 Author: Jonas 'Sortie' Termansen Date: Sun Nov 6 22:00:05 2011 +0100 Added the wait() and waitpid() system call. libmaxsi/Makefile | 1 + libmaxsi/c/hsrc/sys/wait.h | 47 ++++++++++++++++++++ libmaxsi/process.cpp | 11 +++++ sortix/process.cpp | 106 +++++++++++++++++++++++++++++++++++++++++++-- sortix/process.h | 5 +++ sortix/syscallnum.h | 3 +- sortix/thread.cpp | 7 +++ sortix/thread.h | 4 ++ 8 files changed, 180 insertions(+), 4 deletions(-) commit 851ee789032f5cc955890e1f7f325e2eee4662ab Author: Jonas 'Sortie' Termansen Date: Sun Nov 6 23:06:08 2011 +0100 Added some support for blocking system calls in the kernel. sortix/scheduler.cpp | 2 ++ sortix/syscall.cpp | 44 +++++++++++++++++++++++++++++++++++++++++--- sortix/syscall.h | 10 ++++++++++ sortix/thread.cpp | 4 +++- sortix/thread.h | 5 +++++ sortix/x86/syscall.s | 25 +++++++++++++++++++++++++ 6 files changed, 86 insertions(+), 4 deletions(-) commit cfd7648ca9a27a01741762005e4cf1b3484c611d Author: Jonas 'Sortie' Termansen Date: Sat Nov 5 18:51:47 2011 +0100 Added the _exit() system call. exit() will not call _exit() yet, we need support for wait() in the shell. libmaxsi/c/hsrc/stdlib.h | 3 +- libmaxsi/c/hsrc/unistd.h | 2 +- libmaxsi/process.cpp | 12 +++++-- sortix/process.cpp | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ sortix/scheduler.cpp | 36 ++++++++++++++++++++- sortix/scheduler.h | 2 ++ sortix/thread.cpp | 7 ++-- sortix/thread.h | 1 - 8 files changed, 136 insertions(+), 10 deletions(-) commit 09b1252821903e5f76e72b25fe79384a8ab16095 Author: Jonas 'Sortie' Termansen Date: Sat Nov 5 20:02:53 2011 +0100 Added an AsIs() function to the Syscall namespace. sortix/syscall.cpp | 5 +++++ sortix/syscall.h | 3 +++ 2 files changed, 8 insertions(+) commit 196e9583369d1152c4426eb9cfa371f6832cb814 Author: Jonas 'Sortie' Termansen Date: Sat Nov 5 19:12:52 2011 +0100 Added a CPU::ShutDown() function. sortix/x86-family/x86-family.cpp | 6 ++++++ sortix/x86-family/x86-family.h | 1 + 2 files changed, 7 insertions(+) commit 884ce30c07ddff4550d2d1512e3652e33534700a Author: Jonas 'Sortie' Termansen Date: Sat Nov 5 18:49:06 2011 +0100 The scheduler now keeps track of the initial process. sortix/kernel.cpp | 1 + sortix/scheduler.cpp | 10 ++++++++-- sortix/scheduler.h | 4 +++- 3 files changed, 12 insertions(+), 3 deletions(-) commit f9e10ab2656f94d8da1dc2a51540d0f4e9f5308b Author: Jonas 'Sortie' Termansen Date: Thu Nov 3 18:26:19 2011 +0100 Added an API for user-space to list the initrd, and 'ls' does so now. libmaxsi/hsrc/process.h | 8 ++++++++ libmaxsi/process.cpp | 12 ++++++++++++ sortix/initrd.cpp | 32 ++++++++++++++++++++++++++++++++ sortix/syscallnum.h | 4 +++- utils/ls.cpp | 10 +++++++++- 5 files changed, 64 insertions(+), 2 deletions(-) commit 329c8cc468ab5a65934640c56ba2a0bb4065420e Merge: 0fdfa570 e110594a Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 20:36:40 2011 +0100 Merge gitorious.org:sortix/sortix commit 0fdfa570cc301377128fc9703f16c327742faca7 Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 19:43:24 2011 +0100 Removed obsolete IKeystrokable. sortix/keyboard.h | 9 --------- 1 file changed, 9 deletions(-) commit 52a228861e28bd36b0034a9c52bb09edfd5f14aa Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 19:27:22 2011 +0100 cr2 isn't pushed by pushal. sortix/x86/syscall.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b742eafd7c7e537da126abe7e76a01ec6a4e4e52 Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 19:16:53 2011 +0100 Removed the unused Maxsi::StdOut namespace. libmaxsi/io.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit cb92f073d9c616b5d42c5d2d7ffc5799d0e373ea Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 19:13:59 2011 +0100 Fixed incorrect header in libmaxsi/syscall.h. libmaxsi/hsrc/syscall.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d76757b21b5d2a6d054c20ac25008e2cc946ca4f Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 19:13:37 2011 +0100 Don't add unrelated stuff to the src tarball. Makefile | 2 ++ 1 file changed, 2 insertions(+) commit e110594ab26b2639f488af08f2f504cbbeaaa040 Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 15:41:11 2011 +0100 Processes are listed in a global array sorted after pid. sortix/process.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ sortix/process.h | 7 +++++++ 2 files changed, 51 insertions(+) commit 2db3c902fb42bac16cfbe2c0ab4869b6dc79aab9 Author: Jonas 'Sortie' Termansen Date: Wed Nov 2 11:38:38 2011 +0100 Fixed missing breaks in switch in vgaterminal.cpp. sortix/vgaterminal.cpp | 2 ++ 1 file changed, 2 insertions(+) commit 2afe9d1fd63f04efdb9b4a8c0db3004e9411af9d Author: Jonas 'Sortie' Termansen Date: Wed Sep 21 20:52:05 2011 +0200 Implemented the fork() system call and what it needed to work properly. This commit got completely out of control. Added the fork(), getpid(), getppid(), sleep(), usleep() system calls, and aliases in the Maxsi:: namespace. Fixed a bug where zero-byte allocation would fail. Worked on the DescriptorTable class which now works and can fork. Got rid of some massive print-registers statements and replaced them with the portable InterruptRegisters::LogRegisters() function. Removed the SysExecuteOld function and replaced it with Process::Execute(). Rewrote the boot sequence in kernel.cpp such that it now loads the system idle process 'idle' as PID 0, and the initization process 'init' as PID 1. Rewrote the SIGINT hack. Processes now maintain a family-tree structure and keep track of their threads. PIDs are now allocated using a simple hack. Virtual memory per-process can now be allocated using a simple hack. Processes can now be forked. Fixed the Process::Execute function such that it now resets the stack pointer to where the stack actually is - not just a magic value. Removed the old and ugly Process::_endcodesection hack. Rewrote the scheduler into a much cleaner and faster version. Debug code is now moved to designated functions. The noop kernel-thread has been replaced by a simple user-space infinite-loop program 'idle'. The Thread class has been seperated from the Scheduler except in Scheduler- related code. Thread::{Save,Load}Registers has been improved and has been moved to $(CPU)/thread.cpp. Threads can now be forked. A new CreateThread function creates threads properly and portably. Added a MicrosecondsSinceBoot() function. Fixed a crucial bug in MemoryManagement::Fork(). Added an 'idle' user-space program that is a noop infinite loop, which is used by the scheduler when there is nothing to do. Rewrote the 'init' program such that it now forks off a shell, instead of becoming the shell. Added the $$ (current PID) and $PPID (parent PPID) variables to the shell. libmaxsi/c/hsrc/unistd.h | 12 +- libmaxsi/hsrc/process.h | 3 + libmaxsi/memory.cpp | 6 +- libmaxsi/process.cpp | 18 ++ sortix/Makefile | 2 + sortix/descriptors.cpp | 25 +- sortix/descriptors.h | 1 + sortix/interrupt.cpp | 23 +- sortix/kernel.cpp | 74 +++-- sortix/keyboard.cpp | 3 +- sortix/process.cpp | 233 ++++++++++++-- sortix/process.h | 49 ++- sortix/scheduler.cpp | 563 ++++++++++----------------------- sortix/scheduler.h | 95 +----- sortix/syscall.cpp | 2 +- sortix/syscallnum.h | 5 +- sortix/thread.cpp | 145 +++++++++ sortix/thread.h | 93 +++++- sortix/time.cpp | 22 +- sortix/time.h | 2 +- sortix/vga.cpp | 9 +- sortix/x86-family/memorymanagement.cpp | 4 +- sortix/x86/scheduler.cpp | 52 +++ sortix/x86/thread.cpp | 109 +++++++ sortix/x86/x86.cpp | 12 + sortix/x86/x86.h | 8 +- utils/Makefile | 1 + utils/help.cpp | 1 + utils/idle.cpp | 6 + utils/init.cpp | 31 +- utils/ls.cpp | 1 + utils/mxsh.cpp | 5 + 32 files changed, 1017 insertions(+), 598 deletions(-) commit c705bf39ff0e90c74299394e5efaa245d2832343 Author: Jonas 'Sortie' Termansen Date: Thu Oct 27 00:04:56 2011 +0200 Ported kernel to new syscall API and started cleaning up the old one. games/conway.cpp | 2 +- games/pong.cpp | 2 +- games/snake.cpp | 2 +- hello/hello.cpp | 2 +- libmaxsi/hsrc/sortix-keyboard.h | 2 +- libmaxsi/sortix-keyboard.cpp | 6 +-- sortix/Makefile | 1 + sortix/descriptor_tables.cpp | 4 +- sortix/initrd.cpp | 25 +++++---- sortix/initrd.h | 1 - sortix/interrupt.cpp | 2 +- sortix/kernel.cpp | 15 +++++- sortix/keyboard.cpp | 32 +++++------- sortix/keyboard.h | 1 - sortix/log.cpp | 10 ++++ sortix/process.cpp | 40 ++++++++++++++- sortix/process.h | 5 +- sortix/scheduler.cpp | 33 ++++++------ sortix/scheduler.h | 2 - sortix/sound.cpp | 11 ++-- sortix/sound.h | 2 +- sortix/syscall.cpp | 91 +++++++++++++++----------------- sortix/syscall.h | 31 ++++++----- sortix/syscallnum.h | 43 ++++++++++++++++ sortix/vga.cpp | 52 +++++++++---------- sortix/vga.h | 5 -- sortix/x86/syscall.s | 111 ++++++++++++++++++++++++++++++++++++++++ sortix/x86/x86.h | 9 ++++ utils/cat.cpp | 2 +- utils/mxsh.cpp | 2 +- 30 files changed, 376 insertions(+), 170 deletions(-) commit 011e6eca95c1ed26324d107baf53ec538da35fe3 Author: Jonas 'Sortie' Termansen Date: Wed Oct 26 02:25:03 2011 +0200 Added the string for the SIMD Floating-Point exception. sortix/interrupt.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit a087f4b91c655bc1445ece42f7215c582583a564 Author: Jonas 'Sortie' Termansen Date: Tue Oct 25 18:20:42 2011 +0200 Added a sortedlist template class to libmaxsi/sortedlist.h. libmaxsi/Makefile | 1 + libmaxsi/hsrc/sortedlist.h | 318 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 319 insertions(+) commit 4e8c2dfc3320dccec6330e35a677f6b568db53ff Author: Jonas 'Sortie' Termansen Date: Sat Oct 22 15:17:34 2011 +0200 Better mm comments. sortix/x86-family/memorymanagement.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) commit b0df5186e6d10ae72b1109b9d974ad341aa35bca Author: Jonas 'Sortie' Termansen Date: Thu Oct 20 03:40:13 2011 +0200 Fixed two very nasty bugs in the x86 memory management code. 1) The PML2 was not initialized to zeroes, thus leaving some bits behind that caused the fork code to go crazy, forking the unforkable, and mapping addresses that never, ever, should have been mapped, leaving behind a trail of page faults and general protection faults on some computers, while other computers worked because the uninitalized memory just wasn't uninitialized enough. Yep, this was a schrödinbug! 2) Fixed a time bomb. The kernel heap was accidentally put such that whenever a few megabytes were allocated, it would begin overwriting the physical page stack causing unthinkable events to unfold and would probably be even more obscure to debug than 1). Oh, and some string errors fixed and removed RunApplication from kernel.cpp, funny thing that even linked in the first place. Guess, the optimizer actually did work for once. :) sortix/kernel.cpp | 2 +- sortix/memorymanagement.h | 2 +- sortix/x86-family/memorymanagement.cpp | 15 ++++++++++----- sortix/x86/memorymanagement.cpp | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) commit 52b8913bb65eeb2ef40a858318fbb3bc8e225d42 Author: Jonas 'Sortie' Termansen Date: Sun Oct 16 17:57:55 2011 +0200 The produced deb file now contains the proper installed-size field. Makefile | 11 +++++++++-- debsrc/DEBIAN/control | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) commit daa6f09529fd55ef86ebc6ca77dc79afd2b67980 Author: Jonas 'Sortie' Termansen Date: Thu Oct 13 19:26:41 2011 +0200 Don't add sysroot/ to the source tarball. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5082e6523cafa49287cd3e57d2d0e1527f5313c5 Author: Jonas 'Sortie' Termansen Date: Mon Oct 10 20:14:13 2011 +0200 Updated git version to 0.5dev. Makefile | 2 +- sortix/x86-family/memorymanagement.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) commit 1b7dc2d8176b679b44190e0fd79773c1dd67fa6d Author: Jonas 'Sortie' Termansen Date: Mon Oct 10 17:21:39 2011 +0200 Fixes to memory management that helps me sleep at night. sortix/elf.cpp | 17 +++++------------ sortix/x86-family/memorymanagement.cpp | 24 ++---------------------- 2 files changed, 7 insertions(+), 34 deletions(-) commit c16bdd26046894e65897bc33186b67f454a60a9e Author: Jonas 'Sortie' Termansen Date: Thu Oct 6 10:08:44 2011 +0200 Added a friendly warning that X64 cannot boot fully when booting X64. sortix/kernel.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) commit 4579384312966418757c1a4fb02f2d209b468df0 Author: Jonas 'Sortie' Termansen Date: Sun Oct 2 15:59:38 2011 +0200 Ported the GDT and TSS to x64. sortix/descriptor_tables.cpp | 122 ++++++++++++++++++++++++++++++------------- sortix/descriptor_tables.h | 84 +++++++++++++++++++---------- sortix/x64/gdt.asm | 43 --------------- sortix/x64/gdt.s | 71 +++++++++++++++++++++++++ 4 files changed, 212 insertions(+), 108 deletions(-) commit a1cf7e9dbcd916d9a9a884cc60f9125f92299b0c Author: Jonas 'Sortie' Termansen Date: Mon Oct 10 01:13:50 2011 +0200 Removed unneeded and unused old memory management assembly. sortix/x64/memorymanagement-asm.s | 163 ----------------------------------- sortix/x86/memorymanagement-asm.s | 173 -------------------------------------- 2 files changed, 336 deletions(-) commit 66192d1e86e46e1adc67733199bcd18963db8b87 Author: Jonas 'Sortie' Termansen Date: Sun Oct 2 15:57:44 2011 +0200 Rewrote memory management again and added support for x64 and forking. libmaxsi/memory.cpp | 22 +- sortix/Makefile | 4 +- sortix/elf.cpp | 21 +- sortix/interrupt.cpp | 14 +- sortix/kernel.cpp | 13 +- sortix/memorymanagement.cpp | 650 --------------------------------- sortix/memorymanagement.h | 319 +--------------- sortix/process.cpp | 2 +- sortix/scheduler.cpp | 13 +- sortix/vga.cpp | 28 +- sortix/x64/boot.s | 9 +- sortix/x64/memorymanagement.cpp | 110 ++++++ sortix/x64/memorymanagement.h | 56 +++ sortix/x86-family/memorymanagement.cpp | 544 +++++++++++++++++++++++++++ sortix/x86-family/memorymanagement.h | 57 +++ sortix/x86/memorymanagement.cpp | 104 ++++++ sortix/x86/memorymanagement.h | 54 +++ 17 files changed, 1018 insertions(+), 1002 deletions(-) commit 23c144fe3f3597fbd9b25d84311b5ecf6015974b Author: Jonas 'Sortie' Termansen Date: Thu Oct 6 10:17:12 2011 +0200 Don't count files in sysroot/ when counting lines. Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ad17df4ff9ae575426de5cf75a1fac2fafdc4b59 Author: Jonas 'Sortie' Termansen Date: Mon Oct 3 19:11:16 2011 +0200 Fixed bug in mxmpp make target install. mxmpp/Makefile.in | 1 + 1 file changed, 1 insertion(+) commit f1848b993293259a8d678a1c0d5d14bed202dc2b Author: Jonas 'Sortie' Termansen Date: Wed Sep 21 21:08:19 2011 +0200 Added comments to x64/boot.s. sortix/x64/boot.s | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) commit ab2b14fc166781565bd5b05cf7a098e512ac92ab Author: Jonas 'Sortie' Termansen Date: Thu Sep 15 22:18:40 2011 +0200 Moved start.s into the subdirs for x86 and x64. libmaxsi/Makefile | 19 +++++++++++++++---- libmaxsi/x64/start.s | 41 +++++++++++++++++++++++++++++++++++++++++ libmaxsi/{ => x86}/start.s | 0 3 files changed, 56 insertions(+), 4 deletions(-) commit 739b296a95e08315dc23cdb7237409c8621302c3 Author: Jonas 'Sortie' Termansen Date: Wed Sep 14 18:11:28 2011 +0200 libmaxsi now has a function called upon process creation. libmaxsi/Makefile | 14 +++++++++++--- libmaxsi/init.cpp | 34 ++++++++++++++++++++++++++++++++++ libmaxsi/start.s | 2 ++ 3 files changed, 47 insertions(+), 3 deletions(-) commit d3a7b18f6955e62022b0e7074111d82f86d640c1 Author: Jonas 'Sortie' Termansen Date: Tue Sep 13 16:48:44 2011 +0200 libc now has exit() and abort() functions. crosscompilemakefile.mak | 2 +- libmaxsi/hsrc/process.h | 2 ++ libmaxsi/process.cpp | 18 ++++++++++++++++++ libmaxsi/start.s | 17 +++-------------- libmaxsi/thread.cpp | 7 ------- 5 files changed, 24 insertions(+), 22 deletions(-) commit 4bc2841ef0c262d5724da569156e7ef475d3c894 Author: Jonas 'Sortie' Termansen Date: Thu Sep 8 21:08:50 2011 +0200 Restored the partial support for x64. sortix/keyboard.cpp | 2 ++ sortix/memorymanagement.cpp | 14 +++++++++++++- sortix/memorymanagement.h | 6 ++++++ sortix/process.cpp | 2 ++ sortix/scheduler.cpp | 17 +++++++++++------ sortix/sound.cpp | 2 ++ sortix/vga.cpp | 8 +++++++- sortix/x64/memorymanagement-asm.s | 14 +++++++------- 8 files changed, 50 insertions(+), 15 deletions(-) commit 371dec71c99057ed62324e6a0c0f6da34f75efa6 Author: Jonas 'Sortie' Termansen Date: Thu Sep 8 21:05:19 2011 +0200 Better error handling in /Makefile. Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit cc61176e5b17919be16c4cae6806dfbc06cae486 Author: Jonas 'Sortie' Termansen Date: Thu Sep 8 11:10:17 2011 +0200 Restored support for JSSortix using very ugly hacks. :( Makefile | 4 ++-- games/snake.cpp | 17 ++++++++++---- sortix/.gitignore | 1 + sortix/Makefile | 34 ++++++++++----------------- sortix/interrupt.cpp | 2 +- sortix/kernel.cpp | 29 ++++++----------------- sortix/keyboard.h | 1 + sortix/scheduler.cpp | 32 +++---------------------- sortix/serialterminal.cpp | 7 ++++++ sortix/time.cpp | 46 ++++++++++++++++++++++++++++++++++++ sortix/uart.cpp | 60 +++++++++++++++++++++++++++++++---------------- sortix/x86/interrupt.asm | 4 ++-- utils/init.cpp | 2 +- 13 files changed, 135 insertions(+), 104 deletions(-) commit 3859e1f566b45b4fe6c27bb45ff08db0f1e4acb2 Author: Jonas 'Sortie' Termansen Date: Wed Sep 7 18:44:43 2011 +0200 Refactored interrupt system and got rid of old not-mine code. sortix/Makefile | 2 +- sortix/descriptor_tables.cpp | 2 - sortix/interrupt.cpp | 123 ++++++++++++++++++++++++++++++++++ sortix/{iirqhandler.h => interrupt.h} | 36 +++++++--- sortix/isr.cpp | 100 --------------------------- sortix/isr.h | 26 ------- sortix/kernel.cpp | 1 - sortix/keyboard.cpp | 5 +- sortix/syscall.cpp | 5 +- sortix/time.cpp | 7 +- sortix/x86/interrupt.asm | 8 +-- 11 files changed, 162 insertions(+), 153 deletions(-) commit 4e05eb33d8dba99ab9bd8838d9216851b9fbebb0 Author: Jonas 'Sortie' Termansen Date: Wed Sep 7 17:49:47 2011 +0200 Ignore the ramdisk in sortix/. sortix/.gitignore | 1 + 1 file changed, 1 insertion(+) commit 1a2446fca695102b04e20a385c147e894f264ab4 Author: Jonas 'Sortie' Termansen Date: Wed Sep 7 17:47:37 2011 +0200 Added a friendly message on panic, and SIGSEGV no longer panics. sortix/isr.cpp | 27 ++++++++++++++++++++++++--- sortix/panic.cpp | 8 ++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) commit 8a085f6fa0d0efd531ae9aecb8dccc50b246d01e Author: Jonas 'Sortie' Termansen Date: Wed Sep 7 12:20:04 2011 +0200 Added the game snake. games/Makefile | 1 + games/snake.cpp | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) commit 86351d927454c920e3e3587f771dc013b7bfd467 Author: Jonas 'Sortie' Termansen Date: Wed Sep 7 12:18:53 2011 +0200 The initrd is now supported for local install and deb files. Makefile | 30 ++++++++++++++++++------------ debsrc/etc/grub.d/42_sortix | 17 ++++++++--------- 2 files changed, 26 insertions(+), 21 deletions(-) commit c157e6535211e8baaa00f9cca3ed445f8dae386b Author: Jonas 'Sortie' Termansen Date: Tue Sep 6 19:51:23 2011 +0200 Removed lots of deprecated suff! libmaxsi/hsrc/io.h | 6 - libmaxsi/memory.cpp | 2 - sortix/Makefile | 27 ++++- sortix/application.cpp | 63 ---------- sortix/astroids.cpp | 143 ----------------------- sortix/astroids.h | 64 ---------- sortix/conway.cpp | 194 ------------------------------ sortix/conway.h | 41 ------- sortix/globals.h | 32 ----- sortix/http.cpp | 183 ----------------------------- sortix/iprintable.cpp | 257 ---------------------------------------- sortix/iprintable.h | 48 -------- sortix/isr.cpp | 2 - sortix/kernel.cpp | 4 - sortix/keyboard.cpp | 9 -- sortix/link.ld | 33 ------ sortix/log.cpp | 178 ---------------------------- sortix/log.h | 30 ----- sortix/pci.cpp | 4 - sortix/pong.cpp | 311 ------------------------------------------------- sortix/pong.h | 45 ------- sortix/scheduler.cpp | 2 - sortix/shell.cpp | 167 -------------------------- sortix/shell.h | 62 ---------- sortix/syscall.cpp | 2 - sortix/test.cpp | 12 -- sortix/time.cpp | 3 - sortix/types.h | 101 ---------------- 28 files changed, 25 insertions(+), 2000 deletions(-) commit ebedeeae895019270896a607a386a3f9d08dbc8c Author: Jonas 'Sortie' Termansen Date: Tue Sep 6 16:16:20 2011 +0200 Pong now shows the score on its UI. games/pong.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) commit d494dc2d53931340cd27adef09130336de1f09b7 Author: Jonas 'Sortie' Termansen Date: Tue Sep 6 16:16:01 2011 +0200 Made an integer-to-string API for user-space to use. libmaxsi/format.cpp | 25 ++++++++++++++----------- libmaxsi/hsrc/string.h | 5 +++++ 2 files changed, 19 insertions(+), 11 deletions(-) commit 00f5c627b7b7832254d99122646eabafe5a21a8b Author: Jonas 'Sortie' Termansen Date: Tue Sep 6 15:59:19 2011 +0200 mxmpp somehow got the readme of mksound, an unrelated program. mxmpp/README | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) commit 7037b2f0025bc8c259ec7c1aaedc8bf4308ce6b8 Author: Jonas 'Sortie' Termansen Date: Tue Sep 6 15:55:32 2011 +0200 Userspace program's makefiles now properly delete from initrd/. games/Makefile | 2 +- hello/Makefile | 2 +- utils/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 0b373050f2b028f2ab78eb440efa174fced8000e Author: Jonas 'Sortie' Termansen Date: Mon Aug 29 00:09:13 2011 +0200 Added conway's game of life. games/.gitignore | 1 + games/Makefile | 1 + games/conway.cpp | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+) commit b39a5700cc1a4bca57c4db0ac1f7a4aba4185cbb Author: Jonas 'Sortie' Termansen Date: Mon Aug 29 00:08:46 2011 +0200 Removed pong/ to games/ as it will soon store multiple games. Makefile | 2 +- {pong => games}/.gitignore | 0 {pong => games}/Makefile | 0 {pong => games}/pong.cpp | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) commit 6ae297d0885901b8eb5b8e2bc685f897e26f4b2c Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 16:58:43 2011 +0200 Ugly hacks to restore support for Sortix on real hardware. pong/pong.cpp | 12 +++++++++++- sortix/isr.cpp | 6 ++++-- sortix/scheduler.cpp | 10 ++++++++-- sortix/time.cpp | 41 +++++++++++++++++++++++------------------ 4 files changed, 46 insertions(+), 23 deletions(-) commit f26e6e803a15c480d863d6f23ec8143f6a619e75 Author: Jonas 'Sortie' Termansen Date: Sun Aug 28 12:33:22 2011 +0200 The Sortix programs are now compiled into initrd/. Makefile | 5 ----- hello/Makefile | 23 +++++++++++++++++------ initrd/.gitignore | 2 ++ pong/Makefile | 23 +++++++++++++++++------ utils/.gitignore | 1 + utils/Makefile | 15 +++++++++++---- 6 files changed, 48 insertions(+), 21 deletions(-) commit 2c18d433594c268f98dba278f204d44c90cafb45 Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 23:25:47 2011 +0200 Added the programs ls and help. Makefile | 2 +- libmaxsi/hsrc/process.h | 1 + libmaxsi/process.cpp | 6 ++++++ sortix/initrd.cpp | 11 +++++++++++ sortix/initrd.h | 1 + sortix/syscall.cpp | 4 +++- utils/Makefile | 3 +++ utils/help.cpp | 15 +++++++++++++++ utils/ls.cpp | 9 +++++++++ 9 files changed, 50 insertions(+), 2 deletions(-) commit 34e9ca277d03f497052efec67011580ca6bd343c Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 23:03:15 2011 +0200 Added a shell, a few programs, and added support for SIGINT. Makefile | 4 ++-- libmaxsi/hsrc/keyboard.h | 1 + libmaxsi/start.s | 10 +++++++++ sortix/isr.cpp | 2 ++ sortix/keyboard.cpp | 16 +++++++++++++++ sortix/process.cpp | 3 +++ sortix/process.h | 3 +++ sortix/scheduler.cpp | 14 +++++++++++++ sortix/scheduler.h | 3 +++ utils/Makefile | 23 +++++++++++++++++++++ utils/cat.cpp | 30 +++++++++++++++++++++++++++ utils/clear.cpp | 7 +++++++ utils/init.cpp | 15 ++++++++++++++ utils/mxsh.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ utils/uname.cpp | 7 +++++++ 15 files changed, 189 insertions(+), 2 deletions(-) commit 2f9d08a800d66acb74b00ea989bdf471b7a28c56 Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 20:57:15 2011 +0200 Added a process execute API. libmaxsi/Makefile | 3 ++- libmaxsi/hsrc/process.h | 37 +++++++++++++++++++++++++++++++++++++ libmaxsi/process.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ sortix/process.cpp | 19 +++++++++++++++++++ sortix/process.h | 2 ++ sortix/syscall.cpp | 4 +++- 6 files changed, 104 insertions(+), 2 deletions(-) commit 011addf46c78f9a571654a97e332efb870a12b9e Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 20:06:44 2011 +0200 The initrd now uses the mkinitrd format and the kernel now loads it. Makefile | 10 ++++++++-- mkinitrd/.gitignore | 3 +++ sortix/kernel.cpp | 25 ++++++++++++++++--------- 3 files changed, 27 insertions(+), 11 deletions(-) commit d9c0c8d0cd0ebacb3b0413051dbd4647358a49da Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 17:41:11 2011 +0200 Added a driver to parse the Sortix init ramdisk. sortix/Makefile | 2 +- sortix/initrd.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/initrd.h | 5 ++++ 3 files changed, 75 insertions(+), 1 deletion(-) commit fa7834b5d650549f1125dc653fc2b732f4c9e3d0 Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 14:50:28 2011 +0200 Added a mkinitrd program that creates initrds for Sortix. mkinitrd/Makefile | 13 +++ mkinitrd/catinitrd.cpp | 223 +++++++++++++++++++++++++++++++++++++++++ mkinitrd/lsinitrd.cpp | 155 +++++++++++++++++++++++++++++ mkinitrd/mkinitrd.cpp | 263 +++++++++++++++++++++++++++++++++++++++++++++++++ sortix/initrd.h | 54 ++++++++++ 5 files changed, 708 insertions(+) commit 5c86cb4abd19471e15dd3c612f5dc50ec54b2bd4 Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 16:45:36 2011 +0200 Processes now remember the memory segments it has loaded. sortix/Makefile | 2 +- sortix/elf.cpp | 38 ++++++++++++++++++------- sortix/elf.h | 4 ++- sortix/kernel.cpp | 2 +- sortix/process.cpp | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/process.h | 52 +++++++++++++++++++++-------------- sortix/scheduler.cpp | 11 -------- sortix/scheduler.h | 26 +----------------- 8 files changed, 143 insertions(+), 70 deletions(-) commit b9484c24f21f6ff89418906578f403c890a1c153 Author: Jonas 'Sortie' Termansen Date: Sat Aug 27 14:47:19 2011 +0200 Added the GNU licenses used for Sortix. gpl.html | 694 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lgpl.html | 186 +++++++++++++++++ 2 files changed, 880 insertions(+) commit 04f5fd03f8971d46bfdeb9d589bfa9564ab773d4 Author: Jonas 'Sortie' Termansen Date: Thu Aug 11 22:50:40 2011 +0200 Added the new pong program for Sortix! Makefile | 2 +- pong/.gitignore | 7 ++ pong/Makefile | 15 +++++ pong/pong.cpp | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 229 insertions(+), 1 deletion(-) commit 1fd4e6b63e9ad33a38208a002103fe40e92639af Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 11:13:00 2011 +0200 Minor change in keyboard.cpp. sortix/keyboard.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8d86dc6f6a6cda0d378894311a8d000a3df2a5a0 Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 11:12:05 2011 +0200 Changing the sound frequency no longer prints to the terminal. sortix/sound.cpp | 2 -- 1 file changed, 2 deletions(-) commit cd78c42c78c949fb953550cc1b8ab845531c4f9c Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 11:11:26 2011 +0200 VGA Cursor code is now in vga.cpp. sortix/vga.cpp | 24 +++++++++++++++++++++--- sortix/vga.h | 1 + sortix/vgaterminal.cpp | 19 ++----------------- 3 files changed, 24 insertions(+), 20 deletions(-) commit 7510708ea15c830d5c107d953f057bad371cbafc Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 11:10:40 2011 +0200 Gave user-space access to VGA color constants. libmaxsi/hsrc/sortix-vga.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 013c5b5e710a6484c9d66245025d4aafd83edf73 Author: Jonas 'Sortie' Termansen Date: Tue Aug 23 00:29:35 2011 +0200 Processes in the initrd are now made from ELF files. crosscompilemakefile.mak | 35 +++++++++++++++++++++++++++++++++++ hello/Makefile | 41 +++++------------------------------------ sortix/kernel.cpp | 16 ++++++---------- 3 files changed, 46 insertions(+), 46 deletions(-) commit 4898343e2fe2153cc668d1865531e8e1a104dfd5 Author: Jonas 'Sortie' Termansen Date: Tue Aug 23 17:45:49 2011 +0200 The ELF loader now uses program headers and not section headers. sortix/elf.cpp | 87 ++++++++++++++++++++-------------------------------------- sortix/elf.h | 22 +++++++++++++++ 2 files changed, 52 insertions(+), 57 deletions(-) commit b705bf27a1fbcf9262484807c9f4ff7df9de74d7 Author: Jonas 'Sortie' Termansen Date: Tue Aug 23 18:12:29 2011 +0200 Fixed bug in MapRange{User,Kernel}. sortix/memorymanagement.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ea396ddd6973be44cc5a438ddb62b6d12ce8dc63 Author: Jonas 'Sortie' Termansen Date: Tue Aug 23 01:32:25 2011 +0200 Libmaxsi now offers printf to user-space programs. libmaxsi/hsrc/io.h | 4 ++++ libmaxsi/io.cpp | 41 +++++++++++++++++++++++++++++++++-------- 2 files changed, 37 insertions(+), 8 deletions(-) commit 9db2c88aca5db258eacf02961249eccf401e8430 Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 21:53:54 2011 +0200 Sortix can now load ELF executables into addresses spaces. sortix/Makefile | 2 +- sortix/elf.cpp | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sortix/elf.h | 102 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 249 insertions(+), 1 deletion(-) commit e5eaf3eeb5e1c82198162651ef0e92483d6cfcef Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 22:11:04 2011 +0200 Added the MapRange virtual memory functions. sortix/memorymanagement.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) commit b80195dc19ab3317a504a6bff149622562c9b29a Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 21:08:15 2011 +0200 Implemented the new physical page allocator API. sortix/memorymanagement.cpp | 62 +++++++++++++++++++++++++++++++++++---- sortix/memorymanagement.h | 3 +- sortix/x86/memorymanagement-asm.s | 12 ++++---- 3 files changed, 64 insertions(+), 13 deletions(-) commit d3920455599d9707a3e600d7432a4387cb9ccd01 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 02:58:31 2011 +0200 Extended and documented the memory management API. Physical paging have been extended with Page::Insert() and Page::GetStats() which allows the physical paging system to add new pages to the physical page allocator, and still keep the "free/used pages" count accurate, and providing this information to the kernel (and user-space at some point). The virtual memory API has been extended with RemapKernel(), RemapUser(), MapRangeKernel(), UnmapRangeKernel(), MapRangeUser(), and UnmapRangeUser(). This huge number of related functions have been created in the hope that it hides the internal complexity of portable virtual memory management and avoid bugs. It is crucial that the correct group of functions are used when solving a problem and that they are not mixed in a manner not documented. I probably overdocumented the code - hopefully it should help avoiding making stupid or bothersome code. Another problem is that code calling Page::Get() often should call something like Page::AlwaysGetPageEvenIfYouHaveToSwap(). I'd be swell to have a function that always gets a page under heavily-swapping conditions. Possibly Page::Get() could become that? sortix/memorymanagement.h | 306 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 296 insertions(+), 10 deletions(-) commit 4c1cb806ba4912e8f1d99d7b57ca58576c014b18 Author: Jonas 'Sortie' Termansen Date: Mon Aug 22 00:25:04 2011 +0200 Added a sound api. libmaxsi/Makefile | 5 +++-- libmaxsi/hsrc/sortix-sound.h | 39 +++++++++++++++++++++++++++++++++++++++ libmaxsi/sortix-sound.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ sortix/sound.cpp | 8 ++++++++ sortix/sound.h | 1 + sortix/syscall.cpp | 4 +++- 6 files changed, 96 insertions(+), 3 deletions(-) commit 55e9d358cf6050d0dfcc69f29bd425526a3ea198 Author: Jonas 'Sortie' Termansen Date: Sun Aug 21 20:30:53 2011 +0200 Hello editor now doesn't require '[' in ANSI escape sequences. hello/hello.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 47c44caa8db8d6fad0225aee92172e8615cdcca8 Author: Jonas 'Sortie' Termansen Date: Sun Aug 21 12:50:48 2011 +0200 Fixed move-cursor-left bug in vgaterminal. sortix/vgaterminal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9ee93082c59d76a042dc91d62ff863d9596aa4cc Author: Jonas 'Sortie' Termansen Date: Sun Aug 21 12:50:15 2011 +0200 Hello is now a hello world sample ANSI text editor. hello/Makefile | 4 ++-- hello/hello.c | 9 --------- hello/hello.cpp | 34 ++++++++++++++++++++++++++++++++++ libmaxsi/c/hsrc/features.h | 2 +- sortix/memorymanagement.cpp | 4 ++-- sortix/pci.cpp | 2 ++ 6 files changed, 41 insertions(+), 14 deletions(-) commit 4db550c13bf0eca956191739374addea8ac8db2d Author: Jonas 'Sortie' Termansen Date: Sun Aug 21 12:47:35 2011 +0200 Added libmaxsi keyboard API, allowing user-space to use the keyboard. libmaxsi/Makefile | 16 ++++++- libmaxsi/hsrc/keyboard.h | 69 ++++++++++++++++++++++++++++++ libmaxsi/hsrc/sortix-keyboard.h | 47 +++++++++++++++++++++ libmaxsi/sortix-keyboard.cpp | 41 ++++++++++++++++++ sortix/isr.cpp | 4 +- sortix/kernel.cpp | 6 +-- sortix/keyboard.cpp | 93 +++++++++++++++++++++++++---------------- sortix/keyboard.h | 1 + sortix/syscall.cpp | 4 +- 9 files changed, 235 insertions(+), 46 deletions(-) commit ed2b3cb5c94d86d590e39dc73b2086f3d7a96458 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 20:59:51 2011 +0200 Prevented user-space from issueing non-user-space interrupts. sortix/descriptor_tables.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ec8c0c533b0e3762769b36cce6c818da8a057b01 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 20:13:07 2011 +0200 Removed accidentally included infinite debug loop in kernel.cpp. sortix/kernel.cpp | 2 -- 1 file changed, 2 deletions(-) commit a2f70f358c0961117be7490e544416783388c567 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 20:09:16 2011 +0200 Added linebreaks after maxsi logo. sortix/kernel.cpp | 32 +++++++++++++++++--------------- sortix/panic.cpp | 36 ++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 33 deletions(-) commit 9995354f959b2a3289ae0d6aba53744a37c3af15 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 17:16:38 2011 +0200 Moved CPU code shared by x86 and x64 into x86-family. sortix/Makefile | 5 +- sortix/x64/x64.cpp | 35 -------------- sortix/x64/x64.h | 11 ++--- sortix/x86-family/x86-family.cpp | 102 +++++++++++++++++++++++++++++++++++++++ sortix/x86-family/x86-family.h | 43 +++++++++++++++++ sortix/x86/x86.cpp | 70 --------------------------- sortix/x86/x86.h | 13 ++--- 7 files changed, 154 insertions(+), 125 deletions(-) commit 4728809c00fbd9e2ccf8015f5a018f0ab7efcbd2 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 17:29:21 2011 +0200 The serial terminal now clears the screen using ANSI when initialized. sortix/serialterminal.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 64d191a88235f60a4a656eab40f844529815a8cf Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 15:12:54 2011 +0200 x86 now has a driver for rebooting. sortix/x86/x86.cpp | 35 +++++++++++++++++++++++++++++++++++ sortix/x86/x86.h | 2 ++ 2 files changed, 37 insertions(+) commit fe65e1299226f064b90f5f48315af2012616a740 Author: Jonas 'Sortie' Termansen Date: Fri Aug 12 00:55:24 2011 +0200 Removed unnededed TLB flush from libmaxsi heap code. libmaxsi/memory.cpp | 3 --- 1 file changed, 3 deletions(-) commit 15ce53919cb8e8f04a72d391d5c08310e7eb5805 Author: Jonas 'Sortie' Termansen Date: Mon Aug 8 15:18:15 2011 +0200 Added VGA API allowing userspace to easily access 0xB8000. libmaxsi/Makefile | 4 +- libmaxsi/hsrc/sortix-vga.h | 76 +++++++++++++++++++ libmaxsi/sortix-vga.cpp | 54 +++++++++++++ sortix/Makefile | 2 +- sortix/syscall.cpp | 6 +- sortix/vga.cpp | 185 +++++++++++++++++++++++++++++++++++++++++++++ sortix/vga.h | 33 ++++++++ 7 files changed, 356 insertions(+), 4 deletions(-) commit 1026354e982292f319dae463f5156ffa623b4a9c Author: Jonas 'Sortie' Termansen Date: Mon Aug 8 15:15:31 2011 +0200 Sortix now uses the Device class. This class is very WIP and is just experimental. sortix/Makefile | 2 +- sortix/device.cpp | 6 +++--- sortix/device.h | 43 ++++++++++++++++++++++--------------------- 3 files changed, 26 insertions(+), 25 deletions(-) commit e95eb60d3184ede2dfb21036b79a3f8c23c54c35 Author: Jonas 'Sortie' Termansen Date: Mon Aug 8 02:17:48 2011 +0200 Provide a virtual address where pages can be temporarily mapped. sortix/memorymanagement.h | 4 ++++ 1 file changed, 4 insertions(+) commit 6ae7ddbcb3a49860e34c6d0303cf7ef7d6dcd99c Author: Jonas 'Sortie' Termansen Date: Mon Aug 8 01:53:24 2011 +0200 Descriptors are now public members in processes. sortix/scheduler.h | 2 ++ 1 file changed, 2 insertions(+) commit 412d3e78b2d97dfa33a1f24a79d116cbbb44c399 Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 23:39:56 2011 +0200 AlignDown and AlignUp aligns an address on a page boundary. sortix/memorymanagement.h | 3 +++ 1 file changed, 3 insertions(+) commit e78443d92a6006d08ef2d3aebb0698e308dfca6b Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 22:40:10 2011 +0200 Processes now keep track of where their code section ends. This is very hacky, but allows us to allocate address space. sortix/kernel.cpp | 4 +++- sortix/scheduler.cpp | 1 + sortix/scheduler.h | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) commit db34033d404bf6ff429c866359d7622f0c5ce464 Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 20:14:02 2011 +0200 Removed unneeded #includes from sortix/memorymanagement.cpp. sortix/memorymanagement.cpp | 6 ------ 1 file changed, 6 deletions(-) commit 07b409c1a06a5b3c351526f9afb0418d3da96e21 Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 19:47:19 2011 +0200 Added a wrapper class for handling file descriptors. sortix/Makefile | 2 +- sortix/descriptors.cpp | 117 +++++++++++++++++++++++++++++++++++++++++++++++++ sortix/descriptors.h | 21 ++++----- sortix/scheduler.h | 3 ++ 4 files changed, 129 insertions(+), 14 deletions(-) commit e78390d9c2e2f0d52809ef23c2231376cd9b2cff Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 03:02:13 2011 +0200 Added a line counting make target for statistics. Makefile | 4 ++++ 1 file changed, 4 insertions(+) commit 206a7993f34ade513f0ebcf217d744ca937f2ab6 Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 01:38:27 2011 +0200 Such that the sortix subdir is git'd too. libmaxsi/sortix/.gitignore | 1 + 1 file changed, 1 insertion(+) commit acd2ae58c621e4695fde435999ecd4f41ff4bf8a Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 01:37:19 2011 +0200 And the c/h/sys dir too.. libmaxsi/Makefile | 1 + 1 file changed, 1 insertion(+) commit a4c2afedb70431993490b5fd74824662d7927ecb Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 01:36:03 2011 +0200 libmaxsi now creates the c/h dir if missing. libmaxsi/Makefile | 1 + 1 file changed, 1 insertion(+) commit 294e5d72ddb731be6424830b9898333ae9b6c1b3 Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 01:30:23 2011 +0200 All of the initrd is now loaded. sortix/kernel.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 794630a80250dc53075bc2e15cfdf5afe133a15e Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 01:19:03 2011 +0200 Adding proper .gitignore files. .gitignore | 7 +++++++ hello/.gitignore | 7 +++++++ libmaxsi/.gitignore | 10 ++++++++++ sortix/.gitignore | 6 ++++++ 4 files changed, 30 insertions(+) commit 185c6d4b6faf8cdcbe47d52979d06ef63684a936 Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 01:15:02 2011 +0200 Processes (and thus threads) now belong to an address space. Changing theads now automatically switches the adress space. sortix/kernel.cpp | 12 ++++++++++-- sortix/scheduler.cpp | 37 ++++++++++++++++++++++++++++++++++--- sortix/scheduler.h | 17 +++++++++++++++++ 3 files changed, 61 insertions(+), 5 deletions(-) commit 90ebfe7f0a6aa9556e31bb55c6a9490f92a4a1ec Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 00:47:12 2011 +0200 Improvements to the address space switching function. It now only switches when needed and returns the old addr space. sortix/memorymanagement.cpp | 11 ++++++++--- sortix/memorymanagement.h | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) commit 66c058fba12586e07097bc898c5ccab3c056f7ac Author: Jonas 'Sortie' Termansen Date: Sun Aug 7 00:18:17 2011 +0200 Refactored virtual memory management, making it less buggy. uintptr_t is now replaced with addr_t when referring to physical memory addresses in Sortix. Many bugs in the previous memory management code have been fixed. The new interface is less flexible - but should prove more solid as the nasty internals have been hidden away. The current interface design should also make the code more 64-bit ready/friendly. And so on. libmaxsi/memory.cpp | 29 +-- sortix/isr.cpp | 2 +- sortix/kernel.cpp | 16 +- sortix/memorymanagement.cpp | 532 ++++++++++++++++++++------------------ sortix/memorymanagement.h | 69 ++--- sortix/panic.cpp | 2 +- sortix/scheduler.cpp | 22 +- sortix/scheduler.h | 4 +- sortix/x86/memorymanagement-asm.s | 6 +- 9 files changed, 334 insertions(+), 348 deletions(-) commit 9b79673dcb33e0904154f905a2564a20a4d9c2dd Author: Jonas 'Sortie' Termansen Date: Fri Aug 5 14:24:36 2011 +0200 Initial version of Sortix. Makefile | 113 +++ debsrc/DEBIAN/control | 11 + debsrc/DEBIAN/postinst | 4 + debsrc/DEBIAN/postrm | 3 + debsrc/etc/grub.d/42_sortix | 11 + hello/Makefile | 46 + hello/hello.c | 9 + isosrc/boot/grub/grub.cfg | 27 + isosrc/boot/grub/sortix.png | Bin 0 -> 152351 bytes libmaxsi/Makefile | 135 +++ libmaxsi/c++.cpp | 106 +++ libmaxsi/c/decl/FILE.h | 5 + libmaxsi/c/decl/SEEK_CUR.h | 3 + libmaxsi/c/decl/SEEK_END.h | 3 + libmaxsi/c/decl/SEEK_SET.h | 3 + libmaxsi/c/decl/WEOF.h | 3 + libmaxsi/c/decl/useconds_t.h | 4 + libmaxsi/c/decl/wctrans_t.h | 4 + libmaxsi/c/decl/wctype_t.h | 4 + libmaxsi/c/file.c | 305 +++++++ libmaxsi/c/hsrc/fcntl.h | 95 ++ libmaxsi/c/hsrc/features.h | 51 ++ libmaxsi/c/hsrc/stdarg.h | 42 + libmaxsi/c/hsrc/stddef.h | 44 + libmaxsi/c/hsrc/stdio.h | 157 ++++ libmaxsi/c/hsrc/stdlib.h | 125 +++ libmaxsi/c/hsrc/string.h | 77 ++ libmaxsi/c/hsrc/sys/stat.h | 39 + libmaxsi/c/hsrc/sys/types.h | 39 + libmaxsi/c/hsrc/unistd.h | 173 ++++ libmaxsi/c/hsrc/wchar.h | 151 ++++ libmaxsi/c/hsrc/wctype.h | 79 ++ libmaxsi/c/string.c | 35 + libmaxsi/decl/NULL.h | 3 + libmaxsi/decl/WCHAR_MAX.h | 3 + libmaxsi/decl/WCHAR_MIN.h | 3 + libmaxsi/decl/gid_t.h | 4 + libmaxsi/decl/id_t.h | 4 + libmaxsi/decl/intn_t.h | 80 ++ libmaxsi/decl/intptr_t.h | 4 + libmaxsi/decl/locale_t.h | 4 + libmaxsi/decl/mode_t.h | 4 + libmaxsi/decl/mode_t_values.h | 27 + libmaxsi/decl/off_t.h | 4 + libmaxsi/decl/pid_t.h | 4 + libmaxsi/decl/ptrdiff_t.h | 4 + libmaxsi/decl/size_t.h | 4 + libmaxsi/decl/ssize_t.h | 4 + libmaxsi/decl/uid_t.h | 4 + libmaxsi/decl/va_list.h | 8 + libmaxsi/decl/wchar_t.h | 6 + libmaxsi/decl/wint_t.h | 4 + libmaxsi/error.cpp | 35 + libmaxsi/format.cpp | 280 ++++++ libmaxsi/hsrc/error.h | 58 ++ libmaxsi/hsrc/format.h | 39 + libmaxsi/hsrc/io.h | 54 ++ libmaxsi/hsrc/memory.h | 53 ++ libmaxsi/hsrc/platform.h | 87 ++ libmaxsi/hsrc/string.h | 46 + libmaxsi/hsrc/syscall.h | 208 +++++ libmaxsi/hsrc/thread.h | 42 + libmaxsi/hsrc/types.h | 52 ++ libmaxsi/io.cpp | 48 ++ libmaxsi/memory.cpp | 484 +++++++++++ libmaxsi/start.s | 43 + libmaxsi/string.cpp | 137 +++ libmaxsi/thread.cpp | 90 ++ mxmpp/COPYING | 674 +++++++++++++++ mxmpp/Makefile.in | 68 ++ mxmpp/README | 28 + mxmpp/config.guess | 1502 ++++++++++++++++++++++++++++++++ mxmpp/config.h.in | 152 ++++ mxmpp/config.sub | 1714 +++++++++++++++++++++++++++++++++++++ mxmpp/configure.ac | 110 +++ mxmpp/install-sh | 322 +++++++ mxmpp/mxmpp.cpp | 414 +++++++++ sortix/Makefile | 120 +++ sortix/application.cpp | 63 ++ sortix/astroids.cpp | 143 ++++ sortix/astroids.h | 64 ++ sortix/bits.h | 32 + sortix/conway.cpp | 194 +++++ sortix/conway.h | 41 + sortix/descriptor_tables.cpp | 210 +++++ sortix/descriptor_tables.h | 181 ++++ sortix/descriptors.h | 64 ++ sortix/device.cpp | 56 ++ sortix/device.h | 89 ++ sortix/filesystem.cpp | 80 ++ sortix/filesystem.h | 98 +++ sortix/globals.h | 32 + sortix/http.cpp | 183 ++++ sortix/iirqhandler.h | 37 + sortix/iprintable.cpp | 257 ++++++ sortix/iprintable.h | 48 ++ sortix/isr.cpp | 77 ++ sortix/isr.h | 26 + sortix/kernel.cpp | 274 ++++++ sortix/keyboard.cpp | 709 +++++++++++++++ sortix/keyboard.h | 48 ++ sortix/link.ld | 33 + sortix/log.cpp | 223 +++++ sortix/log.h | 98 +++ sortix/memorymanagement.cpp | 491 +++++++++++ sortix/memorymanagement.h | 98 +++ sortix/mount.cpp | 305 +++++++ sortix/mount.h | 75 ++ sortix/multiboot.h | 224 +++++ sortix/mxfs.cpp | 429 ++++++++++ sortix/mxfs.h | 118 +++ sortix/panic.cpp | 92 ++ sortix/panic.h | 42 + sortix/pci.cpp | 292 +++++++ sortix/pci.h | 39 + sortix/platform.h | 82 ++ sortix/pong.cpp | 311 +++++++ sortix/pong.h | 45 + sortix/process.h | 71 ++ sortix/scheduler.cpp | 506 +++++++++++ sortix/scheduler.h | 120 +++ sortix/serialterminal.cpp | 53 ++ sortix/serialterminal.h | 39 + sortix/shell.cpp | 167 ++++ sortix/shell.h | 62 ++ sortix/sound.cpp | 57 ++ sortix/sound.h | 38 + sortix/stream.h | 88 ++ sortix/syscall.cpp | 92 ++ sortix/syscall.h | 54 ++ sortix/system.h | 51 ++ sortix/test.cpp | 12 + sortix/thread.h | 1 + sortix/time.cpp | 106 +++ sortix/time.h | 41 + sortix/types.h | 101 +++ sortix/uart.cpp | 310 +++++++ sortix/uart.h | 45 + sortix/user.h | 43 + sortix/vga.h | 62 ++ sortix/vgaterminal.cpp | 535 ++++++++++++ sortix/vgaterminal.h | 39 + sortix/x64/base.s | 72 ++ sortix/x64/bits.h | 130 +++ sortix/x64/boot.s | 175 ++++ sortix/x64/gdt.asm | 43 + sortix/x64/interrupt.asm | 108 +++ sortix/x64/memorymanagement-asm.s | 163 ++++ sortix/x64/x64.cpp | 68 ++ sortix/x64/x64.h | 52 ++ sortix/x86/base.s | 61 ++ sortix/x86/bits.h | 130 +++ sortix/x86/boot.s | 47 + sortix/x86/gdt.asm | 39 + sortix/x86/interrupt.asm | 162 ++++ sortix/x86/memorymanagement-asm.s | 173 ++++ sortix/x86/x86.cpp | 68 ++ sortix/x86/x86.h | 51 ++ subsystem/man | 64 ++ 159 files changed, 19246 insertions(+)