Skip to content

build(deps): bump gdbstub from 0.5.0 to 0.6.1 #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Feb 23, 2022

Bumps gdbstub from 0.5.0 to 0.6.1.

Release notes

Sourced from gdbstub's releases.

0.6.1

  • Add LLDB-specific HostIoOpenFlags #100 (mrk)

0.6.0

After over a half-year of development, gdbstub 0.6 has finally been released!

This massive release delivers a slew of new protocol extensions, internal improvements, and key API improvements. Some highlights include:

  • A new non-blocking GdbStubStateMachine API, enabling gdbstub to integrate nicely with async event loops!
    • Moreover, on no_std platforms, this new API enables gdbstub to be driven directly via breakpoint/serial interrupt handlers!
    • This API is already being used in several Rust kernel projects, such as vmware-labs/node-replicated-kernel and betrusted-io/xous-core to enable bare-metal, in-kernel debugging.
  • gdbstub is now entirely panic free in release builds!
    • * subject to rustc's compiler optimizations
    • This was a pretty painstaking effort, but the end result is a substantial reduction in binary size on no_std platforms.
  • Tons of new and exciting protocol extensions, including but not limited to:
    • Support for remote file I/O (reading/writing files to the debug target)
    • Fetching remote memory maps
    • Catching + reporting syscall entry/exit conditions
    • ...and many more!
  • A new license: gdbtsub is licensed under MIT OR Apache-2.0

See the changelog for a comprehensive rundown of all the new features.

While this release does come with quite a few breaking changes, the core IDET-based Target API has remained much the same, which should make porting code over from 0.5.x to 0.6 pretty mechanical. See the transition_guide.md for guidance on upgrading from 0.5.x to 0.6.

And as always, a huge shoutout to the folks who contributed PRs, Issues, and ideas to gdbstub - this release wouldn't have been possible without you! Special shoutouts to gz and xobs for helping me test and iterate on the new bare-metal state machine API, and bet4it for pointing out and implementing many useful API improvements and internal refactors.

Cheers!

New Features

  • The new GdbStubStateMachine API gives users the power and flexibility to integrate gdbstub into their project-specific event loop infrastructure.
    • e.g: A global instance of GdbStubStateMachine can be driven directly from bare-metal interrupt handlers in no_std environments
    • e.g: A project using async/await can wrap GdbStubStateMachine in a task, yielding execution while waiting for the target to resume / new data to arrive down the Connection
  • Removed all panicking code from gdbstub
  • Introduced strongly-typed enum for protocol defined signal numbers (instead of using bare u8s)
  • Added basic feature negotiation to support clients that don't support multiprocess+ extensions.
  • Relicensed gdbstub under MIT OR Apache-2.0 #68
  • Added several new "guard rails" to avoid common integration footguns:
    • Target::guard_rail_implicit_sw_breakpoints - guards against the GDB client silently overriding target instructions with breakpoints if SwBreakpoints hasn't been implemented.
    • Target::guard_rail_single_step_gdb_behavior - guards against a GDB client bug where support for single step may be required / ignored on certain platforms (e.g: required on x86, ignored on MIPS)
  • Added several new "toggle switches" to enable/disable parts of the protocol (all default to true)
    • Target::use_x_upcase_packet - toggle support for the more efficient X memory write packet
    • Target::use_resume_stub - toggle gdbstub's built-in "stub" resume handler that returns SIGRAP if a target doesn't implement support for resumption
    • Target::use_rle - toggle whether outgoing packets are Run Length Encoded (RLE)

New Protocol Extensions

  • MemoryMap - Get memory map XML file from the target. #54 (Tiwalun)

... (truncated)

Changelog

Sourced from gdbstub's changelog.

0.6.1

  • add LLDB-specific HostIoOpenFlags #100 (mrk)

0.6.0

After over a half-year of development, gdbstub 0.6 has finally been released!

