Bananymous 
							
						 
						
							
								e473118ec8 
								
							 
						 
						
							
							
								
								userspace: Add nologin "shell"  
							
							
							
						 
						
							2025-06-02 12:26:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								755d41ca4e 
								
							 
						 
						
							
							
								
								LibC: Add pw_passwd and pw_gecos to passwd structure  
							
							... 
							
							
							
							This information is available in /etc/passwd either way so why not
expose it to the user. Practically all UNIX-likes have these either way 
							
						 
						
							2025-06-02 12:23:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fdcb38ac1f 
								
							 
						 
						
							
							
								
								Shell: Accept '\r' as enter  
							
							... 
							
							
							
							This happens with some terminals and i don't want to bother with fixing
my termios :D 
							
						 
						
							2025-06-02 11:42:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fac742c038 
								
							 
						 
						
							
							
								
								test-sort: Add qsort test  
							
							
							
						 
						
							2025-06-02 11:41:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5a6b43fc90 
								
							 
						 
						
							
							
								
								LibC: Remove debug printing from getnameinfo  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								317f413746 
								
							 
						 
						
							
							
								
								LibC: Implement very hacky posix_memalign  
							
							... 
							
							
							
							I did not even test this and i know the code is super hacky. I could not
bother with writing proper code for this xD 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								895909b7fa 
								
							 
						 
						
							
							
								
								LibC: Add CMSG_* definitions to sys/socket.h  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ee8b6c8b4 
								
							 
						 
						
							
							
								
								LibC: Add more definitions to netinet/in.h  
							
							... 
							
							
							
							These are non-standard but a lot of UNIX-likes have them networking
software attempts to use them 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								022bb69782 
								
							 
						 
						
							
							
								
								LibC: Implement inet_aton  
							
							... 
							
							
							
							This is not POSIX but IMO it makes sense to have the counter part to
inet_ntoa 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b7948551ff 
								
							 
						 
						
							
							
								
								userspace: Add empty libm and libpthread  
							
							... 
							
							
							
							These making porting stuff easier. I could not find a way to tell CMake
that the system does not have threads library 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e9f8471a28 
								
							 
						 
						
							
							
								
								BAN: Return UTF::invalid from byte_length instead of 0  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4656b11256 
								
							 
						 
						
							
							
								
								LibC: actually use ATEXIT_MAX for atexit limit  
							
							
							
						 
						
							2025-06-02 10:43:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2b48933f29 
								
							 
						 
						
							
							
								
								LibC: Implement all functions from complex.h  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4ac6cbe70e 
								
							 
						 
						
							
							
								
								LibC: Add some missing wchar.h functions  
							
							... 
							
							
							
							isw* functions are just wrappers to is*
tow* functions are just wrappers to to* 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc07c3df94 
								
							 
						 
						
							
							
								
								LibC: Add basic strxfrm{,_l}  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								31bcad2535 
								
							 
						 
						
							
							
								
								LibC: Implement truncate  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b75970958e 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement unlinkat  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								91756c057e 
								
							 
						 
						
							
							
								
								LibC: Add all of the missing POSIX definitions in unistd.h and limits.h  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								df7f245cf8 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_atfork  
							
							... 
							
							
							
							Again this code is not tested but *feels* right :D 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dbdefa0f4a 
								
							 
						 
						
							
							
								
								LibC: Implement pthread cancelation  
							
							... 
							
							
							
							This code is not tested at all but it looks correct xD 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56fdf6002c 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_kill  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c957f1ddca 
								
							 
						 
						
							
							
								
								LibC: Cleanup pthread code and add some pthread_attr functions  
							
							... 
							
							
							
							errno, pthread cleanup and pthread id are now stored in uthread. This
allows using these without TLS 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								423386a052 
								
							 
						 
						
							
							
								
								LibC: Add memory.h that just includes string.h  
							
							... 
							
							
							
							There are a lot of ports trying to include memory.h. This is not posix
but glibc just includes string.h. I think this is just to privide mem*
functionss...? 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c882ea361 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't print TODOs on PT_GNU_ headers  
							
							... 
							
							
							
							These should be either handled by kernel or just used as optimizations.
