1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
re-introduce wrapping structs for syscall registration
Recently, a PR removed this, and broke useful backtraces for debugging
```
Switching to thread 2 (Thread 0x7fff5eac7640 (LWP 1501682))]
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38 ../sysdeps/unix/sysv/linux/x86_64/syscall.S: No such file or directory.
(gdb) bt
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x0000555555ab6a1a in FEX::HLE::x64::RegisterThread(FEX::HLE::SyscallHandler*)::$_1::operator()(FEXCore::Core::CpuStateFrame*, int*, int, int, timespec const*, int*, unsigned int) const (
this=0x7ffff76c29b0, Frame=0x7ffff76c29b0, uaddr=0x7fffdec171d8, futex_op=128, val=10, timeout=0x0, uaddr2=0x7fffdec171c0, val3=3737219520)
at /home/skmp/projects/FEX/Source/Tests/LinuxSyscalls/x64/Thread.cpp:59
#2 0x0000555555ab69c8 in FEX::HLE::x64::RegisterThread(FEX::HLE::SyscallHandler*)::$_1::__invoke(FEXCore::Core::CpuStateFrame*, int*, int, int, timespec const*, int*, unsigned int) (
Frame=0x7ffff76c29b0, uaddr=0x7fffdec171d8, futex_op=128, val=10, timeout=0x0, uaddr2=0x7fffdec171c0, val3=3737219520) at /home/skmp/projects/FEX/Source/Tests/LinuxSyscalls/x64/Thread.cpp:59
#3 0x0000555555a2b90c in std::__invoke_impl<unsigned long, unsigned long (*&)(FEXCore::Core::CpuStateFrame*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long), FEXCore::Core::CpuStateFrame*&, unsigned long&, unsigned long&, unsigned long&, unsigned long&, unsigned long&, unsigned long&> (
__f=@0x7ffff76e32f8: 0x555555ab6980 <FEX::HLE::x64::RegisterThread(FEX::HLE::SyscallHandler*)::$_1::__invoke(FEXCore::Core::CpuStateFrame*, int*, int, int, timespec const*, int*, unsigned int)>,
__args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552,
__args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61
#4 0x0000555555a2b819 in std::__invoke<unsigned long (*&)(FEXCore::Core::CpuStateFrame*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long), FEXCore::Core::CpuStateFrame*&, unsigned long&, unsigned long&, unsigned long&, unsigned long&, unsigned long&, unsigned long&> (
__fn=@0x7ffff76e32f8: 0x555555ab6980 <FEX::HLE::x64::RegisterThread(FEX::HLE::SyscallHandler*)::$_1::__invoke(FEXCore::Core::CpuStateFrame*, int*, int, int, timespec const*, int*, unsigned int)>,
__args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552,
__args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:96
#5 0x0000555555a2a009 in std::invoke<unsigned long (*&)(FEXCore::Core::CpuStateFrame*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long), FEXCore::Core::CpuStateFrame*&, unsigned long&, unsigned long&, unsigned long&, unsigned long&, unsigned long&, unsigned long&> (
__fn=@0x7ffff76e32f8: 0x555555ab6980 <FEX::HLE::x64::RegisterThread(FEX::HLE::SyscallHandler*)::$_1::__invoke(FEXCore::Core::CpuStateFrame*, int*, int, int, timespec const*, int*, unsigned int)>,
__args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552,
__args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552, __args=@0x7fff5eac4950: 140736930607552)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:97
#6 0x0000555555a23e65 in FEX::HLE::SyscallHandler::HandleSyscall (this=0x7ffff76ba000, Frame=0x7ffff76c29b0, Args=0x7fff5eac4920) at /home/skmp/projects/FEX/Source/Tests/LinuxSyscalls/Syscalls.cpp:762
#7 0x000055555567b41e in FEXCore::Context::HandleSyscall (Handler=0x7ffff76ba000, Frame=0x7ffff76c29b0, Args=0x7fff5eac4920)
at /home/skmp/projects/FEX/External/FEXCore/Source/Interface/Core/Core.cpp:1463
```
|