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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
[static] SIGSEGV when run /usr/bin/FEXInterpreter compile with static
[root@localhost ~]# ldd /usr/bin/FEXInterpreter
not a dynamic executable
====== link flags:
LINK_FLAGS = -Wl,--export-dynamic -rdynamic -fuse-ld=lld -fPIE -pie #dynamic
LINK_FLAGS = -static -fuse-ld=lld -fPIE # static
===== core trace:
(gdb) info locals
Current = 0xffffd2b7ca30
MapBase = 281474217003728
MapTop = 281474217003552
OffsetDiff = 9667160
Top = 4988928
CurrentIter = {_M_node = 0xffff7f8290c0}
(gdb) frame 1
#1 0x00000000009368b8 in std::_Rb_tree_iterator<std::pair<unsigned long const, FEX::HLE::SyscallHandler::VMAEntry> >::operator-- (this=0xffffd2b7ca28)
at /opt/rh/gcc-toolset-13/root/usr/lib/gcc/aarch64-redhat-linux/13/../../../../include/c++/13/bits/stl_tree.h:310
310 _M_node = _Rb_tree_decrement(_M_node);
(gdb) info locals
__tmp = {_M_node = 0xffff7f8290c0}
(gdb) bt
#0 0x00000000004c08e0 in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) ()
#1 0x00000000009368b8 in std::_Rb_tree_iterator<std::pair<unsigned long const, FEX::HLE::SyscallHandler::VMAEntry> >::operator-- (this=0xffffd2b7ca28)
at /opt/rh/gcc-toolset-13/root/usr/lib/gcc/aarch64-redhat-linux/13/../../../../include/c++/13/bits/stl_tree.h:310
#2 0x000000000093b600 in FEX::HLE::SyscallHandler::VMATracking::ClearUnsafe (this=0xffff7f87d5a8,
CTX=0xffff7f850000, Base=4968448, Length=20480, PreservedMappedResource=0x0)
at ../Source/Tools/LinuxEmulation/LinuxSyscalls/SyscallsVMATracking.cpp:172
#3 0x000000000093b4a8 in FEX::HLE::SyscallHandler::VMATracking::SetUnsafe (this=0xffff7f87d5a8,
CTX=0xffff7f850000, MappedResource=0x0, Base=4968448, Offset=0, Length=20480, Flags=..., Prot=...)
at ../Source/Tools/LinuxEmulation/LinuxSyscalls/SyscallsVMATracking.cpp:147
#4 0x0000000000936e2c in FEX::HLE::SyscallHandler::TrackMmap (this=0xffff7f87d000, Thread=0x0,
Base=4968448, Size=20480, Prot=3, Flags=2098, fd=-1, Offset=0)
at ../Source/Tools/LinuxEmulation/LinuxSyscalls/SyscallsSMCTracking.cpp:230
#5 0x00000000009752cc in FEX::HLE::x64::x64SyscallHandler::GuestMmap (this=0xffff7f87d000,
Thread=0x0, addr=0x4bd000 <std::__time_get_state::_M_finalize_state(tm*)+320>, length=20480,
prot=3, flags=2098, fd=-1, offset=0)
at ../Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Memory.cpp:41
#6 0x000000000062fa68 in ELFCodeLoader::LoadElfFile (this=0xffffd2b7f4b8, Elf=...,
BrkBase=0xffffd2b7e028, Handler=0xffff7f87d000, LoadHint=0)
at ../Source/Tools/FEXLoader/ELFCodeLoader.h:158
#7 0x0000000000621b54 in ELFCodeLoader::MapMemory (this=0xffffd2b7f4b8, Handler=0xffff7f87d000)
at ../Source/Tools/FEXLoader/ELFCodeLoader.h:531
#8 0x000000000061f628 in main (argc=3, argv=0xffffd2b813c8, envp=0xffffd2b813e8)
at ../Source/Tools/FEXLoader/FEXLoader.cpp:480
|