mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 19:00:17 +02:00
Adds it to the VDSO handling, it's not necessarily a VDSO function but it behaves as such as it is in every single process. This means we get to reuse the mapped page for every process when thunks are built, shaving a page out of 32-bit processes. Also, fixes a bug in guest VDSO symbol loading where clang sticks all symbols in to `.dynsym` where gcc sticks them in to `.symtab`. Search both. This effectively meant the couple of guest VDSO symbols were always failing to get found, causing us to allocate yet another page on 32-bit. So effectively three pages stolen. This also means we can remove the Linux specific X86HelperGen stuff from FEXCore, only passing a single "VDSO" function pointer to the backend for the dispatcher. Once again moving the Linux stuff to the frontend is good. Fixes an assert about about untracked noexec code `NoExec instruction in entry block: FFFFE000` whenever thunk callbacks were used.