Bananymous 
							
						 
						
							
								e6026cb0b8 
								
							 
						 
						
							
							
								
								DynamicLoader: Handle circular dependencies  
							
							
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc2b4967ea 
								
							 
						 
						
							
							
								
								LibC: Make malloc thread safe with pthread_spinlock  
							
							
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf59f89bfb 
								
							 
						 
						
							
							
								
								LibC: Rework constructor/destructor calling  
							
							... 
							
							
							
							constructors are now called in _init_libc instead of crt0
destructors are now registered with atexit() instead of called manually 
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								066ed7e4a1 
								
							 
						 
						
							
							
								
								LibC: merge atexit and __cxa_atexit into common function  
							
							
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f49d60e4a 
								
							 
						 
						
							
							
								
								DynamicLoader/LibC: lazy malloc environ  
							
							... 
							
							
							
							This allows DynamicLoader to just set the value of global environ symbol
without libc needing to malloc it at startup 
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3721dadd72 
								
							 
						 
						
							
							
								
								LibC: Make stdio and malloc initialization constructors  
							
							
							
						 
						
							2025-04-15 22:01:57 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5539d5eed0 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_cleanup_{pop,push}  
							
							
							
						 
						
							2025-04-15 21:48:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								64002626b9 
								
							 
						 
						
							
							
								
								LibC: Add h_addr definition for hostent backwards compatibility  
							
							
							
						 
						
							2025-04-15 21:39:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b418683337 
								
							 
						 
						
							
							
								
								LibELF: Add definition and values for auxiliary vectors  
							
							
							
						 
						
							2025-04-15 21:31:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								be786be67d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_join  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e85b18e206 
								
							 
						 
						
							
							
								
								LibC: Fix pthread stack alignment  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f32f62dfc1 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_spin_* functions  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								28392050bf 
								
							 
						 
						
							
							
								
								LibC: Make pthread_t pid_t  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b9cc6063ff 
								
							 
						 
						
							
							
								
								LibC: Implement stdio FILE locking  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9066e62a97 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement sched_yield  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5549696c3a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_self  
							
							
							
						 
						
							2025-04-02 02:39:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								691c9fe8e0 
								
							 
						 
						
							
							
								
								LibC: Fix bsearch  
							
							... 
							
							
							
							bsearch had unsigned integer underflow which was UB and returned false
positives 
							
						 
						
							2025-04-02 00:03:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								04463675c0 
								
							 
						 
						
							
							
								
								LibC: Lock file during gets  
							
							
							
						 
						
							2025-04-01 23:26:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b9da6a4a5d 
								
							 
						 
						
							
							
								
								LibC: Implement getdelim and getline  
							
							
							
						 
						
							2025-04-01 23:26:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ba25b4c28 
								
							 
						 
						
							
							
								
								LibC: Add non standard types/values used by ports  
							
							
							
						 
						
							2025-04-01 23:26:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c1618e2b5d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add basic support for pthread_{create,exit}  
							
							
							
						 
						
							2025-04-01 23:26:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								788f5429e1 
								
							 
						 
						
							
							
								
								LibC: Implement spec compliant abort()  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d8bb0b53f8 
								
							 
						 
						
							
							
								
								LibImage: Fix PNG palette decoding  
							
							... 
							
							
							
							I was only loading third of the palette to wrong indices :D 
							
						 
						
							2025-02-12 10:09:03 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								17014bb8de 
								
							 
						 
						
							
							
								
								LibC: Fix strndup  
							
							... 
							
							
							
							I did not null terminate short strndup copies :D 
							
						 
						
							2025-01-28 22:40:06 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7fedd94cc5 
								
							 
						 
						
							
							
								
								ln: Don't require link target to exist for symlinks  
							
							
							
						 
						
							2025-01-28 17:46:36 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								48eca3d031 
								
							 
						 
						
							
							
								
								LibC: Make libc usable with tcc  
							
							... 
							
							
							
							tcc does not provide its own stdint.h but defines everything in
