Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								e431e90b20 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all chown family function with fchownat  
							
							 
							
							
							
						 
						
							2024-09-17 18:35:01 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								4aa466b948 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all chmod family functions using fchmodat  
							
							 
							
							
							
						 
						
							2024-09-17 17:19:26 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								04ae53b6df 
								
							 
						 
						
							
							
								
								Shell: Add back accidentally deleted `cd` and `time` builtins  
							
							 
							
							
							
						 
						
							2024-09-17 16:38:45 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								3666525d24 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `readlink` in terms of `readlinkat`  
							
							 
							
							
							
						 
						
							2024-09-17 16:38:15 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								f1a4bbce53 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all stat family functions with fstatat  
							
							 
							
							... 
							
							
							
							This patch gets rid of 2 unnecessary syscalls! 
							
						 
						
							2024-09-17 16:38:01 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								708a720d9d 
								
							 
						 
						
							
							
								
								Kernel: Remove SYS_OPEN  
							
							 
							
							... 
							
							
							
							This can be done with SYS_OPENAT with fd set to AT_FDCWD 
							
						 
						
							2024-09-17 16:16:47 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								7177da7d62 
								
							 
						 
						
							
							
								
								LibC: Implement dummy get_rusage  
							
							 
							
							... 
							
							
							
							One port seems to use this function. This dummy just reports no used CPU
time for current process nor children 
							
						 
						
							2024-09-17 15:59:22 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d88ee5c9ee 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `creat` with `open`  
							
							 
							
							... 
							
							
							
							This allows getting rid of unnecessary SYS_CREATE. Directory creation
still has its own syscall, but I could combine it with SYS_OPEN also. 
							
						 
						
							2024-09-17 15:55:53 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a084f83f4c 
								
							 
						 
						
							
							
								
								Kernel: Rework kernel-side ELF loading  
							
							 
							
							... 
							
							
							
							ELFs are now loaded as MemoryRegions so they don't need special handling
anywhere. This also allows file backed COW optimizations to work. This
was not the case before.
This patch removes now obsolete LoadableELF and unused ELF files from
LibElf. 
							
						 
						
							2024-09-15 23:57:34 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								1a24d1839f 
								
							 
						 
						
							
							
								
								LibInput: KeyEvent to ansi string now handles delete key  
							
							 
							
							... 
							
							
							
							This allows Terminal emulator to also handle delete key.
The value of `\0x7F` may be wrong as qemu's serial console seems to be
sending `\e[3~` 
							
						 
						
							2024-09-15 03:13:21 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c3040a04a3 
								
							 
						 
						
							
							
								
								Terminal: Optimize printing a lot  
							
							 
							
							... 
							
							
							
							Terminal used to run `yes` at around 400 lines per second