This massive release delivers a slew of new protocol extensions, internal improvements, and key API improvements. Some highlights include:

  • A new non-blocking GdbStubStateMachine API, enabling gdbstub to integrate nicely with async event loops!
    • Moreover, on no_std platforms, this new API enables gdbstub to be driven directly via breakpoint/serial interrupt handlers!
    • This API is already being used in several Rust kernel projects, such as vmware-labs/node-replicated-kernel and betrusted-io/xous-core to enable bare-metal, in-kernel debugging.
  • gdbstub is now entirely panic free in release builds!
    • * subject to rustc's compiler optimizations
    • This was a pretty painstaking effort, but the end result is a substantial reduction in binary size on no_std platforms.
  • Tons of new and exciting protocol extensions, including but not limited to:
    • Support for remote file I/O (reading/writing files to the debug target)
    • Fetching remote memory maps
    • Catching + reporting syscall entry/exit conditions
    • ...and many more!
  • A new license: gdbstub is licensed under MIT OR Apache-2.0

See the changelog for a comprehensive rundown of all the new features.

While this release does come with quite a few breaking changes, the core IDET-based Target API has remained much the same, which should make porting code over from 0.5.x to 0.6 pretty mechanical. See the transition_guide.md for guidance on upgrading from 0.5.x to 0.6.

And as always, a huge shoutout to the folks who contributed PRs, Issues, and ideas to gdbstub - this release wouldn't have been possible without you! Special shoutouts to gz and xobs for helping me test and iterate on the new bare-metal state machine API, and bet4it for pointing out and implementing many useful API improvements and internal refactors.

Cheers!

New Features

  • The new GdbStubStateMachine API gives users the power and flexibility to integrate gdbstub into their project-specific event loop infrastructure.
    • e.g: A global instance of GdbStubStateMachine can be driven directly from bare-metal interrupt handlers in no_std environments
    • e.g: A project using async/await can wrap GdbStubStateMachine in a task, yielding execution while waiting for the target to resume / new data to arrive down the Connection
  • Removed all panicking code from gdbstub
  • Introduced strongly-typed enum for protocol defined signal numbers (instead of using bare u8s)
  • Added basic feature negotiation to support clients that don't support multiprocess+ extensions.
  • Relicensed gdbstub under MIT OR Apache-2.0 #68
  • Added several new "guard rails" to avoid common integration footguns:
    • Target::guard_rail_implicit_sw_breakpoints - guards against the GDB client silently overriding target instructions with breakpoints if SwBreakpoints hasn't been implemented.
    • Target::guard_rail_single_step_gdb_behavior - guards against a GDB client bug where support for single step may be required / ignored on certain platforms (e.g: required on x86, ignored on MIPS)
  • Added several new "toggle switches" to enable/disable parts of the protocol (all default to true)
    • Target::use_x_upcase_packet - toggle support for the more efficient X memory write packet
    • Target::use_resume_stub - toggle gdbstub's built-in "stub" resume handler that returns SIGRAP if a target doesn't implement support for resumption
    • Target::use_rle - toggle whether outgoing packets are Run Length Encoded (RLE)

New Protocol Extensions

... (truncated)

Commits
  • 1e4bd67 bump to 0.6.1
  • c2d64fa add lldb-specific HostIoOpenFlags (#100)
  • 534aff1 bump gdbstub_arch to 0.2.2
  • 50744be remove target.xml from mips64 arch impls
  • 0447d96 gdbstub_arch 0.2.1
  • a6e9703 Update single_step_gdb_behavior of all architectures with proper value (#95)
  • d22eea8 add gdbstub_arch LICENSE
  • 396674f fix README
  • c1e5f27 update various stop-reason variants to include optional tid
  • 2805027 remove template params from some Arch impls in gdbstub_arch
  • Additional commits viewable in compare view

Dependabot compatibility score

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 commands and options

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 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)

Bumps [gdbstub](https://github.com/daniel5151/gdbstub) from 0.5.0 to 0.6.1.
- [Release notes](https://github.com/daniel5151/gdbstub/releases)
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md)
- [Commits](daniel5151/gdbstub@0.5.0...0.6.1)

---
updated-dependencies:
- dependency-name: gdbstub
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Feb 23, 2022
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Jun 14, 2022

Superseded by #58.

@dependabot dependabot bot closed this Jun 14, 2022
@dependabot dependabot bot deleted the dependabot/cargo/gdbstub-0.6.1 branch June 14, 2022 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants