Commit Graph

633 Commits

Author SHA1 Message Date
cb7d5c9d09 userspace: Implement dirname utility 2024-12-05 08:30:30 +02:00
097ab82529 userspace: Implement basename utility 2024-12-05 08:30:06 +02:00
ccb603d77f aoc2024: Implement day5 solution 2024-12-05 08:16:34 +02:00
d7b02db832 aoc2024: Implement day4 solution 2024-12-05 08:16:12 +02:00
56cc5da9fb userspace: Implement ln utility 2024-12-05 08:14:45 +02:00
1903079f96 LibC: Fix popen to return correct return value instead of -1 2024-12-05 06:47:10 +02:00
b6d0950ee9 LibC: Fix strftime implementation
This implementation now passes every musl-libc test :)
2024-12-05 06:46:31 +02:00
c1a32a4041 LibC: Implement mktime 2024-12-05 06:43:35 +02:00
3a465cb94f DynamicLoader: Don't write to pltgot if it does not exist
This makes `tcc` compile runnable executables
2024-12-04 21:11:43 +02:00
3a5a22511a aoc2024: Implement day3 solution 2024-12-03 20:29:38 +02:00
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
176693dd5a LibC: Implement wcscmp and wcsncmp 2024-12-03 16:21:54 +02:00
62bee04fc0 LibC: Implement dummy utime that just checks file existance 2024-12-03 16:21:18 +02:00
bc93d238dd LibC: Fix fread argument order in gethostname 2024-12-03 16:15:16 +02:00
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
0fab7ad63b Kernel: Fix SYS_FCNTL command handling :)
I had misunderstood how these work
2024-12-03 16:12:26 +02:00
713daf6cd3 Kernel/LibC: Add support for creating hardlinks 2024-12-03 16:12:26 +02:00
fbcf10c86d LibC: Implement closelog and make syslog print to stddbg 2024-12-03 01:45:54 +02:00
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
d58ca5f37a Kernel/LibC: Implement symlink{,at} 2024-12-02 20:13:38 +02:00
11b6ee423e LibC: Define timezone structure 2024-12-02 20:13:37 +02:00
a10ca47657 Kernel/LibC: Implement {,f}statvfs 2024-12-02 20:13:37 +02:00
ad1f175a39 Kernel/LibC: Implement getppid 2024-12-02 20:13:37 +02:00
fd3246113a LibC: Implement missing execlp and cleanup exec code 2024-12-02 20:13:37 +02:00
b8013c883c LibC: Implement getpass 2024-12-02 20:13:37 +02:00
ffcc4fd03a init: Make tty owned by logged in user 2024-12-02 20:13:37 +02:00
9d97964998 LibC: Fix getpwend gid field :) 2024-12-02 20:13:37 +02:00
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
0360fd1efe LibC: Implement mk{,d,s}temp 2024-12-02 20:13:37 +02:00
4508e099ff LibC: Implement getpagesize 2024-12-02 20:13:37 +02:00
6ed1435aeb Kernel/LibC: Implement tcgetpgrp 2024-12-02 20:13:37 +02:00
6346e288ad LibC: Implement getrlimit 2024-12-02 20:13:37 +02:00
d2b503910f userspace: fix aoc2023 and aoc2024 linking
This patch makes aoc projects not link against system libc but the cmake
libc target. This allows compilation before libc is installed
2024-12-02 20:13:37 +02:00
747c3b2a4b Kernel/LibC: Implement fsync 2024-12-02 20:13:37 +02:00
cccb4e6d5e LibC: Implement basename and dirname 2024-12-02 20:13:37 +02:00
f4c6afbdae LibC: Add definitions to LibC that are used by some ports 2024-12-02 20:13:37 +02:00
d1ef380e6b LibC: Add missing definitions for ifreq members 2024-12-02 20:13:37 +02:00
c02de2580d Kernel: Add support for SIOCGIFNAME ioctl 2024-12-02 20:13:37 +02:00
a231f8587e aoc2024: Implement day2 solution 2024-12-02 20:13:37 +02:00
783627c315 LibC: Fix time.h sigevent defition 2024-12-01 21:31:27 +02:00
1ff6aa1748 aoc2024: cleanup day1 solution 2024-12-01 07:58:40 +02:00
6662dc4a8d aoc2024: fix full runner search path for solutions 2024-12-01 07:58:40 +02:00
d6b170e274 aoc2024: implement day1 solution 2024-12-01 07:41:25 +02:00
11cac7a646 aoc2024: prepare programming environment 2024-12-01 07:41:25 +02:00
04f49a6819 LibC: Implement {,v}dprintf 2024-11-27 21:33:10 +02:00
d465ea2a67 LibC: Fix headers :) 2024-11-27 21:32:10 +02:00
f985673dc3 LibGUI: Add API to retrieve Window's underlying framebuffer 2024-11-27 13:29:42 +02:00
aaff5a65e1 Kernel/init: /dev/tty is now custom symlink to controlling terminal
kernel now passes the name of default console to init process so init
knows which file to open as stdio. before /dev/tty was referencing the
system wide current terminal which was inherited from cmdline. This
doesn't work anymore as we have pseudo terminals implemented that can
chage the current terminal during runtime :D
2024-11-17 22:38:52 +02:00
36d07065fb WindowServer: Optimize msync calls to synchronize less bytes
This *probably* makes framebuffer much faster :D Window server does not
have to do page aligned and page sized syncs which used way too many
pixels.
2024-11-17 20:15:28 +02:00
411f32c766 WindowServer: Make select timeout more precise to hit target FPS
Previously window server was only running at around 40 FPS while
targetting 60. This makes the select timeout properly sleep so that
target FPS is reached!
2024-11-17 20:15:28 +02:00