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 
							
						 
						
							
								1138ec77ca 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryBackedRegion cloning for non page aligned size  
							
							
							
						 
						
							2024-09-04 21:14:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c4dadd27ac 
								
							 
						 
						
							
							
								
								BAN: Fix refenrece -> reference typo  
							
							
							
						 
						
							2024-09-03 16:39:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								04c715d314 
								
							 
						 
						
							
							
								
								BuildSystem: Build all libraries in root build directory  
							
							... 
							
							
							
							I could not figure out how to use cmake's rpath to build libraries with
DT_NEEDED only containing the library name, not a relative path. 
							
						 
						
							2024-09-02 21:31:08 +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 
							
						 
						
							
								ddf1babfe1 
								
							 
						 
						
							
							
								
								Kernel: Cleanup constructor calls  
							
							
							
						 
						
							2024-08-31 02:23:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ae2ede0b2 
								
							 
						 
						
							
							
								
								LibELF: Add value definitions for DT_  
							
							
							
						 
						
							2024-08-30 15:35:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ef5af384e7 
								
							 
						 
						
							
							
								
								Kernel: Print userspace invalid pointer access address  
							
							
							
						 
						
							2024-08-30 15:34:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a134d16070 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryRegion test for contains_fully  
							
							
							
						 
						
							2024-08-30 15:33:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								827eec6af0 
								
							 
						 
						
							
							
								
								Kernel: Make .rodata read-only and add -orphan-handling=error  
							
							... 
							
							
							
							I don't really know why .rodata was marked writable :D 
							
						 
						
							2024-08-30 15:33:02 +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 
							
						 
						
							
								d20752c318 
								
							 
						 
						
							
							
								
								Kernel: Make OpenFileDescritorSet::open take rvalue  
							
							... 
							
							
							
							This gets rid of some implicit allocations from copy constructors 
							
						 
						
							2024-08-28 16:36:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5f66ef34dd 
								
							 
						 
						
							
							
								
								Kernel: map userspace arguments after the entry point  
							
							... 
							
							
							
							This allows cleaner memory layout for processes that are not loaded to
default location 
							
						 
						
							2024-08-27 22:46:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								da0b4cd40e 
								
							 
						 
						
							
							
								
								Kernel: Allow MAP_FIXED in mmap  
							
							
							
						 
						
							2024-08-27 22:45:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								68f9dc1f8a 
								
							 
						 
						
							
							
								
								Toolchain: Add support for building shared libraries  
							
							
							
						 
						
							2024-08-27 17:36:09 +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 
							
						 
						
							
								7c4b9218f2 
								
							 
						 
						
							
							
								
								Kernel: VirtualTTY now resets ansi state before printing anything  
							
							
							
						 
						
							2024-08-25 17:56:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								72f8138ca1 
								
							 
						 
						
							
							
								
								Kernel: Disable scheduler load balancing until I get it fixed  
							
							... 
							
							
							
							Scheduler keeps crashing all the time when running on multiple cores.
This patch disabled the load balancer, which seems to get rid of most
scheduler crashes. 
							
						 
						
							2024-08-25 15:37:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								991ae4383a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement fchmod  
							
							
							
						 
						
							2024-08-25 15:07:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ce7205c80 
								
							 
						 
						
							
							
								
								Kernel: Add command line option to disable debug printing  
							
							... 
							
							
							
							The whole system can crash when debug output and tty output are done at
the same time. This patch is just a hack to prevent the crash :D 
							
						 
						
							2024-08-25 15:02:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bec3e8654f 
								
							 
						 
						
							
							
								
								Shell: Implement escaping quotes in quoted strings  
							
							
							
						 
						
							2024-08-24 17:13:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								14fdcb892d 
								
							 
						 
						
							
							
								
								Ports: Make curl port use openssl  
							
							... 
							
							
							
							Curl now works with https! 
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d6d062841d 
								
							 
						 
						
							
							
								
								Ports: Add openssl port  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								06d0985bba 
								
							 
						 
						
							
							
								
								Ports: Add zlib port  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9ea969be1f 
								
							 
						 
						
							
							
								
								Ports: Add port that downloads and install cacert to system  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								500f774b7f 
								
							 
						 
						
							
							
								
								LibC: Add a lot of stub implementations for different libc functions  
							
							... 
							
							
							
							some ports want to link against these, but they are not ever called
based on simple testing
This patch adds stubs for
- openlog
- syslog
- getrusage
- mlock
- mprotect
- getpeername
- shutdown
- tzset
- mktime 
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ca8832c0e1 
								
							 
						 
						
							
							
								
								LibC: Implement getaddrinfo and freeaddrinfo, add stub for getnameinfo  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1cbba113fd 
								
							 
						 
						
							
							
								
								LibC: Add and cleanup some networking structures and definitions  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								45b4b33a3d 
								
							 
						 
						
							
							
								
								LibC: Add definitions for some integer sizes to limits.h  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c453a8e2dc 
								
							 
						 
						
							
							
								
								LibC: Implement poll() using select  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e59772a58d 
								
							 
						 
						
							
							
								
								General: Cleanup build scripts  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fb35f06cf5 
								
							 
						 
						
							
							
								
								Kernel: Add better support for bootloaders loading the kernel  
							
							... 
							
							
							
							Before I assumed that bootloaders loaded the kernel at physical address
0, but this patch kinda allows loading to different addresses. This
still doesn't fully work as kernel bootstrap paging relies on kernel
being loaded at 0 
							
						 
						
							2024-08-22 14:48:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								abc788c756 
								
							 
						 
						
							
							
								
								Kernel: Improve output message when dumping all syscalls  
							
							
							
						 
						
							2024-08-22 14:48:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								63b616dc2e 
								
							 
						 
						
							
							
								
								Kernel: Hack non-blocking support for sockets  
							
							... 
							
							
							
							This is not thread safe and can still block if two programs refering to
the same socket try to read data at the same time 
							
						 
						
							2024-08-22 14:48:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								72f3fe0b12 
								
							 
						 
						
							
							
								
								LibC: Add empty files sys/param.h and sys/file.h  
							
							... 
							
							
							
							For some reason some ports include these files even when they detect
that they are not available 
							
						 
						
							2024-08-22 14:47:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cba12efeb1 
								
							 
						 
						
							
							
								
								Kernel: Ignore optional_actions in SYS_TCSETATTR  
							
							... 
							
							
							
							Currently all terminals are syncronous, so the actions don't do anything 
							
						 
						
							2024-08-22 14:47:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								37cd4ed504 
								
							 
						 
						
							
							
								
								Kernel: Add support for CSI @, b, d to VirtualTerminal  
							
							
							
						 
						
							2024-08-22 14:04:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								869bba4dad 
								
							 
						 
						
							
							
								
								Kernel: Add check for panic in timer interrupt handler  
							
							... 
							
							
							
							Previously processors would not get notified about kernel panic if they
were idling 
							
						 
						
							2024-08-22 14:03:03 +03:00