aboutsummaryrefslogtreecommitdiff
path: root/website/content/en/status/report-2022-04-2022-06/lldb.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'website/content/en/status/report-2022-04-2022-06/lldb.adoc')
-rw-r--r--website/content/en/status/report-2022-04-2022-06/lldb.adoc24
1 files changed, 24 insertions, 0 deletions
diff --git a/website/content/en/status/report-2022-04-2022-06/lldb.adoc b/website/content/en/status/report-2022-04-2022-06/lldb.adoc
new file mode 100644
index 0000000000..93a93ab088
--- /dev/null
+++ b/website/content/en/status/report-2022-04-2022-06/lldb.adoc
@@ -0,0 +1,24 @@
+=== Ongoing work on LLDB multiprocess debugging support
+
+Links: +
+link:https://www.moritz.systems/blog/multiprocess-support-for-lldb/[Moritz Systems Project Description] URL: link:https://www.moritz.systems/blog/multiprocess-support-for-lldb/[https://www.moritz.systems/blog/multiprocess-support-for-lldb/] +
+link:https://www.moritz.systems/blog/implementing-non-stop-protocol-compatibility-in-lldb/[Progress Report 1] URL: link:https://www.moritz.systems/blog/implementing-non-stop-protocol-compatibility-in-lldb/[https://www.moritz.systems/blog/implementing-non-stop-protocol-compatibility-in-lldb/]
+
+Contact: Kamil Rytarowski <kamil@moritz.systems> +
+Contact: Michał Górny <mgorny@moritz.systems>
+
+According to the upstream description, "LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler."
+
+FreeBSD includes LLDB in the base system.
+The previous sponsored projects improved LLDB, to make it a credible debugger for the base system, although it still has a few limitations compared to the contemporary versions of GNU GDB.
+This project started in April 2022.
+It aims to implement full support for debugging multiple processes simultaneously.
+
+At the start of the project, LLDB featured very limited support for multiprocess debugging.
+The client featured support for debugging multiple independent processes simultaneously via maintaining multiple connections to different server instances.
+Thanks to our earlier work, the server was able to process `fork(2)` and `vfork(2)` calls and either detach the newly forked child and continue tracing the parent process, or detach the parent and follow the child (equivalent to GDB's `follow-fork-mode` setting).
+
+Once the project is finished, LLDB will be able to trace an arbitrary number of forked processes simultaneously (equivalent to GDB's `detach-on-fork off`).
+Full support for the multiprocess extension to the GDB Remote Serial Protocol will be implemented, as well as partial support for the non-stop extension that will enable multiple processes to be resumed and stopped independently.
+
+Sponsor: The FreeBSD Foundation