stddef.h. Also tcc does not support [[noreturn]] attribute syntax. 
							
						 
						
							2025-01-28 17:27:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								21d3cf91a0 
								
							 
						 
						
							
							
								
								LibC: Implement some missing signal.h functions  
							
							
							
						 
						
							2025-01-28 17:27:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7c57d736c6 
								
							 
						 
						
							
							
								
								Kernel/LibC: Fix dirent functions  
							
							... 
							
							
							
							dirent functions used to fail if a directory contained more than 128
files :D 
							
						 
						
							2025-01-28 17:15:11 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cbe3f2a4ac 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup and fix cmake files  
							
							... 
							
							
							
							I now set library SONAME so i don't have to build them in build root.
Creating font now makes sure the install directory exists. This allows
building using make files.
LibC now links agains ligcc 
							
						 
						
							2025-01-28 17:11:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								caa8c1da90 
								
							 
						 
						
							
							
								
								LibC: Add stub implementations for set{rlimit,priority}  
							
							
							
						 
						
							2025-01-25 18:15:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60bffb5f49 
								
							 
						 
						
							
							
								
								LibC: Implement `clock` in terms of `clock_gettime`  
							
							... 
							
							
							
							This allows clock to "just work" after I update clock_gettime to support
CLOCK_PROCESS_CPUTIME_ID. 
							
						 
						
							2025-01-24 19:58:44 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c6cd185cb5 
								
							 
						 
						
							
							
								
								DynamicLoader: Fix copy relocations  
							
							... 
							
							
							
							Weak symbols are now actually resolved to the same strong symbol between
shared objects and copy relocations now work! 
							
						 
						
							2025-01-24 19:23:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b6455e0661 
								
							 
						 
						
							
							
								
								LibC: Implement stub for clock  
							
							
							
						 
						
							2025-01-24 19:23:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								15021b442c 
								
							 
						 
						
							
							
								
								LibC: Fix memchr and memcmp assembly implementations  
							
							... 
							
							
							
							These functions did not work with size 0 :D 
							
						 
						
							2025-01-23 21:55:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9893c90e74 
								
							 
						 
						
							
							
								
								Kernel: Remove SYS_DUP and implement it using fcntl F_DUPFD  
							
							
							
						 
						
							2025-01-17 19:29:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								766b8cd62e 
								
							 
						 
						
							
							
								
								LibC: Fix stdio FILE operations  
							
							... 
							
							
							
							Mixing read/write/ungetc was broken. This mostly fixes everything. There
might still be some problems that have to be fixed 
							
						 
						
							2025-01-16 14:57:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								72059a9441 
								
							 
						 
						
							
							
								
								LibC: Redefine SEEK_* macros to match common systems  
							
							... 
							
							
							
							some ports written in assembly seem to depend on this 
							
						 
						
							2025-01-14 22:52:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ebecbb69ec 
								
							 
						 
						
							
							
								
								LibC: Implement some mem* and str* functions in assembly  
							
							... 
							
							
							
							This made them a lot faster on modern cpus with optimized rep stos and
rep movs 
							
						 
						
							2025-01-14 22:50:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								14c70c5cc8 
								
							 
						 
						
							
							
								
								LibC: Make mem* and str* functions weak symbols  
							
							... 
							
							
							
							This allows adding architecture dependent implementations while still
providing an general implementation 
							
						 
						
							2025-01-14 18:36:54 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d62a67502e 
								
							 
						 
						
							
							
								
								LibC: Remove global -fno-tree-loop-distribute-patterns flag  
							
							... 
							
							
							
							This is only really needed for string.cpp where mem* and str* functions
are defined 
							
						 
						
							2025-01-14 18:35:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4b2c303873 
								
							 
						 
						
							
							
								
								LibC: Add weak_alias header that defines a weak_alias macro  
							
							
							
						 
						
							2025-01-14 18:33:57 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8c45249c06 
								
							 
						 
						
							
							
								
								LibC: Remove stdint.h as toolchain provides one  
							
							... 
							
							
							
							I have no idea why i even had this written, it was just containing
compiler macros 
							
						 
						
							2024-12-30 06:26:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								55c8a15983 
								
							 
						 
						
							
							
								
								aoc2024: Implement day25 solution  
							
							... 
							
							
							
							This was a nice AOC season. First time I fully completed it! I may still
