Commit Graph

469 Commits

Author SHA1 Message Date
momo5502
d9676cceb6 Disable concurrency restrictions 2025-01-06 12:36:46 +01:00
momo5502
e0278c2ff4 Add registry dump step 2025-01-06 12:12:56 +01:00
Maurice Heumann
10d5aa7634 Multi Platform Support - Linux & macOS Compilation (#47)
This is part of ongoing work for multi platform support

This PR brings Linux x86_x64 compilation

* windows structures are now controlled by us
* most structures have the basic foundations for future 32bit
abstractions
* explicit 16bit unicode support (Linux is 32bit Unicode)
* update of all syscall code to use the new structures and unicode
system

runtime support of the emulator under linux is still ongoing.
2025-01-06 09:47:18 +01:00
momo5502
fdb0fafa56 Reformat code + small fixes 2025-01-06 09:36:37 +01:00
momo5502
c5238e110b Ignore conversion warnings for now 2025-01-05 20:35:10 +01:00
momo5502
17860edc4c Fix most conversion warnings 2025-01-05 20:34:54 +01:00
momo5502
eeac915a55 Fix macOS warnings 2025-01-05 20:14:53 +01:00
momo5502
a8b4b69a8b Fix more format warnings 2025-01-05 20:09:28 +01:00
momo5502
69f82e5376 Fix compilation warnings on linux 2025-01-05 19:59:02 +01:00
momo5502
605d66c237 Fix ADL for serialize/deserialize 2025-01-05 19:31:51 +01:00
momo5502
3f00cdb181 Fix some compilation warnings 2025-01-05 19:27:17 +01:00
momo5502
4f444a7227 Warnings as errors for posix 2025-01-05 18:21:22 +01:00
momo5502
d87466337f Generate formatting warnings for custom logger 2025-01-05 18:04:04 +01:00
momo5502
6b172f5e78 Add macOS support 2025-01-05 17:43:17 +01:00
momo5502
0791b0fca7 Merge remote-tracking branch 'origin/main' into multi-platform-support
# Conflicts:
#	src/windows-emulator/syscall_dispatcher.cpp
#	src/windows-emulator/syscalls.cpp
2025-01-05 17:03:20 +01:00
momo5502
c55960f0b8 Rename ambiguous symbols 2025-01-05 17:01:37 +01:00
momo5502
036c4c8fb8 Add clang-18 build 2025-01-05 16:07:47 +01:00
momo5502
968c46f975 Fix printing 2025-01-05 15:58:16 +01:00
momo5502
7b1285f177 Fix format specifiers 2025-01-05 15:50:19 +01:00
momo5502
f4aa93e1da Add experimental linux build 2025-01-05 15:47:24 +01:00
momo5502
71913b2db0 Even more compilation fixes 2025-01-05 15:23:44 +01:00
momo5502
ec6e25787e Fix naming collisions 2025-01-05 15:02:00 +01:00
momo5502
f08a97eae6 Fix compilation after merge 2025-01-05 14:58:30 +01:00
momo5502
f75f95cc61 Merge remote-tracking branch 'origin/main' into multi-platform-support
# Conflicts:
#	src/analyzer/main.cpp
#	src/emulator/memory_region.hpp
#	src/windows-emulator/io_device.cpp
#	src/windows-emulator/module/module_mapping.cpp
#	src/windows-emulator/process_context.hpp
#	src/windows-emulator/syscalls.cpp
#	src/windows-emulator/windows_emulator.cpp
2025-01-05 14:44:17 +01:00
momo5502
24f53bc498 Fix more compilation issues 2025-01-05 13:25:28 +01:00
momo5502
05e75a20ba Fix some compilation issues 2025-01-05 13:11:32 +01:00
Maurice Heumann
38f2f13fad Small cleanup (#45) 2025-01-05 10:38:09 +01:00
momo5502
6f736808ba Small cleanup 2025-01-05 10:19:19 +01:00
momo5502
d93120a122 Assert correct PE machine type 2025-01-05 10:19:05 +01:00
momo5502
5bfb1b06ee Show errors if module mapping fails 2025-01-05 09:42:14 +01:00
Maurice Heumann
39dd14141d Handle concise logging via options (#44) 2025-01-05 09:33:41 +01:00
momo5502
ac16b4a727 Handle concise logging via options 2025-01-05 09:28:16 +01:00
momo5502
6435e65caa Small cleanup 2025-01-05 09:04:19 +01:00
Maurice Heumann
48b8a6ebe9 Handle illegal instructions (#43) 2025-01-04 11:27:14 +01:00
momo5502
1b3bb07657 Thread switches are uninteresting 2025-01-04 11:21:45 +01:00
momo5502
41285169d9 Dispatch illegal instruction 2025-01-04 11:18:50 +01:00
momo5502
d64e73ad6e Add test for illegal instructions 2025-01-04 11:06:10 +01:00
Maurice Heumann
4ecda104aa Update README.md 2025-01-03 17:44:45 +01:00
Maurice Heumann
40369d50d7 Log crafted out-of-line sycalls (#42) 2025-01-03 17:34:43 +01:00
momo5502
912e9c9379 Log crafted out-of-line syscalls 2025-01-03 17:29:00 +01:00
momo5502
6da3f27da6 Fix .text logging 2025-01-03 16:43:07 +01:00
Maurice Heumann
efca592c05 Merge development progress (#41) 2025-01-03 16:03:04 +01:00
momo5502
d38ef3dd8f Disable concise mode for now 2025-01-03 15:59:03 +01:00
momo5502
ab61ed0dfe Support querying thread start addresses 2025-01-03 15:58:43 +01:00
momo5502
5b538bba1b Small progress 2025-01-03 14:52:14 +01:00
momo5502
1297a7a3ea Better logging 2025-01-03 14:04:15 +01:00
momo5502
010fbb2120 Support concise debugger output 2025-01-03 13:22:51 +01:00
Maurice Heumann
3d70541ef7 Fix syscalls and tls vector updates (#40) 2025-01-02 13:55:03 +01:00
Maurice Heumann
0443b5a47c Bump deps/googletest from 35d0c36 to 7d76a23 (#39)
Bumps [deps/googletest](https://github.com/google/googletest) from
`35d0c36` to `7d76a23`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7d76a231b0"><code>7d76a23</code></a>
gtest: Output a canned test case for test suite setup / teardown
failures in ...</li>
<li><a
href="e54519b094"><code>e54519b</code></a>
Put the fake Fuchsia SDK in a module extension</li>
<li><a
href="f3c355f9dd"><code>f3c355f</code></a>
the public version already has the const qualifier</li>
<li><a
href="79219e26e0"><code>79219e2</code></a>
Update the links to ISTQB glossary.</li>
<li><a
href="d122c0d435"><code>d122c0d</code></a>
Add support for printing C++20 std::*_ordering types to gtest.</li>
<li>See full diff in <a
href="35d0c36560...7d76a231b0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-01-02 13:51:23 +01:00
momo5502
95df4a9c59 Fix TLS vector updates 2025-01-02 13:50:30 +01:00