Ryan Houdek
c8bb0e2d51
Declare missing template specialization for GetListIfExists
...
Clang 12 picks up that this was missing
2021-04-16 18:54:16 -07:00
Ryan Houdek
08bc7a8364
Merge pull request #967 from FEX-Emu/skmp/new-elf-loading
...
ELF: Simpler loader, uses mmap
2021-04-16 18:35:56 -07:00
Ryan Houdek
e7179ff84b
Merge pull request #968 from FEX-Emu/skmp/fix-self-exe-after-fork
...
Emulated Files: Don't precalculate /proc/pid path, it changes after fork
2021-04-15 13:01:41 -07:00
Stefanos Kornilios Mitsis Poiitidis
13bfdcad06
Emulated Files: Don't precalculate /proc/pid path, it changes after fork
2021-04-15 15:33:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
38a707b38e
Add missing functions to elfcodeloader2
2021-04-15 13:51:22 +03:00
Stefanos Kornilios Mitsis Poiitidis
ada7915b01
Convert an assert to log
2021-04-15 13:40:28 +03:00
Stefanos Kornilios Mitsis Poiitidis
9775a2148e
Fix rootfs interpreter loading
2021-04-15 12:16:33 +03:00
Stefanos Kornilios Mitsis Poiitidis
bc8696828b
More logging
2021-04-15 12:14:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
7d792e65f0
Rootfs, assert fixes
2021-04-15 12:04:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
14b5b881c5
Add more logging
2021-04-15 11:47:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
830e41459c
Fix build for test harness, irloader
2021-04-15 11:05:07 +03:00
Stefanos Kornilios Mitsis Poiitidis
0db99ea4f6
Use allocator for x32
2021-04-15 10:51:16 +03:00
Stefanos Kornilios Mitsis Poiitidis
22f1cf0e2a
More wip
2021-04-15 10:05:59 +03:00
Stefanos Kornilios Mitsis Poiitidis
80493487db
ELF Loading: Cleanups all around
2021-04-14 10:59:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
59ce750af6
Elf: Add ELFCodeLoader2, with simplified loading logic
2021-04-13 15:59:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
4ac81e22de
Move some more files around
2021-04-13 15:59:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
a0a382cc5c
Clear up file naming a big
2021-04-13 15:59:36 +03:00
Ryan Houdek
6cc7d065aa
Merge pull request #964 from Sonicadvance1/paranoid_tso
...
First step in paranoid TSO mode
2021-04-12 23:34:54 -07:00
Ryan Houdek
93b9ca4bdb
Merge pull request #965 from Sonicadvance1/add_jemalloc
...
Switches FEX over to using jemalloc
2021-04-08 14:04:12 -07:00
Ryan Houdek
cc0c45cf47
Switches FEX over to using jemalloc
...
This is the first step that we need to do for correct 32-bit memory allocations.
2021-04-08 12:42:37 -07:00
Ryan Houdek
4a504bdd00
Merge pull request #939 from Sonicadvance1/hidden_visibility
...
Default hidden visibility and strip symbols
2021-04-06 18:56:28 -07:00
Ryan Houdek
66c8dd2013
First step in paranoid TSO mode
...
This moves vector ops down the GPR atomic backpatch path.
Next step after this is to add SIGBUS based handlers for these rather than backpatching.
Needs more work to treat aligned versus unaligned vector loadstores differently
2021-04-06 18:48:36 -07:00
Ryan Houdek
91ac4ccdd8
Adds LDAXP and STLXP backpatch handlers
...
This will be used in the next commit
2021-04-06 18:47:50 -07:00
Ryan Houdek
849b83bd02
Adds new ParanoidTSO option
2021-04-06 18:46:52 -07:00
Ryan Houdek
286f103dab
Adds visibility attributes to everything we need to expose
2021-04-06 01:01:31 -07:00
Ryan Houdek
2a49037789
update external vixl
2021-04-06 00:39:03 -07:00
Ryan Houdek
235f6fbe39
Strip symbols and dead sections
...
These are unnecessary and just add some file bloat. Strip them out
2021-04-06 00:39:03 -07:00
Ryan Houdek
b43db294ec
Change our compilation visibility to hidden
...
This bloats our compilation with symbols that don't need to be visible
2021-04-06 00:39:03 -07:00
Stefanos Kornilios Mitsis Poiitidis
5e6c6adf8b
Merge pull request #956 from Sonicadvance1/enable_gcc_32_tests
...
Enables GCC 32-bit unit tests
2021-04-06 09:48:38 +03:00
Stefanos Kornilios Mitsis Poiitidis
50c3ee047c
Merge pull request #961 from Sonicadvance1/fix_segment_override
...
Fixes segment register override on string instructions.
2021-04-06 09:24:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
c0ef6da6a8
Merge pull request #960 from Sonicadvance1/more_cpuid
...
Adds some more CPUID functions
2021-04-06 09:23:13 +03:00
Stefanos Kornilios Mitsis Poiitidis
2063411443
Merge pull request #959 from Sonicadvance1/fix_tag_order
...
Fixes ordering problem of tag generation in release script
2021-04-06 09:22:12 +03:00
Stefanos Kornilios Mitsis Poiitidis
4a5eefec25
Merge pull request #958 from Sonicadvance1/fix_atomic_zext
...
Fixes Zext semantics on atomic ops with x64 JIT
2021-04-06 09:21:44 +03:00
Stefanos Kornilios Mitsis Poiitidis
eaad9e99a9
Merge pull request #954 from Sonicadvance1/posix_tests_docs
...
Updates a couple POSIX test case failures
2021-04-06 09:18:18 +03:00
Stefanos Kornilios Mitsis Poiitidis
62406a45be
Merge pull request #953 from Sonicadvance1/env_var_override
...
Allows overriding FEX folder locations with environment variables
2021-04-06 09:16:12 +03:00
Stefanos Kornilios Mitsis Poiitidis
03537d351d
Merge pull request #952 from Sonicadvance1/add_asan_use_after_scope
...
Adds use-after-scope to the ASAN options
2021-04-06 09:09:09 +03:00
Ryan Houdek
0cb53fff89
Change kernel version error to not be fatal
2021-04-05 23:09:06 -07:00
Ryan Houdek
3e250fa071
Enables GCC 32-bit unit tests
...
Relies on #950 getting merged first
2021-04-05 23:09:06 -07:00
Stefanos Kornilios Mitsis Poiitidis
1d4b81f556
Merge pull request #951 from Sonicadvance1/fix_getenv_aotir
...
Removes getenv usage for aotir
2021-04-06 09:08:46 +03:00
Stefanos Kornilios Mitsis Poiitidis
c26f19ed4d
Merge pull request #950 from Sonicadvance1/fix_gcc_tests
...
Fixes GCC tests
2021-04-06 09:05:45 +03:00
Stefanos Kornilios Mitsis Poiitidis
9619cea097
Merge pull request #949 from Sonicadvance1/arm64_print
...
Adds support for Arm64 JIT to Print
2021-04-06 08:58:13 +03:00
Stefanos Kornilios Mitsis Poiitidis
44dbecc2ac
Merge pull request #948 from Sonicadvance1/fix_leak
...
Fixes memory leak in CPU backends
2021-04-06 08:56:00 +03:00
Stefanos Kornilios Mitsis Poiitidis
415632209f
Merge pull request #947 from Sonicadvance1/minimal_siginfo
...
Implements a minimal siginfo_t in the dispatcher's signal handler
2021-04-06 08:54:01 +03:00
Ryan Houdek
b7e81e867d
Fixes segment register override on string instructions.
...
The segment prefix only overrides one side of the string instruction.
Passing in the flags was causing the instruction to have the segment override on both sides of the copy.
So something like `movsb es:[rdi], fs:[rsi]` was being interpreted as `movsb fs:[rdi], fs:[rsi]`
Same for all the string ops which is now fixed.
We can't unit test these currently since we can't set host segment register for confirmed host behaviour.
2021-04-05 21:28:31 -07:00
Ryan Houdek
4f276aae82
Adds comment for LEA and segment registers
...
LEA doesn't give you the result with segment register applied to it.
Adds a comment to OpDispatcher to make it more clear
2021-04-05 21:28:25 -07:00
Ryan Houdek
c80254f6f4
Adds some more CPUID functions
...
Noticed a game poking at these
2021-04-05 18:37:05 -07:00
Ryan Houdek
8adb1ca3a2
Fixes ordering problem of tag generation in release script
...
Wasn't actually creating an annotated tag with this order
2021-04-05 18:35:09 -07:00
Ryan Houdek
0dd1959d65
Fixes Zext semantics on atomic ops with x64 JIT
...
Fixes Factorio 1.1.30 on x86-64 hosts
Fixes #957
2021-04-05 18:19:15 -07:00
Ryan Houdek
f4ab7cceab
Updates a couple POSIX test case failures
...
The behaviour of these is broken but now they are documented in how they are broken
2021-04-05 04:27:52 -07:00
Ryan Houdek
8cc799ab65
Allows overriding FEX folder locations with environment variables
...
Introduces three new environment variables that need to live outside of the scope
of the regular argument loader path.
This will allow external applications to adjust FEX parameters in interesting ways.
FEX_APP_CONFIG: Allows you to override where Config.json lives
FEX_APP_CONFIG_LOCATION: Allows you to provide an entire folder of app profiles
FEX_APP_DATA_LOCATION: Allows you to override where the data gets stored and loaded from
Fixes #572
2021-04-05 04:09:41 -07:00