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
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
a0a382cc5c
Clear up file naming a big
2021-04-13 15:59:36 +03: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
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
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
Ryan Houdek
0cb53fff89
Change kernel version error to not be fatal
2021-04-05 23:09:06 -07:00
Ryan Houdek
f1663abe81
Removes getenv usage for aotir
...
We can't rely on `getenv("HOME")` always working.
Have the AOTIR code use the helper method for getting the data directory instead.
2021-04-04 21:43:14 -07:00
Ryan Houdek
8319a85524
Merge pull request #946 from Sonicadvance1/fix_eventfd
...
Fixes eventfd and eventfd2
2021-04-03 06:52:32 -07:00
Ryan Houdek
8ad45071e4
Merge pull request #945 from Sonicadvance1/fix_truncate_creat
...
Fixes truncate and creat
2021-04-03 06:47:31 -07:00
Ryan Houdek
3379f3a8f9
Fixes eventfd and eventfd2
...
glibc function signature doesn't match kernel
2021-04-03 06:46:28 -07:00
Stefanos Kornilios Mitsis Poiitidis
c76205040e
Merge pull request #944 from Sonicadvance1/fix_clock_nanosleep
...
Fixes clock_nanosleep
2021-04-03 11:09:46 +03:00
Ryan Houdek
5d63dc179c
Fixes truncate and creat
...
These were using the passthrough helper which doesn't was breaking the result value
2021-04-02 20:45:33 -07:00
Ryan Houdek
858566c356
Fixes clock_nanosleep
...
glibc version behaves slightly differently than kernel
2021-04-02 20:41:04 -07:00
Ryan Houdek
51e4fe7f0a
Fixes wrapping cmdline arguments
...
In case an application checks this
2021-04-02 20:26:28 -07:00
Ryan Houdek
6923c47a70
Fixes pselect6 signal arg pack argument
...
This doesn't exactly match the glibc call so do the syscall directly
2021-04-02 13:23:07 -07:00
Ryan Houdek
5f49b57948
Merge pull request #928 from Sonicadvance1/pthreads_threading
...
Switches FEXCore over to pthreads implementation
2021-04-01 01:15:43 -07:00
Ryan Houdek
21a364c2ad
Switches FEXCore over to pthreads implementation
...
This defaults to a pthread implementation but it can be switched over to a custom thread
handler if the frontend desires.
2021-04-01 00:31:45 -07:00
Stefanos Kornilios Mitsis Poiitidis
ae5d41e46b
Merge pull request #926 from Sonicadvance1/disable_seccomp
...
Disables seccomp
2021-04-01 10:03:36 +03:00
Ryan Houdek
fac6377ed3
Fixes a crash in openat
2021-03-31 23:37:57 -07:00
Ryan Houdek
4f3cb933cb
Fixes execve
2021-03-31 23:37:56 -07:00
Ryan Houdek
83eb7f4ad3
Return EPERM in ptrace. A Feral launcher is attempting to use this to ensure it can't ptrace.
2021-03-31 23:37:56 -07:00
Ryan Houdek
4004d5a3b7
Disables seccomp
...
FEX doesn't support seccomp in userspace and allowing these through causes chromium secure sandbox to break.
Disabling these with EINVAL allows FEX to behave as if seccomp isn't enabled in the kernel config
Necessary to get the Civ6 launcher further
2021-03-31 23:23:40 -07:00
Stefanos Kornilios Mitsis Poiitidis
942b8549c6
Docs: Add tags to the source code
2021-03-30 12:21:18 +03:00
Ryan Houdek
15dd70487f
Removes legacy difference between FEX config env variable and enum names
2021-03-29 00:26:11 -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
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
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
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
Scott Mansell
41a1a9d400
Cleanup threads when they exit
2021-03-24 03:14:23 +13:00
Stefanos Kornilios Mitsis Poiitidis
d34cde12ae
Merge pull request #850 from Sonicadvance1/struct_verifier
...
libclang based Struct verifier written in python
2021-03-19 10:06:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
0106b362d6
EmulatedFiles: Lock around FDToNameMap accesses
2021-03-18 12:45:27 +02:00
Ryan Houdek
2a074204bc
Merge pull request #859 from Sonicadvance1/improve_fexinterpreter_msg
...
Adds an installer message to the FEXInterpreter install
2021-03-16 23:13:12 -07:00
Ryan Houdek
d79fb37135
Merge pull request #858 from Sonicadvance1/remove_testharness
...
Removes TestHarness
2021-03-16 23:13:03 -07:00
Ryan Houdek
d01b40c5aa
Adds an installer message to the FEXInterpreter install
...
Otherwise it doesn't feel like FEXInterpreter is installing
2021-03-16 22:36:58 -07:00
Ryan Houdek
62aab57ef7
Removes TestHarness
...
This has been completely deprecated for favour of the TestHarnessRunner instead.
Is unused.
2021-03-16 22:14:49 -07:00