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