Skip to content
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)