2ffc56f5c2
Improve heapapi implementation
2025-10-08 18:11:37 -06:00
ce57eb44a8
Replace hand-rolled MD5/SHA-1 with faster versions
2025-10-08 18:10:27 -06:00
13bb1a9679
Revamp CLI --help and add --version
2025-10-07 17:09:58 -06:00
061228c971
Make liburing optional; rewrite CMakeLists.txt and enable LTO
2025-10-07 14:12:37 -06:00
df36de18bf
Implement async (overlapped) I/O with io_uring
2025-10-06 23:51:09 -06:00
f366e77956
Rewrite FindFirstFile/FindNextFile (again), add comprehensive tests
2025-10-06 17:57:54 -06:00
f52ca2803f
Tests for handleapi, synchapi, processes
2025-10-06 10:14:03 -06:00
01ed50c4b4
Fix pipe reads; add tests for NtReadFile & pipes
2025-10-05 23:24:50 -06:00
0d76e541c1
Reorg headers, module_registry -> modules, remove ActCtx msvcr80.dll hack
2025-10-05 17:46:16 -06:00
b87fb5e472
Implement some ActCtx functions for msvcr80.dll
2025-10-05 15:52:38 -06:00
0bc80b6618
Split into HostContextGuard/GuestContextGuard
2025-10-05 14:32:06 -06:00
cd7baffc5e
Save/restore fs/gs segments when re-entering host code
2025-10-05 13:58:40 -06:00
166399f143
Move main source files into src/
2025-10-04 13:34:31 -06:00
390f26b28d
New handles, threading and processes subsystems
2025-10-04 13:31:26 -06:00
a9581423a8
VirtualQuery rework
2025-10-02 17:11:28 -06:00
d8150e33b9
Rework thread TIB handling & DLL initialization handling
2025-10-02 16:40:23 -06:00
8330f27479
Add CreatePipe, CON* support for CreateFileA, more for cygwin
2025-10-02 09:47:41 -06:00
694eb85deb
Remove advapi32/internal.cpp; move to relevant source files
2025-10-02 09:15:25 -06:00
3249ebf4bf
Split advapi32 into separate files (part 2) & more impls for ee-gcc/cygwin
2025-10-02 09:05:27 -06:00
79e1dbf523
Split advapi32 into separate files (part 1)
2025-10-02 01:20:51 -06:00
2cbd624119
Split kernel32 into separate files (part 3)
2025-10-02 01:02:26 -06:00
fa3ed4893a
Split kernel32 into separate files (part 2)
2025-10-02 00:20:28 -06:00
9ea5b24b67
Split kernel32 into separate files (part 1)
2025-10-01 18:18:13 -06:00
41f8388bac
Totally rework VirtualAlloc and friends
2025-10-01 15:35:57 -06:00
ccd79a256a
Reimplement kernel32 time functions, fix HeapReAlloc, debug log improvements
2025-10-01 00:59:11 -06:00
62d8daccac
Overlapped I/O support (fixes ProDG compilers)
2025-09-29 23:32:17 -06:00
d69fc8a422
Implement kernel32 Heap* funcs using mimalloc
2025-09-29 14:54:38 -06:00
195f6c1408
Un-stub FileTime functions; impl TerminateProcess, HeapDestroy
2025-09-29 09:25:19 -06:00
f941a1e642
Initial threading support & more impls for compilers
2025-09-28 22:44:35 -06:00
8884c9597e
Merge remote-tracking branch 'origin/main' into dll
2025-09-28 20:40:26 -06:00
8cac50e50e
Rewrite BCryptGenRandom and add tests
2025-09-28 17:20:43 -06:00
f23224bbcc
cl.exe works! but I didn't review most of this code
2025-09-26 17:38:24 -06:00
104e9e869d
Add proper testing framework & integrate with CI
2025-09-26 10:39:09 -06:00
01ddf95d36
Add proper resource implementation
2025-09-26 01:51:25 -06:00
836f485d66
Initial external DLL support
2025-09-26 00:55:35 -06:00
c80b7cb3d0
Integrate mimalloc ( #88 )
2025-08-15 10:03:13 -06:00
ConorB
a85e589de5
[TEMPORARY FIX] Fix issues with the stack not being resized correctly ( #65 )
2023-12-23 15:34:37 -07:00
5a4af7d51b
Ensure we don't reallocate during 2GB address space block ( #49 )
...
* Ensure we don't reallocate during 2GB address space block
* Use std::string_view and std::from_chars to avoid allocations
* Use MAP_FIXED instead of MAP_FIXED_NOREPLACE
* Use raw syscalls and stack buffer
* Use exit(1)
2023-10-03 21:26:30 -04:00
Ethan Roseman
8a6aacb82d
GetLocaleInfoW ( #47 )
...
* GetLocaleInfoW for ee-as.exe 991111b
* Try to do it the right way
* 3rd time's the charm?
* round 4
* it doesn't matter now what happens i will never give up the fight
* comments
* fin
2023-09-22 09:13:56 +09:00
ConorB
218b4d7d76
Implement enough process handling logic to make psyq4.0 happy ( #46 )
...
* Implement enough process handling logic to make psyq4.0 happy
* revert gitignore
* data type update
* PR review
* DEBUG_LOG mistake
---------
Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
2023-09-18 15:05:47 +09:00
Ethan Roseman
6a420668e5
CorExitProcess for armcc_41_1440 ( #44 )
...
* Implement CorExitProcess for armcc_41_1440
* Fix function signature, add dll coverage
2023-09-12 22:44:56 +09:00
Ethan Roseman
b7e8e5fb80
3 msvcrt funcs ( #42 )
...
* msvcrt funcs
* fix empty final line
* Promment
2023-09-11 04:22:01 +09:00
94b44fd697
Everything needed to run simple Rust programs ( #40 )
...
* Everything needed to run simple Rust programs
* Add IsDBCSLeadByte implementation
* Address PR comments
2023-09-10 12:07:23 +09:00
6b6a462ea1
Use __attribute__((force_align_arg_pointer)) ( #30 )
2023-01-23 16:36:14 +01:00
Ethan Roseman
6de4e9a163
3 funcs needed for some mwcc compilers ( #22 )
...
* 3 funcs needed for some mwcc compilers
* some PR feedback
* lots more via pair programming with Simon
* cleanup, add test dir as an include dir for tests
* bugfix
2022-09-24 23:59:30 +09:00
Simon Lindholm
c47665f8ae
Improve TIB
2022-07-28 00:13:36 +02:00
Mark Street
11bdc5e8a2
move dlls into dll/ dir ( #16 )
2022-07-18 09:54:17 -04:00
Ryan Burns
b86a542fe2
Explicitly link std::filesystem as needed ( #14 )
...
* Fix cmake install command
PROGRAMS specifies executable files, while TARGETS specifies cmake
targets. This install command happened to work when doing an in-tree
build (build dir == source dir) but will otherwise fail.
* Explicitly link std::filesystem as needed
On some older compilers, std::filesystem is provided as a separate
library from the C++ standard library. For example, on GCC 8, one must
explicitly link with -lstdc++fs.
We can use a drop-in https://github.com/vector-of-bool/CMakeCM module to
automate detection of and linking against this auxiliary library when needed.
* Add missing include
std::min is in <algorithm> header
This is transitively included in libstdc++ (GCC)
but not in libc++ (Clang)
(Encountered when testing -lc++fs auxiliary library linking in Clang 7)
2022-07-08 02:02:27 +09:00
Ethan Roseman
fae4219d7f
Revert "Add -lstdc++fs to cmake for older GCC ( #11 )" ( #12 )
...
This reverts commit 583769d7c88d82384ff32e7a39ed49e44c0b2577.
2022-07-07 03:26:16 +09:00
BR-
583769d7c8
Add -lstdc++fs to cmake for older GCC ( #11 )
2022-07-07 03:21:18 +09:00