There is no requirement to handle them in dynamic loader 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b1065fa01d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add ppoll syscall and fix poll  
							
							... 
							
							
							
							poll is now using its own syscall instead of wrapping aroung pselect.
This adds less overhead on top of poll and adds support for POLLHUP 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bd454b8fd 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement utime* family functions  
							
							... 
							
							
							
							This patch adds *working*
 - utime
 - utimes
 - utimensat
 - futimens 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								37dea8aee7 
								
							 
						 
						
							
							
								
								userspace: Implement basic `less` program  
							
							... 
							
							
							
							This is very simple and only supports couple of flags and scrolling 
							
						 
						
							2025-05-29 01:00:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								69c4940b27 
								
							 
						 
						
							
							
								
								LibC: Fix `signal` return value  
							
							... 
							
							
							
							signal was returning `func` when it should've returned the old handler 
							
						 
						
							2025-05-29 00:58:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7691b019e2 
								
							 
						 
						
							
							
								
								LibC: Fix printf %c modifier for null byte  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f55d6b11c5 
								
							 
						 
						
							
							
								
								LibC: Implement `mblen`  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f52877abb4 
								
							 
						 
						
							
							
								
								LibC: Implement `readv` and `writev`  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ee7c9b6731 
								
							 
						 
						
							
							
								
								LibC: Add simple `getnameinfo`  
							
							... 
							
							
							
							This doesn't actually do any name resolution but just formats input to
string. 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4721344518 
								
							 
						 
						
							
							
								
								LibC: Don't fail `getaddrinfo` if node is null  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e0d986dcd7 
								
							 
						 
						
							
							
								
								LibC: Add missing u_char and u_short types  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c7be3dcd5b 
								
							 
						 
						
							
							
								
								LibC: Add timer{add,sub,clear,isset,cmp}  
							
							... 
							
							
							
							These are not POSIX but used by used by some ports 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								89c9bfd052 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `socketpair` for UNIX sockets  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12b93567f7 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `getpeername`  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8aa4e4ff1e 
								
							 
						 
						
							
							
								
								LibC: Implement `clearenv`  
							
							... 
							
							
							
							This is GNU extension but seems nice to have :D 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7eade002a7 
								
							 
						 
						
							
							
								
								LibC: Fix `mktime`  
							
							... 
							
							
							
							yday calculation was off so results were always off for march-december 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a8f8d27f4e 
								
							 
						 
						
							
							
								
								LibC: Implement basic tzset()  
							
							... 
							
							
							
							I still don't have timezone support so this just sets values to UTC 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								356935bd4f 
								
							 
						 
						
							
							
								
								LibC: Fix strtou{,l,ll} for negative values  
							
							... 
							
							
							
							Also set endp if base is invalid 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bce3dd045f 
								
							 
						 
						
							
							
								
								LibC: Fix strncat return value  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								44b762f916 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pwrite and make pread non-locking  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5d80c880c8 
								
							 
						 
						
							
							
								
								LibC: Fix `FILE` buffering once again :D  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b907263f35 
								
							 
						 
						
							
							
								
								LibC: Implement basic tmpfile  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0f0accf82c 
								
							 
						 
						
							
							
								
								LibC: Don't use `false` in pthread initializers  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ddcf414107 
								
							 
						 
						
							
							
								
								LibC: Fix netinet/in.h and arpa/inet.h definitions  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b90cfa8e5c 
								
							 
						 
						
							
							
								
								test-window: poll events instead of sleeping  
							
							
							
						 
						
							2025-05-13 10:19:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e7f0cd0c4b 
								
							 
						 
						
							
							
								
								stat: Fix return value when one of stats fails  
							
							
							
						 
						
							2025-05-13 10:19:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0661b339a0 
								
							 
						 
						
							
							
								
								test-tcp: Fix name resolution  
							
							... 
							
							
							
							Comparison was the wrong way around so hostname lookup always failed. 
							
						 
						
							2025-05-13 10:19:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bcd1edbf5 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement basic epoll  
							
							... 
							
							
							
							This implementation is on top of inodes instead of fds as linux does it.
