mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:37:44 +00:00
Ports/gdb: Implement wait and mourn_inferior overrides for our target
While troubleshooting why gdb wasn't working when attempting to debug serenity programs I noticed two things: - The contract of serenity's `waitpid(..)` appears to be slightly different than the generic ptrace target expects. We need to make sure we pass `WSTOPPED`, and it can return different errno values that we would want to re-try on. - The contract of serenity's `ptrace(..)` implementation appears to diverge as well, as we are expected to call `PT_ATTACH` before we call `PT_CONTINUE`, otherwise `ptrace(..)` will just error out. These two patches fix the behavior of wait and mourn_inferior so that they work as expected on serenity and allow us to attach and then wait for a process to exit while running under gdb.
This commit is contained in:
parent
f01e1d0c17
commit
e56262caed
7 changed files with 195 additions and 4 deletions
|
@ -1,7 +1,7 @@
|
|||
From e87fd74df2c7fcb4b146eb09b5b710a45003999a Mon Sep 17 00:00:00 2001
|
||||
From: Brian Gianforcaro <b.gianfo@gmail.com>
|
||||
Date: Sat, 19 Feb 2022 19:47:42 -0800
|
||||
Subject: [PATCH 3/4] gdb: Add build support for SerenityOS
|
||||
Subject: [PATCH 3/6] gdb: Add build support for SerenityOS
|
||||
|
||||
---
|
||||
bfd/config.bfd | 9 +++++++++
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue