Commit Graph
9533 Commits
Author SHA1 Message Date
Ryan Houdek 43af4e26d1 Fixes 64bit ELF loading when LLVM ASAN is used
Instead of hardcoding 64bit dynamic ELF files to 0x1'0000'0000 we
instead calculate the size of the ELF in memory. Then allocate the
ELF base up front.

LLVM ASAN steals a large amount of virtual memory space that intersected
with the original hardcoded range which caused memory allocations to
fail.
2021-01-11 09:07:16 -08:00
Ryan Houdek aa3b77e4c8 Uninstalls LogManager handlers on shutdown
In case something manages to have stayed alive and tried throwing a
message, this will no longer crash.

Noticed this with the previous commit
2021-01-11 09:03:56 -08:00
Ryan Houdek f83698cb50 Uninstalls SignalDelegator signals on destruction
Tear this down earlier so if we catch a signal on shutdown then we don't
crash in the handler.

Fixes some pain around debugging shutdown crashes
2021-01-11 09:01:06 -08:00
Ryan Houdek a442489001 Makes sure to not calculate zero sized program headers on 32bit
This is the same thing as the 64bit side
2021-01-11 08:51:13 -08:00
Ryan Houdek 8d2eebd644 Fixes a memory leak in IRValidation 2021-01-11 08:47:45 -08:00
Stefanos Kornilios Mitsis Poiitidis 6542f08f27 Merge pull request #623 from Sonicadvance1/capture_fsstatat
Captures fsstatat in filesystem overlay
2021-01-11 16:20:15 +02:00
Stefanos Kornilios Mitsis Poiitidis 1e80d3527b Merge pull request #624 from Sonicadvance1/capture_osrelease
Have EmulatedFiles support osrelease file
2021-01-11 16:20:04 +02:00
Stefanos Kornilios Mitsis Poiitidis 552895b896 Merge pull request #626 from Sonicadvance1/fix_16bit_addressing
Fixes 16bit ModRM rm decoding
2021-01-11 16:19:56 +02:00
Stefanos Kornilios Mitsis Poiitidis a1ac4c711c Merge pull request #631 from duck-37/dump-ir-runner
Pass DumpIR to TestHarnessRunner
2021-01-11 11:02:03 +02:00
Stefanos Kornilios Mitsis Poiitidis d7868fd2bd Merge pull request #627 from Sonicadvance1/disable_visual_debugger
Disables visual debugger by default
2021-01-11 11:00:16 +02:00
Stefanos Kornilios Mitsis Poiitidis db71916ee4 Merge pull request #625 from Sonicadvance1/shebang_improvements
Shebang improvements
2021-01-11 10:58:51 +02:00
Stefanos Kornilios Mitsis Poiitidis ce3971098e Merge pull request #622 from Sonicadvance1/fix_execve_rootfs
Fixes execve with rootfs
2021-01-11 10:55:52 +02:00
Stefanos Kornilios Mitsis Poiitidis 50597b8fd2 Merge pull request #621 from Sonicadvance1/fix_idle_ref_count_on_fork
Ensure idle wait ref counter is 1 on fork
2021-01-11 10:55:36 +02:00
Ryan Houdek a0531c9592 Merge pull request #632 from duck-37/jcxz-fix
Fix a few branching instructions on x86-32
2021-01-11 00:40:34 -08:00
duck a63339c50d Fix JCC negative offsets as well 2021-01-11 03:34:52 -05:00
duck e610b12c97 Fix negative offset jumps on x86-32 by using 32-bit RIP 2021-01-11 03:20:25 -05:00
duck 86e6ea43a2 Fix test cases. 2021-01-10 18:31:23 -05:00
duck 4c295e6dfc Fix compilation issues, re-rename due to pre-existing variable 2021-01-10 17:54:29 -05:00
duck 3c86a55bea Size -> GPRSize for a bit more clarity 2021-01-10 17:50:22 -05:00
duck 9290e19fc5 Fix JCXZ on X86 2021-01-10 17:46:03 -05:00
duck d1b1e5ae07 pass DumpIR to TestHarnessRunner 2021-01-10 17:44:33 -05:00
Ryan Houdek 8028bfbdf4 Merge pull request #619 from FEX-Emu/skmp/gvisor-tests
Tests: Add gvisor tests
2021-01-10 08:19:50 -08:00
Stefanos Kornilios Mitsis Poiitidis a29969139e Tests/gvisor: Disable mlock_test 2021-01-10 18:12:56 +02:00
Stefanos Kornilios Mitsis Poiitidis 311aa2b811 Tests: Cleanup scripts, review feedback 2021-01-10 18:06:02 +02:00
Ryan Houdek 1f532752c9 Merge pull request #618 from FEX-Emu/skmp/distibuted-dispatch
Dispatch: Distributed Dispatch, IR Optimizations
2021-01-10 07:46:44 -08:00
Ryan Houdek c2b1d68ed1 Disables visual debugger by default
This is currently broken and going to be broken more soon
2021-01-10 02:19:39 -08:00
Ryan Houdek 7ee6b68d03 Fixes 16bit ModRM rm decoding
When we are running in 32bit mode then it is possible to have an
instruction's modrm working as 16bit mode.
All one needs to do is prefix the instruction with an address size
override
2021-01-10 02:18:30 -08:00
Ryan Houdek 8f1978a33a Shebang improvements
Fixes a problem where a space between the shebang and application
argument would result in us trying to execute a null program.

Additionally it now captures all the arguments passed in the shebang
header rather than just the application and first argument.
2021-01-10 02:15:51 -08:00
Ryan Houdek 22377d9c2c Have EmulatedFiles support osrelease file
This was being checked by an application for kernel version. Which was
seeing too new of a kernel and using things that were unsupported.

Also removes the EmulatedMap which is an unnecessary lookup.
2021-01-10 02:14:44 -08:00
Ryan Houdek 66e98365eb Captures fsstatat in filesystem overlay
Fixes Vulkan loader searching for vulkan json ICD files
2021-01-10 02:13:48 -08:00
Ryan Houdek a29371dbf5 Fixes execve with rootfs
We need to check to see if the application wanting to be executed is in
the rootfs first. Otherwise we end up in a case where we either lose
tracking of applications in FEX, or applications fail to launch since
they don't exist in the global filesystem
2021-01-10 02:12:42 -08:00
Ryan Houdek 63cc8c67f2 Ensure idle wait ref counter is 1 on fork
Once we fork, we no longer have any threads to track in the process.
Ensures we don't spin forever on forked process
2021-01-10 02:09:37 -08:00
Stefanos Kornilios Mitsis Poiitidis 1dd307f34b JIT/x64: Implement distributed dispatch, jumps instead of call/ret 2021-01-10 03:23:40 +02:00
Stefanos Kornilios Mitsis Poiitidis 7808948fae Tests/gvisor: Disable some for the arm64-8.2 runner 2021-01-10 03:11:53 +02:00
Stefanos Kornilios Mitsis Poiitidis e4870b6090 Tests/gvisor: Disable some more 2021-01-09 20:03:34 +02:00
Stefanos Kornilios Mitsis Poiitidis 3ab55898d8 Tests/gvisor: Disable some more 2021-01-09 19:57:26 +02:00
Stefanos Kornilios Mitsis Poiitidis 32aea07335 Tests/posix: Disable some more 2021-01-09 19:47:06 +02:00
Stefanos Kornilios Mitsis Poiitidis 2957515967 Tests/posix: Disable some more 2021-01-09 19:40:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 5c18ea3211 Tests/posix: Disable some more 2021-01-09 19:38:28 +02:00
Stefanos Kornilios Mitsis Poiitidis afaf79f568 Tests/posix: Disavle verbose for real 2021-01-09 19:33:53 +02:00
Stefanos Kornilios Mitsis Poiitidis 5b8c880f06 Tests/gvisor: Disable tests that fail on CI 2021-01-09 19:30:03 +02:00
Stefanos Kornilios Mitsis Poiitidis 278e156a8a Tests: Move timeout to ctest from python + timeout 2021-01-09 19:26:15 +02:00
Stefanos Kornilios Mitsis Poiitidis 08b9f90286 Tests: Disable Verbose logging for posixtests, gvisor 2021-01-09 19:14:15 +02:00
Stefanos Kornilios Mitsis Poiitidis 7cc2404c63 Tests: Correctly match test cases 2021-01-09 19:08:46 +02:00
Stefanos Kornilios Mitsis Poiitidis fea7ac1f83 Tests: Update posix_test_runner, update gvisor and posix test lists 2021-01-09 18:57:19 +02:00
Stefanos Kornilios Mitsis Poiitidis a76baf9a7f JIT: Fix interpreter fallback path 2021-01-09 05:55:30 +02:00
Stefanos Kornilios Mitsis Poiitidis 26171e639e Tests: Add gvisor tests 2021-01-09 04:17:35 +02:00
Stefanos Kornilios Mitsis Poiitidis f3d5635182 IR: Make ExitFunction take NewRip as an argument, instead of implicit ctx store 2021-01-08 18:41:33 +02:00
Stefanos Kornilios Mitsis Poiitidis 3729a33665 jit: Basic distributed dipatch for arm64 2021-01-08 17:43:18 +02:00
Ryan Houdek ee8dfb8fc5 Merge pull request #606 from duck-37/sigsegv-fail-tests
Have tests that throw a non-HLT SIGSEGV fail
2021-01-06 15:28:38 -08:00