If I start finding ports/software that relies on epoll allowing
duplicate inodes, I will do what linux does.
I'm probably missing multiple epoll_notify's which may cause hangs but
the system seems to work fine :dd: 
							
						 
						
							2025-05-13 10:18:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a8844ddd28 
								
							 
						 
						
							
							
								
								WindowServer: Send mouse release to same window as mouse press  
							
							
							
						 
						
							2025-05-13 10:16:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c18fefd5f3 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup cmake library linking  
							
							
							
						 
						
							2025-05-07 18:42:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2a6dc6a7b7 
								
							 
						 
						
							
							
								
								LibGUI: Add missing Texture files  
							
							
							
						 
						
							2025-05-07 17:21:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								40617f0d5c 
								
							 
						 
						
							
							
								
								WindowServer: Make mod+d open program launcher  
							
							
							
						 
						
							2025-05-06 00:42:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								09745a7835 
								
							 
						 
						
							
							
								
								userspace: Implement program launcher  
							
							... 
							
							
							
							This is kinda useless as I only have Terminal and test-window
implemented. Also the code is really messy as I don't have GUI widgets. 
							
						 
						
							2025-05-06 00:41:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								57f6f50939 
								
							 
						 
						
							
							
								
								Terminal: Implement dumb font bolding  
							
							... 
							
							
							
							This is just drawing character twice at one pixel offset 
							
						 
						
							2025-05-05 23:09:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f959905adf 
								
							 
						 
						
							
							
								
								LibGUI: Rework window rendering  
							
							... 
							
							
							
							Abstract drawing surface to Texture. All windows now contain a texture
matching its size. 
							
						 
						
							2025-05-05 23:08:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f78c7e7926 
								
							 
						 
						
							
							
								
								LibGUI: Add API to block until window events are available  
							
							
							
						 
						
							2025-05-05 22:33:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2dc4733ac1 
								
							 
						 
						
							
							
								
								test: improve pthread test  
							
							
							
						 
						
							2025-05-05 19:21:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f14774d034 
								
							 
						 
						
							
							
								
								libc: fix tmpnam when no name is found  
							
							
							
						 
						
							2025-05-05 19:17:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c08c63f420 
								
							 
						 
						
							
							
								
								libc: reorder destructor and fflush in exit  
							
							
							
						 
						
							2025-05-05 19:16:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								eb79c6c47c 
								
							 
						 
						
							
							
								
								mkdir: Add -p option  
							
							
							
						 
						
							2025-05-05 19:16:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bf1cbb4cde 
								
							 
						 
						
							
							
								
								Terminal: Update terminal size and send SIGWINCH on resize  
							
							
							
						 
						
							2025-05-05 19:09:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0689954433 
								
							 
						 
						
							
							
								
								Terminal: Set minimum size to 8x2 cells  
							
							
							
						 
						
							2025-05-05 18:20:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5c37f198cb 
								
							 
						 
						
							
							
								
								WindowServer/LibGUI: Allow windows to set minimum size  
							
							
							
						 
						
							2025-05-05 18:19:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3b02a9d4fe 
								
							 
						 
						
							
							
								
								WindowServer: Resize from closest corner  
							
							
							
						 
						
							2025-05-05 18:19:19 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c9057aa498 
								
							 
						 
						
							
							
								
								WindowServer: Cleanup code and resize on fullscreen  
							
							
							
						 
						
							2025-05-05 16:42:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2b0d198b05 
								
							 
						 
						
							
							
								
								Terminal: Allow resizing of the terminal  
							
							
							
						 
						
							2025-05-05 03:15:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7798145c74 
								
							 
						 
						
							
							
								
								WindowServer: Implement window resizing  
							
							... 
							
							
							
							windows can now set resizable attribute which allows window server to
resize them 
							
						 
						
							2025-05-05 03:14:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fcfadd7c74 
								
							 
						 
						
							
							
								
								LibGUI: Add background color for windows  
							
							... 
							
							
							
							This is used when resizing a window to fill the empty space 
							
						 
						
							2025-05-05 03:12:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								76d4e6bd18 
								
							 
						 
						
							
							
								
								LibGUI: Add support for changing window title  
							
							
							
						 
						
							2025-05-05 01:10:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ccb81de85d 
								
							 
						 
						
							
							
								
								snake: Use box drawing characters  
							
							... 
							
							
							
							This makes it look much better.
