Ryan Houdek
8fad0c8fdb
Adds a 32-bit mask for multiblock RIP calculation
...
In the case of overflow then it'll just mask this result.
The rest of the logic already matches what 32-bit expects.
Fixes #703
2021-03-28 23:39:53 -07:00
Ryan Houdek
b5a6dd031b
Merge pull request #911 from Sonicadvance1/std_size_life
...
Replaces FEX's usage of classic C array element count with std::size
2021-03-28 05:58:55 -07:00
Ryan Houdek
650877adca
Replaces FEX's usage of classic C array element count with std::size
...
Just learned that this is a c++17 feature and it's a nice little
cleanup.
Only one remains in our codebase which can't easily be replaced
2021-03-28 05:39:35 -07:00
Ryan Houdek
432b6fccf2
Merge pull request #907 from Sonicadvance1/replace_glfw
...
Replaces FEXConfig usage of GLFW with SDL2
2021-03-27 05:53:00 -07:00
Ryan Houdek
47f3c983ee
Merge pull request #905 from Sonicadvance1/removes_warnings_aarch64
...
Removes remaining warnings from AArch64 JIT.
2021-03-27 05:52:51 -07:00
Ryan Houdek
9565247ada
Merge pull request #904 from Sonicadvance1/stop_compiling_twice
...
Stop compiling FEXCore twice
2021-03-27 05:52:39 -07:00
Ryan Houdek
c59b9fbede
Merge pull request #903 from Sonicadvance1/fix_silent_logs
...
Disables silent logging on unit tests
2021-03-27 05:52:28 -07:00
Ryan Houdek
7c96893579
Updates README with SDL2 requirement
2021-03-27 05:26:00 -07:00
Ryan Houdek
8ebef457fc
Replaces FEXConfig usage of GLFW with SDL2
...
Sometimes GLFW3 can just consume a full CPU core, spinning on nothing.
Fixes #906
2021-03-27 05:23:58 -07:00
Ryan Houdek
9eee879be0
Removes remaining warnings from AArch64 JIT.
...
There are a couple of warnings remaining but need restructuring to solve.
I believe @phire is going to fix the one warning about a virtual destructor in a upcoming PR.
Fixes #679
2021-03-26 18:49:40 -07:00
Ryan Houdek
64affa8c8e
Stop compiling FEXCore twice
...
This now creates an object binary then static and shared libraries from that.
This stops us outputting warnings twice in FEXCore.
Also improves compilation time even with ccache enabled.
Went from 12s to 8s compilation WITH ccache.
I'm sure without ccache it is even better.
2021-03-26 18:27:23 -07:00
Ryan Houdek
dc041bdf0e
Disables silent logging on unit tests
...
We need these for our CI artifacts
2021-03-26 18:04:17 -07:00
Ryan Houdek
51c43a0761
Adds option to disable silent logging
2021-03-26 18:00:23 -07:00
Ryan Houdek
aa67142e6f
Merge pull request #902 from Azkali/patch-1
...
Dockerfile add arm64 compatibility
2021-03-25 22:36:41 -07:00
The Great Wizard Azkali
ae569da895
Update Dockerfile
2021-03-26 06:30:17 +01:00
The Great Wizard Azkali
d77acdf474
Dockerfile add arm64 compatibility
...
Python3, Python3-dev and linux-headers prevent from building on arm64
2021-03-26 02:18:13 +01:00
Ryan Houdek
264ec44276
Merge pull request #892 from Sonicadvance1/install_thunks
...
Allows installing of FEXThunks in our data directory
2021-03-25 14:50:54 -07:00
Ryan Houdek
da49eb3394
Allows installing of FEXThunks in our data directory
...
This is necessary for building FEX packages that contain some initial thunk libs.
Gives an initial foothold for a default location for the host and guest thunk folders
2021-03-24 03:27:38 -07:00
Ryan Houdek
5447ec3ec8
Merge pull request #884 from Sonicadvance1/fix_empty_string_crash
...
Fixes crash on empty path config string
2021-03-24 02:34:20 -07:00
Ryan Houdek
ff3974c4a1
Merge pull request #890 from Sonicadvance1/merged_environment_variables
...
Fixes environment variable configuration from multiple layers
2021-03-24 02:34:14 -07:00
Ryan Houdek
358f12e074
Merge pull request #891 from Sonicadvance1/installed_global_app_configs
...
Implements support for installing global application profiles
2021-03-24 02:34:00 -07:00
Ryan Houdek
c5648ac84c
Implements support for installing global application profiles
...
These need to be used sparingly, we don't want to proactively crush user options.
2021-03-23 22:34:01 -07:00
Ryan Houdek
30e1f871ad
Fixes environment variable configuration from multiple layers
...
This was a missing feature that I had skipped previously.
Before this commit, each layer would overwrite all previous environment variables if they had anything defined.
After this commit, the layers will now merge in priority order.
Meaning if a higher priority layer has the same environment variable defined, it will overwrite that specific variable
Ending up with a superset of all the layer's environment variables now.
2021-03-23 22:01:09 -07:00
Ryan Houdek
5c624684b7
Merge pull request #887 from Sonicadvance1/FEXBashLoader
...
Adds a FEXBash helper program
2021-03-23 21:37:45 -07:00
Ryan Houdek
ef11b534ef
Adds a FEXBash helper program
...
This is a helper program to execute a bash command through FEX.
Works around an edge case of
eg:
FEXInterpreter /bin/sh -c "echo A"
versus
FEXBash "echo A"
Argument expansion ends up being a pain point
This isn't currently used but will be very shortly
2021-03-23 21:27:30 -07:00
Ryan Houdek
cd32eeb428
Adds FEXInterpreter as a build target
...
Makes it easier to have FEXInterpreter around
2021-03-23 21:27:29 -07:00
Ryan Houdek
43984c810d
Merge pull request #886 from Sonicadvance1/namespace_perm
...
Returns EPERM on clone with namespace
2021-03-23 20:56:20 -07:00
Ryan Houdek
a50689aa8b
Merge pull request #885 from Sonicadvance1/cpuid_leaf
...
Adds support for CPUID leafs
2021-03-23 20:55:33 -07:00
Scott Mansell
311d6d4385
Merge pull request #883 from phire/thread_cleanup
...
Cleanup threads when they exit
2021-03-24 16:22:15 +13:00
Ryan Houdek
a19c59f5b2
Merge pull request #888 from Sonicadvance1/default_silentlogs
...
Default to silent logging
2021-03-23 20:13:07 -07:00
Scott Mansell
6a8f68022f
Join threads after fork.
...
Also, add some comments to document things and
rename function to be clear about it's purpose.
2021-03-24 15:41:09 +13:00
Ryan Houdek
fdcb6206da
Default to silent logging
...
Useful for debugging but we need to be silent by default now.
Without this anything that checks stdout output of applications from bash would fail
Steam with lspci, lsusb, uname, etc
2021-03-23 19:30:42 -07:00
Ryan Houdek
6ea977ba34
Remove proc_pid_uid_gid_map from known failures list
...
Now instead of crashing with namespacing, it skips the tests if it gets EPERM.
2021-03-23 19:28:12 -07:00
Ryan Houdek
9b35cb4408
Returns EPERM on clone with namespace
...
Notably this allows applications to work that don't require the namespace but check up front if they are able to clone with it.
Civ 6's launcher checks this as an example
2021-03-23 19:28:06 -07:00
Ryan Houdek
afa869e1f2
Adds Config.h generated file
...
Gives us the install path and FEXInterpreter locations
2021-03-23 19:12:18 -07:00
Ryan Houdek
43ddba4e82
Adds support for CPUID leafs
...
Leafs come from ECX but only some CPUID functions support this.
This adds the initial infrastructure but doesn't yet add support for the CPUID functions to consume the leaf.
2021-03-23 18:13:14 -07:00
Ryan Houdek
e3380957ba
Fixes crash on empty path config string
...
If the config exists as an empty string then this would crash
2021-03-23 18:02:56 -07:00
Scott Mansell
21687f4dc5
Also destroy the parent thread
2021-03-24 03:14:23 +13:00
Scott Mansell
41a1a9d400
Cleanup threads when they exit
2021-03-24 03:14:23 +13:00
Stefanos Kornilios Mitsis Poiitidis
82c2b49a2e
Merge pull request #878 from Sonicadvance1/fexconfig_actual_default
...
Changes FEXConfig to actually load default configuration
2021-03-22 18:24:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
fbc49c1648
Merge pull request #876 from Sonicadvance1/QOL_config
...
Implements a couple quality of life configuration option handling
2021-03-22 18:23:52 +02:00
Stefanos Kornilios Mitsis Poiitidis
d2f636893d
Merge pull request #880 from Sonicadvance1/github_label_testing
...
Support disabling unit tests based on runner label
2021-03-22 18:18:08 +02:00
Ryan Houdek
e5a9bd4d3e
Fixes incorrect result on cmpxchg reg, reg failure when regsize = 32bit
2021-03-22 09:03:48 -07:00
Ryan Houdek
ca24ea1d36
Fixes missing HandledLock on XCHG
2021-03-22 09:03:48 -07:00
Ryan Houdek
998e53aa70
Only disabled unaligned atomics test on ARMv8.0
2021-03-22 09:03:48 -07:00
Ryan Houdek
de890e7387
Have unit tests check for runner label
2021-03-22 09:03:48 -07:00
Ryan Houdek
042a71be96
Get the runner's label for testing disabled tests later
2021-03-22 09:03:48 -07:00
Ryan Houdek
0a61741596
special case logging option stdout/stderr
2021-03-21 02:26:56 -07:00
Ryan Houdek
91a5a625ac
Implements a couple quality of life configuration option handling
...
This takes the changes from #829 and moves it to the correct location to be picked up from any loader.
This also fixes #873 .
Expands the config paths. Anything that has ~ or is relative will be converted to an absolute path.
2021-03-21 02:25:30 -07:00
Stefanos Kornilios Mitsis Poiitidis
f68593ea97
Merge pull request #877 from Sonicadvance1/fix_absolute_linker
...
Adds some additional logic for finding absolute soft linked linker
2021-03-21 11:08:46 +02:00