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