Bananymous 
							
						 
						
							
								82f4975f45 
								
							 
						 
						
							
							
								
								LibC: Save callee saved registers on setjmp  
							
							
							
						 
						
							2025-05-04 13:54:35 +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 
							
						 
						
							
								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 
							
						 
						
							
								16dbfbb267 
								
							 
						 
						
							
							
								
								LibC: Make limits.h `*_MAX` usable in #if comparisons  
							
							
							
						 
						
							2025-04-20 17:15:20 +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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								ab4dd6a268 
								
							 
						 
						
							
							
								
								LibC: Add ARG_MAX constant  
							
							
							
						 
						
							2025-04-19 00:39:42 +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 
							
						 
						
							
								4bcd3ed86f 
								
							 
						 
						
							
							
								
								Kernel: Start working on TLS, add SYS_{SET,GET}_TLS  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								64002626b9 
								
							 
						 
						
							
							
								
								LibC: Add h_addr definition for hostent backwards compatibility  
							
							
							
						 
						
							2025-04-15 21:39:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								be786be67d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_join  
							
							
							
						 
						
							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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								9893c90e74 
								
							 
						 
						
							
							
								
								Kernel: Remove SYS_DUP and implement it using fcntl F_DUPFD  
							
							
							
						 
						
							2025-01-17 19:29:47 +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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								b8013c883c 
								
							 
						 
						
							
							
								
								LibC: Implement getpass  
							
							
							
						 
						
							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 
							
						 
						
							
								747c3b2a4b 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement fsync  
							
							
							
						 
						
							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 
							
						 
						
							
								783627c315 
								
							 
						 
						
							
							
								
								LibC: Fix time.h sigevent defition  
							
							
							
						 
						
							2024-12-01 21:31:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d465ea2a67 
								
							 
						 
						
							
							
								
								LibC: Fix headers :)  
							
							
							
						 
						
							2024-11-27 21:32:10 +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