AnotherTest 
								
							 
						 
						
							
							
							
							
								
							
							
								cbd62c472e 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Default-initialize the siginfo struct used in waitid  
							
							... 
							
							
							
							Otherwise it'll have some random value from the stack, and the kernel
will not bother setting it to zero.
Also add a debug print and tweak the FIXME message. 
							
						 
						
							2021-03-31 23:49:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								77601e09c8 
								
							 
						 
						
							
							
								
								FontEditor+TextEditor+Playground: Refuse to load device files  
							
							... 
							
							
							
							This prevents the undefined behaviour that would come up as a result of
doing so. (For example: opening "infinite" devices like /dev/full will
result in an infinite loop until exhaustion of memory) 
							
						 
						
							2021-03-30 11:29:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Edgar Araújo 
								
							 
						 
						
							
							
							
							
								
							
							
								76d4b2c5a4 
								
							 
						 
						
							
							
								
								Playground: Autocomplete after empty {}  
							
							... 
							
							
							
							Enable the oportunity to show name autocompletion
after an empty class, which does not have the redundant
empty {}. 
							
						 
						
							2021-03-29 09:10:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Edgar Araújo 
								
							 
						 
						
							
							
							
							
								
							
							
								5c1cd50c9a 
								
							 
						 
						
							
							
								
								Playground: Move AutocompleteProvider to a separate file  
							
							
							
						 
						
							2021-03-29 09:10:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								78b12e1521 
								
							 
						 
						
							
							
								
								Userland: Turn all application menus into window menus :^)  
							
							
							
						 
						
							2021-03-25 22:14:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								0deb0c6891 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Update virt$lseek and virt$ftruncate for 64bit off_t  
							
							... 
							
							
							
							The syscalls' prototypes were recently changed in preparation for 64bit
storage in serenity, so update them here as well :^) 
							
						 
						
							2021-03-23 19:56:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								84e34d76d8 
								
							 
						 
						
							
							
								
								HackStudio+LanguageServers/Cpp: Show scope of symbols in Locator  
							
							
							
						 
						
							2021-03-23 18:32:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								6054a418e5 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Declarations inside namespaces are globally visible  
							
							... 
							
							
							
							This includes declarations inside namespaces in the globally visible
declarations of a cpp document. 
							
						 
						
							2021-03-23 18:32:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								7191098356 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Add support for SC_abort syscall  
							
							
							
						 
						
							2021-03-22 07:43:44 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								dee0c46c9b 
								
							 
						 
						
							
							
								
								HackStudio: Display warning when opening binary files  
							
							... 
							
							
							
							We now detect and display a warning when we can't render the text of an
opened file.
Closes  #5062 . 
							
						 
						
							2021-03-21 09:46:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								4915cf5ab0 
								
							 
						 
						
							
							
								
								UE: Add killpg, getsockname, getpeername, shutdown, sync syscalls  
							
							
							
						 
						
							2021-03-18 21:47:51 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vyacheslav Pukhanov 
								
							 
						 
						
							
							
							
							
								
							
							
								663fd9abb4 
								
							 
						 
						
							
							
								
								CppLanguageServer: Make preprocessor ignore unsupported keywords  
							
							... 
							
							
							
							During typing the entered keywords can be incomplete and crash
preprocessor. We enable the newly introduced option to prevent
that crash. 
							
						 
						
							2021-03-18 07:49:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f59ad2dc57 
								
							 
						 
						
							
							
								
								Everywhere: Remove pessimizing and redundant move()  
							
							
							
						 
						
							2021-03-17 16:30:15 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								46c7f52896 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Add symlink, rename, set_coredump_metadata syscalls  
							
							
							
						 
						
							2021-03-16 21:57:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								fe97aec8c3 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Print PID in mmap nullptr with MAP_FIXED reportln()  
							
							
							
						 
						
							2021-03-16 21:48:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e0f32626bc 
								
							 
						 
						
							
							
								
								LibGfx: Rename 32-bit BitmapFormats to BGRA8888 and BGRx888x  
							
							... 
							
							
							
							The previous names (RGBA32 and RGB32) were misleading since that's not
