You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This lays down some groundwork for v0.8, where the primary new feature
will be multiprocess support, which will be similar to multithreaded
support.
As discussed on the multiprocess github support issue, there's
a simpler way to support the scheduler locking behavior that we plan to
use for multiprocess targets, and since we're breaking the API anyways
with v0.8, it's a decent time to implement it for multithreaded targets
as well.
Copy file name to clipboardExpand all lines: docs/transition_guide.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,14 @@ This document does _not_ discuss any new features that might have been added bet
6
6
7
7
> _Note:_ after reading through this doc, you may also find it helpful to refer to the in-tree `armv4t` and `armv4t_multicore` examples when transitioning between versions.
8
8
9
+
## `0.7` -> `0.8`
10
+
11
+
#### Changes to multi-threaded resume behavior
12
+
13
+
Previously, if a thread had no `resume_set_action_XXX` methods called on it, the default was to assume `set_resume_action_continue` was called on it. Now, if a thread has no `set_resume_action_XXX` methods called on it, it should remain stopped.
14
+
15
+
This new behavior obsoletes the `MultiThreadSchedulerLocking` trait, which has been removed. If a stub is unable to handle executing a single thread and keeping all others locked, it should return an error in the `resume` method.
16
+
9
17
## `0.6` -> `0.7`
10
18
11
19
`0.7` is a fairly minimal "cleanup" release, landing a collection of small breaking changes that collectively improve various ergonomic issues in `gdbstub`'s API.
MissingCurrentActivePidImpl => write!(f,"GDB client attempted to attach to a new process, but the target has not implemented support for `ExtendedMode::support_current_active_pid`"),
150
149
TracepointFeatureUnimplemented(feat) => write!(f,"GDB client sent us a tracepoint packet using feature {}, but `gdbstub` doesn't implement it. If this is something you require, please file an issue at https://github.com/daniel5151/gdbstub/issues",*feat aschar),
151
150
TracepointUnsupportedSourceEnumeration => write!(f,"The target doesn't support the gdbstub TracepointSource extension, but attempted to transition to enumerating tracepoint sources"),
152
-
MissingMultiThreadSchedulerLocking => write!(f,"GDB requested Scheduler Locking, but the Target does not implement the `MultiThreadSchedulerLocking` IDET"),
153
151
MissingToRawId => write!(f,"A RegId was used with an API that requires raw register IDs to be available (e.g. `report_stop_with_regs`) but returned `None` from `to_raw_id()`"),
154
152
155
153
NonFatalError(_) => write!(f,"Internal non-fatal error. You should never see this! Please file an issue if you do!"),
0 commit comments