optimize my solutions as some of them are a bit slow... 
							
						 
						
							2024-12-25 18:13:57 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3607e2e759 
								
							 
						 
						
							
							
								
								aoc2024: Implement day24 solution  
							
							... 
							
							
							
							This is kinda weird and specific to my input but it works xD 
							
						 
						
							2024-12-25 18:13:20 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d035068982 
								
							 
						 
						
							
							
								
								aoc2024: Implement day23 solution  
							
							... 
							
							
							
							I'm not proud of my implementation to last 2 days, but they work in a
reasonable time. I might optimize them later...
Problem is largely with my hash structures. Preallocating a lot of
elements before running day22 makes it run in less than half of the
current time. 
							
						 
						
							2024-12-23 21:20:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af8156f310 
								
							 
						 
						
							
							
								
								aoc2024: Implement day22 solution  
							
							
							
						 
						
							2024-12-23 01:47:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								47b995a2a3 
								
							 
						 
						
							
							
								
								aoc2024: Implement day21 solution  
							
							
							
						 
						
							2024-12-22 21:39:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6f8f99f42c 
								
							 
						 
						
							
							
								
								Terminal: Set terminal size with TIOCSWINSZ when starting  
							
							... 
							
							
							
							This actually fixes the very broken vim port 
							
						 
						
							2024-12-21 03:23:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9caa3030ea 
								
							 
						 
						
							
							
								
								aoc2024: Implement day20 solution  
							
							
							
						 
						
							2024-12-20 21:31:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3e9826acf5 
								
							 
						 
						
							
							
								
								aoc2024: Implement day19 solution  
							
							
							
						 
						
							2024-12-19 12:57:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a7f3351c0e 
								
							 
						 
						
							
							
								
								TaskBar: Prevent possible division by zero  
							
							... 
							
							
							
							If battery reports its full capacity as zero, battery percentage