Also fix bug with apples generating on top of snake's tail 
							
						 
						
							2025-05-05 00:30:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82f4975f45 
								
							 
						 
						
							
							
								
								LibC: Save callee saved registers on setjmp  
							
							
							
						 
						
							2025-05-04 13:54:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d457e6ad6a 
								
							 
						 
						
							
							
								
								LibC: Fix printf e/E modifier for negative exponents  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								abf7c8e68a 
								
							 
						 
						
							
							
								
								LibC: Implement `difftime`  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a38d0c31e 
								
							 
						 
						
							
							
								
								LibC: Add g/G modifiers to printf  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								006a196e4a 
								
							 
						 
						
							
							
								
								LibC: optimize strpbrk, str{,c}spn, strtok{,_r}  
							
							... 
							
							
							
							These matches are now detected with bitmasks instead of looping over the
second string 
							
						 
						
							2025-04-24 01:39:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								73f9de6635 
								
							 
						 
						
							
							
								
								Terminal: Add support for ANSI SGR 8bit and 24bit  
							
							
							
						 
						
							2025-04-23 22:03:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12b9c82086 
								
							 
						 
						
							
							
								
								Terminal: Don't wrap cursor right after x == cols  
							
							... 
							
							
							
							This prevents scrolling when bottom right scroll is written to 
							
						 
						
							2025-04-23 22:03:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								28bf2d6374 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Add support for ANSI DSR  
							
							
							
						 
						
							2025-04-23 06:14:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8a00b53050 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Fix ANSI SGR m for multiple values  
							
							
							
						 
						
							2025-04-23 05:29:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8834241417 
								
							 
						 
						
							
							
								
								LibC: Fix scanf %n modifier  
							
							... 
							
							
							
							Old code was always returning off by one 
							
						 
						
							2025-04-22 09:55:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96740d6be4 
								
							 
						 
						
							
							
								
								LibC: Make `inet_addr` spec compliant  
							
							... 
							
							
							
							I was not doing any error checking, basically i validated anything that
started with atleast a single digit. 
							
						 
						
							2025-04-22 09:40:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								33a0f562d3 
								
							 
						 
						
							
							
								
								resolver: Add support for CNAME  
							
							... 
							
							
							
							Also rework resolver's send format and convert test-tcp and nslookup to
use getaddrinfo 
							
						 
						
							2025-04-22 08:36:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								808c97020a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SA_RESTART  
							
							... 
							
							
							
							I have been thinking how to do this for a long time but I finally
figured out a semi-clean way 
							
						 
						
							2025-04-22 02:42:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								34e680d792 
								
							 
						 
						
							
							
								
								ports/ncurses: Set some needed environment variables  
							
							... 
							
							
							
							ncurses depends on these being set to function properly 
							
						 
						
							2025-04-22 01:56:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f467a9a309 
								
							 
						 
						
							
							
								
								resolver: Resolve hostname to loopback address  
							
							... 
							
							
							
							We don't currently support loopback adapters, but some ports were trying
to resolve it. 
							
						 
						
							2025-04-22 00:48:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5c9710c78b 
								
							 
						 
						
							
							
								
								LibC: Implement `strcoll_l`  
							
							
							
						 
						
							2025-04-22 00:48:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								028c7a822f 
								
							 
						 
						
							
							
								
								LibC: Don't define SCHAR_MAX in locale.c  
							
							
							
						 
						
							2025-04-21 22:21:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								543bb3cc4b 
								
							 
						 
						
							
							
								
								LibC: Rework malloc locking add proper realloc  
							
							
							
						 
						
							2025-04-21 20:29:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b774f147da 
								
							 
						 
						
							
							
								
								LibC: Implement dummy pthread_attr_{get,set}detachstate  
							
							... 
							
							
							
							detached threads are not yet supported, but this allows implementation
