[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
jimingham wrote: Again, the problem here is really that Darwin doesn't support follows-fork, so the tests will never pass on Darwin and should just be skipped. https://github.com/llvm/llvm-project/pull/207663 ___ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
https://github.com/felipepiovezan closed https://github.com/llvm/llvm-project/pull/207663 ___ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
felipepiovezan wrote: I'll go ahead and merge this! https://github.com/llvm/llvm-project/pull/207663 ___ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
felipepiovezan wrote: Thanks for the quick follow up! https://github.com/llvm/llvm-project/pull/207663 ___ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
https://github.com/felipepiovezan approved this pull request. https://github.com/llvm/llvm-project/pull/207663 ___ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
felipepiovezan wrote: It's fine that they are squashed. When you reapply the patch later, you will also have the fix to the test in the same commit, which in this case is a good thing. https://github.com/llvm/llvm-project/pull/207663 ___ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
DrSergei wrote: @felipepiovezan Sorry for problems, I think the best solution now is to revert my changes. But I don't know how to do it better, because I have to revert 2 commits at once, because they will be squashed after MR, is it ok? https://github.com/llvm/llvm-project/pull/207663 ___ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
llvmorg-github-actions[bot] wrote:
@llvm/pr-subscribers-lldb
Author: Sergei Druzhkov (DrSergei)
Changes
---
Full diff: https://github.com/llvm/llvm-project/pull/207663.diff
9 Files Affected:
- (modified) lldb/include/lldb/Target/Process.h (-2)
- (modified) lldb/source/Target/Process.cpp (-12)
- (modified) lldb/source/Target/StopInfo.cpp (+6-8)
- (modified) lldb/source/Target/TargetProperties.td (-8)
- (removed) lldb/test/API/functionalities/fork/stop/Makefile (-3)
- (removed) lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
(-72)
- (removed) lldb/test/API/functionalities/fork/stop/main.c (-18)
- (removed) lldb/test/Shell/Subprocess/stop-on-fork.test (-11)
- (removed) lldb/test/Shell/Subprocess/stop-on-vfork.test (-11)
``diff
diff --git a/lldb/include/lldb/Target/Process.h
b/lldb/include/lldb/Target/Process.h
index 80b3fa300971f..7b1424e6dfa59 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -108,8 +108,6 @@ class ProcessProperties : public Properties {
bool GetWarningsOptimization() const;
bool GetWarningsUnsupportedLanguage() const;
bool GetStopOnExec() const;
- bool GetStopOnFork() const;
- bool GetStopOnVFork() const;
std::chrono::seconds GetUtilityExpressionTimeout() const;
std::chrono::seconds GetInterruptTimeout() const;
bool GetOSPluginReportsAllThreads() const;
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index d929f45419783..4360250b21475 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -343,18 +343,6 @@ bool ProcessProperties::GetUseDelayedBreakpoints() const {
idx, g_process_properties[idx].default_uint_value != 0);
}
-bool ProcessProperties::GetStopOnFork() const {
- const uint32_t idx = ePropertyStopOnFork;
- return GetPropertyAtIndexAs(
- idx, g_process_properties[idx].default_uint_value != 0);
-}
-
-bool ProcessProperties::GetStopOnVFork() const {
- const uint32_t idx = ePropertyStopOnVFork;
- return GetPropertyAtIndexAs(
- idx, g_process_properties[idx].default_uint_value != 0);
-}
-
std::chrono::seconds ProcessProperties::GetUtilityExpressionTimeout() const {
const uint32_t idx = ePropertyUtilityExpressionTimeout;
uint64_t value = GetPropertyAtIndexAs(
diff --git a/lldb/source/Target/StopInfo.cpp b/lldb/source/Target/StopInfo.cpp
index 80d7b3b4c2c01..c20b0ed07ee3c 100644
--- a/lldb/source/Target/StopInfo.cpp
+++ b/lldb/source/Target/StopInfo.cpp
@@ -1545,8 +1545,8 @@ class StopInfoFork : public StopInfo {
bool ShouldStop(Event *event_ptr) override {
// During expression evaluation, return true so that the fork event
// reaches RunThreadPlan as a real stop (not auto-restarted by
-// DoOnRemoval) or target.process.stop-on-fork is true. RunThreadPlan
-// decides whether to stop or continue based on the stop-on-fork option.
+// DoOnRemoval). RunThreadPlan decides whether to stop or continue
+// based on the stop-on-fork option.
//
// We check per-thread (not just process-wide IsRunningExpression)
// because other threads may fork concurrently after the
@@ -1554,9 +1554,8 @@ class StopInfoFork : public StopInfo {
ThreadSP thread_sp(m_thread_wp.lock());
if (thread_sp) {
ProcessSP process_sp = thread_sp->GetProcess();
- if (process_sp && ((process_sp->GetModIDRef().IsRunningExpression() &&
- thread_sp->IsRunningCallFunctionPlan()) ||
- process_sp->GetStopOnFork()))
+ if (process_sp && process_sp->GetModIDRef().IsRunningExpression() &&
+ thread_sp->IsRunningCallFunctionPlan())
return true;
}
return false;
@@ -1611,9 +1610,8 @@ class StopInfoVFork : public StopInfo {
ThreadSP thread_sp(m_thread_wp.lock());
if (thread_sp) {
ProcessSP process_sp = thread_sp->GetProcess();
- if (process_sp && ((process_sp->GetModIDRef().IsRunningExpression() &&
- thread_sp->IsRunningCallFunctionPlan()) ||
- process_sp->GetStopOnVFork()))
+ if (process_sp && process_sp->GetModIDRef().IsRunningExpression() &&
+ thread_sp->IsRunningCallFunctionPlan())
return true;
}
return false;
diff --git a/lldb/source/Target/TargetProperties.td
b/lldb/source/Target/TargetProperties.td
index bf016b52afb83..d63bc741e66ed 100644
--- a/lldb/source/Target/TargetProperties.td
+++ b/lldb/source/Target/TargetProperties.td
@@ -282,14 +282,6 @@ let Definition = "process", Path = "target.process" in {
Global,
DefaultTrue,
Desc<"If true, stop when the inferior exec's.">;
- def StopOnFork: Property<"stop-on-fork", "Boolean">,
-Global,
-DefaultFalse,
-Desc<"If true, stop when the inferior forks. The stop location depends on
target.process.follow-fork-mode: 'child' stops in the child process, while
'parent' stops in the original process.">;
- def StopOnVFork: Pr
[Lldb-commits] [lldb] [lldb] Revert stop-on-fork and stop-on-vfork (PR #207663)
https://github.com/DrSergei created
https://github.com/llvm/llvm-project/pull/207663
None
>From 76592001457cd68740a2150c9926141f93e8fb55 Mon Sep 17 00:00:00 2001
From: Sergei Druzhkov
Date: Mon, 6 Jul 2026 09:58:35 +0300
Subject: [PATCH 1/2] Revert "[lldb] Disable TestStopOnForkAndVFork on remote
targets (#207509)"
This reverts commit 645e02b88248103e8cce0c9ab605e6eaa70c0f07.
---
.../test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
b/lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
index 301b143ecc0ba..9fc85020e66f4 100644
--- a/lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
+++ b/lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
@@ -8,7 +8,6 @@
from lldbsuite.test.decorators import *
-@skipIfRemote
class TestStopOnForkAndVFork(TestBase):
NO_DEBUG_INFO_TESTCASE = True
>From 1ab1e26d2deecc7480f1ecbbcc66176f7f205015 Mon Sep 17 00:00:00 2001
From: Sergei Druzhkov
Date: Mon, 6 Jul 2026 09:59:11 +0300
Subject: [PATCH 2/2] Revert "[lldb] Add stop-on-fork and stop-on-vfork
settings (#188710)"
This reverts commit 38ecfd2c0d9acef2ea328fb88550a3846ac5c9fe.
---
lldb/include/lldb/Target/Process.h| 2 -
lldb/source/Target/Process.cpp| 12
lldb/source/Target/StopInfo.cpp | 14 ++--
lldb/source/Target/TargetProperties.td| 8 ---
.../API/functionalities/fork/stop/Makefile| 3 -
.../fork/stop/TestStopOnForkAndVFork.py | 71 ---
.../test/API/functionalities/fork/stop/main.c | 18 -
lldb/test/Shell/Subprocess/stop-on-fork.test | 11 ---
lldb/test/Shell/Subprocess/stop-on-vfork.test | 11 ---
9 files changed, 6 insertions(+), 144 deletions(-)
delete mode 100644 lldb/test/API/functionalities/fork/stop/Makefile
delete mode 100644
lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
delete mode 100644 lldb/test/API/functionalities/fork/stop/main.c
delete mode 100644 lldb/test/Shell/Subprocess/stop-on-fork.test
delete mode 100644 lldb/test/Shell/Subprocess/stop-on-vfork.test
diff --git a/lldb/include/lldb/Target/Process.h
b/lldb/include/lldb/Target/Process.h
index 80b3fa300971f..7b1424e6dfa59 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -108,8 +108,6 @@ class ProcessProperties : public Properties {
bool GetWarningsOptimization() const;
bool GetWarningsUnsupportedLanguage() const;
bool GetStopOnExec() const;
- bool GetStopOnFork() const;
- bool GetStopOnVFork() const;
std::chrono::seconds GetUtilityExpressionTimeout() const;
std::chrono::seconds GetInterruptTimeout() const;
bool GetOSPluginReportsAllThreads() const;
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index d929f45419783..4360250b21475 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -343,18 +343,6 @@ bool ProcessProperties::GetUseDelayedBreakpoints() const {
idx, g_process_properties[idx].default_uint_value != 0);
}
-bool ProcessProperties::GetStopOnFork() const {
- const uint32_t idx = ePropertyStopOnFork;
- return GetPropertyAtIndexAs(
- idx, g_process_properties[idx].default_uint_value != 0);
-}
-
-bool ProcessProperties::GetStopOnVFork() const {
- const uint32_t idx = ePropertyStopOnVFork;
- return GetPropertyAtIndexAs(
- idx, g_process_properties[idx].default_uint_value != 0);
-}
-
std::chrono::seconds ProcessProperties::GetUtilityExpressionTimeout() const {
const uint32_t idx = ePropertyUtilityExpressionTimeout;
uint64_t value = GetPropertyAtIndexAs(
diff --git a/lldb/source/Target/StopInfo.cpp b/lldb/source/Target/StopInfo.cpp
index 80d7b3b4c2c01..c20b0ed07ee3c 100644
--- a/lldb/source/Target/StopInfo.cpp
+++ b/lldb/source/Target/StopInfo.cpp
@@ -1545,8 +1545,8 @@ class StopInfoFork : public StopInfo {
bool ShouldStop(Event *event_ptr) override {
// During expression evaluation, return true so that the fork event
// reaches RunThreadPlan as a real stop (not auto-restarted by
-// DoOnRemoval) or target.process.stop-on-fork is true. RunThreadPlan
-// decides whether to stop or continue based on the stop-on-fork option.
+// DoOnRemoval). RunThreadPlan decides whether to stop or continue
+// based on the stop-on-fork option.
//
// We check per-thread (not just process-wide IsRunningExpression)
// because other threads may fork concurrently after the
@@ -1554,9 +1554,8 @@ class StopInfoFork : public StopInfo {
ThreadSP thread_sp(m_thread_wp.lock());
if (thread_sp) {
ProcessSP process_sp = thread_sp->GetProcess();
- if (process_sp && ((process_sp->GetModIDRef().IsRunningExpression() &&
- thread_sp->IsRunningCallFunctionPlan()) ||
- process_sp->GetStopOnFork()))
+ if (process_sp