calculation did a division by zero crashing the TaskBar :) 
							
						 
						
							2024-12-18 18:36:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2e39668605 
								
							 
						 
						
							
							
								
								aoc2024: Implement day18 solution  
							
							
							
						 
						
							2024-12-18 14:06:32 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0642c569b4 
								
							 
						 
						
							
							
								
								TaskBar: Show battery percentage if available  
							
							
							
						 
						
							2024-12-18 14:06:32 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a584e1a4ec 
								
							 
						 
						
							
							
								
								aoc2024: Implement day17 solution  
							
							
							
						 
						
							2024-12-17 23:30:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								463bb72d24 
								
							 
						 
						
							
							
								
								aoc2024: Implement day16 solution  
							
							
							
						 
						
							2024-12-16 17:23:08 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a7e06715ba 
								
							 
						 
						
							
							
								
								aoc2024: Implement day15 solution  
							
							
							
						 
						
							2024-12-15 20:45:57 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a89fd95864 
								
							 
						 
						
							
							
								
								aoc2024: Implement day14 solution  
							
							
							
						 
						
							2024-12-14 23:52:22 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9ba9469bb1 
								
							 
						 
						
							
							
								
								aoc2024: Optimize day12  
							
							... 
							
							
							
							There is actually no need for hash maps 
							
						 
						
							2024-12-14 03:58:11 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4dbf173ed4 
								
							 
						 
						
							
							
								
								aoc2024: Implement day13 solution  
							
							
							
						 
						
							2024-12-14 03:17:55 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8936cca9cf 
								
							 
						 
						
							
							
								
								aoc2024: Implement day12 solution  
							
							
							
						 
						
							2024-12-12 17:03:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c704680a8 
								
							 
						 
						
							
							
								
								aoc2024: Implement day11 solution  
							
							... 
							
							
							
							Finally we got a problem where trivial solution does not work 
							
						 
						
							2024-12-11 09:05:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3e36834751 
								
							 
						 
						
							
							
								
								aoc2024: Implement day10 solution  
							
							
							
						 
						
							2024-12-10 17:26:39 +02:00  
				
					
						
							
							
								
								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 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf9ba737f0 
								
							 
						 
						
							
							
								
								aoc2024: Implement day7 solution  
							
							
							
						 
						
							2024-12-07 07:34:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fbc0319cb6 
								
							 
						 
						
							
							
								
								aoc2024: Implement day6 solution  
							
							
							
						 
						
							2024-12-07 01:08:08 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cb7d5c9d09 
								
							 
						 
						
							
							
								
								userspace: Implement `dirname` utility  
							
							
							
						 
						
							2024-12-05 08:30:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								097ab82529 
								
							 
						 
						
							
							
								
								userspace: Implement `basename` utility  
							
							
							
						 
						
							2024-12-05 08:30:06 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ccb603d77f 
								
							 
						 
						
							
							
								
								aoc2024: Implement day5 solution  
							
							
							
						 
						
							2024-12-05 08:16:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d7b02db832 
								
							 
						 
						
							
							
								
								aoc2024: Implement day4 solution  
							
							
							
						 
						
							2024-12-05 08:16:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56cc5da9fb 
								
							 
						 
						
							
							
								
								userspace: Implement `ln` utility  
							
							
							
						 
						
							2024-12-05 08:14:45 +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 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3a5a22511a 
								
							 
						 
						
							
							
								
								aoc2024: Implement day3 solution  
							
							
							
						 
						
							2024-12-03 20:29:38 +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 
							
						 
						
							
								ffcc4fd03a 
								
							 
						 
						
							
							
								
								init: Make tty owned by logged in user  
							
							
							
						 
						
							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 
							
						 
						
							
								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  
				
					
						
							
							
								
								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 
							
						 
						
							
								a231f8587e 
								
							 
						 
						
							
							
								
								aoc2024: Implement day2 solution  
							
							
							
						 
						
							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 
							
						 
						
							
								1ff6aa1748 
								
							 
						 
						
							
							
								
								aoc2024: cleanup day1 solution  
							
							
							
						 
						
							2024-12-01 07:58:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6662dc4a8d 
								
							 
						 
						
							
							
								
								aoc2024: fix `full` runner search path for solutions  
							
							
							
						 
						
							2024-12-01 07:58:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d6b170e274 
								
							 
						 
						
							
							
								
								aoc2024: implement day1 solution  
							
							
							
						 
						
							2024-12-01 07:41:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								11cac7a646 
								
							 
						 
						
							
							
								
								aoc2024: prepare programming environment  
							
							
							
						 
						
							2024-12-01 07:41:25 +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 
							
						 
						
							
								f985673dc3 
								
							 
						 
						
							
							
								
								LibGUI: Add API to retrieve Window's underlying framebuffer  
							
							
							
						 
						
							2024-11-27 13:29:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e1b82e4e43 
								
							 
						 
						
							
							
								
								WindowServer: Don't allow focusing unfocusable windows after closing  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								df613775b6 
								
							 
						 
						
							
							
								
								WindowServer: Alpha blend background image in fullscreen mode  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c96aee5740 
								
							 
						 
						
							
							
								
								WindowServer: Make mod+f toggle focused window fullscreen state  
							
							
							
						 
						
							2024-11-15 20:45:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c08849667 
								
							 
						 
						
							
							
								
								WindowServer: Draw cursor in fullscreen mode  
							
							
							
						 
						
							2024-11-15 20:45:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								73349e5e75 
								
							 
						 
						
							
							
								
								WindowServer: don't set window location to (0,0) when fullscreening  
							
							
							
						 
						
							2024-11-15 20:43:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								74ae411b69 
								
							 
						 
						
							
							
								
								WindowServer: Skip invalidation on other windows in fullscreen mode  
							
							
							
						 
						
							2024-11-15 20:42:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d458592fb1 
								
							 
						 
						
							
							
								
								WindowServer: Don't focus unfocusable windows on window creation  
							
							
							
						 
						
							2024-11-15 20:41:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								627c89a62d 
								
							 
						 
						
							
							
								
								LibGUI: Actually set window attributes when creating a window  
							
							
							
						 
						
							2024-11-14 23:33:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a859558840 
								
							 
						 
						
							
							
								
								LibGUI: Window Creation takes attributes as an argument  
							
							... 
							
							
							
							This reduces windows showing/moving once they are opened and setting
their attributes. 
							
						 
						
							2024-11-14 20:57:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bda2c663da 
								
							 
						 
						
							
							
								
								WindowServer: Implement fullscreen windows  
							
							... 
							
							
							
							If window size does not match framebuffer size, window data will be