to make sure threads are joinable. 
							
						 
						
							2025-04-21 19:58:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2a5921b9c9 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_barrier  
							
							... 
							
							
							
							This is not fully working but should be fine for most cases 
							
						 
						
							2025-04-21 19:53:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60cb392e97 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_barrier  
							
							... 
							
							
							
							This is yet another bad sched_yield implementation :D 
							
						 
						
							2025-04-21 19:52:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d012c538c3 
								
							 
						 
						
							
							
								
								LibC: Add PTHREAD_SPIN_INITIALIZER  
							
							... 
							
							
							
							This is not posix, but current implementation allows adding this 
							
						 
						
							2025-04-21 19:47:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c88d0d7f7 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_rwlock  
							
							... 
							
							
							
							This uses the same dumb sched_yield instead of actually blocking :D 
							
						 
						
							2025-04-21 18:48:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								773b8de8ba 
								
							 
						 
						
							
							
								
								LibC: Refactor pthread type definitions  
							
							
							
						 
						
							2025-04-21 14:38:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5d8dd090a9 
								
							 
						 
						
							
							
								
								LibC: Implement `pthread_once`  
							
							
							
						 
						
							2025-04-21 14:17:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2cbfe70a28 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't leak fds  
							
							
							
						 
						
							2025-04-20 18:18:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								16dbfbb267 
								
							 
						 
						
							
							
								
								LibC: Make limits.h `*_MAX` usable in #if comparisons  
							
							
							
						 
						
							2025-04-20 17:15:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								265b4c2b22 
								
							 
						 
						
							
							
								
								LibC: Implement `thread_equal`  
							
							
							
						 
						
							2025-04-20 03:27:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								db9db2cc40 
								
							 
						 
						
							
							
								
								LibC: Implement basic pthread mutexes  
							
							... 
							
							
							
							This implementation is just calling sched_yield if it could not get
mutex. This is not optimal as it does not allow the CPU to idle, but it
works for now :)
Also I did not test this code at all, but it feels correct :D 
							
						 
						
							2025-04-20 03:27:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3642eabac0 
								
							 
						 
						
							
							
								
								LibC: Use BAN::atomic_* functions in pthread spinlock  
							
							... 
							
							
							
							This allows us not to reinterpret_cast pthread_spin_t to
BAN::Atomic<pthread_spin_t> which is much better :) 
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1ccff9478f 
								
							 
						 
						
							
							
								
								LibC: Don't define __tls_get_addr if TLS is disabled  
							
							... 
							
							
							
							This makes linking fail if something tries to use TLS :) 
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								85f9b585f5 
								
							 
						 
						
							
							
								
								LibC: Don't yield on `pthread_spin_lock`  
							
							... 
							
							
							
							Thats kinda the whole point of spinlocks :D 
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								01626b4c9f 
								
							 
						 
						
							
							
								
								LibC: Add stub for `pthread_detach`  
							
							
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a85841ca76 
								
							 
						 
						
							
							
								
								LibC: Add stub for `pthread_attr_setstacksize`  
							
							
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fe6c4cd0b5 
								
							 
						 
						
							
							
								
								LibC: Implement POSIX TLD area (pthread_key*)  
							
							
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f1585d09e1 
								
							 
						 
						
							
							
								
								LibC: Add more integer size definintions to limits.h  
							
							
							
						 
						
							2025-04-19 21:50:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6f9dc2a9b8 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `fchdir`, cleanup `chdir` and `getcwd`  
							
							
							
						 
						
							2025-04-19 21:28:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7edfae8583 
								
							 
						 
						
							
							
								
								Shell: Cleanup `export` builtin  
							
							
							
						 
						
							2025-04-19 21:23:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								28275d86ea 
								
							 
						 
						
							
							
								
								LibC/Shell: set PWD env in Shell, not libc  
							
							... 
							
							
							
							I have no idea why I was doing it in the libc 
							
						 
						
							2025-04-19 21:16:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2d19b5074e 
								
							 
						 
						
							
							
								
								LibC: Implement some missing wchar functions  
							
							
							
						 
						
							2025-04-19 20:56:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e62cc17797 
								
							 
						 
						
							
							
								
								LibC: Use `nl_langinfo` for strings in `strftime`  
							
							
							
						 
						
							2025-04-19 20:03:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								407eed212a 
								
							 
						 
						
							
							
								
								LibC: Implement nl_langinfo  
							
							... 
							
							
							
							All values are from POSIX locale except CODESET which can be "UTF-8"
