Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-09-03 | build: -Os | dzwdz | |
2023-09-03 | libc: split up large .c files, slimming down small binaries a bit | dzwdz | |
2023-09-02 | netstack: only return from open() once the socket connects | dzwdz | |
2023-09-02 | cmd: add socksfs | dzwdz | |
2023-09-02 | libc: opendir_f; make httpd use it | dzwdz | |
2023-08-31 | cmd/ps: use dirent.h | dzwdz | |
2023-08-31 | kernel: add _sys_getprocfs in place of HANDLE_PROCFS | dzwdz | |
This makes the side-effects more explicit, and feels less hacky than `HANDLE_PROCFS`. I don't think accessing a handle alone should have side-effects, even if it's a "special" one. | |||
2023-08-30 | style: get rid of eprintf | dzwdz | |
2023-08-29 | kernel: remove _sys_await, emulate it in libc | dzwdz | |
2023-08-29 | tests: fix everything broken by the pipe change | dzwdz | |
god, those tests are a mess. so are esemaphores. | |||
2023-08-27 | ports: qbe, cproc :^) | dzwdz | |
2023-08-25 | ports: binutils :^) | dzwdz | |
2023-08-25 | bootstrap: support hardlinks in initrd | dzwdz | |
required for the binutils port | |||
2023-08-25 | libc: get as+ld to work | dzwdz | |
2023-08-24 | libc: get most of binutils to compile | dzwdz | |
2023-08-17 | build: rework how sysroots work | dzwdz | |
/usr/include is now built on the fly, letting me merge include files from multiple modules, which should be a win for organization later on. binutils & gcc need to be recompiled. limits.h shamelessly stolen from heat on #osdev, as gcc stopped providing me with its own header. which was a hack in the first place | |||
2023-08-16 | libc: "fix" unused argument warnings | dzwdz | |
2023-08-16 | build: generate the Makefile in python | dzwdz | |
i've been wanting to do this for a while the main benefit is that i can do stuff per-rule, so i can get rid of the `@mkdir -p $(D)` i had everywhere, and in the near future i can make CC targets automatically depend on a sysroot | |||
2023-08-15 | build: replace make {boot,test} with a dedicated script | dzwdz | |
2023-08-15 | user: fix freeze if graphical shell was quit | dzwdz | |
2023-08-14 | reorganization: first steps | dzwdz | |
2023-08-13 | libc: replace fork2_n_mount with mount_at | dzwdz | |
2023-08-13 | kern: undo accidentally commited debug code | dzwdz | |
2023-08-10 | user: more descriptive process titles | dzwdz | |
2023-08-10 | user/fs: no longer inject MOUNT_ATs by default | dzwdz | |
arguably the wrong choice from an usability standpoint, but the right choice from a performance standpoint. there's definitely a nicer way to do this | |||
2023-08-08 | bootstrap: fix main()'s stack alignment | dzwdz | |
2023-08-08 | build: build bootstrap as an ELF first, and then convert to a raw binary | dzwdz | |
2023-08-06 | kernel: put every driver in /kdev/ | dzwdz | |
there's no real reason for bootstrap to be doing that, and this brings it closer to only doing the elf loading | |||
2023-08-06 | libc: fs_dirinject2 for injecting multiple paths | dzwdz | |
2023-07-19 | user /keyboard: handle open()s instantly even if waiting for kb | dzwdz | |
fixes e.g. `echo */*` in dash | |||
2023-07-08 | user/keyboard: check open() path | dzwdz | |
this prevents someone from trying to `ls /keyboard/`, and makes `echo */*` in dash almost work if you mash the keyboard | |||
2023-07-08 | add debian build deps to the readme | dzwdz | |
2023-06-25 | user/libc: fix fgets not storing the newline | dzwdz | |
also removed an old TODO | |||
2023-06-25 | user/testelf: fix broken path in stackexec | dzwdz | |
2023-06-25 | ports: reimplement the ports system from scratch | dzwdz | |
side stuff: * removed sltar since it wasn't working anyways * made signal() no longer panic, as that broke certain ports (oops) * doom now ships with the FreeDOOM WADs * /usr/ was aliased to /init/usr/, more directories were added to /bin/ to improve compat with ports | |||
2023-06-20 | build: remove the old "linter" | dzwdz | |
It was a good idea, but it didn't even work. 0/10 Maybe I should replace it with semgrep someday. For the only current rule, I can split src/kernel/ into src/kernel/{amd64,generic}, and just don't have amd64 in generic's include path. | |||
2023-06-18 | libc: experimental fread buffering support | dzwdz | |
makes find(1) run 3x faster | |||
2023-06-17 | libc: implement dirent.h | dzwdz | |
2023-06-17 | kernel: fix procfs overflow bug, add safeguard to prevent similar ones | dzwdz | |
2023-06-17 | libc: dumb stat() stubs to make dash's PATH search work | dzwdz | |
2023-06-17 | libc: expand psdata into a proper struct, include executable base | dzwdz | |
this is very useful for debugging userland programs using the qemu gdb stub | |||
2023-06-11 | kernel: replace await with wait2, roughly compatible with POSIX | dzwdz | |
dash works now :^))) | |||
2023-06-10 | user: fix floating point operations | dzwdz | |
2023-06-10 | libc: last stubs needed for dash to run! :^) | dzwdz | |
2023-06-10 | kernel: implement DUP_SEARCH (like unix's F_DUPFD) | dzwdz | |
2023-06-10 | libc: basic signal stubs, non-spec-compliant write() stub | dzwdz | |
2023-06-10 | kernel: implement getpid, getppid | dzwdz | |
2023-06-09 | ports/dash: stub out everything needed for dash to compile | dzwdz | |
2023-06-08 | libc: move the strto* functions to stdlib.h, where they "belong" | dzwdz | |
2023-06-08 | user/vterm: support displaying tabs | dzwdz | |