This patch pumps that to over 100'000 lines per second!
There are 2 optimizations done:
  1. only invalidate window once after rendering is done
  2. if printing more than `rows()` newlines skip prior data 
							
						 
						
							2024-09-15 03:12:26 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d68ad893f0 
								
							 
						 
						
							
							
								
								Kernel/Shell: Add support for delete key  
							
							 
							
							
							
						 
						
							2024-09-14 22:45:48 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								4ca147699d 
								
							 
						 
						
							
							
								
								Shell: use printf and putchar instead of fprintf and fputc  
							
							 
							
							
							
						 
						
							2024-09-14 22:37:09 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								abed41b8fa 
								
							 
						 
						
							
							
								
								Shell: Remove builtin tests  
							
							 
							
							... 
							
							
							
							Test should be programs in /bin instead 
							
						 
						
							2024-09-14 22:28:33 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2604a55f80 
								
							 
						 
						
							
							
								
								Shell: Make ctrl+c start a new command  
							
							 
							
							
							
						 
						
							2024-09-14 22:27:32 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								7f25ddc229 
								
							 
						 
						
							
							
								
								userspace: Add missing alpha channels  
							
							 
							
							
							
						 
						
							2024-09-12 20:53:45 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								97da386ed6 
								
							 
						 
						
							
							
								
								WindowServer: Make focused window bounce by pressing F2  
							
							 
							
							... 
							
							
							
							This was an awesome idea by [@Dcraftbg](https://github.com/Dcraftbg ) 
							
						 
						
							2024-09-12 20:09:23 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c706829a91 
								
							 
						 
						
							
							
								
								WindowServer: Make corner-radius a variable in config file!  
							
							 
							
							
							
						 
						
							2024-09-12 20:07:30 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								6cd246a38e 
								
							 
						 
						
							
							
								
								WindowServer: Add support for rounded corners and transparency  
							
							 
							
							
							
						 
						
							2024-09-12 19:35:44 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								43e88c0ae0 
								
							 
						 
						
							
							
								
								Terminal: Add alpha channel to colors  
							
							 
							
							... 
							
							
							
							This doesn't do anything yet, but will when I add transparency support
for WindowServer 
							
						 
						
							2024-09-12 19:34:25 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								bf01b935bd 
								
							 
						 
						
							
							
								
								WindowServer: Start Terminal with Super+Enter  
							
							 
							
							... 
							
							
							
							this allows doing something in GUI after Terminal is closed
also WindowServer is now stopped with Super+Shift+E 
							
						 
						
							2024-09-11 22:18:08 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								98c011e6a6 
								
							 
						 
						
							
							
								
								WindowServer: Open all fds as CLOEXEC  
							
							 
							
							... 
							
							
							
							This will allow forking the window server cleanly :D 
							
						 
						
							2024-09-11 22:17:31 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								86dcb5c471 
								
							 
						 
						
							
							
								
								init: Don't leak pwent fd to child processes  
							
							 
							
							
							
						 
						
							2024-09-11 22:11:05 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								467ac6c365 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SOCK_CLOEXEC and SOCK_NONBLOCK  
							
							 
							
							... 
							
							
							
							This removes the need for fcntl after creating a socket :) 
							
						 
						
							2024-09-11 21:59:11 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								4006a04817 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't do file backed mapping over file bounds  
							
							 
							
							
							
						 
						
							2024-09-11 19:30:35 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								4189a1c729 
								
							 
						 
						
							
							
								
								LibC: Make _init and _fini weak symbols  
							
							 
							
							... 
							
							
							
							These seem to be missing sometimes when making shared executables 
							
						 
						
							2024-09-11 14:39:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a07cbabcb3 
								
							 
						 
						
							
							
								
								LibC: Define function sizes for setjmp and longjmp  
							
							 
							
							... 
							
							
							
							dynamic linking was complaining about these not existing 
							
						 
						
							2024-09-10 16:21:20 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								19d16620a6 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't do file backed mapping for filesz == 0  
							
							 
							
							
							
						 
						
							2024-09-05 14:50:05 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								e8bcebfb8e 
								
							 
						 
						
							
							
								
								DynamicLoader: Use file backed mmap when possible  
							
							 
							
							
							
						 
						
							2024-09-05 13:59:39 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								6affef76b1 
								
							 
						 
						
							
							
								
								test-shared: Add more shared tests  
							
							 
							
							
							
						 
						
							2024-09-05 12:59:48 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								32ba4d07e2 
								
							 
						 
						
							
							
								
								Userspace: Remove unnecessary mov instruction from crt0  
							
							 
							
							
							
						 
						
							2024-09-05 12:59:05 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ddaaf89c87 
								
							 
						 
						
							
							
								
								BuildSystem: Make default libc a shared library  
							
							 
							
							
							
						 
						
							2024-09-05 12:58:35 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								9aed8dbe6b 
								
							 
						 
						
							
							
								
								Toolchain: Build crtbeginS.o crtendS.o and shared libgcc  
							
							 
							
							
							
						 
						
							2024-09-05 12:58:21 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								aa7e92b275 
								
							 
						 
						
							
							
								
								Userspace: Write a dynamic loader  
							
							 
							
							... 
							
							
							
							This allows running executing dynamically linked executables! 
							
						 
						
							2024-09-05 12:58:21 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								f30947336a 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup cmake files  
							
							 
							
							
							
						 
						
							2024-09-05 12:52:25 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								0bb44d7b75 
								
							 
						 
						
							
							
								
								LibC: Fix errno to work with shared libraries  
							
							 
							
							
							
						 
						
							2024-09-04 21:16:04 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								35743cc8e6 
								
							 
						 
						
							
							
								
								LibC: Compile both static and shared version of LibC  
							
							 
							
							... 
							
							
							
							libc target is now set as an alias for libc-static 
							
						 
						
							2024-09-02 21:28:02 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								5f92807fdd 
								
							 
						 
						
							
							
								
								userspace: Allow building without SSE  
							
							 
							
							... 
							
							
							
							I had added changes that had broken compilation without sse support 
							
						 
						
							2024-09-02 21:25:00 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								700c3444f5 
								
							 
						 
						
							
							
								
								LibELF: Add more values and macros for interpreting fields  
							
							 
							
							
							
						 
						
							2024-09-02 20:40:38 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2ae2ede0b2 
								
							 
						 
						
							
							
								
								LibELF: Add value definitions for DT_  
							
							 
							
							
							
						 
						
							2024-08-30 15:35:01 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								8da2f12ba6 
								
							 
						 
						
							
							
								
								Kernel: Only load program headers of interpreter if its present  
							
							 
							
							... 
							
							
							
							I was loading program headers of both executable and interpreter but
that is incorrect. The interpreter will itself load the program headers
of the executable. 
							
						 
						
							2024-08-28 21:19:37 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								50ab391133 
								
							 
						 
						
							
							
								
								test-globals: print something when calling main  
							
							 
							
							... 
							
							
							
							This shows that constructors and destructors are called in correct order 
							
						 
						
							2024-08-28 17:09:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								991647bc8f 
								
							 
						 
						
							
							
								
								Userspace: Add shared library test  
							
							 
							
							... 
							
							
							
							I will use this while testing my dynamic loader 
							
						 
						
							2024-08-28 17:08:37 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								57300687ff 
								
							 
						 
						
							
							
								
								LibC: Cleanup and fix missing LibC headers  
							
							 
							
							
							
						 
						
							2024-08-28 17:07:58 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d559339f5f 
								
							 
						 
						
							
							
								
								LibC: Compile shared libc as well as static  
							
							 
							
							
							
						 
						
							2024-08-28 17:07:15 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2bf65ef512 
								
							 
						 
						
							
							
								
								Kernel: Invoke ELF interpreter instead if it is specified  
							
							 
							
							
							
						 
						
							2024-08-28 17:06:32 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								5121d0d934 
								
							 
						 
						
							
							
								
								Kernel: Allow loading PIEs  
							
							 
							
							... 
							
							
							
							This is initial work towards implementing dynamic loader and shared
library support. 
							
						 
						
							2024-08-27 17:32:22 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2c520391eb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add support for init_array and fini_array  
							
							 
							
							
							
						 
						
							2024-08-27 00:47:03 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								991ae4383a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement fchmod  
							
							 
							
							
							
						 
						
							2024-08-25 15:07:42 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								bec3e8654f 
								
							 
						 
						
							
							
								
								Shell: Implement escaping quotes in quoted strings  
							
							 
							
							
							
						 
						
							2024-08-24 17:13:50 +03:00