depending on the current locale 
							
						 
						
							2025-04-19 20:02:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12d47858c1 
								
							 
						 
						
							
							
								
								LibC: Fix overflow error in `fread` and `fwrite`  
							
							
							
						 
						
							2025-04-19 18:42:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dc188e601a 
								
							 
						 
						
							
							
								
								LibC: Add definition for LOG_UPTO  
							
							
							
						 
						
							2025-04-19 02:48:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8a2df23260 
								
							 
						 
						
							
							
								
								LibC: Define RLIM_NLIMITS  
							
							
							
						 
						
							2025-04-19 02:34:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								46079a8612 
								
							 
						 
						
							
							
								
								LibC: Implement no-op posix_madvice  
							
							... 
							
							
							
							Also add non-posix prefixed definitions 
							
						 
						
							2025-04-19 02:07:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8cd2d772b0 
								
							 
						 
						
							
							
								
								Shell: Print error if `execv` fails  
							
							
							
						 
						
							2025-04-19 00:39:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ff3f88b4d 
								
							 
						 
						
							
							
								
								LibC: Add support for shebangs  
							
							... 
							
							
							
							I implemented shebangs in userspace as I don't really see the benefit of
doing it in kernel space. Only benefit I can think of is executing non
readable scripts but I don't really see the benefit in that. 
							
						 
						
							2025-04-19 00:39:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ab4dd6a268 
								
							 
						 
						
							
							
								
								LibC: Add ARG_MAX constant  
							
							
							
						 
						
							2025-04-19 00:39:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0094efc7f4 
								
							 
						 
						
							
							
								
								LibC: Fix `execl*` memory leak on error  
							
							
							
						 
						
							2025-04-18 20:54:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d73a270fb1 
								
							 
						 
						
							
							
								
								Shell: Save and restore stdin flags after child returns  
							
							... 
							
							
							
							If child makes stdin nonblocking, Shell now restores it back to "normal"
flags 
							
						 
						
							2025-04-18 18:26:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d9647868cc 
								
							 
						 
						
							
							
								
								Terminal: Fix ANSI SGR color invert  
							
							
							
						 
						
							2025-04-18 17:32:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4409d0f03f 
								
							 
						 
						
							
							
								
								Terminal: Implement ANSI CSI A, B, b, d, @  
							
							
							
						 
						
							2025-04-17 23:16:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ebd00b1eb2 
								
							 
						 
						
							
							
								
								Terminal: Implement ANSI SGR 10, 39, 49  
							
							
							
						 
						
							2025-04-17 23:15:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3ca0ef1583 
								
							 
						 
						
							
							
								
								LibGUI: Add copy_rect API  
							
							... 
							
							
							
							This allows moving parts of window around 
							
						 
						
							2025-04-17 23:14:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								88abbd90dc 
								
							 
						 
						
							
							
								
								LibC: Fix strncat  
							
							... 
							
							
							
							strncat was using strncpy internally which nullpadded dest until n bytes
were written.
also there was no terminating null byte added if src was shorter than n
bytes 
							
						 
						
							2025-04-17 23:12:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bdbde25784 
								
							 
						 
						
							
							
								
								LibC: Rewrite environ handling  
							
							... 
							
							
							
							environ is only allocated on heap when you insert new variables.
environment variables are only `free`'d if they are `malloc`'d by libc 
							
						 
						
							2025-04-16 21:08:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ee9e941a56 
								
							 
						 
						
							
							
								
								LibC: Implement getitimer  
							
							
							
						 
						
							2025-04-15 23:35:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ac90800c3c 
								
							 
						 
						
							
							
								
								Kernel/LibC/DynamicLoader: Implement thread local storage  
							
							... 
							
							
							
							For some reason this does not work on 32 bit version, so it is disabled
on that platform. I'll have to look into it later to find the bug :) 
							
						 
						
							2025-04-15 23:33:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								08f5833ca8 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_attr_init  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4bcd3ed86f 
								
							 
						 
						
							
							
								
								Kernel: Start working on TLS, add SYS_{SET,GET}_TLS  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								254fd80088 
								
							 
						 
						
							
							
								
								DynamicLoader: Cleanup and prepare for TLS  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d7e6df1e44 
								
							 
						 
						
							
							
								
								LibELF: Add definitions for ELF TLS values  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								36baf7b0af 
								
							 
						 
						
							
							
								
								Kernel/LibC/DynamicLoader: Update process start ABI  
							
							... 
							
							
							
							We now use SysV abi for process startup 
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								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