129 Commits

Author SHA1 Message Date
wash 345a37962e meta: move photon/libc to root 2026-02-08 20:45:25 +00:00
wash f00e74260d Implemented assert() 2022-06-16 14:17:32 +01:00
wash 29ff102f3b Replaced LAUNCH_INHERIT_NS with LAUNCH_SET_NS, which has the opposite effect 2022-05-31 15:17:19 +01:00
wash ebeae9d423 Added some error messages to heap management code 2022-05-31 15:17:00 +01:00
wash 1fdd5f1be4 Adjusted abort() message 2022-05-26 14:09:23 +01:00
wash c952d9cad4 Renamed struct cleanup to struct launch_ctx 2022-05-26 11:53:27 +01:00
wash 4bbf10e7ef launch() now sends the stdio handles to the interpreter automatically
The same handles are used in both messages. This works because libc
destroys the first message and closes its handles before reading the second one,
so only one copy of each handle will exist in the new process at one
time.
2022-05-26 11:48:32 +01:00
wash 659d196d60 abort() message now includes the process ID 2022-05-26 11:48:28 +01:00
wash e1753d6c06 Implemented getpid() and gettid() 2022-05-26 11:48:14 +01:00
wash 8fc4d45edb Implemented nanosleep() 2022-05-26 11:47:10 +01:00
wash 745dbb042e Introducing the program launching mega-function: launch() 2022-05-24 21:34:30 +01:00
wash c37b591d33 Heap initialisation failure now results in abort() being called 2022-05-24 21:34:06 +01:00
wash 973b8255ae Added support for integrating dynamic linker into libc 2022-05-22 21:31:04 +01:00
wash 912ee45cd3 Implemented perror() and strerror() 2022-05-17 21:45:37 +01:00
wash 7b5edf6e8d Implemented buffering int readdir() 2022-05-17 20:58:47 +01:00
wash f2bc7348e9 Started implementing namespaces 2022-05-15 20:12:22 +01:00
wash 673fbb4d36 Implemented dlfcn functions 2022-05-12 20:52:43 +01:00
wash 7adec6fd84 Added namespace support to Horizon bootstrap msg parsing 2022-05-12 15:16:08 +01:00
wash 6b136f4e0d Implemented clock_* functions 2022-05-12 15:15:54 +01:00
wash b796aa0f62 1 GiB of virtual memory is now reserved for the heap on startup 2022-05-11 22:14:59 +01:00
wash f3e2312d35 Implemented fgets() and enhanced IO buffering 2022-05-11 22:06:28 +01:00
wash c21902d3e0 Implemented a proper version of strtoul() 2022-05-11 22:06:01 +01:00
wash 91e7cf0bd0 Implemented strftime() 2022-05-10 20:51:02 +01:00
wash 9172a10a93 Implemented strcat() and strchr() 2022-05-10 20:50:43 +01:00
wash ab06fc9f95 Fixed gmtime() returning absolute year values 2022-05-10 20:50:16 +01:00
wash 270db317bc Added gmtime() and a placeholder implementation of localtime() 2022-05-10 18:34:53 +01:00
wash 952af7e7f9 Added time() and clock() 2022-05-10 18:25:11 +01:00
wash 668ca0ca5f Need to get filesystem constants from horizon.io 2022-04-30 12:46:15 +01:00
wash eb0c90369a Added stub implementations for dl*() functions 2022-02-27 17:03:15 +00:00
wash 6a364d0866 Added a (disabled) implementation of dbg_log() 2022-02-06 20:30:44 +00:00
wash 8de49a1491 Implemented strcspn 2022-02-04 15:08:10 +00:00
wash 15091303fc Removed fio_write() hack 2022-01-09 20:01:41 +00:00
wash 51cebdae2d abort() is now called if a heap mapping fails 2022-01-09 20:01:12 +00:00
wash 794311a0d5 Implemented dirent.h on Horizon 2022-01-08 13:19:58 +00:00
wash 86046975db Fixed a bug in memmove() 2022-01-06 11:37:49 +00:00
wash 7f04b67582 Implemented open() and openat() on Horizon 2022-01-06 11:37:23 +00:00
wash 27933e1a79 Fixed stdio file descriptors not being initialised properly 2021-12-25 22:04:19 +00:00
wash 60a897d464 Implemented fio_read, fio_write, and fio_flush on Horizon 2021-12-24 17:18:33 +00:00
wash aac35bcbd3 Horizon init now initialises MIO using bootstrap handles 2021-12-24 17:07:38 +00:00
wash 62319ba0d2 Removed some duplicate typedefs 2021-12-24 11:14:02 +00:00
wash e770db8ae4 Implemented some POSIX IO functions backed by mio 2021-12-24 11:13:08 +00:00
wash ec31b208ab Implemented support for thread-local storage 2021-12-23 16:41:53 +00:00
wash bb582e96de Enabled pthread mutexes in dlmalloc 2021-11-27 09:11:35 +00:00
wash 927df86afb Removed redundant return statement 2021-11-26 19:32:28 +00:00
wash 043a7d4828 Added inttypes.h 2021-11-26 19:32:15 +00:00
wash b9160bdff5 Re-enabled sysroot creation 2021-11-03 16:32:42 +00:00
wash deb5eb6b1b Sysroot headers can now be built without the build system 2021-08-26 13:29:09 +01:00
wash 30085621f6 Re-enabled horizon __crt_init 2021-08-26 13:28:39 +01:00
wash 0d746579b5 Re-enabled terminal output hack 2021-08-26 13:28:22 +01:00
wash da23bdc56a CRT files will now only be reassembled when necessary 2021-08-22 20:06:18 +01:00