Releases: FEX-Emu/FEX
FEX-2206
Read the blog post at FEX-Emu's Site!
Quite a large amount of changes this month since we cancelled last month's release.
Steam's webhelper working again
Steam started enabling the chromium sandbox. Seccomp isn't supported in FEX-Emu so it was crashing early on.
Forcibly disable it trying to use the sandbox using an application profile.
This lets the game library be visible again, although it can take a while to appear.
Fix LRCPC and add support for LRCPC2
There was a bug in our CMPXCHG implementation that wasn't using ARM's acquire-release semantics accidentally.
Fixing this bug allowed us to reenable our TSO emulation using LRCPC.
Additionally we have added support for LRCPC2 which gives us some immediate encoded instructions to further reduce overhead.
On hardware that supports LRCPC these can result in a reasonable performance uplift.
SHA-1 and SHA-256 instructions implemented
These SHA instruction have been implemented and the CPUID bit is now exposed.
This is a GPR based implementation, an implementation using AArch64's equivalent SHA instructions will be implemented at a later time.
Self-modifying code support improvements
Many things have changed with supporting self-modifying code in a more extensive fashion.
FEX-Emu will now tracking guest allocations of executable memory and when the code has been modified, we will clear the JIT caches.
This happens for both true self-modifying code and also libraries being loaded.
Fault handling is employed to know when code is modified in memory to ensure we can tracak changes.
This is a new setting in FEXConfig called mtrack. The older syscall only tracking path is deprecated but still available for testing.
Option to emulate x87 with 64-bit float operations
Big shout out to CallumDev for implementing this long awaited feature.
A major performance problem of emulating x86 is any older game will be compiled to use the x87 extension. This is especially true for 32-bit games.
The problem with this extension is that by default it uses 80-bit floats, which AArch64 doesn't support.
We end up emulating this entire extension using a soft-float implementaiton, which while being quite accurate, is obscenely slow.
This performance hack is now available to remove a significant amount of the overhead by operating x87 instructions using 64-bit float scalar
operations instead.
This is known to be inaccurate, but most Windows games will actually be configuring the x87 unit to be lower precision than 80-bit.
Additionally most games don't actually need the extra precision that 80-bit provides, so it is usually safe to emulate it more inaccurately.
This may still have some bugs, we know at least one game that has issues that aren't explained by pure precision problems. The feature can be enabled
in FEXConfig under the Hacks tab, look for "X87 Reduced Precision"
Clone3 syscall fixed
With Glibc 2.34 released, this project has started using the clone3 syscall for creating threads.
FEX's implementation was mostly untested which resulted in all applications breaking.
Stack pointer behaviour was broken and now with this fixed, glibc 2.34 now works out of the box.
FEXRootFSFetcher don't try to continue download
FEX-Emu's CDN doesn't support continuing file downloads. Disable to not cause issues.
FEXCore: Reclaimable thread pool allocator
FEXCore now uses an intrusive pooling allocator to allow sleeping threads to give back memory to the pool.
This allows multiple threads to share a memory resource, reducing memory usage by a significant amount if an application has a bunch of sleeping
threads.
FEXBash: Set PS1 environment variable to show running under emulation
Once running FEXBash it can be hard to tell if you're running your bash terminal under emulation.
Setting PS1 to FEXBash> makes it easier to tell that the terminal is running under emulation.
FEXBash> uname -a
Linux ryanh-TR2 5.17.5 #FEX-2206 SMP Jun 4 2022 15:11:07 x86_64 x86_64 x86_64 GNU/Linux
OpcodeDispatcher: Fixes PEXTRB
Newer Unreal engine releases were generating a PEXTRB instruction that our frontend decoder was decoding incorrectly.
Typically this would result in a crash.
This fixes both Dirt 4 and Psychonauts 2.
Misc
- CMake
- Add support for mold
- Add flag for defined signed overflow handling
- Arm64: Optimize constant generation with ADRP+ADR
- EmulatedFiles: Fixes temporary file generation flags
- Struct Verifier: Fixes some bugs with DRM headers not getting picked up
- Linux v5.17 and v5.18 support
- JIT: Code relocation support
- OpcodeDispatcher:
- Adds support for non-temporal loadstores
- Implements support for PAUSE instruction
- Syscalls:
- 32-bit mmap syscalls fixes
- Has been broken since the start, most applications use mmap2 instead
- Fixes Kega Fusion
- 32-bit mmap syscalls fixes
- CompileService: Removed since it is no longer required
- We no longer try to compile in a reentrant safe fashion
- JITSymbols: Cleaner printing of RIP relative to a file
- Standard TODO markers for code searching
- Some 32-bit FS/GS writing fixes
- Not really used so didn't affect anything
Raw Changes
FEX Release FEX-2206
-
AOTIR
-
copy RAData and IRList, make sure data is accessible (da2e44d)
-
AppConfig
-
Inject --no-sandbox in to steamwebhelper (c14c0c2)
-
ArchHelpers
-
Adds relocation struct defines (b5ae9e4)
-
Arm64
-
Fix LDAPUR/STLUR DMB backpatch (27f2e0b)
-
Adds support for RCPC2 extension (f8ba373)
-
Fixes AtomicSwap (70988cc)
-
Arm64Emitter
-
Optimize constants with ADRP and ADR (912dbfe)
-
CMake
-
C/C++ flags for defined singed overflow warping (2e05349)
-
Add option to use the mold linker (5884114)
-
CompileService
-
Removes no longer necessary service thread (b1033ed)
-
Config
-
Adds code cache config option (278ca52)
-
Core
-
Adds Code Object Cache service (13f3c6e)
-
context-wide guest code invalidations (d810988)
-
EmulatedFiles
-
Fixes temporary file flags (4fbc266)
-
F64
-
Implement FCW using host rounding mode (db3854e)
-
Fix FILD and FIST for Size < 8 (89d6752)
-
FEXBash
-
Set PS1 to make it more obvious when running under FEX (ec38d58)
-
FEXCore
-
Adds refcount_shared_mutex class (1e597bf)
-
Reclaimable thread pool allocator (8a7f395)
-
FEXLoader
-
Fix create_directories check for aotir .path file writting (90f338d)
-
FEXLogServer
-
Stop improper use of std::erase_if (d523b7a)
-
FEXRootFSFetcher
-
Don't continue download (fa87c73)
-
JitSymbols
-
Print file+offset if possible (a715627)
-
Linux
-
Fixes 32-bit mmap (3fd136b)
-
MemAllocator32Bit
-
Add missing lock to shmdt, fix error returns (b2b4c2b)
-
OpcodeDispatcher
-
Implement SHA256 instructions (3bbff8a)
-
Handle SHA-1 instructions (8dd9a5b)
-
Implements support for PAUSE (da48020)
-
Fixes pextrb with high registers (fe11bd2)
-
Remove debugging dump statement (c8dc663)
-
Adds support for non-temporal loadstores (ba78dff)
-
ScopedSignalMask
-
Add shared mutex support, move constructors (8e36f53)
-
Syscalls
-
Fixes clone3 stack pointer (0ed9654)
-
Linux
-
Add guest[Mmap/Munmap] (b9d878b)
-
Refactor guest mman tracking (ce0f5db)
-
TestHarnessRunner
-
Use guest mapper for test harness files (b78af2f...
FEX-2204
Changes
CPUID
- Adds 4000_0001h function (977bda9)
- Allows guest applications to check the hypervisor for FEX-Emu
FEXCore
- Delete IR after it is used (a247df5)
- Lowers FEX memory usage
- Fixes #1618 (60c7ea6)
- Could have caused a crash in the signal handler
- Removes unused debug data (8422fc6)
OpcodeDispatcher
- Fixes SIGILL on unsupported host instructions (042cd35)
- Fixes FNINIT (187c641)
- FCW wasn't initialized correctly. Fixes a Visual Novel game engine CPUID initialization code.
JIT
- Emit identification string in the code buffers (23a1c64)
- Adds comment to EmitDetectionString (d39df8d)
- Get long divide out of the hot path (8ad1472)
FileManager
- Fix realpath failed on debian buster (91665fd)
Linux
- Fixes MAP_32BIT supported range (fad91bb)
Scripts
- Updates AArch64 fit for Clang 14 (6b3cd3d)
Softfloat
- Fixes FSCALE (5677924)
TestHarnessRunner
- Flush log on asserts (ebd0edb)
Misc
Termux
- Adds a cmake option for forcing a termux build (5de6c86)
- Disables GUI applications in a Termux build (fb27cb4)
GDBServer
- GDBServer improvements: Three's a crowd (7b0265f)
- Gdbstub improvements: The sequel (6a5abd3)
- GDBServer improvements (53ffe5d)
Documentation
FEX-2203
Changes
-
JIT
- Implements x87 fallback helpers as lookups in to state (b65194f)
-
ARMJIT
-
JITx86
- Switches over to loading pointers from state (99dcda7)
-
OpcodeDispatcher
-
CPUID
- Implements leaf 4000_0000 (4a3cbf1)
- Allows guest applications to see through CPUID that they are running in a FEX "hypervisor"
-
ELFCodeLoader
- Fixes typo in AT_BASE calculation (43fada7)
-
FEXCore
- Adds support for RDRAND/RDSEED (bebcab0)
-
FEXGetConfig
- Fix --current-rootfs option (76f86e5)
-
FEXLoader
-
IR
- New IR JSON format (3e8c6d0)
-
Linux
-
LinuxAllocator
- Fixes bug with old kernels and hint allocation (08938ec)
-
Scripts
-
Telemetry
- Fix missing telemetry names (30803c6)
-
TestHarnessRunner
- Wire up environment variable option setting (3ba2d6c)
-
UContext
- Fixes 32-bit siginfo_t copying definition (cb491a8)
-
Misc
- Adds tsl::robin_map (a7ad7f4)
- Update vixl to fix assert (57a5654)
- Termux fixes (b4e0565)
- Allow classifying syscalls with flags (2933a00)
- Improve compatibility with older uapi kernel headers (fa554d3)
- Updates vixl for new cursor updating methods (5ec6ee5)
- Adds option to disable ccache (0db7205)
- Fixes Host and guest thunks install path (a5fb7e7)
- Removes MAP_GROWSDOWN usage (afa7172)
- Miscellaneous thunk cleanups (4bb3a54)
- Enable proper IDE integration of thunk libraries (5854d4a)
- Updates Readme to fix install script (defd3be)
- Some fixes for older environments (1b99495)
-
unittests
- Disables Interpreter tests when its disabled (3453023)
FEX-2202
Changes
FEXCore
-
AArch64
- Single instruction optimization for AESKeyGenAssist (6744a06)
-
CPUID
- Fixes ASAN problem with reading midr (6022715)
-
OpcodeDispatcher
-
IR
-
Softfloat
- Stop doing special handling for FREM (9d08451)
-
Misc
- Defer a significant number of ALU flag calculation (832d013)
Linux
- Fixes for older build environments (ade0d0f)
- Fixes 32-bit getsockopt and setsockopt (d914954)
- Handles the remaining 32-bit siginfo_t usage (7768f69)
- Fixes emulatedpath with symlink following (5dda3a1)
Thunks
- Add meta data to libvulkan_device (a0026c9)
Tools
-
SocketLogging
- Fixes MsgHandler not syncing with Assert level (9eb5ba5)
-
FEXLogServer
- Stop duplicating and dropping messages (eb17ede)
-
FEXRootFSFetcher
-
FEXLoader
- Resolve the absolute path to rootfs if possible (023aaaa)
CMake
FMT
- Update fmt to 8.1.1 (140e982)
Vixl
Unit tests
- Revise POSIX tests known failures and disabled (ea76de0)
- Fixes ROOTFS needing to be defined prior to cmake (7c08b67)
- Adds a BCD unit test (609587f)
- Fixes InterruptableConditionVariable test to use the syscal… (82e5977)
Misc
FEX-2201
Changes
A large amount of changes this month.
- We now support BMI2, RDTSCP, CLZero.
- We tell the guest what ARM CPU name we are running on.
- We expose the hybrid CPU flag flag on big.LITTLE ARM SoCs.
- Bunches of syscall fixes, JIT compile time speed increases, usability improvements.
- Tons more.
A new FEXRootFSFetcher tool for downloading prebuilt RootFS images.
A Python script for automatically setting up an Ubuntu PPA and RootFS.
FEXCore
Arm64
CPUID
- Fixes another memory overflow issue (0e45b98)
- Fixes crash on unknown CPU (be3e3a3)
- CPUID Expose Hybrid flag and CPU names (9394e49)
Context
- Take some arguments as pointer-to-const (9d43904)
Dispatcher
OpcodeDispatcher
- Handle PDEP (0a3a270)
- Handle PEXT (9198400)
- Implements RDTSCP (ee821b9)
- Implements CLZero instruction (5f0dfcd)
X86Tables
- Build Unknown op definition tables at compile time (e8670bb)
- Speed up initialization of X86Tables (e99a23c)
HostFeatures
IR
- Fixes sized constant mask (565d1e2)
Misc
- Don't use Run() inside RunUntilExit() (0bf5776)
- Fixes a memcpy overflow in processor brand (340699c)
- Fixes FEXCore_Base config dependency (95bd309)
- Implements recoverable INTO instruction (cd4269f)
- Reorganizes some AOT related code (d4655fb)
Linux Emulation/Syscalls
- Fixes pidfd_send_signal for 32-bit (ac63a2b)
- Finish 32-bit msqid_ds usage (98210fd)
- Implements the remaining 32-bit syscalls (bc120b9)
- Fixes semid_ds_64 definition (f2fd9d9)
- Fixes 32-bit shmctl (45430e9)
- Adds the safe syscall unimplemented gap for x86-64 (e05d116)
- Enable warnings (75e5df5)
- Socket
- Resolve sign comparison mismatch cases (097f48f)
Misc
CMake
- Adds an OVERRIDE_VERSION option (0808599)
- Adds a TUNE_CPU option (5146651)
- Adds experimental libc++ option (f3a27a5)
Build fixes
- Fixes build on Ubuntu 20.04 take 3 (8f83567)
- Fixes build on Ubuntu 20.04 take 2 (059e8a9)
- Fixes build on Ubuntu 20.04 (02005e7)
- Fixes Ubuntu 20.04 compilation on AArch64 (47bd479)
Config
Docs
- Adds documentation about the FEX monthly release process (a65e7a0)
GDBServer
- Fixes long string packet encodings (88ce9b5)
Misc
- Stop hardcoding /usr/bin paths (1d5bd15)
- Improves compile ability for older libraries (c691d70)
- More AOT code movement (43dc232)
- FEXMountDaemon squashfs fixes. (ea73c9d)
- Update jemalloc for fixed libc overrides (c43af0e)
- Implement thunk library generation using libclang (425d932)
- {x32, x64}/Thread: Make use of .data() instead of .at(0) (b6499ac)
- Adds a new ReentrantMutex to use for FEXCore (b9c4902)
- NetStream: Move NetBuf definition into cpp file (9860e8b)
Tests
gvisor
- Disables flaky test (e62cb41)
unittests
- Fixes a missing dependency on ASM tests (b078f51)
- Enables remaining unaligned atomic tests on ARMv8.0 (fd04247)
- Fixes known failures (5c4112f)
RootFS
- Stop trying to retry rootfs after five times (a45bc75)
- Be more robust against stale lock files (d4b31cd)
Tools
FEXConfig
- Removes jemalloc usage (c65be9f)
FEXRootFSFetcher
Scripts
- Adds a python script that can hand hold a user through FEX install (b276750)
FEX-2112
Arm64
- Reduce the chance of hanging on reentrant allocations (8ab6830)
- Adds an inline syscall optimization (f746870)
- COND_FGT should map to gt, not hi, as it is not FGTU (b45603d)
- Fixes steamwebhelper burning all CPU cores!
FEXCore
- Fixes CompileService race condition on thread creation (5345f7f)
- Centralize alignment utility functions in one header (966272c)
- Fixes ERROR_AND_DIE (fbd14b6)
- Supports guest SIGILL (6e1ea92)
- CPUID
- Call handler functions directly (ffee22d)
- OpcodeDispatcher
- Remove debug message (d883b4b)
- Implement BZHI (50c8d9e)
- Amend return types of BitSize helpers (c63c5fb)
- Implement MULX (498a845)
- Resolve sign mismatches in loops (ad864e0)
- Add helper for getting bit sizes (3a3cbf2)
- Handle RORX (51d21d8)
- Implement BMI2 SARX/SHLX/SHRX (e37a0bb)
- Removes usage of SignalFrame stack on JITs (d81d5e2)
- Use std::vector as the underlying container for std::stack (61ccec3)
- Partial support for RIP adjust in signal handler (77093a7)
- Resolve unused variable warnings (a04cc4d)
- OpcodeDecoder
- Frontend
- GDBStub
- Fixes a few hangs and crashes (e027b83)
- Interpreter
- JIT
- JitSymbols
- Make use of fmt (db0740b)
- IR
- RegisterAllocationPass
Linux
- Updates syscalls to 5.16 syscalls (c4d05fb)
- Fixes sched_getaffinity (d5bf641)
- Fixes MAP_32BIT error case (92ae6ae)
- Fixes sigprocmask with new and old set being the same address (7bb7891)
- Passthrough 32-bit syscalls that can be (3dc938b)
- Emulate MAP_32BIT on mmap (081d016)
- SignalDelegator update signal mask on return from sigsuspend (90511dd)
- Updates 32-bit DRM emulation (a92233c)
Thunks
- Fail loudly if thunking is enabled for a library that isn't installed (b1b6160)
- ThunksDB
- Updates file to include local libs (e0d40dd)
Tests
- Enables 32-bit host runner (cabb58a)
- Minor cleanup (2a894bc)
- Various thunk library cleanups (3730a42)
Misc
- BucketList
- Minor API touchups (baadf0b)
- CMake
- Adds option to enable time-trace compile option (919e2bc)
- CompileService
- Store WorkItem instances as unique_ptr (ef772c3)
- ELFCodeLoader
- Fixes BRK allocation on some ELF loading (b327daf)
- EnumUtils
- Remove shift operators from helper macro (977d92b)
- General
- Migrate logging over to fmt where possible (513b02f)
- RootFS
- Keep rootfs around while in container (16f1ad4)
- IR.json/json_ir_generator: Minor touchups to generated IR utilities (9b43f94)
- Various packaging improvements (23e583e)
Frontend
FEX-2111
Core
-
Mark relevant Interpreter/JIT functions as [[nodiscard]] (43454ab)
-
IR
-
Frontend
- Handle VEX source operands (7e9201c)
-
Interpreter
- Splits ops in to separate files (e9937d9)
-
JIT
- Fixes asserts added to the JIT (28d084b)
-
JITSymbols
-
Arm64
-
OpcodeDispatcher
CPUID
- Adds support for hybrid flag (a9d3122)
Linux Emulation
- Fixes execve on softlinks in rootfs (a393d66)
- Implements virtio ioctls for 32-bit (e034364)
- Fixes FEXLoader argument passing (f9078f8)
- Follow more symlinks in emulation (09ee6d3)
- No longer do magic on SIGCHLD (95457bc)
- Fix 32-bit nanosleep always passing valid remainder (9e8af23)
Thunks
- Fix missing libdrm include path (fa1648c)
- Respect DESTDIR environment variable (6cd73a6)
- XCB Add missing header file (8dfe305)
- vulkan
- Suppress compiler warnings about unknown attributes (64aa4f0)
Misc
- Fixes environment loader not hooked up to ArgumentLoader (8f170d4)
- Fix left-over printf specifier in fmt log (aa1c47c)
- X86Tables
- Make flag helper functions constexpr (d09706a)
- Telemetry
- Adds telemetry for when an application tears (235367b)
- DeadContextStoreElimination
- Fix missing printf specifier entry (b1ab252)
- RAPass
- Add debug compile option to disable spill slot reuse (3661223)
- TestHarnessRunner
- Cmake
- Change static-pie message to indicate compiled without it (e547f0c)
- FEXConfig
- Fixes timeout in select causing 100% CPU load (8aebbbd)
- Allocator
- Reserve upper 128TB of VA on 64-bit process (cae2f8c)
FEX-2110
- AOTIR
- fix use after free (327c4d5)
- Config
- Check for container-manager and redirect (56bddd3)
- Core
- Minor documentation and code splitting (fb01e8b)
- FEXConfig
- Change shortcut for opening application profile (a56463a)
- FEXLoader
- Flush log output (360c4a2)
- FEXMountDaemon
- Fixes shutdown race conditions (c9a6265)
- FileManager
- Allow reading real root (ba174e5)
- Interpreter
- Changes basic loadstores to sized accesses (08f5654)
- Linux
- OpcodeDispatcher
- Ensure some x87 templates get passed long constants (1fa3afd)
- Scripts
- Adds a new script for extracting function definitions (9d460e8)
- Softfloat
- Allow forcing use of some x87 on x86 host (d004fee)
- StructVerifier
- Fix struct match and minor fixes (2b757a9)
- Thunks
- Vulkan thunks (b3efb1d)
- Support versioned libraries (0dc8e23)
- Install a global thunksDB for our current thunks (72125c9)
- Adds a few missing libGL thunk functions (9a07b55)
- Some minor X related thunk changes (e0b878f)
- Expands Xext thunked functions listo (073224f)
- Expands what asound thunking supports (00511c1)
- Adds a new Thunks database config file (66c7fdb)
- Makes file searches a bit easier (a48ed37)
- Adds init helpers with function call (98bee5a)
- ThunkHelpers script improvements (8d13261)
- Minor fixes to the config and loading (d93edb2)
- Misc
FEX-2109
-
Arm64
-
Arm64Emitter
- Resolves some IWYU warnings (c206942)
-
Config
- Moves non-OS specific configuration loading to FEXCore (6da3330)
-
EmulatedFiles
- Fixes openat for emulated files not using FDCWD (109c42a)
-
FEXBash
- Allow creating a bash instance easily (9140ba2)
-
FEXConfig
- Load application config and advanced tab (3e05544)
-
FEXCore
-
FEXLoader
- Fixes potential bug in log output to stdout/stderr (1092229)
-
FEXMountDaemon
-
Hangover
- Initial support for the syscall handling. (77db25f)
-
Linux
- Setup signal mask correctly to block signal-in-signal situations (70931bf)
- sigaltstack ignore SS_ONSTACK (c74620f)
- Handle fpstate in the signal delegator correctly (1c4503e)
- Fixes 32-bit interval timers (425ee98)
- Fix V3d and VC4 ioctl definitions (0c484ac)
- x86: Initial V3D and VC4 ioctl emulation (127d7c1)
- Fixes accidental execve escape (1c3be54)
- Fixes 32-bit syscalls that use 64-bit values (6afc3ca)
- Implements support for clone with namespaces (7aae9b7)
- Fixes readlinkat for self (8dd41e7)
- Implements pivot_root syscall (cce3f36)
-
RA
- Add max NoteCount assert (c645d86)
-
SignalDelegator
- More splitting and cleanup (097b3ad)
-
Misc
- Fix unaligned CASPair on ARMv8.0 (2c02dca)
- Syscall fixes (befd0aa)
- Properly implement single CAS on ARMv8.0 (25e9585)
- Move BucketList into it's own file (4f66d3e)
- Gvisor fixes (d600b34)
- Massive amount of IWYU cleanup (10793e8)
- Fixes Callback interface to take a thread argument (fa224a3)
- Fixes jemalloc library ordering (b373d0f)
- Proton 6.3 32-bit fixes (8099dfc)
- OpcodeDispatcher: Implements undocumented repne on string ops (926ddab)
- 32-bit wine fixes (6a08587)
- Updates jemalloc to fix missing alias posix_memalign (63af80f)
- Adds new FEXGetConfig program (43052a5)
- Implements support for offline only telemetry (b120a8e)
- Rebase skmp/no sra (0be16ba)
-
unittests
- Hotfix for older nasm (9563b5a)
-
x86
- Fixes siginfo_t si_addr for SIGBUS/SIGSEGV (6b87839)
FEX-2108
-
64BitAllocator
- Convert std::vector table into std::array (ec6cc5c)
-
AArch64
- Workaround static-pie crashing (4c43151)
-
Arm64
- Fixes fill and spill slot offset calculation (6ac2300)
-
CPUID
- Update TM and TM2 CPUID bits (d142d7c)
-
CPack
- Update package name to remove conflict (2d11df0)
-
FEXLoader
- stderr on immediate failure (84dee03)
-
FEXMountDaemon
- Make squashfs mounting more robust (ff98a43)
-
FlexBitSet
- Use non-template type parameter for index parameters (7931dc2)
-
GdbStub
- Fix memory leak in GdbServerLoop() (749f1eb)
-
General
- Remove redundant string constructions in log calls related to IR op name retrieval (80caf90)
-
Jits
- Migrate logs over to fmt where applicable (7052d02)
-
Linux
-
OpDispatcher
- Fixes imul flags calculations (7dd7003)
-
OpcodeDispatcher
- Split the opcode handling to multiple files (2fd41de)
-
RCLSE
- Fixes an assumption in RCLSE (896aa52)
-
Misc
- Linux: Implements support for signals 32 and 33 (7e8577a)
- Wine fixes (de0337d)
- Cleanup compile service on fork (a48e41e)
- Adds an option to stall processes on launch (0315964)
- Adds an option to disable jemalloc from cmake (dec8221)
- binfmt_misc: Support loading ELFs from FD and support preserve (007b1cb)
- Fixes bug in RAPass (b0a28e5)
- Works around static-pie crashing (6277516)
- Adds cmake option ENABLE_STATIC_PIE (aa767b3)
- Fixes some issues I found when running under tsan and asan (14480f3)
- Fixes binfmt_misc install when not installed to /usr (04aacea)
- Validation Passes: Remove unused variables (7f5b352)
- Fixes flag setting for 8bit and 16bit LOCK ALU ops (3a0da68)
- Adds a convenience of named thunk configs (f4e044a)
- Update man page to show JSON key for config options (108081e)
- Fixes Host thunks lib not being able to GL (6ff9b96)
- Allocator fixes (a24d63b)
- Atomic improvements (53417e5)
- Actually fix jemalloc for FEXConfig (35a4f52)
- Switch some memory allocations over to mmap (1eee2dd)
- Update jemalloc to fix glibc override. (0d9ab9c)
- Fix jemalloc malloc replace (a9bb33b)
- Fixes old kernel defines for sockios (8f09bd9)
- Use externals xxhash if not found installed (0a8ee43)