Iaying
7629323548
Fix an XMM register bug in SpillSRA, along with adding a test that reproduces the bug
2026-08-03 15:15:41 -07:00
LC
e8b5cd18bd
SignalDelegator: Remove unused Required parameter in handler setting
...
The required flag is set by the subsequent frontend functions that
follow the calls to these functions.
2026-07-27 15:06:24 -04:00
FrontMage
35518a5fa0
FEXCore: Ignore inactive JIT guard ranges
2026-07-24 07:57:48 +08:00
Ryan Houdek
99b8df4e6f
Merge pull request #5773 from lioncash/fdres
...
ThreadManager: Fix error return values in FrontendAllocateSlots()
2026-07-19 16:14:50 -07:00
LC
331655182d
ThreadManager: Fix error return values in FrontendAllocateSlots()
...
If ftruncate or the mmap ever fail for whatever reason, then we need to
return the current size, rather than the new size.
2026-07-21 15:12:41 -04:00
Ryan Houdek
ec95330dcd
Merge pull request #5765 from lioncash/signal
...
SignalDelegator: Group members together
2026-07-19 16:13:26 -07:00
LC
3959863462
SignalDelegator: Group members together
...
Hides all public members and situates all of them together to make for
an easier overview.
2026-07-19 21:10:35 -04:00
LC
6e37dca566
LinuxAllocator: Reduce MemAllocator32Bit size by 16 bytes
...
These constants don't need to be member vars.
2026-07-19 18:37:38 -04:00
LC
a3d0b67777
LinuxEmulation: Resolve missing prototype warnings
...
Ensures all functions are marked whether they're intended to be
internally linked or not.
2026-07-17 00:12:28 -04:00
LC
2943b87c83
VDSO_Emulation: Mark relevant members as internally linked
...
Silences missing prototype warnings and makes it obvious they're only
used within the translation unit.
2026-07-16 07:28:50 -04:00
Ryan Houdek
50c75d1f43
Move Linux version calculation to common code
2026-07-14 20:06:37 -07:00
LC
23402bf31b
x32/Semaphore: Fix storing of message type in msgrcv
...
This was previously storing into the local compat handler, not the
actual managed message.
2026-07-13 17:30:27 -04:00
LC
50be718b72
x32/Semaphore: Mark _ipc as static
...
This isn't used outside of the translation unit.
2026-07-13 17:30:24 -04:00
Ryan Houdek
f2b679f602
Merge pull request #5728 from lioncash/halves
...
x32/FD: Combine offset halves directly
2026-07-12 11:15:10 -07:00
Ryan Houdek
b9d97dffe7
Merge pull request #5727 from lioncash/vmsplice
...
x32/FD: Make use of SanitizeIOCount for vector construction in vmsplice
2026-07-12 11:14:31 -07:00
LC
a6c8f0d300
x32/FD: Combine offset halves directly
...
Shortens these up a little.
2026-07-12 13:31:48 -04:00
LC
046750354e
x32/FD: Make use of SanitizeIOCount for vector construction in vmsplice
...
Makes this consistent with the other fd syscalls that make temporary
buffers.
2026-07-12 13:01:58 -04:00
LC
ca2d2520d2
Signals: Preprocessor disable intentional dead code in userfaultfd
...
Noticed this when going through the syscalls. Avoids potential warnings.
2026-07-12 12:16:07 -04:00
LC
7d149ebec4
GdbServer: Add missing log format argument
2026-07-12 00:28:29 -04:00
Ryan Houdek
341a5196ba
Merge pull request #5701 from lioncash/thread
...
Thread: Amend new thread handling in HandleNewClone()
2026-07-11 17:09:59 -07:00
Ryan Houdek
48ce5bf6e6
Merge pull request #5714 from lioncash/readahead
...
x32/FD: Fix readahead upper offset type
2026-07-11 11:20:49 -07:00
Ryan Houdek
617a518714
Merge pull request #5713 from lioncash/select
...
x32/FD: Correct total word calculation in select() variants
2026-07-11 11:19:29 -07:00
Ryan Houdek
480f45f2f3
Merge pull request #5712 from lioncash/bpf
...
BPFEmitter: Amend instruction class checking in HandleStore()
2026-07-11 11:08:58 -07:00
Ryan Houdek
0e8b01c1b5
Merge pull request #5711 from lioncash/fault
...
x64/Thread: Amend faulting copy handling related to LDTs
2026-07-11 11:04:47 -07:00
LC
a90a7dbec7
x32/FD: Fix readahead upper offset type
...
This should be a uint32_t
2026-07-11 13:33:11 -04:00
LC
2250bd58a2
x32/FD: Deduplicate guest and host fd set management
...
Same behavior, but less copy pastey
2026-07-11 13:23:19 -04:00
LC
126be45ed1
x32/FD: Correct total word calculation in select() variants
...
Previously this would result in a larger amount of words specified than
necessary.
e.g. Given nfds = 1:
With AlignUp(1, 32) / 4, we'd end up with supposedly eight words, when it
should only be one word.
On the other extreme, given a full fd set of 1024 fds, then we'd end up
with 256 words, when it should only be 32.
2026-07-11 12:53:08 -04:00
LC
e021a55abd
BPFEmitter: Amend instruction class checking in HandleStore()
...
This was previously checking for a load class, which would result in ST
clobbering the index register.
2026-07-11 12:26:11 -04:00
LC
2ad6254894
x64/Thread: Amend faulting copy handling related to LDTs
...
CopyToUser doesn't return the number of bytes copied, but rather returns
0 to indicate success, otherwise a fault has occurred (and the SIGSEGV
handler has set X0 to EFAULT)
2026-07-11 11:57:38 -04:00
LC
f16bc12b7d
SignalDelegator: Remove odd double negation in GuestSigProcMask
...
We can just reduce it to normal null comparisons.
2026-07-11 05:42:48 -04:00
Ryan Houdek
d2f096187c
Merge pull request #5705 from lioncash/thread3
2026-07-10 22:34:04 -07:00
LC
8b0f07b2dc
Syscalls: Remove unnecessary usages of namespace FEXCore::IR
...
These aren't necessary.
2026-07-10 21:02:12 -04:00
LC
017c898ed0
x64/Signals: Amend set size in rt_sigtimedwait
...
We should be checking the size passed in, not the sizeof of it.
2026-07-10 19:40:05 -04:00
LC
85b8e91b57
Thread: Amend new thread handling in HandleNewClone()
...
Ensures that newly cloned threads get tracked properly.
2026-07-10 18:35:58 -04:00
Ryan Houdek
0bdf15977f
Merge pull request #5697 from lioncash/thread
...
x32/Thread: Move writability check around in waitpid
2026-07-10 10:34:56 -07:00
Ryan Houdek
8a844f9cca
Merge pull request #5695 from lioncash/socket
...
Socket: Pass size by reference in getsockopt
2026-07-10 10:34:33 -07:00
Ryan Houdek
8fbde84380
Merge pull request #5696 from lioncash/time
...
x32/Time: Correct sizeof expression in utimensat
2026-07-10 10:31:47 -07:00
Ryan Houdek
00826d3327
Merge pull request #5694 from lioncash/rlimit
...
x32/Info: Only modify output in getrlimit/ugetrlimit if successful
2026-07-10 10:27:51 -07:00
Ryan Houdek
5dd0477440
Merge pull request #5689 from lioncash/msg
...
x32/Msg: Fix result comparison in mq_getsetattr
2026-07-10 10:15:15 -07:00
Ryan Houdek
c6f823f855
Merge pull request #5688 from lioncash/pidfd
...
Thread: Amend pidfd_open check
2026-07-10 10:14:49 -07:00
Ryan Houdek
2af7c24e79
Merge pull request #5687 from lioncash/limit
...
x32/Thread: Fix off-by-one in get_thread_area
2026-07-10 10:14:29 -07:00
Ryan Houdek
94ccfefa84
Merge pull request #5686 from lioncash/fd
...
x32/FD: Ensure sendfile updates offset if set
2026-07-10 10:14:18 -07:00
LC
f4c50105ba
x32/Thread: Move writability check around in waitpid
...
Same behavior, but catches the write before it actually occurs.
2026-07-10 08:08:45 -04:00
LC
3395bedc2b
x32/Time: Correct sizeof expression in utimensat
...
Ensures we check the proper type.
2026-07-10 08:04:56 -04:00
LC
7a14210e2b
Socket: Pass size by reference in getsockopt
...
Previously this was passing by value.
2026-07-10 08:01:29 -04:00
LC
d206b67ca8
x32/Info: Only modify output in getrlimit/ugetrlimit if successful
...
Avoids trampling over input data.
2026-07-10 07:49:44 -04:00
LC
d5ae87b5ca
Thread: Amend pidfd_open check
...
Checks for success.
2026-07-10 06:25:43 -04:00
LC
02028eb1ad
x32/Msg: Fix result comparison in mq_getsetattr
...
Checks against failure instead of 1.
2026-07-10 06:19:11 -04:00
LC
37b1432514
x32/Thread: Fix off-by-one in get_thread_area
...
12, 13, and 14 are the only valid TLS areas.
2026-07-10 06:06:30 -04:00
LC
6e8bc337aa
x32/FD: Ensure sendfile updates offset if set
2026-07-10 05:58:49 -04:00