Commit Graph

619 Commits

Author SHA1 Message Date
Maurice Heumann
72c7b75816 replaced puts() with logger calls (#98) 2025-01-22 10:38:03 +01:00
Elias Bachaalany
365e94d834 replaced puts() with logger calls 2025-01-21 21:50:47 -08:00
Maurice Heumann
eb613b2214 replace printf() with logger (#95) 2025-01-21 20:03:30 +01:00
Elias Bachaalany
fe36ea3f56 replace printf() with logger 2025-01-21 09:05:55 -08:00
momo5502
35a0616997 Collect locale 2025-01-21 16:15:08 +01:00
Maurice Heumann
7a663094d6 [NFC] Cleanup project structure a bit (#93) 2025-01-20 20:25:52 +01:00
Elias Bachaalany
1d5c5c2e74 Introducing reflection levels concept into core components (#91)
The idea is to allow as much internal information into inner components.
to not burden all builds, the reflection level can be controlled via the
MOMO_REFLECTION_LEVEL (where 0 means no reflection code is included).

more reflection variables will be introduced as needed.

For now, the memory manager's layout state version is used to track
whether the memory layout is changed or not (at the lowest level). the
win_emu API consumer can use this reflection to decide to whether to
refresh or not expensive computations
2025-01-20 11:19:33 -08:00
momo5502
067421bf85 Prepare grouping targets 2025-01-20 20:14:49 +01:00
momo5502
2e1fa4554a Extract windows-gdb-stub 2025-01-20 20:09:16 +01:00
momo5502
5ce3db6d35 Move samples into subdirectory 2025-01-20 19:55:24 +01:00
momo5502
5f0c9adec8 Quick & Dirty DLL collect script 2025-01-20 16:06:18 +01:00
Elias Bachaalany
8b3c0755b1 mods based on suggestion/feedback 2025-01-19 13:57:45 -08:00
momo5502
058e7b6006 Remove mini-gdbstub submodule entry 2025-01-19 18:34:31 +01:00
momo5502
b3537cc2dd Report application exit 2025-01-19 18:19:11 +01:00
momo5502
71c3b8e36a Small cleanup 2025-01-19 18:09:28 +01:00
momo5502
908fa7a363 Ignore signals 2025-01-19 17:50:23 +01:00
momo5502
6ad4a9b0a1 Yield thread when necessary 2025-01-19 16:43:26 +01:00
momo5502
fc990779cf Disable GDB logging 2025-01-19 16:11:25 +01:00
Maurice Heumann
f915113d8b Support threads with GDB (#90) 2025-01-19 16:08:49 +01:00
momo5502
55b0c71dc9 Unify continuation 2025-01-19 16:02:31 +01:00
momo5502
b52bb0315a Handle vCont packets 2025-01-19 15:55:41 +01:00
momo5502
15a1b3327a Add debugging context 2025-01-19 15:49:37 +01:00
momo5502
66805a55a0 Introduce debugging state 2025-01-19 15:39:19 +01:00
momo5502
ac4fd1b4fd Signal stopped thread 2025-01-19 15:12:00 +01:00
momo5502
87fb3defe4 Cleanup xfer data transfer 2025-01-19 13:24:05 +01:00
momo5502
62597d5f4e Don't support vCont right now 2025-01-19 13:23:21 +01:00
momo5502
4e80a8bf16 Support threads in gdb 2025-01-19 12:28:40 +01:00
Maurice Heumann
75c9ad065b Provide correct GDB target description (#92) 2025-01-19 12:24:33 +01:00
momo5502
8afceeca6e Extract register mapping 2025-01-19 11:36:03 +01:00
momo5502
ce291728bd Support all registers 2025-01-19 11:30:32 +01:00
momo5502
77b4ee5e1e Properly read and write registers 2025-01-19 10:18:45 +01:00
momo5502
192d5687ff Provide x86_64 target descriptions 2025-01-19 09:37:59 +01:00
momo5502
270dbf000c Better thread exit check 2025-01-19 08:36:01 +01:00
Elias Bachaalany
8053889d20 introducing reflection concept into core components
the idea is to allow as much internal information into inner components.
to not burden all builds, the reflection level can be controlled
via the MOMO_REFLECTION_LEVEL (where 0 means no reflection code is
included).

more reflection variables will be introduced as needed.

for now, the memory manager's layout version is used to track whether
the memory layout is changed or not (at the lowest level).
the API consumer can use this to decide to refresh or not expensive
computations
2025-01-18 21:10:28 -08:00
momo5502
a16c17669d Fix target 2025-01-18 21:14:22 +01:00
momo5502
1a4ea584aa Fix vCont support 2025-01-18 21:01:38 +01:00
Maurice Heumann
608a1894da Speedup GDB data processing (#89) 2025-01-18 20:42:40 +01:00
momo5502
7c4b1ba3ca Speedup GDB data processing 2025-01-18 20:36:54 +01:00
Maurice Heumann
6084d3522c Refactor GDB stub (#88)
The intention of this PR is not yet to extend/fix the GDB functionality,
but rather to get rid the `mini-gdbstub` dependency.

Its functionality should have been reimplemented as closely as possible.

The main reason for this is better portability and security fixes (there
are numerous OOB read/write vulnerabilities in `mini-gdbstub`)
2025-01-18 20:34:20 +01:00
momo5502
9fc37fa3ef Small cleanup and utils 2025-01-18 19:36:12 +01:00
momo5502
4c5257098c Add logging line for later 2025-01-18 15:59:52 +01:00
momo5502
a0932e6803 Align register behaviour with implementation on main branch 2025-01-18 15:59:13 +01:00
momo5502
3dbd954c60 Fix includes 2025-01-18 15:58:51 +01:00
momo5502
b34ef0e546 Rename interface 2025-01-18 12:56:57 +01:00
momo5502
81fda5f8af Remove mini-gdbstub dependency 2025-01-18 12:49:10 +01:00
momo5502
cc252447d5 Multiple fixes 2025-01-18 12:43:55 +01:00
momo5502
5079b750cd Finish implementation 2025-01-18 11:43:54 +01:00
Maurice Heumann
75993e642a Bump deps/googletest from 7d76a23 to 2b6b042 (#87)
Bumps [deps/googletest](https://github.com/google/googletest) from
`7d76a23` to `2b6b042`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2b6b042a77"><code>2b6b042</code></a>
Cast mutable lvalue references to const from testing::ResultOf</li>
<li><a
href="e4ece4881d"><code>e4ece48</code></a>
Enable safe matcher casts from <code>Matcher\&lt;const T&amp;&gt;</code>
to <code>Matcher\&lt;T&gt;</code>.</li>
<li><a
href="504ea69cf7"><code>504ea69</code></a>
Document unexpected interaction with death test error code and
gmock.</li>
<li><a
href="4bbf80823c"><code>4bbf808</code></a>
Add UnpackStructImpl for structs with 20 fields.</li>
<li>See full diff in <a
href="7d76a231b0...2b6b042a77">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-18 09:39:20 +01:00
dependabot[bot]
0656ed1837 Bump deps/googletest from 7d76a23 to 2b6b042
Bumps [deps/googletest](https://github.com/google/googletest) from `7d76a23` to `2b6b042`.
- [Release notes](https://github.com/google/googletest/releases)
- [Commits](7d76a231b0...2b6b042a77)

---
updated-dependencies:
- dependency-name: deps/googletest
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-18 08:33:42 +00:00
momo5502
062c20d902 Fix compilation 2025-01-18 09:30:03 +01:00