69 Commits

Author SHA1 Message Date
wash 1ec33767ab meta: replace cmake mono-build system with a custom build co-ordinator
every system component now has its own self-contained build system, and a
seed file describing the component and its build system and dependencies.

a new tool, meadow, collects and uses these seed files to build the
components into a full system. meadow also manages the target system root
and a host prefix where toolchain tools are installed to.

the build system has also been updated to use a new $ARCH-rosetta-gcc
compiler, and the patches files necessary to build it have been
added to toolchain/cross-compiler.
2026-07-19 13:34:32 +01:00
wash 810f741442 libc: pthread: implement mutexes 2026-07-19 13:31:22 +01:00
wash 6317060138 libc: runtime: add more required runtime objects 2026-07-19 13:30:49 +01:00
wash 34b3b8359b libc: add headers and definitions required by libgcc 2026-07-19 13:30:19 +01:00
wash 8aa76b5b7f libc: core: implement strrchr 2026-07-19 13:29:14 +01:00
wash 67b460e4e1 libc: io: implement puts 2026-07-19 13:28:49 +01:00
wash 9e20e0032d libc: io: implement putchar 2026-07-19 13:28:33 +01:00
wash 5c9ab75dbc libc: io: fix ringbuf_read/write not returning the correct values 2026-07-19 13:27:57 +01:00
wash 98343f1e12 libc: core: add mitigation for a potential bochs issue in strtoll 2026-06-07 13:49:32 +01:00
wash 5888136db7 libc: io: formatting cleanup 2026-05-31 17:23:23 +01:00
wash 2dc68a33ab libc: malloc: fix heap_expand being called with a size measured in pages rather than bytes 2026-05-31 17:23:12 +01:00
wash 1b7c3b1b0d libc: malloc: store the global heap in a fixed region of virtual memory 2026-05-31 17:22:47 +01:00
wash b773439aa1 libc: io: temporarily switch stderr to line-buffered mode
no-buffering isn't compatible with kern_log (used by bootstrap), as it
automatically appends a newline to every string written. this will
be switched back once kern_log isn't being used anymore.
2026-05-31 17:21:15 +01:00
wash d47260dd13 libc: io: implement (v)fprintf 2026-05-31 17:20:57 +01:00
wash c9a87457b8 libc: core: set up NSD remote channel on startup 2026-05-31 17:20:31 +01:00
wash 474f228c98 libc: core: print error message on assertion failure 2026-05-31 17:20:00 +01:00
wash aaea926f4d libc: io: remove verbose log messages 2026-05-30 10:06:58 +01:00
wash 07a1d579ca libc: core: implement strtoimax and strtoumax 2026-05-30 10:06:14 +01:00
wash 2795a66985 libc: add time_t and struct timespec definitions 2026-05-30 10:05:48 +01:00
wash df1662aa10 libc: fix handling of __set_errno(SUCCESS) 2026-05-30 10:05:28 +01:00
wash 0f0cc44f7c libc: add sched.h and signal.h headers 2026-05-30 10:04:46 +01:00
wash da7b60ca53 libc: math: add floating-point constant definitions 2026-05-30 10:03:52 +01:00
wash addd36d237 libc: implement fork 2026-05-30 10:03:36 +01:00
wash bfd191a336 libc: initial implementation of posix_spawn 2026-05-30 10:03:12 +01:00
wash 2413538cb6 libc: add fork and exec definitions 2026-05-30 10:02:04 +01:00
wash a5d99ca248 libc: update kernel library references 2026-05-28 20:39:54 +01:00
wash 1c6ece7b55 libc: implement private/shared mapping support 2026-04-21 21:15:27 +01:00
wash 0d97fe2340 libc: io: file ringbuffer is now cleared on init 2026-04-19 20:53:44 +01:00
wash 902537ad52 libc: io: vprintf now checks for stream error before returning 2026-04-19 20:53:21 +01:00
wash 07d5b4852c libc: io: fputc now updates errno on success 2026-04-19 20:52:29 +01:00
wash b07acb3cdf libc: core: add return-value to printf output callbacks 2026-04-19 20:51:23 +01:00
wash 0e3f010713 libc: core: initialise errno to SUCCESS 2026-04-19 20:48:59 +01:00
wash 3bd5899ece libc: change libmango to a public dependency 2026-04-01 18:51:52 +01:00
wash 548387c43a libc: io: implement file io buffering and internal locking for concurrency 2026-04-01 18:51:13 +01:00
wash f2e650d368 libc: add a range of header files 2026-04-01 18:49:57 +01:00
wash c6ca934852 libc: pthread: add pthread_mutex_t definition 2026-04-01 18:49:27 +01:00
wash 0a231d2179 libc: pthread: fix pthread_unmap_exit calling the wrong syscall 2026-04-01 18:49:13 +01:00
wash 40682810ab libc: core: implement assert, ctype, wctype, and stdlib functions 2026-04-01 18:48:35 +01:00
wash 36a486cca6 libc: core: implement memcmp and memmove 2026-04-01 18:47:59 +01:00
wash 0d16c300e7 libc: core: implement sscanf and friends 2026-04-01 18:47:36 +01:00
wash 4057e77512 libc: remove log message from __libc_init 2026-04-01 18:45:45 +01:00
wash d53bbbb460 libc: rename fctprintf to __libc_fctprintf 2026-04-01 18:45:19 +01:00
wash 6787f28728 lib: c: core: implement strchr and strcspn 2026-03-25 20:21:28 +00:00
wash 96784f611f lib: c: io: implement standard FILE and DIR interfaces 2026-03-25 20:21:12 +00:00
wash e30368553f lib: c: io: implement getdents() 2026-03-24 12:42:39 +00:00
wash 660cb3bd71 lib: c: io: update fs_read usage 2026-03-24 12:42:08 +00:00
wash d3a25f0af7 lib: c: remove errno log messages 2026-03-24 12:41:41 +00:00
wash c1e10e8b70 lib: c: implement runtime initialisation 2026-03-22 19:11:43 +00:00
wash 7b89a038a2 lib: c: add fallback errno storage for single-threaded programs 2026-03-22 19:11:25 +00:00
wash a792bbe5db lib: c: pthread: implement per-thread errno storage 2026-03-22 19:09:18 +00:00