Scott Mansell
98cb54e3e4
Merge pull request #812 from phire/both_sides
...
Allow both ARM64 and X86_64 jits to be compiled at the same time
2021-03-09 14:59:11 +13:00
Scott Mansell
9c339c85c6
Cmake: allow independant control of both jits
2021-03-08 16:30:25 +13:00
Ryan Houdek
8222acdf20
Disabled cmake check for python development
...
We only need the interpreter
2021-03-06 06:06:59 -08:00
Ryan Houdek
69891867b1
Adds python version check
2021-02-05 10:36:52 -08:00
Scott Mansell
89bfacd845
Don't build thunks by default
...
Allow people to build fex without a cross-compiler installed
2021-02-02 16:47:55 +13:00
Ryan Houdek
f58d018934
Enables vixl asserts when in debug mode globally
...
Fixes an issue where some header asserts were missed
2021-01-27 00:52:37 -08:00
Ryan Houdek
921867de7e
Works around Clang failing to identify new Kryo CPUs
...
Some of the newer CPU cores in LLVM's source claim to be a Cortex-A73,
which means they become limited to an ARMv8.0 feature set.
This is what you get if you compile FEX with -mcpu=native
To work around this issue, manually parse /proc/cpuinfo ourselves and
pull out the CPU type to pass to clang directly.
This also fixes the issue that we were using -march on AArch64, which no
longer works on newer clang versions. We instead need to use mcpu or
mtune.
Should improve all atomic op performance outside of the JITs, where they
were turning in to loadstore exclusive pairs.
2021-01-19 03:21:10 -08: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
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
Stefanos Kornilios Mitsis Poiitidis
278e156a8a
Tests: Move timeout to ctest from python + timeout
2021-01-09 19:26:15 +02:00
Ryan Houdek
9f5a507f67
Disables lower 32bit mapping check when ASAN is compiled in
...
LLVM ASAN sticks some things in the upper range of the 32bit memory
range.
So we have to just allow it when using LLVM asan
2020-12-14 03:59:04 -08:00
Ryan Houdek
1b1edda72d
Adds an environment variable for installation directly
...
This will allow us to look for a global application profile in our
install location.
Once we have things to install there.
2020-12-05 21:17:52 -08:00
Ryan Houdek
a28df9f5c1
Moves SonicUtils in to FEXCore
...
Removes the extraneous and dead VM CPU backend
2020-11-29 00:30:28 -08:00
Ryan Houdek
06482600e9
Remove annoying vixl warnings
2020-11-20 01:58:58 -08:00
Ryan Houdek
551f6b49cd
Enables C++20 feature level
...
There are a few nice features in C++20 that can make our life easier.
This isn't requiring the full C++20 suite of features, but instead
should allow us to start bringing in features that were at least in
Clang 10.
LLVM 11 came out yesterday (2020-10-12) so it would be a shame to have
that as a minimum requirement.
2020-10-17 16:03:12 -07:00
Ryan Houdek
4adadaba6b
Adds support for cmake IWYU option
...
Only adds the option to enable the Include-What-You-Use program.
This will be useful for cleaning up includes
2020-10-13 17:39:52 -07:00
Ryan Houdek
c0ce5a3101
Ensures architeecture define is defined in the root cmake
2020-09-22 13:05:42 -07:00
Ryan Houdek
74a310eeb2
Enables assertions option from cmake
2020-08-29 23:35:26 -07:00
Scott Mansell
e5c27be7e1
GuestLibs: Allow configuring compiler via cmake
2020-08-21 00:38:25 +12:00
Ryan Houdek
7205ac56cd
Throw an error in CMake if someone attempts to compile with GCC
...
FEX doesn't support GCC.
2020-08-19 23:25:29 -07:00
Stefanos Kornilios Mitsis Poiitidis
2ee277d1c8
Merge pull request #293 from Sonicadvance1/auto_ccache
...
Automatically enables ccache if the program is found
2020-08-12 19:47:59 +03:00
Stefanos Kornilios Mitsis Poiitidis
cb34056f18
Merge pull request #294 from Sonicadvance1/aarch64_signals
...
Signals for AArch64
2020-08-12 19:47:10 +03:00
Ryan Houdek
448516882c
Implements signal handling in the AArch64 JIT
...
Also removes the simulator for running on x86-64, which we can no longer
support.
2020-08-11 00:33:50 +01:00
Ryan Houdek
b4893b10db
Automatically enables ccache if the program is found
...
This makes it easier to not forget to use this
2020-08-10 19:31:36 +01:00
Stefanos Kornilios Mitsis Poiitidis
db633b8394
Thunklibs: Add partial X11, SDL, GL, EGL, asound, cmake integration
2020-08-08 14:48:20 +03:00
Ryan Houdek
0766de70dd
Merge pull request #89 from Sonicadvance1/wip_pair
...
CMPXCHG8B and CMPXCHG16B support
2020-04-10 00:56:26 -07:00
Ryan Houdek
0ce0c4e895
Actually unconditionally enable PIE through cmake
...
behaviour around enabling PIC it was only working on one platform.
This follows through with the NEW cmake behaviour required to enable
PIE.
Very specifically you have to set the cmake variable, you have to set
the new policy, AND you have to have an explicit check for pie support.
With any of those three things missing then PIE won't be enabled
2020-04-08 13:06:35 -07:00
Ryan Houdek
980448bcf9
Adds interpreter support for the new pair IR ops
2020-04-08 00:17:54 -07:00
Ryan Houdek
7cb97ed2f8
Merge pull request #16 from Sonicadvance1/fixes_cmake_aarch64
...
Fixes CMake configuration on AArch64 host
2020-03-13 13:04:38 -07:00
Ryan Houdek
d082a5f551
Fixes CMake configuration on AArch64 host
2020-03-12 16:28:51 -07:00
Ryan Houdek
85a882909b
Enables PIC
...
We don't require non-pie and this can also solve some linking problems I
saw on Arch64 hosts
2020-03-12 16:26:13 -07:00
Ryan Houdek
41dbf5b4e7
Adds xbyak to externals
...
Removes cmake check to see if it exists
2020-03-06 00:20:13 -08:00
Ryan Houdek
891ac58d8f
Fixes FEXCore cmake file to no longer search for SonicUtils subdir
2020-03-06 09:10:32 +02:00
Ryan Houdek
44593feed0
Ensure if ENABLE_LTO is set to false to disable LTO
2020-03-06 09:08:47 +02:00
Ryan Houdek
99dc73441c
Update project externals
2020-03-06 09:08:23 +02:00
Ryan Houdek
369686c992
Initial Commit
2020-03-06 09:08:13 +02:00
Stefanos Kornilios Mitsis Poiitidis
e9ea4cbb76
FEXCore: Move to Externals/FEXCore
2020-03-06 09:07:37 +02:00
Ryan Houdek
bc294164e3
Updates project to allow it to be installed
...
Installs as both a static library and a shared library
2020-03-06 07:55:59 +02:00
Ryan Houdek
939e210a68
Updates SonicUtils
...
Makes changes to match latest changes
2020-03-06 07:55:54 +02:00
Ryan Houdek
c21f711417
Adds a JitSymbols interface
...
This allows linux perf to see execution inside of JIT functions.
This could be extended in the future to support something like vtune or
oprofile.
2020-03-06 07:55:16 +02:00
Ryan Houdek
e59a6fcd5d
Add cmake message about which JIT we are using
2020-03-06 07:54:30 +02:00
Ryan Houdek
7252050e42
Initial commit
2020-03-06 07:48:39 +02:00
Stefanos Kornilios Mitsis Poiitidis
a468d10d56
SonicUtils: Move to External/SonicUtils
2020-03-06 07:24:46 +02:00
Ryan Houdek
33daca99e2
Adjust the project to be able to be installed
...
Cleans up file locations
2019-11-14 23:10:13 -08:00
Ryan Houdek
1d5e79744d
Adds a bunch of changes for ELF shared library support
...
Isn't complete but it is getting there
2019-10-09 17:28:35 -07:00
Ryan Houdek
00407d0454
Implement an x86-64 KVM interface library
...
It isn't all encompassing but it is good for an initial implementation
2019-05-30 05:00:41 -07:00
Ryan Houdek
dce985f859
Initial Commit
2018-11-15 18:05:16 -08:00