scaled to framebuffer using nearest sampling for best performance. 
							
						 
						
							2024-11-13 19:10:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5e041e6e5a 
								
							 
						 
						
							
							
								
								WindowServer: Make all terminating signals exit cleanly  
							
							... 
							
							
							
							This allows window server to restore input handling to TTY if window
server crashes on page fault or some other unexpected exception. 
							
						 
						
							2024-11-13 17:32:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d19264eea8 
								
							 
						 
						
							
							
								
								WindowServer: Implement partial window resizing  
							
							... 
							
							
							
							This patch adds support for client side resizing, so clients can request
the server to resize their windows. WindowServer will respond with
resize event when and if the resizing is complete. 
							
						 
						
							2024-11-13 17:30:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7542e55cb2 
								
							 
						 
						
							
							
								
								LibC: Add option to debug userspace malloc family calls  
							
							
							
						 
						
							2024-11-10 14:03:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6bd51ac345 
								
							 
						 
						
							
							
								
								LibGUI: Client window now exits if it loses connection from server  
							
							... 
							
							
							
							This can be prevented by installing callback for socket errors. 
							
						 
						
							2024-11-10 14:02:23 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf21eb4b39 
								
							 
						 
						
							
							
								
								TaskBar: Cleanup TaskBar string generation  
							
							
							
						 
						
							2024-11-08 02:57:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								da8170c5b6 
								
							 
						 
						
							
							
								
								LibGUI: Add support for focusable windows and mouse capturing  
							
							... 
							
							
							
							These are essential parts of a window server! This allows making TaskBar
non-focusable. 
							
						 
						
							2024-11-08 02:55:10 +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 
							
						 
						
							
								5fde2cf91a 
								
							 
						 
						
							
							
								
								TaskBar: Ignore window close events and exit on connection close  
							
							... 
							
							
							
							This prevents user from killing the task bar with keyboard shortcuts 
							
						 
						
							2024-10-18 17:19:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d57e797147 
								
							 
						 
						
							
							
								
								WindowServer: Don't kill window on key event, instead send close event  
							
							... 
							
							
							
							This allows notifying the client about window close and let client
handle it as it wants 
							
						 
						
							2024-10-18 17:17:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e99a271465 
								
							 
						 
						
							
							
								
								Userspace: Implement basic task bar  
							
							... 
							
							
							
							This bar only shows current time but its something to work on later! 
							
						 
						
							2024-10-18 03:36:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d266c7f93b 
								
							 
						 
						
							
							
								
								LibGUI: Implement attributes for windows  
							
							... 
							
							
							
							Windows can now change whether they have title bar, rounded corners,
alpha channel and whether they are movable. Also windows can also change
their own position 
							
						 
						
							2024-10-18 03:32:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d7e5c56e94 
								
							 
						 
						
							
							
								
								userspace: Use SOCK_STREAM instead of SOCK_SEQPACKET for WindowServer  
							
							... 
							
							
							
							This makes more sense if we have longer packages 
							
						 
						
							2024-10-17 01:44:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								91381546d5 
								
							 
						 
						
							
							
								
								Shell: Don't crash if history file does not exist :D  
							
							
							
						 
						
							2024-10-16 00:41:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								41e2b898ab 
								
							 
						 
						
							
							
								
								Shell: Implement history file for persistent history storage  
							
							
							
						 
						
							2024-10-16 00:21:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6e981d1222 
								
							 
						 
						
							
							
								
								Shell: Add support for inline environment variables  
							
							... 
							
							
							
							e.g. `foo=$(echo lol) Shell -c 'echo $foo'` will now print lol! 
							
						 
						
							2024-10-15 23:45:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8317bb13ca 
								
							 
						 
						
							
							
								
								Shell: Cleanup code by defining argument types as nested types  
							
							
							
						 
						
							2024-10-15 23:44:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c40f244dff 
								
							 
						 
						
							
							
								
								Shell: remove `env` builtin and add `type`  
							
							... 
							
							
							
							other shells don't seem to implement as a builtin, so i won't either 
							
						 
						
							2024-10-15 23:42:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a6aa048be0 
								
							 
						 
						
							
							
								
								userspace: Implement `env` as an executable  
							
							
							
						 
						
							2024-10-15 23:42:01 +03:00