Commit Graph

600 Commits

Author SHA1 Message Date
2e39668605 aoc2024: Implement day18 solution 2024-12-18 14:06:32 +02:00
0642c569b4 TaskBar: Show battery percentage if available 2024-12-18 14:06:32 +02:00
a584e1a4ec aoc2024: Implement day17 solution 2024-12-17 23:30:37 +02:00
463bb72d24 aoc2024: Implement day16 solution 2024-12-16 17:23:08 +02:00
a7e06715ba aoc2024: Implement day15 solution 2024-12-15 20:45:57 +02:00
a89fd95864 aoc2024: Implement day14 solution 2024-12-14 23:52:22 +02:00
9ba9469bb1 aoc2024: Optimize day12
There is actually no need for hash maps
2024-12-14 03:58:11 +02:00
4dbf173ed4 aoc2024: Implement day13 solution 2024-12-14 03:17:55 +02:00
8936cca9cf aoc2024: Implement day12 solution 2024-12-12 17:03:31 +02:00
1c704680a8 aoc2024: Implement day11 solution
Finally we got a problem where trivial solution does not work
2024-12-11 09:05:52 +02:00
3e36834751 aoc2024: Implement day10 solution 2024-12-10 17:26:39 +02:00
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
8b612ba547 aoc2024: Implement day9 solution
part2 is kinda unoptimized, it should not use expanded input, but I did
not feel like rewriting my parsing code :)
2024-12-09 16:20:21 +02:00
c4e76b391e aoc2024: Implement day8 solution
I did not feel like optimizing this one, so its a O(n^2) looking over
every cell in the grid. Performs way faster than my optimized day6
solution tho :DD
2024-12-08 16:14:39 +02:00
cf9ba737f0 aoc2024: Implement day7 solution 2024-12-07 07:34:21 +02:00
fbc0319cb6 aoc2024: Implement day6 solution 2024-12-07 01:08:08 +02:00
51b6329c86 Kernel: Make backspace \b and delete 0x7F
This is what `vim` seems to expect and imo makes way more sense.
2024-12-05 17:34:37 +02:00
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