Skip to content
Tags give the ability to mark specific points in history as being important
  • aex-emu-2209
    Release aex-emu-2209
    
    - 64BitAllocator
     - Fixes a significant state tracking perf problem (123b6728)
    
    - Allocator
     - Simplify StealMemory, make it less chatty with kernel space (04678f84)
    
    - Arm64
    
     - JIT
      - Rename CanUseSVE to HostSupportsSVE (7d8950de)
    
    - CI
     - Build Thunks (e544591c)
    
    - FDUtils
     - Don't make unknown get_fdpath fatal (336dedbe)
    
    - FEXRootFSFetcher
     - Fix crash if curl fails to download rootfs definition file (31fefaae)
    
    - FEXServer
     - Support socket path override (a2f4f494)
    
    - Github
     - Fix fresh runner rootfs checkout (d6199687)
    
    - HostRunner
     - Handle upper YMM lanes in sigsegv handler (d5c83a2e)
    
    - IRLoader
    
     - TestHarnessLoader
      - Don't build if not building tests (097184c3)
    
    - InterpreterOps
     - Extend SSAData size to accomodate 256-bit operations (98dbfbe6)
    
    - Linux
     - Emulate classic getdents syscall for x64 and x32 (9de25c20)
    
    - Termux
     - Add android-shmem library (0adbe311)
    
    - Thunks
     - Minor cleanups for signature-based function pointer thunking (e6acdcc5)
     - Support direct thunk config in configuration files  (84a95ada)
     - Fix compile without jemalloc (d5138f50)
    
     - X11
      - Support Variadic stack packing (fbb008e5)
      - Adds missing XLibint functions (998a3d83)
    
    - VectorOps
     - Extend VAnd/VBic/VOr/VXor (e776f4cd)
     - Extend VMov (e7d7dd13)
     - Extend VectorImm (8439cf41)
     - Extend VectorZero (d03b6a93)
    
    - Misc
     - Prepare for 22.09 tag
     -
     - See merge request aex-emu/aex!1977 (8f73fe5b)
     - New Register Allocator
     -
     - See merge request aex-emu/aex!1972 (6fd12b7b)
     - Quick fixes & workarounds
     -
     - See merge request aex-emu/aex!1973 (8d01985f)
     - Guest Build System: Add x86_32 toolchain, formalize things  bit, cleanup FEXLinuxTests
     -
     - See merge request fex-emu-ng/FEXicorn2!1891 (7de8747f)
     - (b4b0c619)
     - Just in time OBJ/IR Caching
     -
     - See merge request fex-emu-ng/FEXicorn2!1842 (22967cb4)
     - New domain. (7f9edbf3)
     - x86_64/JIT: Resolve lingering fmt deprecation warning (37ccb139)
    
    - cmake
     - fix incorrect assumption about the value of git's core.abbrev (c03a7fd4)
    
    - unittests
     - Support skipping unit tests based on host feature support (1fe6fc3f)
    
     - ThunkLibs
      - Fix warning about "dangerous" use of tmpnam (12fee91e)
  • FEX-2208
    FEX Release FEX-2208
    
    - AppConfig
     - Fix bug with filename (ac23bce0b)
    
    - Arm64
    
     - JIT
      - Remove unnecessary [[maybe_unused]] attributes (89aa59061)
    
    - Arm64Dispatcher
     - Amend memcpy in SpillSRA  (f5e18ccea)
    
    - Arm64Emitter
     - Re-add use of stp/ldp with hosts that don't support SVE2 (858911972)
    
    - CMake
     - Support multiple json files in the root of Data/ (bd296d7a1)
    
    - CPUID
     - Detect Cortex-X1C (c9f0ecb1e)
    
    - Config
     - Support a global configuration file (3a64ea165)
    
    - Dispatcher
     - Fix SRA enabled check in signal delegator handlers (0dfe617d9)
    
    - Externals
     - Update fmt to 9.0.0 (54f62b670)
    
    - FEXBash
     - Changes PS1 to hopefully help users (a72ebfdec)
    
    - FEXConfig
     - Some quality of life improvements (164299ce2)
    
    - FEXCore
     - Fix-up edge case behaviour on faulting instructions  (803723137)
     - Adds assume optimizing LogManager function  (3d347ed56)
     - Support synchronizing RIP on block entry through config (80909eaa8)
    
    - FEXRootFSFetcher
     - Adds runtime checks for image mounting tools (cfd59db99)
     - Actually wire up -a -x (3aabe0772)
     - Add some options for automation without user intervention (f6fcfbabd)
    
    - FEXServer
     - Fix unsafe vector insert/removal (0982ec617)
    
    - HarnessHelpers
     - Handle SSE register offsets in CompareStates (0e93ba532)
    
    - Interpreter
     - Move argument names over to IR names (3f9a1c375)
    
    - JitSymbols
     - Only initialize perf map file if using (a984674da)
    
    - Linux
     - Fixes hang in close_range  (4dfe0a059)
     - Only install syscall handlers for the arch we launched with (018661609)
    
    - Syscalls
     - Removes staging vector usage (6903159f3)
    
    - Telemetry
     - Support executable names through wineserver (ce0c24eee)
    
    - Thunks
     - Extends libGL interface to support more functions (1051cd97c)
     - Make glXGetProcAddress self-query work  (dd7e1baa7)
     - Make unknown glXGetProcAddress non-fatal (ab228c1fc)
     - Use external Vulkan-Headers  (9664d98ba)
     - Make GL guest thunks implicitly load libX11.so (5eab087cc)
    
     - X11
      - Distinguish between host and guest pointers in XFree (6933c2aaf)
    
    - Misc
     - Disable UnitTestGenerator (45330fdd5)
     - Synchronized Block Linking (b9c9c7d67)
     - Implement signature-based thunking of function pointers (62d9961bd)
     - Cleanup syscalls headers (c3c52d01d)
     - json_ir_generator: Remove Args() functions from IR structs (98d935d97)
     - Fix SOMA and sigaction definition (b07660c4f)
     - improve compile ability for older linux (c1688fa39)
     - AVX initial groundwork (c17340547)
     - x86_64: Migrate args over to named IR arguments (3ac6ba0fe)
    
    - cmake
     - Remove the static-pie compilation option (a112db169)
    
    - drm
     - Update to v5.19 (1fa6bf1cc)
    
    - unittests
     - Adds 32-bit into test  (f2602e313)
    
    - vixl
     - Update (9b685ba82)
  • FEX-2207
    FEX Release FEX-2207
    
    - AOTIR
     - Fix IRList delete (fb41ba17)
     - Fix RAData free (9242e598)
    
    - Arm64
    
     - EncryptionOps
      - Fix register specifiers in PCLMUL movs (63b70ff3)
    
     - JIT
      - Use IR names in opcode implementations (19b0a9cd)
    
    - Backends
     - Unified dispatch, interface rework, cleanups (072690a1)
    
    - CI
     - Auto rootfs fetching (c027acec)
    
    - CMAKE
     - Create directories during configuration, fixes endless generation of unittests (e62bc24b)
    
    - CMake
     - Check for binfmt_misc conflicts before install (6d2f98a3)
    
    - CPUID
     - Enable the hypervisor bit (da8dbf17)
    
    - Common
     - Support application profiles for games launched through wine (3913dd6c)
    
    - Config
     - Fixes AppConfig for wine-preloader (ae6a57e6)
    
    - Context
     - Fix CreateThread partial initialization issue (eac579f7)
     - Decouple from CodeLoader, introduce generic CustomIREntrypoints (b0a31f71)
    
    - CoreState
     - Add register size constants (1c1ad876)
    
    - Dispatcher
    
     - Arm64
      - Fix vixl assert (0f696c60)
    
    - Dispatchers
     - Use thread local emitters for backend callbacks (4f9bc705)
    
    - FDUtils
     - Fix get_fdpath (aa17f645)
    
    - FEXGDBReader
     - Fix install path (b3e090c8)
    
    - FEXRootFSFetcher
     - Update and fix xxhash file hashing (c0a89847)
    
    - FEXServer
     - Stop leaking FDs to subprocesses (b7806e47)
     - Minor changes (1f1d0706)
     - Adds -w option for waiting on current FEXServer (b020e593)
     - Adds new FEXServer service (5a19425b)
    
    - FEXServerClient
     - When running under pressure-vessel don't use FEXServer rootfs (9110546d)
    
    - IPR
     - Store copy of IRLists, Dispatcher cleanups (790bd974)
    
    - IR
     - Remove GuestCallDirect, GuestCallIndirect (e4d659a6)
     - add IsFragmentExit, IsBlockExit (2d3c6efa)
    
    - Invalidations
     - Move invalidation locks to Context (ffcde182)
    
    - Ioctl
     - Safely access v3d csd ioctl structure (158ba1ae)
    
    - Ioctl32
     - Fix DRM_IOCTL_WAIT_VBLANK (982518d3)
    
    - JITs
     - Qualify external includes consistently (b05e5ce1)
    
    - Linux
     - Fixes for clone3 stack size (1494aac8)
     - Make `get_fdpath` more optimal (542ab046)
     - Fixes 32-bit allocator range scanning (4c73c715)
     - Fixes `open` syscall emulated path handling (43234939)
    
    - OpcodeDispatcher
     - Handle CLMUL opcode extension (9e9ceb38)
    
    - SMC
     - Track code pages before frontend decode (bbd9eb5b)
    
    - Scripts
     - Allow user override on tagged version (aafe7ff1)
    
    - TSO
     - Add auto migration optimisation for applications that don't need TSO (c99d1e48)
    
    - Tests
    
     - IRLoader
      - Silence missing override warning (ade3a527)
    
    - ThunkLibs
     - Fix Guest.h (302a6c96)
     - silence warnings (30a28ff1)
    
     - vulkan
      - Work around lack of generic callback support in VK_EXT_debug_report (4771a340)
    
    - Thunks
     - Implement generic callback support (aec5b21d)
     - Soften error condition to be non-fatal (3b8491b5)
     - Adds libvulkan steam pinned library thunking support (6b226dd6)
     - Fix std::set crash (6a43db8c)
     - Add fex:is_lib_loaded (88b94bef)
     - Support returning host function pointers to the guest (04a1ac96)
     - Support pressure-vessel prefixes (e2e6f2a9)
    
     - vulkan
      - Disable debug report callback (751b66d4)
    
    - ThunksDB
     - Fix String.find error check (d8fa53a4)
    
    - ValueDominanceValidation
     - Avoid stack exhaustion when aggregating predecessors (124097d5)
    
    - Vulkan
     - Handle queries for unknown functions more gracefully (e137c2ed)
    
    - Misc
     - Support EroFS (46fcbe2f)
     - Allow building thunks on a wider range of platforms (ad6fd5ab)
     - Fix inconsistent allocation schemes used for RegisterAllocationData (8a21ecab)
     - Make Dispatcher per Context from per Thread, Simplify TestHarnessRunner (0a62a4c5)
     - IR.json: Correct 'Dest' key to 'Desc' (51c5f945)
    
    - gdb
     - jit integration (4449b604)
    
    - unittests
     - Classify CPU based on CPU features (d005fdcd)
     - Disable known flake in posix tests (a97fb2f3)
     - Add FEXLinuxTests with a few tests (cb0935c9)
    
     - ThunkLibs
      - Fix test failures due to missing FEX_PACKFN_LINKAGE define (a2c9d5a3)
  • FEX-2206
    FEX Release FEX-2206
    
    - AOTIR
     - copy RAData and IRList, make sure data is accessible (da2e44d0)
    
    - AppConfig
     - Inject --no-sandbox in to steamwebhelper (c14c0c2e)
    
    - ArchHelpers
     - Adds relocation struct defines (b5ae9e4c)
    
    - Arm64
     - Fix LDAPUR/STLUR DMB backpatch (27f2e0b0)
     - Adds support for RCPC2 extension (f8ba373e)
     - Fixes AtomicSwap (70988ccf)
    
    - Arm64Emitter
     - Optimize constants with ADRP and ADR (912dbfe5)
    
    - CMake
     - C/C++ flags for defined singed overflow warping (2e053492)
     - Add option to use the mold linker (58841142)
    
    - CompileService
     - Removes no longer necessary service thread  (b1033ed7)
    
    - Config
     - Adds code cache config option (278ca52d)
    
    - Core
     - Adds Code Object Cache service  (13f3c6e7)
     - context-wide guest code invalidations (d8109880)
    
    - EmulatedFiles
     - Fixes temporary file flags (4fbc266b)
    
    - F64
     - Implement FCW using host rounding mode (db3854e3)
     - Fix FILD and FIST for Size < 8 (89d6752d)
    
    - FEXBash
     - Set PS1 to make it more obvious when running under FEX (ec38d58b)
    
    - FEXCore
     - Adds refcount_shared_mutex class (1e597bfb)
     - Reclaimable thread pool allocator (8a7f3955)
    
    - FEXLoader
     - Fix create_directories check for aotir .path file writting (90f338d7)
    
    - FEXLogServer
     - Stop improper use of std::erase_if (d523b7a6)
    
    - FEXRootFSFetcher
     - Don't continue download (fa87c73b)
    
    - JitSymbols
     - Print file+offset if possible (a7156276)
    
    - Linux
     - Fixes 32-bit mmap (3fd136b0)
    
     - MemAllocator32Bit
      - Add missing lock to shmdt, fix error returns (b2b4c2bd)
    
    - OpcodeDispatcher
     - Implement SHA256 instructions (3bbff8a9)
     - Handle SHA-1 instructions (8dd9a5bd)
     - Implements support for PAUSE  (da480208)
     - Fixes pextrb with high registers (fe11bd22)
     - Remove debugging dump statement (c8dc663b)
     - Adds support for non-temporal loadstores (ba78dff1)
    
    - ScopedSignalMask
     - Add shared mutex support, move constructors (8e36f533)
    
    - Syscalls
     - Fixes clone3 stack pointer (0ed96544)
    
     - Linux
      - Add guest[Mmap/Munmap] (b9d878b1)
      - Refactor guest mman tracking (ce0f5db6)
    
    - TestHarnessRunner
     - Use guest mapper for test harness files (b78af2fd)
    
    - X86Tables
     - Leave shouldn't end block (4f426326)
    
    - Misc
     - Struct verifier fixes and reenable (c6153d6a)
     - v5.18 support (969d8f86)
     - Fix dangling curl hyphen (1dee54a9)
     - SMC detection via segfaults (5460a24e)
     - Standarized TODO markers: FEX_TODO, FEX_TODO_ISSUE (73d43c1d)
     - Clean up and document ScopedSignalMask (5379f0a9)
     - Object cache named region no-op implementation (ee2d417d)
     - JIT relocation handling support (c5dacab2)
     - 32-bit FSGS instruction fixes. (9bc631a4)
     - V5.17 support (2f7dcb8d)
     - Emulate reduced-precision X87 with 64-bit host FPU ops (42a63209)
    
    - mtrack
     - Fixes 32-bit shmat, shmdt tracking, guaranteed invalidation atomicity (d82d2944)
    
    - unittests
     - Reenable atomic tests on ARMv8.0 (0fc6d6b6)
     - Investigate failing CI changes (7227ee9b)
     - Workaround runner issues (ce5297b7)
  • FEX-2204
    FEX Release FEX-2204
    
    - CPUID
     - Adds 4000_0001h function (977bda97)
    
    - Documentation
     - Adds hypervisor CPUID information (1f1c2149)
    
    - FEXCore
     - Delete IR after it is used (a247df50)
     - Fixes #1618 (60c7ea6e)
     - Removes unused debug data (8422fc63)
    
    - FileManager
     - Fix realpath failed on debian buster (91665fdf)
    
    - JIT
     - Adds comment to EmitDetectionString (d39df8d3)
    
    - JITArm64
     - Get long divide out of the hot path (8ad14728)
    
    - JITs
     - Emit identification string in the code buffers (23a1c64b)
    
    - Linux
     - Fixes MAP_32BIT supported range (fad91bb8)
    
    - OpcodeDispatcher
     - Fixes SIGILL on unsupported host instructions (042cd354)
     - Fixes FNINIT (187c6418)
    
    - Scripts
     - Updates AArch64 fit for Clang 14 (6b3cd3d3)
    
    - SignalDelegator
     - Adds missing include (b43937a7)
    
    - Softfloat
     - Fixes FSCALE (56779245)
    
    - TestHarnessRunner
     - Flush log on asserts (ebd0edba)
    
    - Misc
     - GDBServer improvements: Three's a crowd (7b0265ff)
     - Gdbstub improvements: The sequel (6a5abd36)
     - GDBServer improvements (53ffe5df)
     - Adds a cmake option for forcing a termux build (5de6c866)
     - Change page define usages over to self-defined (f5f9512d)
     - Disables GUI applications in a Termux build (fb27cb43)
     - Update ReleaseProcess docs for Termux (94664580)
    
    - docs
     - Remove stale text (5cc0c0a3)
  • FEX-2203
    FEX Release FEX-2203
    
    - ARMJIT
     - Switches over to loading pointers from state (1ef78d0a)
    
    - Arm64Emitter
     - Allow non-optimizing LoadConstant (e9c7c761)
    
    - CPUID
     - Implements leaf 4000_0000 (4a3cbf1b)
    
    - ELFCodeLoader
     - Fixes typo in AT_BASE calculation (43fada75)
    
    - FEXCore
     - Adds support for RDRAND/RDSEED  (bebcab02)
    
    - FEXGetConfig
     - Fix --current-rootfs option (76f86e51)
    
    - FEXLoader
     - Adds back required MAP_GROWSDOWN (252dcfe2)
     - Removes memory mapping check on startup (a8e5a0a6)
    
    - IR
     - New IR JSON format (3e8c6d0b)
    
    - JIT
     - Implements x87 fallback helpers as lookups in to state  (b65194f4)
    
    - JITx86
     - Switches over to loading pointers from state (99dcda7f)
    
    - Linux
     - Fix missing types for syscall strace (64d1840f)
     - x32: Fixes tricky stat64 defines (287c65dc)
     - Make sure to use correct accessors for sigevent (62397bb1)
    
    - LinuxAllocator
     - Fixes bug with old kernels and hint allocation (08938ecb)
    
    - OpcodeDispatcher
     - Fixes CMPXCHG8B/16B with 66h/72h/73h prefix (d8a3687a)
     - Implements all the 3DNow! instructions  (ac32ecad)
     - Fixes weirdo edge case in segment moving (ffcaf294)
    
    - Scripts
     - Stop using deprecated Distutils (46ac05e3)
     - Updates CPU fitting script for latest CPUs (2af23d9b)
    
    - Telemetry
     - Fix missing telemetry names (30803c66)
    
    - TestHarnessRunner
     - Wire up environment variable option setting (3ba2d6cf)
    
    - UContext
     - Fixes 32-bit siginfo_t copying definition (cb491a8a)
    
    - Misc
     - Adds tsl::robin_map (a7ad7f44)
     - Update vixl to fix assert (57a56545)
     - Termux fixes (b4e05659)
     - Allow classifying syscalls with flags (2933a00b)
     - Improve compatibility with older uapi kernel headers (fa554d30)
     - Updates vixl for new cursor updating methods (5ec6ee5b)
     - Adds option to disable ccache (0db7205f)
     - Fixes Host and guest thunks install path (a5fb7e73)
     - Removes MAP_GROWSDOWN usage (afa7172c)
     - Miscellaneous thunk cleanups (4bb3a54c)
     - Enable proper IDE integration of thunk libraries (5854d4ad)
     - Updates Readme to fix install script (defd3be3)
     - Some fixes for older environments (1b99495b)
    
    - unittests
     - Disables Interpreter tests when its disabled (34530236)
  • FEX-2202
    FEX Release FEX-2202
    
    - AArch64
     - Single instruction optimization for AESKeyGenAssist (6744a06a)
    
    - APITests
     - Fixes InterruptableConditionVariable test to use the syscal… (82e59777)
    
    - CMake
     - Always use local xxhash to statically link (59781431)
     - Adds TUNE_ARCH option (e36beb8d)
    
    - CPUID
     - Fixes ASAN problem with reading midr (6022715a)
    
    - External
     - Point vixl submodule towards FEX's fork (a3a138ef)
    
    - Externals
     - Update vixl (8e3893df)
    
    - FEXCore
     - Defer a significant number of ALU flag calculation (832d013c)
    
    - FEXLoader
     - Resolve the absolute path to rootfs if possible (023aaaae)
    
    - FEXLogServer
     - Stop duplicating and dropping messages (eb17edec)
    
    - FEXRootFSFetcher
     - Fixes some edge case behaviours  (13f35f7b)
     - Check if curl is installed and fail before running (784cbdd9)
    
    - IR
     - Fixes some wrong offsets in passes (c252f8bf)
     - Fixes SSA ID printing (a2aa9f3f)
    
    - JIT
     - Fixes signed displacement wraparound on 32-bit  (e2798e37)
    
    - Linux
     - Fixes for older build environments (ade0d0f2)
     - Fixes 32-bit getsockopt and setsockopt (d9149548)
     - Handles the remaining 32-bit siginfo_t usage  (7768f696)
     - Fixes emulatedpath with symlink following (5dda3a15)
    
    - OpcodeDispatcher
     - Fixes CRC32 decoding in 0F_38 table (1c242061)
     - Implements PCMPGTQ (caffad85)
     - Implements CRC32 instruction  (b7a76af7)
     - Removes extraneous extract in VFCMP (4c92b562)
     - Fixes ptest flags calculation. (0a8717d9)
    
    - SocketLogging
     - Fixes MsgHandler not syncing with Assert level (9eb5ba5a)
    
    - Softfloat
     - Stop doing special handling for FREM (9d084519)
    
    - ThunkLibs
     - Add meta data to libvulkan_device (a0026c92)
    
    - Misc
     - Fixes FEXConfig build (d308a438)
     - Adds an option to disable the IR interpreter (11a51055)
     - Fix pressure vessel hangs (334a8ef8)
     - Fixes some of the warnings that cropped up (bf581dec)
    
    - externals
     - Update fmt to 8.1.1 (140e9824)
    
    - unittests
     - Revise POSIX tests known failures and disabled (ea76de0f)
     - Fixes ROOTFS needing to be defined prior to cmake (7c08b67d)
     - Adds a BCD unit test (609587f9)
  • FEX-2201
    FEX Release FEX-2201
    
    - Arm64
     - Fixes vixl assertions around ubfm usage (5654f9a0)
     - Fixes MapSelectCC FGT flag (13087f84)
    
    - CMake
     - Adds an OVERRIDE_VERSION option (08085998)
     - Adds a TUNE_CPU option (51466519)
     - Adds experimental libc++ option (f3a27a57)
    
    - CPUID
     - Fixes another memory overflow issue (0e45b98f)
     - Fixes crash on unknown CPU (be3e3a35)
    
    - Config
     - Enables all host threads by default (edce9818)
     - Sanitize Core option (9bffaeea)
    
    - Context
     - Take some arguments as pointer-to-const (9d439047)
    
    - Dispatcher
     - Disables unsync context message (154468c1)
     - Adds more state reconstruction to state restore (fa6f1b1d)
    
    - Docs
     - Adds documentation about the FEX monthly release process (a65e7a09)
    
    - FEXConfig
     - Removes jemalloc usage (c65be9f5)
    
    - FEXCore
     - Don't use Run() inside RunUntilExit() (0bf57765)
     - Fixes a memcpy overflow in processor brand (340699ca)
     - Fixes FEXCore_Base config dependency (95bd309d)
     - Implements recoverable INTO instruction (cd4269f4)
     - Reorganizes some AOT related code (d4655fbb)
    
    - FEXRootFSFetcher
     - Remove 0x prefix on hash (b72245a2)
     - Adds a new tool to help set up a new RootFS (72e8a997)
    
    - GDBServer
     - Fixes long string packet encodings (88ce9b5c)
    
    - HostFeatures
     - Detect if the host CPU suports float exceptions  (117cbde2)
     - Consolidates HostFeatures flags (e24eb7a7)
    
    - IR
     - Fixes sized constant mask (565d1e27)
    
    - Linux
     - Fixes pidfd_send_signal for 32-bit (ac63a2ba)
     - Finish 32-bit msqid_ds usage (98210fdf)
     - Implements the remaining 32-bit syscalls (bc120b9f)
     - Fixes build on Ubuntu 20.04 take 3 (8f835678)
     - Fixes build on Ubuntu 20.04 take 2 (059e8a90)
     - Fixes build on Ubuntu 20.04 (02005e71)
     - Fixes Ubuntu 20.04 compilation on AArch64 (47bd4795)
     - Fixes semid_ds_64 definition (f2fd9d9e)
     - Fixes 32-bit shmctl (45430e95)
     - Adds the safe syscall unimplemented gap for x86-64 (e05d116b)
    
    - LinuxSyscalls
     - Enable warnings (75e5df54)
    
    - NetStream
     - Move NetBuf definition into cpp file  (9860e8b7)
    
    - OpcodeDispatcher
     - Handle PDEP (0a3a270a)
     - Handle PEXT (91984003)
    
    - RootFS
     - Stop trying to retry rootfs after five times (a45bc759)
     - Be more robust against stale lock files (d4b31cd4)
    
    - Scripts
     - Adds a python script that can hand hold a user through FEX install (b276750c)
    
    - X86Tables
     - Build Unknown op definition tables at compile time (e8670bba)
    
    - Misc
     - Stop hardcoding /usr/bin paths (1d5bd152)
     - Improves compile ability for older libraries (c691d709)
     - More AOT code movement (43dc232e)
     - FEXMountDaemon squashfs fixes. (ea73c9d7)
     - Implements RDTSCP (ee821b9c)
     - Update jemalloc for fixed libc overrides (c43af0e1)
     - CPUID Expose Hybrid flag and CPU names (9394e49c)
     - Speed up initialization of X86Tables (e99a23cf)
     - Implement thunk library generation using libclang (425d9323)
     - Implements CLZero instruction (5f0dfcd7)
     - {x32, x64}/Thread: Make use of .data() instead of .at(0) (b6499ac7)
     - Adds a new ReentrantMutex to use for FEXCore (b9c49027)
    
    - gvisor
     - Disables flaky test (e62cb417)
    
    - unittests
     - Fixes a missing dependency on ASM tests (b078f511)
     - Enables remaining unaligned atomic tests on ARMv8.0 (fd042476)
     - Fixes known failures (5c4112f1)
    
    - x32
    
     - Socket
      - Resolve sign comparison mismatch cases (097f48f3)
  • FEX-2112
    FEX Release FEX-2112
    
    - Arm64
     - Reduce the chance of hanging on reentrant allocations (8ab6830f)
     - Adds an inline syscall optimization (f7468703)
    
    - BucketList
     - Minor API touchups (baadf0b9)
    
    - CMake
     - Adds option to enable time-trace compile option (919e2bc3)
    
    - CPUID
     - Call handler functions directly (ffee22d3)
    
    - CompileService
     - Store WorkItem instances as unique_ptr (ef772c3e)
    
    - Dispatcher
     - Removes usage of SignalFrame stack on JITs (d81d5e21)
     - Use std::vector as the underlying container for std::stack (61ccec37)
     - Partial support for RIP adjust in signal handler (77093a7f)
    
    - ELFCodeLoader
     - Fixes BRK allocation on some ELF loading (b327daf5)
    
    - EnumUtils
     - Remove shift operators from helper macro (977d92b7)
    
    - FEXCore
     - Fixes CompileService race condition on thread creation (5345f7fa)
     - Centralize alignment utility functions in one header (966272ce)
     - Fixes ERROR_AND_DIE (fbd14b65)
     - Supports guest SIGILL  (6e1ea92c)
    
    - FEXLoader
     - Change 32-bit memory check error to warning (82ebdf52)
     - Print memory map when 32-bit intersect happens (e6d285a7)
    
    - Frontend
     - Handle VEX RXB bits (d47182b6)
     - Mark modrm function LUT as static (c6662a46)
    
    - GDBStub
     - Fixes a few hangs and crashes  (e027b83a)
    
    - General
     - Migrate logging over to fmt where possible  (513b02fd)
    
    - IR
     - Make some interface functions accept pointers to const  (8c38f936)
     - Convert NodeID into a strong type (b93871ff)
     - Add type alias for Node IDs  (1f306d66)
    
    - Interpreter
     - Build op handler table at compile-time (63f9e0b4)
    
    - InterpreterCore
    
     - Dispatcher
      - Resolve unused variable warnings (a04cc4dc)
    
    - InterpreterOps
     - Mark F80CMP array as static constexpr (13ad5b66)
    
    - JIT
     - Eliminate redundant jump target map lookups (8ef02783)
     - Ensures signals in compileservice JIT space is handled (97e3a364)
    
    - JitSymbols
     - Make use of fmt (db0740be)
    
    - Linux
     - Fixes sched_getaffinity (d5bf6414)
     - Fixes MAP_32BIT error case (92ae6ae2)
     - Fixes sigprocmask with new and old set being the same address (7bb78912)
     - Passthrough 32-bit syscalls that can be (3dc938b8)
     - Emulate MAP_32BIT on mmap (081d0169)
     - SignalDelegator update signal mask on return from sigsuspend (90511ddd)
    
    - OpcodeDecoder
     - Shorten up GPR and MM base offset retrieval (59ed91c5)
     - Convert enums into enum classes where applicable (d1fa8bcf)
     - Add support for ADX (d3cd354c)
    
    - OpcodeDispatcher
     - Remove debug message (d883b4bf)
     - Implement BZHI (50c8d9ed)
     - Amend return types of BitSize helpers (c63c5fb6)
     - Implement MULX (498a845c)
     - Resolve sign mismatches in loops (ad864e0e)
     - Add helper for getting bit sizes (3a3cbf2b)
     - Handle RORX (51d21d86)
     - Implement BMI2 SARX/SHLX/SHRX (e37a0bbd)
    
    - RegisterAllocationPass
     - Resolve sign comparison mismatch in CalculateNodeInterference() (597e4e1d)
     - Reduce usages of NodeIDs where applicable (19a06519)
    
    - RootFS
     - Keep rootfs around while in container (16f1ad46)
    
    - Syscalls
     - Move construction of syscall name map into GetSyscallName() (0560e9be)
    
    - Tests
     - Minor cleanup (2a894bc1)
    
    - Thunks
     - Fail loudly if thunking is enabled for a library that isn't installed (b1b61608)
    
    - ThunksDB
     - Updates file to include local libs (e0d40dd4)
    
    - Misc
     - Adds Socket logger and tool (6c93b6f7)
     - IR.json/json_ir_generator: Minor touchups to generated IR utilities (9b43f94f)
     - Updates syscalls to 5.16 syscalls (c4d05fb8)
     - Various packaging improvements (23e583e1)
     - Various thunk library cleanups (3730a428)
     - Updates 32-bit DRM emulation (a92233c7)
    
    - jit
    
     - arm64
      - COND_FGT should map to gt, not hi, as it is not FGTU (b45603d1)
    
    - unittests
     - Enables 32-bit host runner (cabb58ad)
  • FEX-2111
    FEX Release FEX-2111
    
    - ALUOps
     - Fix left-over printf specifier in fmt log (aa1c47cd)
    
    - Allocator
     - Reserve upper 128TB of VA on 64-bit process (cae2f8ca)
    
    - Arm64
     - Fixes paranoid TSO mode (8b645465)
     - Consolidate HandleSIGBUS (babb81a2)
     - Don't fall back to native (a3b39afe)
     - Make sure to spill static FPRs on guest signal (98ba0bfa)
     - Be more explicit about x87 ABI usage (bdc66a33)
    
    - CPUID
     - Adds support for hybrid flag (a9d31227)
    
    - Cmake
     - Change static-pie message to indicate compiled without it (e547f0ca)
    
    - Core
     - Mark relevant Interpreter/JIT functions as [[nodiscard]] (43454abc)
    
    - DeadContextStoreElimination
     - Fix missing printf specifier entry (b1ab252c)
    
    - FEXConfig
     - Fixes timeout in select causing 100% CPU load (8aebbbd0)
    
    - Frontend
     - Handle VEX source operands (7e9201cf)
    
    - IR
     - Fixes memory ops having a duplicate size field (56e5e78b)
     - Add handling for ANDN operations  (34b2f93d)
    
    - Interpreter
     - Splits ops in to separate files (e9937d9a)
    
    - JIT
     - Fixes asserts added to the JIT (28d084bf)
    
    - JITSymbols
     - Allow grouping JIT symbols by guest named regions (ff74e0a0)
     - Change over to runtime enablement of symbols (8b3c4615)
    
    - Linux
     - Fixes execve on softlinks in rootfs (a393d660)
     - Implements virtio ioctls for 32-bit (e0343647)
     - Fixes FEXLoader argument passing (f9078f8d)
    
     - FM
      - Follow more symlinks in emulation (09ee6d3b)
    
    - OpcodeDispatcher
     - Implement BLSR/BLSMSK (b4a71a21)
     - Implement handling for BLSI (285ef387)
     - Handle BMI1 BEXTR (76538be0)
     - Deduplicate OpToIndex definition (031fa8a7)
    
    - RAPass
     - Add debug compile option to disable spill slot reuse (36612233)
    
    - SignalDelegator
     - No longer do magic on SIGCHLD (95457bc7)
    
    - Syscall
     - Fix 32-bit nanosleep always passing valid remainder (9e8af234)
    
    - Telemetry
     - Adds telemetry for when an application tears (235367b6)
    
    - TestHarnessRunner
     - Make argument check more strict (eb8a8bf9)
     - Convert LOGMAN_THROW_A into error log and exit (c9c35262)
    
    - Thunks
     - Fix missing libdrm include path (fa1648c6)
     - Respect DESTDIR environment variable (6cd73a67)
     - XCB Add missing header file (8dfe305a)
    
     - vulkan
      - Suppress compiler warnings about unknown attributes (64aa4f00)
    
    - X86Tables
     - Make flag helper functions constexpr (d09706aa)
    
    - Misc
     - Fixes environment loader not hooked up to ArgumentLoader (8f170d4a)
  • FEX-2110
    FEX Release FEX-2110
    
    - AOTIR
     - fix use after free (327c4d55)
    
    - Config
     - Check for container-manager and redirect (56bddd3a)
    
    - Core
     - Minor documentation and code splitting (fb01e8bf)
    
    - FEXConfig
     - Change shortcut for opening application profile (a56463a7)
    
    - FEXLoader
     - Flush log output (360c4a20)
    
    - FEXMountDaemon
     - Fixes shutdown race conditions (c9a62658)
    
    - FileManager
     - Allow reading real root (ba174e5c)
    
    - Interpreter
     - Changes basic loadstores to sized accesses (08f56540)
    
    - Linux
     - Implements support for POSIX message queues on 32-bit (21ff4339)
     - Implements support for timer_create (f232dceb)
     - Fixes timex definition for 32-bit syscalls (368095f9)
     - Fixes rlimit syscalls for 32-bit (e91061f7)
    
    - OpcodeDispatcher
     - Ensure some x87 templates get passed long constants (1fa3afd0)
    
    - Scripts
     - Adds a new script for extracting function definitions (9d460e80)
    
    - Softfloat
     - Allow forcing use of some x87 on x86 host (d004fee7)
    
    - StructVerifier
     - Fix struct match and minor fixes (2b757a9b)
    
    - Thunks
     - Support versioned libraries (0dc8e233)
     - Install a global thunksDB for our current thunks (72125c9c)
     - Adds a few missing libGL thunk functions (9a07b550)
     - Some minor X related thunk changes (e0b878f1)
     - Expands Xext thunked functions listo (073224ff)
     - Expands what asound thunking supports (00511c16)
     - Adds a new Thunks database config file (66c7fdb6)
     - Makes file searches a bit easier (a48ed376)
     - Adds init helpers with function call (98bee5a6)
     - ThunkHelpers script improvements (8d13261a)
     - Minor fixes to the config and loading (d93edb2d)
    
    - Misc
     - Vulkan thunks (b3efb1d2)
     - Adds support for setting host environment variables from config (d5f9f43a)
     - Build fix for ENABLE_JITSYMBOLS (591fc001)
     - RA validation (3744ec2a)
  • FEX-2109
    FEX Release FEX-2109
    
    - Arm64
     - Fixes SRA spilling on signal (35c66429)
     - Reimplements support for binfmt_misc without update-binfmts (5d73ac32)
    
    - Arm64Emitter
     - Resolves some IWYU warnings (c206942b)
    
    - Config
     - Moves non-OS specific configuration loading to FEXCore (6da33306)
    
    - EmulatedFiles
     - Fixes openat for emulated files not using FDCWD (109c42a6)
    
    - FEXBash
     - Allow creating a bash instance easily (9140ba28)
    
    - FEXConfig
     - Load application config and advanced tab (3e05544e)
    
    - FEXCore
     - Return the ParentThread with InitCore (97f413cf)
     - Minor symbol visibility fixes (5debdf8d)
     - Use GetCursorAddress when able (8eb0df96)
    
    - FEXLoader
     - Fixes potential bug in log output to stdout/stderr (10922293)
    
    - FEXMountDaemon
     - Fixes dangling mounts problem (dd343165)
     - Fixes some minor issues (ad34cddb)
     - Early fork to deparent child (7795078f)
    
    - Hangover
     - Initial support for the syscall handling. (77db25fc)
    
    - Linux
     - Setup signal mask correctly to block signal-in-signal situations (70931bf3)
     - sigaltstack ignore SS_ONSTACK (c74620f0)
     - Handle fpstate in the signal delegator correctly (1c4503e2)
     - Fixes 32-bit interval timers (425ee98f)
     - Fix V3d and VC4 ioctl definitions (0c484ac4)
     - x86: Initial V3D and VC4 ioctl emulation (127d7c1a)
     - Fixes accidental execve escape (1c3be542)
     - Fixes 32-bit syscalls that use 64-bit values (6afc3ca1)
     - Implements support for clone with namespaces  (7aae9b7e)
     - Fixes readlinkat for self (8dd41e7f)
     - Implements pivot_root syscall (cce3f365)
    
    - RA
     - Add max NoteCount assert (c645d868)
    
    - SignalDelegator
     - More splitting and cleanup (097b3ad8)
    
    - Misc
     - Fix unaligned CASPair on ARMv8.0 (2c02dcac)
     - Syscall fixes (befd0aa9)
     - Properly implement single CAS on ARMv8.0 (25e95855)
     - Move BucketList into it's own file (4f66d3e9)
     - Gvisor fixes (d600b34b)
     - Massive amount of IWYU cleanup (10793e89)
     - Fixes Callback interface to take a thread argument (fa224a35)
     - Fixes jemalloc library ordering (b373d0fc)
     - Proton 6.3 32-bit fixes (8099dfc8)
     - OpcodeDispatcher: Implements undocumented repne on string ops (926ddabb)
     - 32-bit wine fixes (6a08587d)
     - Updates jemalloc to fix missing alias posix_memalign (63af80fc)
     - Adds new FEXGetConfig program (43052a57)
     - Implements support for offline *only* telemetry (b120a8ea)
     - Rebase skmp/no sra (0be16bae)
    
    - unittests
     - Hotfix for older nasm (9563b5aa)
    
    - x86
     - Fixes siginfo_t si_addr for SIGBUS/SIGSEGV (6b878394)
  • FEX-2108
    FEX Release FEX-2108
    
    - 64BitAllocator
     - Convert std::vector table into std::array (ec6cc5cb)
    
    - AArch64
     - Workaround static-pie crashing (4c431518)
    
    - Arm64
     - Fixes fill and spill slot offset calculation (6ac23003)
    
    - CPUID
     - Update TM and TM2 CPUID bits (d142d7c3)
    
    - CPack
     - Update package name to remove conflict (2d11df03)
    
    - FEXLoader
     - stderr on immediate failure (84dee03a)
    
    - FEXMountDaemon
     - Make squashfs mounting more robust (ff98a43f)
    
    - FlexBitSet
     - Use non-template type parameter for index parameters (7931dc2c)
    
    - GdbStub
     - Fix memory leak in GdbServerLoop() (749f1eba)
    
    - General
     - Remove redundant string constructions in log calls related to IR op name retrieval (80caf903)
    
    - Jits
     - Migrate logs over to fmt where applicable (7052d022)
    
    - Linux
     - Implements support for vsyscall (a5b142cf)
     - Implements rt_{tg,}sigqueueinfo (1a64c908)
     - Implements a base implementation of signalfd{4,} (2db44cf2)
     - Remove logs about parent or child stack usage (336eb9a8)
    
    - OpDispatcher
     - Fixes imul flags calculations (7dd70039)
    
    - OpcodeDispatcher
     - Split the opcode handling to multiple files (2fd41de5)
    
    - RCLSE
     - Fixes an assumption in RCLSE  (896aa528)
    
    - Misc
     - Linux: Implements support for signals 32 and 33  (7e8577a5)
     - Wine fixes (de0337db)
     - Cleanup compile service on fork (a48e41e4)
     - Adds an option to stall processes on launch (03159648)
     - Adds an option to disable jemalloc from cmake  (dec82219)
     - binfmt_misc: Support loading ELFs from FD and support preserve (007b1cbe)
     - Fixes bug in RAPass (b0a28e59)
     - Works around static-pie crashing (62775161)
     - Adds cmake option ENABLE_STATIC_PIE (aa767b39)
     - Fixes some issues I found when running under tsan and asan (14480f3e)
     - Fixes binfmt_misc install when not installed to /usr (04aacea5)
     - Validation Passes: Remove unused variables (7f5b3524)
     - Fixes flag setting for 8bit and 16bit LOCK ALU ops (3a0da68b)
     - Adds a convenience of named thunk configs (f4e044a5)
     - Update man page to show JSON key for config options (108081e2)
     - Fixes Host thunks lib not being able to GL (6ff9b966)
     - Allocator fixes (a24d63b5)
     - Atomic improvements (53417e53)
     - Actually fix jemalloc for FEXConfig (35a4f52d)
     - Switch some memory allocations over to mmap (1eee2dd0)
     - Update jemalloc to fix glibc override. (0d9ab9ca)
     - Fix jemalloc malloc replace (a9bb33b8)
     - Fixes old kernel defines for sockios (8f09bd92)
     - Use externals xxhash if not found installed (0a8ee430)
  • FEX-2107
    FEX Release FEX-2107
    
    - ARM64
     - Fixes bugs in unaligned atomic signal handlers (12cc979e)
    
    - Arm64
     - Use regular function pointers with CAS handling functions (49fa69d4)
    
    - CPUID
     - Improvements to have a more sane configuration  (9635b344)
    
    - Context
     - Add alias for exit handler (52e2c4ab)
     - Place return value from GenerateIR into a struct (09071e42)
     - Move GPR size retrieval to its own function (adcee996)
    
    - Core
     - Remove unused DefaultFallbackCore (d2771669)
     - After fork make sure to cleanup stacks (3252f793)
    
    - FEXConfig
     - Have it create AppConfig folder on save (4880097f)
    
    - FEXLoader
     - Make use of unique_ptr for syscall handlers (36b5863c)
    
    - FileManager
     - Minor changes (dc664b1e)
    
    - Frontend
     - Make lookup tables static in MapModRMToReg (1f89ca72)
    
    - General
     - Resolve -Wcast-qual warnings (f088d970)
     - Resolve -Wignored-qualifiers warnings (fb7964e6)
    
    - HostAllocator
     - Make Create64BitAllocator() return a unique_ptr  (38d25d97)
    
    - OpcodeDispatcher
     - Make use of if constexpr (81ce7b3f)
     - Mark lookup tables as static in Get{Src,Dst}Size (09363f1b)
     - Make GPR indices in SyscallOp constexpr (a8855a33)
    
    - Passes
     - Replace <iostream> header with narrower equivalents (98714a49)
     - Return by unique_ptr where applicable (12efcdc9)
    
    - RegisterAllocationPass
     - Prevent leaks in BucketList (74f63c90)
    
    - Syscalls
     - Add helper for version testing (58c66b73)
    
     - Signals
      - Add missing arguments to pidfd_send_signal syscall (af112f4c)
    
    - Misc
     - Fixes PT_LOAD with zero file size (7d0535e0)
     - Moves ELF handlers from FEXCore to frontend (176b3292)
     - Remove logs that are just noise at this point (2d830454)
     - Wrap 32-bit epoll_ctl argument in compat_ptr (76a054e5)
     - Implements support for deferred signal handler installation  (336ecb8c)
     - Implements 32-bit sigpending (26531e9b)
     - Implements support for cpack debian package building (282402a8)
     - Fixes a couple of 32-bit checks (28254a31)
     - Implements 32-bit iret instruction (910c624a)
     - Lower priority of AOT compilation threads. (767ea0fc)
     - Implements 32-bit truncate64 syscall (087e5a95)
     - Fixes fixed stack offset for 32-bit applications (67e6ffbc)
     - Fixes debug strace output (6734d745)
     - Fixes a 32-bit processes wanting another TLS space (332123a3)
     - Fix Star Wars Knights of the Old Republic 2 (24fdbe4e)
     - Disable flaky posix test (424b93b5)
     - Fixes FEXBash with squashfs (42f1dfee)
     - Fixes typo on extension check for squashfs (a67bdddb)
     - Support Squashfs based rootfs files (52426ae9)
     - Enables transparent huge pages in our 64-bit VA allocator (779aca7e)
     - Removes more libnuma references (afd35be9)
     - Remove most warnings in FEX again (50b5ad57)
     - Fixes a crash in 32-bit applications with tmpfile (0a03fbdf)
    
    - syscalls
     - Disallow disabling CPUID from arch_prctl (3d25f594)
    
    - x32
     - Fixes fcntl OP_GETLK64_32 (861d89e8)
     - Fixes sendmmsg cmsg alignment (59c36ebc)
     - Fixes shmdt, sendmsg, recvmsg syscalls (3a11b88d)
     - Implement chown32/fchown32/lchown32 (5d7822c9)
    
     - Socket
      - Amend std::vector initialization bug in sendmmsg (bdfbebe2)
    
     - Thread
      - Implement setfsuid32/setfsgid32 (01667bdf)
      - Implement getgroups32/setgroups32 (c7cd2241)
    
     - Time
      - Implement settimeofday (fd8dcda6)
      - Fix a few edge cases in time related syscalls (8e6328e9)
      - Implement futimesat (4a1da852)
      - Implement utimes (35157c12)
  • FEX-2106
    FEX Release FEX-2106
    
    - AOTIR
     - .aotir files are now streamed out (dc7437b8)
    
    - CodeLoader
     - Add type aliases for mapper and unmapper functions (69035348)
    
    - Config
     - Avoid a few minor string copies where trivially possible (97c4ba01)
     - Move strings where applicable  (0c234416)
    
    - ConstProp
     - Separate out constituent chunks of const prop (4fa8522d)
    
    - Core
     - return unique_ptr by default for cores (c98fb7ae)
    
    - DecodedOperand
     - Convert operand type into an enum class (98383095)
     - Add helper functions for type testing  (71c32c01)
    
    - Externals
     - Add fmtlib as an external (8b587306)
    
    - FEXConfig
     - Allow lower GL versions (4243ed19)
     - Fixes INotify watcher never coming up (4c02c9f0)
    
    - GdbServer
     - Migrate logging/string handling to fmt where applicable (e78d3d1a)
    
    - General
     - Place more compiler specifics into CompilerDefs.h (130f82a3)
     - Add missing const specifiers where applicable (36a77bb3)
    
    - IR
     - Make use of defaulted operator== (83bf79ab)
    
    - IRParser
     - Minor cleanup (6d20ae5d)
     - Make use of fmt where applicable (104fabc1)
     - Convert array of std::string over to array of std::string_view  (37689279)
    
    - InternalThreadState
     - Make SignalEvent an enum class (294ec80a)
    
    - LogManager
     - Add fmt-capable logging functions (0a7f0a34)
    
    - SignalDelegator
     - Minor changes (57df4c6d)
    
    - Syscalls
    
     - Thread
      - Replace std::unexpected with std::terminate (b9e53b6c)
    
    - Utils
     - Add header for bit-related utilities (f6997264)
     - Add CompilerDefs.h for compiler-specifics (4c275ecc)
    
    - Misc
     - Fixes 32-bit applications crashing (08fad8fb)
     - Fixes crash in 32-bit pselect6 and pselect6_time64 (16bb64aa)
     - {x32, x64}/EPoll: Prevent edge-case out-of-bounds access scenarios (b9a8c383)
     - Fixes floating point conversion rounding bugs (5ac9b455)
     - Implements SSE4.1 (c6e09dde)
     - Fixes semctl and msgctl (61f73cf0)
     - Adds drm headers to an external repository (9716a4f0)
     - Implements more syscalls for supporting a higher guest kernel version (edd1dfdf)
     - Implements SSE4.1 insertps (16467c0f)
     - Implements pidfd_getfd syscall (7b418088)
     - Multi threaded AOTGen (6cba775d)
     - ppoll fixes (370f36c8)
     - Ignore non-canonical addresses in FS/GS setting (42bb27b1)
     - Removes syscall forward errno preprocessor implementation (c103f547)
     - Disable userfaultfd until supported (7ecaf24e)
     - Fix fadvise64 (52f7ea54)
     - Handle FD flag remapping correctly (023a32ea)
     - Sigaction fixes (36980131)
     - Emulate MAP_32BIT in mmap (b2eb13fa)
     - Use epoll syscalls directly (27b6497b)
     - Fix uname (66ee89ec)
     - Support redirecting thread-self exe softlink (bee73199)
     - Return ENOSYS on too large of syscall number (0e6db843)
     - Fix two EmuFD issues (b45538f0)
     - Handles symlinks in rootfs in openat  (eb02afe9)
     - Microoptimization for the DRM ioctls (e282fd22)
     - Fixes JITSymbols for x86-64 JIT (3147f0d8)
    
    - x32
    
     - FD
      - Construct vectors in place (e469031c)
  • FEX-2105
    FEX Release FEX-2105
    
    - AOTIR
     - Add install rule for FEXUpdateAOTIRCache (517b5757)
     - Offline Generation (fd6d33d1)
     - Switch over to mmap-based loading (a30866a8)
    
    - Deps
     - Require xxhash 0.7.3, ubuntu 20.04 ships with that version (e9a32da9)
    
    - ELF
     - Simpler loader, uses mmap (08bc7a83)
    
    - IR
     - Fix RIP relocation edge-cases (7d4380fe)
     - Remove Entry from OP_HEADER, pass as parameter to CompileCode (db776fae)
    
    - JIT
     - Add reason 1 (0xCD) to OP_BREAK implementations (605994dc)
    
    - LookupCache
     - Add new entries to L1C (7d5157b6)
    
    - Oops
     - Missed line on FEXConfig SDL2 (c495d812)
    
    - Misc
     - Fixes host thread stacks ending up in lower 32-bit VA (623b29de)
     - Handle more cases of an application pinging self (9be67fb2)
     - Fixes ioctl returning error (cb9286c1)
     - Updates binfmt_misc files to support AppImage (693097c5)
     - Adds Nouveau and Lima ioctl32 handlers (5b017f9a)
     - Implements support for CLFLUSH  (8d1f9a90)
     - Remove reliance on librt and libnuma (6dc69063)
     - Redirect applications using execve with self (2916c4f3)
     - Initial base implementation of sigtimedwait (04137d0d)
     - More ioctl32 emulation (afa81294)
     - Workaround fixes in sendmsg/recvmsg (866baf66)
     - 64-bit allocator and ioctl emulation (235e05e8)
     - Removes xxhash version check (3e1da51c)
     - Fixes SDL2 interface check...again. (4efe973b)
     - Memory layout optimizations (528b01ad)
     - Enables ARMv8.4 CI runner  (cd0492a1)
     - Optimizes CPUID generation a bit (aae4de10)
     - Work around M1 Parallels hypervisor not showing CPU type (a6d94250)
     - Only use SDL2 import target if it exists (2ab8a970)
     - Adds Long Divide removal pass (bab59279)
     - Changes LogMan assert to defines (c3ad5710)
     - Switch from fasthash64 to xxhash's XXH3 (60671ee6)
     - Naked mman usage removal (6635765e)
     - Fixes ELFCodeLoader2 loading relative ELF files (3e4ff23a)
     - Declare missing template specialization for GetListIfExists (3419f40c)
     - Use cmake SDL2 target properties (8260ddda)
     - Use mcpu=native with Clang 12 (872e49f0)
     - Fixes OpenAt breaking with anonymous objects (f0f6bc7a)
     - Emulated Files: Don't precalculate /proc/pid path, it changes after fork (e7179ff8)
     - First step in paranoid TSO mode (6cc7d065)
     - Switches FEX over to using jemalloc (93b9ca4b)
     - Default hidden visibility and strip symbols (4a504bdd)
     - Enables GCC 32-bit unit tests (5e6c6adf)
     - Fixes segment register override on string instructions.  (50c3ee04)
     - Adds some more CPUID functions (c0ef6da6)
     - Fixes ordering problem of tag generation in release script (20634114)
     - Fixes Zext semantics on atomic ops with x64 JIT (4a5eefec)
     - Updates a couple POSIX test case failures (eaad9e99)
     - Allows overriding FEX folder locations with environment variables (62406a45)
     - Adds use-after-scope to the ASAN options (03537d35)
     - Removes getenv usage for aotir (1d4b81f5)
     - Fixes GCC tests (c26f19ed)
     - Adds support for Arm64 JIT to Print (9619cea0)
     - Fixes memory leak in CPU backends  (44dbecc2)
     - Implements a minimal siginfo_t in the dispatcher's signal handler (41563220)
     - Fixes eventfd and eventfd2 (8319a855)
     - Fixes truncate and creat (8ad45071)
     - Fixes clock_nanosleep (c7620504)
     - Fixes FEXConfig filling in unnamed options (648ef617)
     - Fixes wrapping cmdline arguments (5fac51f6)
     - Fixes pselect6 signal arg pack argument (be03767c)
     - Updates release script to match what I want it to be (adeea56e)
  • FEX-2104
    FEX Release 21-04
  • FEX-2103
    FEX Release 21-03
  • FEX-2102
    FEX Release 21-02
  • FEX-2101
    FEX Release 21-01