the actual byte order in memory. The new names reflect exactly how the
color values get laid out in bitmap data. 
							
						 
						
							2021-03-16 11:50:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								7156b61d57 
								
							 
						 
						
							
							
								
								UserspaceEmulator: downgrade TODO to dbgln for invalid fcntl cmd arg  
							
							
							
						 
						
							2021-03-15 16:07:31 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								1eccd78e3a 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Add SC_rmdir syscall  
							
							
							
						 
						
							2021-03-14 21:36:36 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								ab9f66a069 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Increase stack size from 64 * KiB to 1 * MiB  
							
							
							
						 
						
							2021-03-14 13:55:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								2c24c0e451 
								
							 
						 
						
							
							
								
								UserspaceEmulator: SoftCPU: Add support for FPTAN instruction  
							
							
							
						 
						
							2021-03-14 09:45:22 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								8688259ed9 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Support jumping to declaration of preprocessor  
							
							... 
							
							
							
							.. definitions. 
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								7bf6eca9d8 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Complete Preprocessor definitions  
							
							... 
							
							
							
							Preprocessor definitions now appear in the AutoComplete suggestions box
as well as in the Locator. 
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								8a102fe3ec 
								
							 
						 
						
							
							
								
								LibCpp: Implement Parser::text_in_range using text of tokens  
							
							... 
							
							
							
							It was previously implemented by directly iterating over the program's
source. 
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								5cd1c69b96 
								
							 
						 
						
							
							
								
								LibCpp: Access Cpp::Token members via getter functions  
							
							
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								3658c4c567 
								
							 
						 
						
							
							
								
								LibCpp: Replace defined preprocessor values when parsing  
							
							
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ef1e5db1d0 
								
							 
						 
						
							
							
								
								Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)  
							
							... 
							
							
							
							Good-bye LogStream. Long live AK::Format! 
							
						 
						
							2021-03-12 17:29:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0c35c664e6 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Convert a weird klog(!) to dbgln()  
							
							
							
						 
						
							2021-03-12 11:23:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								ec1fdef818 
								
							 
						 
						
							
							
								
								UserspaceEmulator: SoftCPU: Add support for several x86 FPU instructions  
							
							... 
							
							
							
							F2XM1
FYL2X
FYL2XP1
FDECSTP
FINCSTP
FSCALE 
							
						 
						
							2021-03-12 09:59:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ben Wiederhake 
								
							 
						 
						
							
							
							
							
								
							
							
								292871c4bc 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Handle MAP_FIXED with invalid addresses better  
							
							... 
							
							
							
							Old behavior: Crash due to VERIFY, unless we're completely and entirely out of
