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
LC
4069a9f7d5
Timer: Fix typo in timer_gettime
...
This should be passed by reference rather than by value.
2026-07-10 05:33:06 -04:00
Egor Lazarchuk
1eb5abb8db
Allocator: rename DetermineVASize to GetHostVABits
...
`DetermineVASize` does not return the size of VA, but the number of bits
it can use. Change the naming to make it more self explanatory.
In the mean time also move `HostVASize` global into `GetHostVABits`
since it is not and should not be used directly.
2026-07-05 12:46:41 +01:00
Ryan Houdek
24647820d7
Linux: Ensure 64-bit vsyscall page is tracked
...
It's a purely virtual page even on x86, so we need to manually add it to
tracking.
2026-06-03 18:03:31 -07:00
Ryan Houdek
7e8aa711ef
Linux: Pass gettimeofday through glibc
...
This ensures that it hits the VDSO path if possible.
2026-06-03 17:45:41 -07:00
Pepper Gray
92dce9a2ea
add missing header <thread>
...
building using musl fails due to missing defintions:
```
Source/Tools/LinuxEmulation/LinuxSyscalls/Syscalls.cpp:913:23: error: no member named 'sleep_for' in namespace 'std::this_thread'
913 | std::this_thread::sleep_for(std::chrono::milliseconds {10});
| ^~~~~~~~~
1 error generated.
```
Signed-off-by: Pepper Gray <hello@peppergray.xyz >
2026-05-29 13:19:24 +02:00
Tony Wasserka
a040740974
CodeCache: Ensure atomicity of code page finalization
2026-05-13 22:53:09 +02:00
Tony Wasserka
5be0dc9fc5
CodeCache: Implement lazy code loading
2026-05-13 21:25:47 +02:00
Tony Wasserka
52ad434d24
LinuxSyscalls: Defer MappedResource deletion until after code invalidation
...
This ensures that any code buffer memory owned by the MappedResource is
invalidated before being deallocated.
2026-05-13 21:25:47 +02:00
Tony Wasserka
8afda92a64
CodeCache: Fix crash when guest library wrappers aren't installed
2026-05-07 18:56:35 +02:00
Ryan Houdek
7506cb4ea1
Merge pull request #5483 from neobrain/fix_guest_wrapper_code_cache
...
CodeCache: Delay cache loading for guest library wrappers until after LoadLib
2026-05-06 18:04:55 -07:00
Tony Wasserka
b13b46eefe
CodeCache: Delay cache loading for guest library wrappers until after LoadLib
...
These libraries need to be initialized before relocating their caches,
since the guest function hashes won't be registered before.
2026-05-05 16:29:39 +02:00