Bananymous 
							
						 
						
							
								fde4d4662e 
								
							 
						 
						
							
							
								
								LibC: Implement getopt_long{,_only}  
							
							... 
							
							
							
							Few ports attempt to use this so lets add them :D 
							
						 
						
							2025-08-11 18:36:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ef6ee78fd1 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement chroot  
							
							
							
						 
						
							2025-08-11 14:07:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af0bca74e4 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement {get,set,init}groups  
							
							... 
							
							
							
							This allows dropping /etc/group parsing from the kernel :D 
							
						 
						
							2025-08-10 19:57:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ff29e9c4d6 
								
							 
						 
						
							
							
								
								LibC: Implement {,f}pathconf  
							
							... 
							
							
							
							This just return minimum values specified by posix 
							
						 
						
							2025-07-31 22:47:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc04bd0f06 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement ttyname_r  
							
							
							
						 
						
							2025-07-31 22:47:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e72e1e4e43 
								
							 
						 
						
							
							
								
								LibC: Add _SC_NPROCESSORS_{CONF,ONLN)  
							
							
							
						 
						
							2025-07-31 22:47:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								163fdcd582 
								
							 
						 
						
							
							
								
								LibC: Fix exec family function path resolution  
							
							
							
						 
						
							2025-07-15 14:17:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3e6a4f2b16 
								
							 
						 
						
							
							
								
								LibC: Add getgroups stub  
							
							
							
						 
						
							2025-06-28 20:25:35 +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 
							
						 
						
							
								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 
							
						 
						
							
								44b762f916 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pwrite and make pread non-locking  
							
							
							
						 
						
							2025-05-28 03:10:01 +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 
							
						 
						
							
								6f9dc2a9b8 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `fchdir`, cleanup `chdir` and `getcwd`  
							
							
							
						 
						
							2025-04-19 21:28:31 +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 
							
						 
						
							
								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 
							
						 
						
							
								0094efc7f4 
								
							 
						 
						
							
							
								
								LibC: Fix `execl*` memory leak on error  
							
							
							
						 
						
							2025-04-18 20:54:53 +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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								9893c90e74 
								
							 
						 
						
							
							
								
								Kernel: Remove SYS_DUP and implement it using fcntl F_DUPFD  
							
							
							
						 
						
							2025-01-17 19:29:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								88c9f6d233 
								
							 
						 
						
							
							
								
								LibC: Make environ a weak alias  
							
							... 
							
							
							
							If user program defines its own global `environ` variable it will still
work :) 
							
						 
						
							2024-12-03 20:29:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bc93d238dd 
								
							 
						 
						
							
							
								
								LibC: Fix fread argument order in gethostname  
							
							
							
						 
						
							2024-12-03 16:15:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								713daf6cd3 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add support for creating hardlinks  
							
							
							
						 
						
							2024-12-03 16:12:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d58ca5f37a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement symlink{,at}  
							
							
							
						 
						
							2024-12-02 20:13:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad1f175a39 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement getppid  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fd3246113a 
								
							 
						 
						
							
							
								
								LibC: Implement missing execlp and cleanup exec code  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b8013c883c 
								
							 
						 
						
							
							
								
								LibC: Implement getpass  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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 
							
						 
						
							
								4e9f39384a 
								
							 
						 
						
							
							
								
								LibC: Initialize libc only once  
							
							... 
							
							
							
							This was breaking stuff with dynamic loader initializing libc and main
executable reinitializing it later :D 
							
						 
						
							2024-09-24 17:56:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e431e90b20 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all chown family function with fchownat  
							
							
							
						 
						
							2024-09-17 18:35:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3666525d24 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `readlink` in terms of `readlinkat`  
							
							
							
						 
						
							2024-09-17 16:38:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2c520391eb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add support for init_array and fini_array  
							
							
							
						 
						
							2024-08-27 00:47:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad645f31d0 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add setsid()  
							
							
							
						 
						
							2024-08-11 00:58:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4d96ae56ac 
								
							 
						 
						
							
							
								
								LibC: Add stubs for ungetc(), tcflush() and symlink()  
							
							
							
						 
						
							2024-08-05 01:48:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e7a06979ec 
								
							 
						 
						
							
							
								
								LibC: Implement usleep()  
							
							... 
							
							
							
							This is not a POSIX function, but some ports seem to be using it either
way 
							
						 
						
							2024-08-05 00:54:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a33b63d066 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement alarm() and setitimer()  
							
							... 
							
							
							
							This makes vim able to start! 
							
						 
						
							2024-08-01 21:09:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20d38ed28c 
								
							 
						 
						
							
							
								
								LibC/Shell: Implement gethostname() and shell uses it for hostname  
							
							
							
						 
						
							2024-07-31 23:53:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f0be4f86a6 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement access  
							
							
							
						 
						
							2024-07-30 11:51:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e5bb843059 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement ttyname  
							
							
							
						 
						
							2024-07-30 11:41:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c69919738b 
								
							 
						 
						
							
							
								
								BuildSystem: Move all userpace libraries under the userspace directory  
							
							... 
							
							
							
							As the number of libraries is increasing, root directory starts to
expand. This adds better organization for libraries 
							
						 
						
							2024-06-18 13:14:35 +03:00