memory (m_available_ranges being empty), in which case it would return -ENOMEM.
New behavior: Return ENOMEM (and don't crash). In the case of nullptr,
also emit a helpful diagnostic.
Note that MAP_FIXED with nullptr is technically okay, but tends to be a sign
that something went wrong.
Also, this should improve mmap performance marginally, as it pulls the check out
of a loop that does not modify any parts of the check.
UE is now self-hosting! Fixes  #5709 .
However, this still needs some love: "ue UserspaceEmulator true" spits out tons
of error messages, probably false-positives, and takes about 229 seconds to run.
Then again, true-in-ue-in-ue-in-Qemu is three levels of emulation, so no wonder
it takes a long time! :D 
							
						 
						
							2021-03-11 08:54:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ben Wiederhake 
								
							 
						 
						
							
							
							
							
								
							
							
								22d9bd0c45 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Do not pass MAP_FIXED to Kernel  
							
							... 
							
							
							
							Since there is usually no correlation between guest memory-layout and UE memory-layout,
this option does not make any sense. Especially since we provide nullptr. 
							
						 
						
							2021-03-11 08:54:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ben Wiederhake 
								
							 
						 
						
							
							
							
							
								
							
							
								d5925f33aa 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Implement set_process_name syscall  
							
							
							
						 
						
							2021-03-11 08:54:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ben Wiederhake 
								
							 
						 
						
							
							
							
							
								
							
							
								ec8e3edd05 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Split large file into logical pieces  
							
							
							
						 
						
							2021-03-11 08:54:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ced8dfa037 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Remove debug spam about tracked malloc blocks  
							
							
							
						 
						
							2021-03-10 15:21:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								82aea65bd3 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Add fast-path for is<MmapRegion>()  
							
							... 
							
							
							
							Don't use default RTTI for these since they are performance-sensitive. 
							
						 
						
							2021-03-09 15:17:15 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								656cd477c2 
								
							 
						 
						
							
							
								
								UserspaceEmulator+LibX86: Sprinkle some [[unlikely]] and ALWAYS_INLINE  
							
							
							
						 
						
							2021-03-09 15:10:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c192b6c61d 
								
							 
						 
						
							
							
								
								Emulator: Use libc.so bounds to fast-reject non-malloc addresses  
							
							... 
							
							
							
							The auditing code always starts by checking if we're in one of the
ignored code ranges (malloc, free, realloc, syscall, etc.)
To reduce the number of checks needed, we can cache the bounds of
the LibC text segment. This allows us to fast-reject addresses that
cannot possibly be a LibC function. 
							
						 
						
							2021-03-09 15:01:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brendan Coles 
								
							 
						 
						
							
							
							
							
								
							
							
								0c46918b73 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Support FLDL2E / FLDPI, fix typos, use M_LN2 constant  
							
							
							
						 
						
							2021-03-09 14:57:55 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								54bd2ee738 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Add Emulator::dump_regions() helper function  
							
							
							
						 
						
							2021-03-09 14:44:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								397f564144 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Honor alignment requests in virt$mmap(MAP_RANDOMIZED)  
							
							
							
						 
						
							2021-03-09 14:42:49 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0bf457f715 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Add partial support for some more x87 instructions  
							
							... 
							
							
							
							Patch by @bcoles 
							
						 
						
							2021-03-09 14:30:30 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								57142a29a0 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Don't set the MmapRegion malloc-block bit too early  
							
							... 
							
							
							
							We were setting it before the malloc metadata had been instantiated.
Fixes  #5707 . 
							
						 
						
							2021-03-09 13:57:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1381720d1d 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Don't assume entire malloc block is chunked  
							
							... 
							
							
							
							Accesses in the header (or trailing padding) of a malloc block should
not be associated with any mallocation since only the chunk-sized slots
actually get returned by malloc.
Basically, allow address-to-chunk lookup to fail, and handle such
failures gracefully at call sites.
Fixes  #5706 . 
							
						 
						
							2021-03-09 13:29:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								38fc522f5d 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Don't audit accesses in calloc() and libsystem.so  
							
							... 
							
							
							
							These generate a lot of false positives and nothing of value. 
							
						 
						
							2021-03-09 13:24:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								a457b90733 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Tidy up the MallocRegionMetadata construction a bit  
							
							... 
							
							
							
							Use designated initializers to make it very obvious what's being set,
and also give the metadata a backpointer to the region for convenience. 
							
						 
						
							2021-03-09 12:00:53 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								915e8dbe71 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Defer marking MmapRegion as malloc block  
							
							... 
							
							
							
							We don't want to audit accesses into the region *while* we're setting
up malloc tracking for it. Fetching the chunk size from the header
was tripping up the auditing code. 
							
						 
						
							2021-03-09 11:41:28 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0b5a915725 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Keep the MMU regions list sorted  
							
							
							
						 
						
							2021-03-09 11:31:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								728d947601 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Remember VM region names for MAP_ANONYMOUS  
							
							... 
							
							
							
							For some reason we only remembered the names of MAP_FILE mmap regions. 
							
						 
						
							2021-03-09 11:31:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								735a6482ac 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Implement sys$set_mmap_name()  
							
							
							
						 
						
							2021-03-09 11:31:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b940dd4fa8 
								
							 
						 
						
							
							
								
								UserspaceEmulator: Never try to mprotect(PROT_EXEC) MmapRegion backing  
							
							... 
							
							
							
							We never want to map host memory executable anyway, so let's always
mask off the PROT_EXEC bit. 
							
						 
						
							2021-03-09 11:31:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9588f01739 
								
							 
						 
						
							
							
								
								UserspaceEmulator+LibC: Use sys$emuctl() to pass malloc info to UE  
							
							... 
							
							
							
							Get rid of the awkward secret handshake sequence between malloc and UE
and simply use sys$emuctl() to notify UE of malloc, free and realloc. 
							
						 
						
							2021-03-09 11:31:18 +01:00