Commit Graph

127 Commits

Author SHA1 Message Date
Bananymous 581caff638 BuildSystem: Install base sysroot only once
Base sysroot is not only installed when creating the syroot directory
for the first time. To get it installed again, you have to either delete
the old sysroot diretory or run clean target

This makes it so its actually possible to edit files specified in the
base sysroot without random hacks.
2024-12-10 16:44:59 +02:00
Bananymous 1903079f96 LibC: Fix popen to return correct return value instead of -1 2024-12-05 06:47:10 +02:00
Bananymous b6d0950ee9 LibC: Fix strftime implementation
This implementation now passes every musl-libc test :)
2024-12-05 06:46:31 +02:00
Bananymous c1a32a4041 LibC: Implement mktime 2024-12-05 06:43:35 +02:00
Bananymous 88c9f6d233 LibC: Make environ a weak alias
If user program defines its own global `environ` variable it will still
work :)
2024-12-03 20:29:38 +02:00
Bananymous 176693dd5a LibC: Implement wcscmp and wcsncmp 2024-12-03 16:21:54 +02:00
Bananymous 62bee04fc0 LibC: Implement dummy utime that just checks file existance 2024-12-03 16:21:18 +02:00
Bananymous bc93d238dd LibC: Fix fread argument order in gethostname 2024-12-03 16:15:16 +02:00
Bananymous 79e2c5d48c LibC: Make FILE* reading buffered
There was no reason to perform a syscall for every byte read
2024-12-03 16:13:48 +02:00
Bananymous 0fab7ad63b Kernel: Fix SYS_FCNTL command handling :)
I had misunderstood how these work
2024-12-03 16:12:26 +02:00
Bananymous 713daf6cd3 Kernel/LibC: Add support for creating hardlinks 2024-12-03 16:12:26 +02:00
Bananymous fbcf10c86d LibC: Implement closelog and make syslog print to stddbg 2024-12-03 01:45:54 +02:00
Bananymous 415b20f884 LibC: Remove errno EEXISTS
I don't know why I had added this. It doesn't seem to be a thing on
either POSIX or linux. This was literally equivalent to EXIST
2024-12-02 20:13:38 +02:00
Bananymous d58ca5f37a Kernel/LibC: Implement symlink{,at} 2024-12-02 20:13:38 +02:00
Bananymous 11b6ee423e LibC: Define timezone structure 2024-12-02 20:13:37 +02:00
Bananymous a10ca47657 Kernel/LibC: Implement {,f}statvfs 2024-12-02 20:13:37 +02:00
Bananymous ad1f175a39 Kernel/LibC: Implement getppid 2024-12-02 20:13:37 +02:00
Bananymous fd3246113a LibC: Implement missing execlp and cleanup exec code 2024-12-02 20:13:37 +02:00
Bananymous b8013c883c LibC: Implement getpass 2024-12-02 20:13:37 +02:00
Bananymous 9d97964998 LibC: Fix getpwend gid field :) 2024-12-02 20:13:37 +02:00
Bananymous f0e54cdd51 LibC: Implement {asctime,ctime,gmtime,localtime}_r
Old non _r prefixed functions are now just wrappers around these new
functions :)
2024-12-02 20:13:37 +02:00
Bananymous 0360fd1efe LibC: Implement mk{,d,s}temp 2024-12-02 20:13:37 +02:00
Bananymous 4508e099ff LibC: Implement getpagesize 2024-12-02 20:13:37 +02:00
Bananymous 6ed1435aeb Kernel/LibC: Implement tcgetpgrp 2024-12-02 20:13:37 +02:00
Bananymous 6346e288ad LibC: Implement getrlimit 2024-12-02 20:13:37 +02:00
Bananymous 747c3b2a4b Kernel/LibC: Implement fsync 2024-12-02 20:13:37 +02:00
Bananymous cccb4e6d5e LibC: Implement basename and dirname 2024-12-02 20:13:37 +02:00
Bananymous f4c6afbdae LibC: Add definitions to LibC that are used by some ports 2024-12-02 20:13:37 +02:00
Bananymous d1ef380e6b LibC: Add missing definitions for ifreq members 2024-12-02 20:13:37 +02:00
Bananymous c02de2580d Kernel: Add support for SIOCGIFNAME ioctl 2024-12-02 20:13:37 +02:00
Bananymous 783627c315 LibC: Fix time.h sigevent defition 2024-12-01 21:31:27 +02:00
Bananymous 04f49a6819 LibC: Implement {,v}dprintf 2024-11-27 21:33:10 +02:00
Bananymous d465ea2a67 LibC: Fix headers :) 2024-11-27 21:32:10 +02:00
Bananymous 7542e55cb2 LibC: Add option to debug userspace malloc family calls 2024-11-10 14:03:25 +02:00
Bananymous 12bc7480e0 LibC: Implement _Exit
This just calls _exit as POSIX says they can be equivalent
2024-11-08 02:52:12 +02:00
Bananymous 92862fdf39 LibC: Implement nan{,f,l} as functions
One port was using function pointers to these functions so macros don't
work.
2024-11-08 02:49:21 +02:00
Bananymous a356d90445 LibC: Fix libc compilation for 32 bit target 2024-11-04 10:51:31 +02:00
Bananymous f4be37700f Kernel/userspace: rework floating point math
SSE is now unconditionally enabled any where and most of math.h is now
actually implemented. using __builtin_<func> lead to many hangs where
the builtin function would just call itself.
2024-11-03 20:28:15 +02:00
Bananymous 2464fccadd LibC: Fix *scanf consuming extra characters 2024-10-19 12:43:23 +03:00
Bananymous 88b8ca5b29 LibC: Fix some string functions
I was not casting some required values to char or handling length of
zero
2024-10-13 22:04:08 +03:00
Bananymous fdddb556ae LibC: Implement system() more properly
Old implementation did not ignore and block needed signals
2024-10-13 22:03:15 +03:00
Bananymous e4982a1a5c LibC: Fix printf with alternate format and zero values 2024-09-26 15:25:16 +03:00
Bananymous 4e9f39384a LibC: Initialize libc only once
This was breaking stuff with dynamic loader initializing libc and main
executable reinitializing it later :D
2024-09-24 17:56:12 +03:00
Bananymous e431e90b20 Kernel/LibC: Implement all chown family function with fchownat 2024-09-17 18:35:01 +03:00
Bananymous 4aa466b948 Kernel/LibC: Implement all chmod family functions using fchmodat 2024-09-17 17:19:26 +03:00
Bananymous 3666525d24 Kernel/LibC: Implement `readlink` in terms of `readlinkat` 2024-09-17 16:38:15 +03:00
Bananymous f1a4bbce53 Kernel/LibC: Implement all stat family functions with fstatat
This patch gets rid of 2 unnecessary syscalls!
2024-09-17 16:38:01 +03:00
Bananymous 708a720d9d Kernel: Remove SYS_OPEN
This can be done with SYS_OPENAT with fd set to AT_FDCWD
2024-09-17 16:16:47 +03:00
Bananymous 7177da7d62 LibC: Implement dummy get_rusage
One port seems to use this function. This dummy just reports no used CPU
time for current process nor children
2024-09-17 15:59:22 +03:00
Bananymous d88ee5c9ee Kernel/LibC: Implement `creat` with `open`
This allows getting rid of unnecessary SYS_CREATE. Directory creation
still has its own syscall, but I could combine it with SYS_OPEN also.
2024-09-17 15:55:53 +03:00