Bananymous 
							
						 
						
							
								76d4e6bd18 
								
							 
						 
						
							
							
								
								LibGUI: Add support for changing window title  
							
							
							
						 
						
							2025-05-05 01:10:05 +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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								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 
							
						 
						
							
								581caff638 
								
							 
						 
						
							
							
								
								BuildSystem: Install base sysroot only once  
							
							... 
							
							
							
							Base sysroot is not only installed when creating the syroot directory
for the first time. To get it installed again, you have to either delete
the old sysroot diretory or run clean target
This makes it so its actually possible to edit files specified in the
base sysroot without random hacks. 
							
						 
						
							2024-12-10 16:44:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								51b6329c86 
								
							 
						 
						
							
							
								
								Kernel: Make backspace \b and delete 0x7F  
							
							... 
							
							
							
							This is what `vim` seems to expect and imo makes way more sense. 
							
						 
						
							2024-12-05 17:34:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1903079f96 
								
							 
						 
						
							
							
								
								LibC: Fix popen to return correct return value instead of -1  
							
							
							
						 
						
							2024-12-05 06:47:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b6d0950ee9 
								
							 
						 
						
							
							
								
								LibC: Fix strftime implementation  
							
							... 
							
							
							
							This implementation now passes every musl-libc test :) 
							
						 
						
							2024-12-05 06:46:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c1a32a4041 
								
							 
						 
						
							
							
								
								LibC: Implement mktime  
							
							
							
						 
						
							2024-12-05 06:43:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								88c9f6d233 
								
							 
						 
						
							
							
								
								LibC: Make environ a weak alias  
							
							... 
							
							
							
							If user program defines its own global `environ` variable it will still
work :) 
							
						 
						
							2024-12-03 20:29:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								176693dd5a 
								
							 
						 
						
							
							
								
								LibC: Implement wcscmp and wcsncmp  
							
							
							
						 
						
							2024-12-03 16:21:54 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								62bee04fc0 
								
							 
						 
						
							
							
								
								LibC: Implement dummy utime that just checks file existance  
							
							
							
						 
						
							2024-12-03 16:21:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bc93d238dd 
								
							 
						 
						
							
							
								
								LibC: Fix fread argument order in gethostname  
							
							
							
						 
						
							2024-12-03 16:15:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								79e2c5d48c 
								
							 
						 
						
							
							
								
								LibC: Make FILE* reading buffered  
							
							... 
							
							
							
							There was no reason to perform a syscall for every byte read 
							
						 
						
							2024-12-03 16:13:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0fab7ad63b 
								
							 
						 
						
							
							
								
								Kernel: Fix SYS_FCNTL command handling :)  
							
							... 
							
							
							
							I had misunderstood how these work 
							
						 
						
							2024-12-03 16:12:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								713daf6cd3 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add support for creating hardlinks  
							
							
							
						 
						
							2024-12-03 16:12:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fbcf10c86d 
								
							 
						 
						
							
							
								
								LibC: Implement closelog and make syslog print to stddbg  
							
							
							
						 
						
							2024-12-03 01:45:54 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								415b20f884 
								
							 
						 
						
							
							
								
								LibC: Remove errno EEXISTS  
							
							... 
							
							
							
							I don't know why I had added this. It doesn't seem to be a thing on
either POSIX or linux. This was literally equivalent to EXIST 
							
						 
						
							2024-12-02 20:13:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d58ca5f37a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement symlink{,at}  
							
							
							
						 
						
							2024-12-02 20:13:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								11b6ee423e 
								
							 
						 
						
							
							
								
								LibC: Define timezone structure  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a10ca47657 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement {,f}statvfs  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad1f175a39 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement getppid  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fd3246113a 
								
							 
						 
						
							
							
								
								LibC: Implement missing execlp and cleanup exec code  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b8013c883c 
								
							 
						 
						
							
							
								
								LibC: Implement getpass  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9d97964998 
								
							 
						 
						
							
							
								
								LibC: Fix getpwend gid field :)  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f0e54cdd51 
								
							 
						 
						
							
							
								
								LibC: Implement {asctime,ctime,gmtime,localtime}_r  
							
							... 
							
							
							
							Old non _r prefixed functions are now just wrappers around these new
functions :) 
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0360fd1efe 
								
							 
						 
						
							
							
								
								LibC: Implement mk{,d,s}temp  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4508e099ff 
								
							 
						 
						
							
							
								
								LibC: Implement getpagesize  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6ed1435aeb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement tcgetpgrp  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6346e288ad 
								
							 
						 
						
							
							
								
								LibC: Implement getrlimit  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								747c3b2a4b 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement fsync  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cccb4e6d5e 
								
							 
						 
						
							
							
								
								LibC: Implement basename and dirname  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f4c6afbdae 
								
							 
						 
						
							
							
								
								LibC: Add definitions to LibC that are used by some ports  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d1ef380e6b 
								
							 
						 
						
							
							
								
								LibC: Add missing definitions for ifreq members  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c02de2580d 
								
							 
						 
						
							
							
								
								Kernel: Add support for SIOCGIFNAME ioctl  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								783627c315 
								
							 
						 
						
							
							
								
								LibC: Fix time.h sigevent defition  
							
							
							
						 
						
							2024-12-01 21:31:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								04f49a6819 
								
							 
						 
						
							
							
								
								LibC: Implement {,v}dprintf  
							
							
							
						 
						
							2024-11-27 21:33:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d465ea2a67 
								
							 
						 
						
							
							
								
								LibC: Fix headers :)  
							
							
							
						 
						
							2024-11-27 21:32:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f985673dc3 
								
							 
						 
						
							
							
								
								LibGUI: Add API to retrieve Window's underlying framebuffer  
							
							
							
						 
						
							2024-11-27 13:29:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								627c89a62d 
								
							 
						 
						
							
							
								
								LibGUI: Actually set window attributes when creating a window  
							
							
							
						 
						
							2024-11-14 23:33:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a859558840 
								
							 
						 
						
							
							
								
								LibGUI: Window Creation takes attributes as an argument  
							
							... 
							
							
							
							This reduces windows showing/moving once they are opened and setting
