Skip to content

Commit e28fdf0

Browse files
committed
x32/FS: Remove lambda
1 parent ca38ae3 commit e28fdf0

1 file changed

Lines changed: 31 additions & 27 deletions

File tree

  • Source/Tools/LinuxEmulation/LinuxSyscalls/x32

Source/Tools/LinuxEmulation/LinuxSyscalls/x32/FS.cpp

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,37 @@ tags: LinuxSyscalls|syscalls-x86-32
1515
#include <unistd.h>
1616

1717
namespace FEX::HLE::x32 {
18+
19+
auto umount(FEXCore::Core::CpuStateFrame* Frame, const char* target) -> uint64_t {
20+
uint64_t Result = ::umount(target);
21+
SYSCALL_ERRNO();
22+
}
23+
24+
auto truncate64(FEXCore::Core::CpuStateFrame* Frame, const char* path, uint32_t offset_low, uint32_t offset_high) -> uint64_t {
25+
uint64_t Offset = offset_high;
26+
Offset <<= 32;
27+
Offset |= offset_low;
28+
uint64_t Result = ::truncate(path, Offset);
29+
SYSCALL_ERRNO();
30+
}
31+
32+
auto ftruncate64(FEXCore::Core::CpuStateFrame* Frame, int fd, uint32_t offset_low, uint32_t offset_high) -> uint64_t {
33+
uint64_t Offset = offset_high;
34+
Offset <<= 32;
35+
Offset |= offset_low;
36+
uint64_t Result = ::ftruncate(fd, Offset);
37+
SYSCALL_ERRNO();
38+
}
39+
40+
auto sigprocmask(FEXCore::Core::CpuStateFrame* Frame, int how, const uint64_t* set, uint64_t* oldset, size_t sigsetsize) -> uint64_t {
41+
return FEX::HLE::_SyscallHandler->GetSignalDelegator()->GuestSigProcMask(FEX::HLE::ThreadManager::GetStateObjectFromCPUState(Frame), how,
42+
set, oldset);
43+
}
44+
1845
void RegisterFS(FEX::HLE::SyscallHandler* Handler) {
19-
REGISTER_SYSCALL_IMPL_X32(umount, [](FEXCore::Core::CpuStateFrame* Frame, const char* target) -> uint64_t {
20-
uint64_t Result = ::umount(target);
21-
SYSCALL_ERRNO();
22-
});
23-
24-
REGISTER_SYSCALL_IMPL_X32(
25-
truncate64, [](FEXCore::Core::CpuStateFrame* Frame, const char* path, uint32_t offset_low, uint32_t offset_high) -> uint64_t {
26-
uint64_t Offset = offset_high;
27-
Offset <<= 32;
28-
Offset |= offset_low;
29-
uint64_t Result = ::truncate(path, Offset);
30-
SYSCALL_ERRNO();
31-
});
32-
33-
REGISTER_SYSCALL_IMPL_X32(ftruncate64, [](FEXCore::Core::CpuStateFrame* Frame, int fd, uint32_t offset_low, uint32_t offset_high) -> uint64_t {
34-
uint64_t Offset = offset_high;
35-
Offset <<= 32;
36-
Offset |= offset_low;
37-
uint64_t Result = ::ftruncate(fd, Offset);
38-
SYSCALL_ERRNO();
39-
});
40-
41-
REGISTER_SYSCALL_IMPL_X32(
42-
sigprocmask, [](FEXCore::Core::CpuStateFrame* Frame, int how, const uint64_t* set, uint64_t* oldset, size_t sigsetsize) -> uint64_t {
43-
return FEX::HLE::_SyscallHandler->GetSignalDelegator()->GuestSigProcMask(FEX::HLE::ThreadManager::GetStateObjectFromCPUState(Frame),
44-
how, set, oldset);
45-
});
46+
REGISTER_SYSCALL_IMPL_X32(umount, umount);
47+
REGISTER_SYSCALL_IMPL_X32(truncate64, truncate64);
48+
REGISTER_SYSCALL_IMPL_X32(ftruncate64, ftruncate64);
49+
REGISTER_SYSCALL_IMPL_X32(sigprocmask, sigprocmask);
4650
}
4751
} // namespace FEX::HLE::x32

0 commit comments

Comments
 (0)