their attributes. 
							
						 
						
							2024-11-14 20:57:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bda2c663da 
								
							 
						 
						
							
							
								
								WindowServer: Implement fullscreen windows  
							
							... 
							
							
							
							If window size does not match framebuffer size, window data will be
scaled to framebuffer using nearest sampling for best performance. 
							
						 
						
							2024-11-13 19:10:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d19264eea8 
								
							 
						 
						
							
							
								
								WindowServer: Implement partial window resizing  
							
							... 
							
							
							
							This patch adds support for client side resizing, so clients can request
the server to resize their windows. WindowServer will respond with
resize event when and if the resizing is complete. 
							
						 
						
							2024-11-13 17:30:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7542e55cb2 
								
							 
						 
						
							
							
								
								LibC: Add option to debug userspace malloc family calls  
							
							
							
						 
						
							2024-11-10 14:03:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6bd51ac345 
								
							 
						 
						
							
							
								
								LibGUI: Client window now exits if it loses connection from server  
							
							... 
							
							
							
							This can be prevented by installing callback for socket errors. 
							
						 
						
							2024-11-10 14:02:23 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								da8170c5b6 
								
							 
						 
						
							
							
								
								LibGUI: Add support for focusable windows and mouse capturing  
							
							... 
							
							
							
							These are essential parts of a window server! This allows making TaskBar
non-focusable. 
							
						 
						
							2024-11-08 02:55:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12bc7480e0 
								
							 
						 
						
							
							
								
								LibC: Implement _Exit  
							
							... 
							
							
							
							This just calls _exit as POSIX says they can be equivalent 
							
						 
						
							2024-11-08 02:52:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								92862fdf39 
								
							 
						 
						
							
							
								
								LibC: Implement nan{,f,l} as functions  
							
							... 
							
							
							
							One port was using function pointers to these functions so macros don't
work. 
							
						 
						
							2024-11-08 02:49:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a356d90445 
								
							 
						 
						
							
							
								
								LibC: Fix libc compilation for 32 bit target  
							
							
							
						 
						
							2024-11-04 10:51:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f4be37700f 
								
							 
						 
						
							
							
								
								Kernel/userspace: rework floating point math  
							
							... 
							
							
							
							SSE is now unconditionally enabled any where and most of math.h is now
actually implemented. using __builtin_<func> lead to many hangs where
the builtin function would just call itself. 
							
						 
						
							2024-11-03 20:28:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2464fccadd 
								
							 
						 
						
							
							
								
								LibC: Fix *scanf consuming extra characters  
							
							
							
						 
						
							2024-10-19 12:43:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d266c7f93b 
								
							 
						 
						
							
							
								
								LibGUI: Implement attributes for windows  
							
							... 
							
							
							
							Windows can now change whether they have title bar, rounded corners,
alpha channel and whether they are movable. Also windows can also change
their own position 
							
						 
						
							2024-10-18 03:32:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d7e5c56e94 
								
							 
						 
						
							
							
								
								userspace: Use SOCK_STREAM instead of SOCK_SEQPACKET for WindowServer  
							
							... 
							
							
							
							This makes more sense if we have longer packages 
							
						 
						
							2024-10-17 01:44:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								88b8ca5b29 
								
							 
						 
						
							
							
								
								LibC: Fix some string functions  
							
							... 
							
							
							
							I was not casting some required values to char or handling length of
zero 
							
						 
						
							2024-10-13 22:04:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fdddb556ae 
								
							 
						 
						
							
							
								
								LibC: Implement system() more properly  
							
							... 
							
							
							
							Old implementation did not ignore and block needed signals 
							
						 
						
							2024-10-13 22:03:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d36b64e0c8 
								
							 
						 
						
							
							
								
								LibImage: name color to u32 function to to_argb from to_rgba  
							
							... 
							
							
							
							This is the actual format that it returns 
							
						 
						
							2024-10-13 22:01:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b6e040dfc2 
								
							 
						 
						
							
							
								
								Kernel/Shell: Fix backspace and delete key byte sequences  
							
							
							
						 
						
							2024-10-04 04:14:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e4982a1a5c 
								
							 
						 
						
							
							
								
								LibC: Fix printf with alternate format and zero values  
							
							
							
						 
						
							2024-09-26 15:25:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cea6dedccc 
								
							 
						 
						
							
							
								
								Userspace: Compile programs and libraries with -Wall -Wextra -Werror  
							
							
							
						 
						
							2024-09-26 15:20:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82e6a3582d 
								
							 
						 
						
							
							
								
								LibGUI: cleanup Window::shift_vertical and add copy_horizontal_slice  
							
							
							
						 
						
							2024-09-26 15:00:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								11a4e4faa2 
								
							 
						 
						
							
							
								
								LibImage: Add Adam7 support for PNG decoder  
							
							
							
						 
						
							2024-09-26 11:47:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								50a3533322 
								
							 
						 
						
							
							
								
								LibInput: Add value for ESC in key_to_utf8_ansi  
							
							... 
							
							
							
							This allows exiting vim when using this function for key mappings :D 
							
						 
						
							2024-09-24 18:08:34 +03: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