llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: Jason Molenda (jasonmolenda)
Changes
The concurrent tests all do a pthread_join at the end, and concurrent_base.py
stops after that pthread_join and sanity checks that only 1 thread is running.
On macOS, after pthread_join() has
https://github.com/jasonmolenda edited
https://github.com/llvm/llvm-project/pull/81710
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/jasonmolenda created
https://github.com/llvm/llvm-project/pull/81710
The concurrent tests all do a pthread_join at the end, and concurrent_base.py
stops after that pthread_join and sanity checks that only 1 thread is running.
On macOS, after pthread_join() has completed,
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/81067
>From 3c2f6039cf0e253d78b5193098b311028daaea72 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Wed, 7 Feb 2024 16:43:50 -0800
Subject: [PATCH 1/5] Add more ways to find the .dwp file.
When using split DWARF
@@ -1419,6 +1419,10 @@ let Command = "statistics dump" in {
def statistics_dump_all: Option<"all-targets", "a">, Group<1>,
Desc<"Include statistics for all targets.">;
def statistics_dump_summary: Option<"summary", "s">, Group<1>,
-Desc<"Dump only high-level
@@ -391,7 +392,14 @@ class SymbolFile : public PluginInterface {
/// entire file should be returned. The default implementation of this
/// function will iterate over all sections in a module and add up their
/// debug info only section byte sizes.
- virtual uint64_t
@@ -186,7 +186,19 @@ class SymbolFileDWARF : public SymbolFileCommon {
GetMangledNamesForFunction(const std::string _qualified_name,
std::vector _names) override;
- uint64_t GetDebugInfoSize() override;
+ /// Get total currently loaded debug
@@ -132,6 +132,7 @@ struct ConstStringStats {
struct StatisticsOptions {
bool summary_only = false;
+ bool force_loading = false;
clayborg wrote:
Maybe `load_all_debug_info` is more clear?
https://github.com/llvm/llvm-project/pull/81706
@@ -24,6 +24,9 @@ class LLDB_API SBStatisticsOptions {
void SetSummaryOnly(bool b);
bool GetSummaryOnly();
+
+ void SetForceLoading(bool b);
clayborg wrote:
Need headerdoc for these.
https://github.com/llvm/llvm-project/pull/81706
@@ -24,6 +24,9 @@ class LLDB_API SBStatisticsOptions {
void SetSummaryOnly(bool b);
bool GetSummaryOnly();
+
+ void SetForceLoading(bool b);
+ bool GetForceLoading();
clayborg wrote:
The `SetForceLoading` name doesn't clearly indicate to us what we
github-actions[bot] wrote:
:warning: Python code formatter, darker found issues in your code. :warning:
You can test this locally with the following command:
``bash
darker --check --diff -r
61c83e9491b2be71a54b255cdb11f65365245953...497b0a76501923afc169922c3aab9e92fb00c511
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff 61c83e9491b2be71a54b255cdb11f65365245953
497b0a76501923afc169922c3aab9e92fb00c511 --
https://github.com/kusmour updated
https://github.com/llvm/llvm-project/pull/81706
>From 8cfd1ee9629ce8069cc8fe8f4150e9fc0f5d5ee6 Mon Sep 17 00:00:00 2001
From: Wanyi Ye
Date: Mon, 5 Feb 2024 11:33:03 -0800
Subject: [PATCH 1/3] Only report total currently loaded debug info
---
llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: Wanyi (kusmour)
Changes
Currently running `statistics dump` will trigger lldb to load debug info that's
not yet loaded (eg. dwo files). Resulted in a delay in the command return,
which, can be interrupting.
This patch also added a new
https://github.com/kusmour created
https://github.com/llvm/llvm-project/pull/81706
Currently running `statistics dump` will trigger lldb to load debug info that's
not yet loaded (eg. dwo files). Resulted in a delay in the command return,
which, can be interrupting.
This patch also added a
clayborg wrote:
> > I am fine with telling people what to do and giving them a golden path to
> > what is easiest for our debuggers. And I will suggest to everyone that they
> > use `.debug` and `.dwp`, but if we want to only support this, this leaves
> > the downloading of the `.debug` file
llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: Jordan Rupprecht (rupprecht)
Changes
Switching to modern `unittest` in 5b386158aacac4b41126983a5379d36ed413d0ea
needs xfail annotations to be known prior to test running. In contrast,
skipping can happen at any time, even during test
https://github.com/rupprecht created
https://github.com/llvm/llvm-project/pull/81703
Switching to modern `unittest` in 5b386158aacac4b41126983a5379d36ed413d0ea
needs xfail annotations to be known prior to test running. In contrast,
skipping can happen at any time, even during test execution.
Author: Jim Ingham
Date: 2024-02-13T18:08:02-08:00
New Revision: 22d2f3aa3097feb9a91c6d7b8ef611a1cde6d0d5
URL:
https://github.com/llvm/llvm-project/commit/22d2f3aa3097feb9a91c6d7b8ef611a1cde6d0d5
DIFF:
https://github.com/llvm/llvm-project/commit/22d2f3aa3097feb9a91c6d7b8ef611a1cde6d0d5.diff
https://github.com/JDevlieghere edited
https://github.com/llvm/llvm-project/pull/81319
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -119,6 +120,32 @@ class Progress {
bool m_complete = false;
};
+/// A class used to group progress reports by category. This is done by using a
+/// map that maintains a refcount of each category of progress reports that
have
+/// come in. Keeping track of progress
https://github.com/JDevlieghere approved this pull request.
LGTM with the Initialize/Terminate removed as they're not needed anymore.
https://github.com/llvm/llvm-project/pull/81319
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
@@ -1666,33 +1646,52 @@ class CommandObjectProcessHandle : public
CommandObjectParsed {
// the user's options.
ProcessSP process_sp = target.GetProcessSP();
-int stop_action = -1; // -1 means leave the current setting alone
-int pass_action = -1; // -1
https://github.com/clayborg approved this pull request.
Looks good!
https://github.com/llvm/llvm-project/pull/81319
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -2757,13 +2769,18 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
body.try_emplace("description", error_cstr && error_cstr[0]
? std::string(error_cstr)
: "evaluation
@@ -2757,13 +2769,18 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
body.try_emplace("description", error_cstr && error_cstr[0]
? std::string(error_cstr)
: "evaluation
@@ -2757,13 +2769,18 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
body.try_emplace("description", error_cstr && error_cstr[0]
? std::string(error_cstr)
: "evaluation
Author: Jim Ingham
Date: 2024-02-13T16:51:55-08:00
New Revision: 1ec81976e4937ea9a09cefd41f25b3c5d1394f2c
URL:
https://github.com/llvm/llvm-project/commit/1ec81976e4937ea9a09cefd41f25b3c5d1394f2c
DIFF:
https://github.com/llvm/llvm-project/commit/1ec81976e4937ea9a09cefd41f25b3c5d1394f2c.diff
Author: Jim Ingham
Date: 2024-02-13T16:12:20-08:00
New Revision: 3647ff159a2f2445c45d9cbb4f8791b5f30da16b
URL:
https://github.com/llvm/llvm-project/commit/3647ff159a2f2445c45d9cbb4f8791b5f30da16b
DIFF:
https://github.com/llvm/llvm-project/commit/3647ff159a2f2445c45d9cbb4f8791b5f30da16b.diff
@@ -1666,33 +1646,52 @@ class CommandObjectProcessHandle : public
CommandObjectParsed {
// the user's options.
ProcessSP process_sp = target.GetProcessSP();
-int stop_action = -1; // -1 means leave the current setting alone
-int pass_action = -1; // -1
kastiglione wrote:
I'll fine tune the wording to match the code.
https://github.com/llvm/llvm-project/pull/81681
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
jasonmolenda wrote:
Thanks for all the feedback @bulbazord @jimingham , updated the PR with those
issues addressed.
https://github.com/llvm/llvm-project/pull/81573
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/81319
>From f5ef07849c61ee9387f92376d5e1bd13bedc43e5 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 8 Feb 2024 15:31:33 -0800
Subject: [PATCH 1/2] [lldb][progress] Add progress manager class
Per
rupprecht wrote:
I got one buildbot email:
https://lab.llvm.org/buildbot/#/builders/68/builds/68776
Looks like lldb-dap crashes occasionally, and so the `disconnect` event doesn't
get the response it was expecting. (The buildbot does not enable the dap
request/response logging, but I have it
@@ -52,5 +52,6 @@ executable("lldb-dap") {
"RunInTerminal.cpp",
"SourceBreakpoint.cpp",
"lldb-dap.cpp",
+"Watchpoint.cpp"
nico wrote:
Please don't update gn build files if you don't use the gn build. There's a bot
that is able to do it most
https://github.com/jasonmolenda updated
https://github.com/llvm/llvm-project/pull/81573
>From 177a242271c99ed3fec4c5f211cd6d07c6d88488 Mon Sep 17 00:00:00 2001
From: Jason Molenda
Date: Mon, 12 Feb 2024 21:34:13 -0800
Subject: [PATCH 1/2] [lldb] Detect a Darwin kernel issue and work around it
https://github.com/jimingham approved this pull request.
https://github.com/llvm/llvm-project/pull/81681
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
jimingham wrote:
That did deserve a comment. To be pedantic, in the second branch you try
`value/location` if no summary, but what you have is fine.
https://github.com/llvm/llvm-project/pull/81681
___
lldb-commits mailing list
https://github.com/kastiglione edited
https://github.com/llvm/llvm-project/pull/81681
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kastiglione edited
https://github.com/llvm/llvm-project/pull/81681
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kastiglione edited
https://github.com/llvm/llvm-project/pull/81681
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kastiglione edited
https://github.com/llvm/llvm-project/pull/81681
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: Dave Lee (kastiglione)
Changes
---
Full diff: https://github.com/llvm/llvm-project/pull/81681.diff
1 Files Affected:
- (modified) lldb/source/Core/ValueObject.cpp (+1)
``diff
diff --git a/lldb/source/Core/ValueObject.cpp
https://github.com/kastiglione created
https://github.com/llvm/llvm-project/pull/81681
None
>From 35a48898e20ba45db829dbf137d88a8417dd4d7c Mon Sep 17 00:00:00 2001
From: Dave Lee
Date: Tue, 13 Feb 2024 14:43:33 -0800
Subject: [PATCH] [lldb] Add comment on cross printing of summary/value
---
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
@@ -561,6 +561,46 @@ void EventThreadFunction() {
}
}
+lldb::SBValue FindVariable(uint64_t variablesReference, llvm::StringRef name) {
+ lldb::SBValue variable;
+ if (lldb::SBValueList *top_scope = GetTopLevelScope(variablesReference)) {
+bool
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: Zequan Wu (ZequanWu)
Changes
Followup fixes to resolve comments in
https://github.com/llvm/llvm-project/pull/81541
---
Full diff: https://github.com/llvm/llvm-project/pull/81680.diff
1 Files Affected:
- (modified)
https://github.com/ZequanWu created
https://github.com/llvm/llvm-project/pull/81680
Followup fixes to resolve comments in
https://github.com/llvm/llvm-project/pull/81541
>From f9c509c519c9937d2e2de5098c4241e936187527 Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Tue, 13 Feb 2024 17:41:26
https://github.com/kastiglione updated
https://github.com/llvm/llvm-project/pull/81196
>From 81a2034ff2b41e30a1f5b82c86b4d5d4c429ed52 Mon Sep 17 00:00:00 2001
From: Dave Lee
Date: Thu, 8 Feb 2024 13:59:12 -0800
Subject: [PATCH 1/3] [lldb] Support custom printf formatting for variables
---
@@ -150,6 +150,23 @@ def test(self):
invalid_type = task_type.FindDirectNestedType(None)
self.assertFalse(invalid_type)
+# Check that FindDirectNestedType works with types from AST
+pointer = frame0.FindVariable("pointer")
+pointer_type
https://github.com/rupprecht closed
https://github.com/llvm/llvm-project/pull/79945
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Author: Jordan Rupprecht
Date: 2024-02-13T16:19:41-06:00
New Revision: 5b386158aacac4b41126983a5379d36ed413d0ea
URL:
https://github.com/llvm/llvm-project/commit/5b386158aacac4b41126983a5379d36ed413d0ea
DIFF:
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
@@ -561,6 +561,46 @@ void EventThreadFunction() {
}
}
+lldb::SBValue FindVariable(uint64_t variablesReference, llvm::StringRef name) {
+ lldb::SBValue variable;
+ if (lldb::SBValueList *top_scope = GetTopLevelScope(variablesReference)) {
+bool
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object ) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool
https://github.com/ZequanWu closed
https://github.com/llvm/llvm-project/pull/81541
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Author: Zequan Wu
Date: 2024-02-13T16:38:56-05:00
New Revision: 8c56e78ec531f0e2460213c20fff869b6b7add99
URL:
https://github.com/llvm/llvm-project/commit/8c56e78ec531f0e2460213c20fff869b6b7add99
DIFF:
https://github.com/llvm/llvm-project/commit/8c56e78ec531f0e2460213c20fff869b6b7add99.diff
https://github.com/ZequanWu edited
https://github.com/llvm/llvm-project/pull/81541
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kastiglione ready_for_review
https://github.com/llvm/llvm-project/pull/81196
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Endilll wrote:
This PR is a draft because new test, which is simplified `llvm::PointerIntPair`
and `llvm::PointerIntPairInfo`, doesn't pass even with the proposed fix.
https://github.com/llvm/llvm-project/pull/81666
___
lldb-commits mailing list
https://github.com/kastiglione updated
https://github.com/llvm/llvm-project/pull/81196
>From 81a2034ff2b41e30a1f5b82c86b4d5d4c429ed52 Mon Sep 17 00:00:00 2001
From: Dave Lee
Date: Thu, 8 Feb 2024 13:59:12 -0800
Subject: [PATCH 1/2] [lldb] Support custom printf formatting for variables
---
https://github.com/Endilll updated
https://github.com/llvm/llvm-project/pull/81666
>From bf92dc89858668518a5d842eac34bdf1b3eaade2 Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov
Date: Wed, 14 Feb 2024 00:26:09 +0300
Subject: [PATCH 1/2] [lldb] Fix `FindDirectNestedType` not working with
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff fb48fd18c240574841378defacadff34238089bb
bf92dc89858668518a5d842eac34bdf1b3eaade2 --
llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: Vlad Serebrennikov (Endilll)
Changes
This patch attempts to fix lookup in class template specialization that have an
integral non-type template parameter of non-int type. unsigned 3 might be
printed as `3` or `3U` depending on
https://github.com/Endilll created
https://github.com/llvm/llvm-project/pull/81666
This patch attempts to fix lookup in class template specialization that have an
integral non-type template parameter of non-int type. unsigned 3 might be
printed as `3` or `3U` depending on PrintingPolicy. This
clayborg wrote:
What code is taking a scalar and then trying to byte swap it after it has been
created?
https://github.com/llvm/llvm-project/pull/81451
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
clayborg wrote:
> > This uses `DataExtractor::GetMaxU64` which already does this under the
> > hood. What does this do that isn't already being done? It may help if you
> > add a test case to show what you are trying to fix.
>
> @clayborg @bulbazord The problem with GetMaxU64 is that it
https://github.com/felipepiovezan closed
https://github.com/llvm/llvm-project/pull/79932
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Author: Felipe de Azevedo Piovezan
Date: 2024-02-13T13:20:49-08:00
New Revision: 91f4a84a1504e718e4f4d4eef5db7713dc30a030
URL:
https://github.com/llvm/llvm-project/commit/91f4a84a1504e718e4f4d4eef5db7713dc30a030
DIFF:
Author: Jim Ingham
Date: 2024-02-13T13:16:30-08:00
New Revision: f0b271e4ebd2180f497694838ec9db0b2fd8ab4b
URL:
https://github.com/llvm/llvm-project/commit/f0b271e4ebd2180f497694838ec9db0b2fd8ab4b
DIFF:
https://github.com/llvm/llvm-project/commit/f0b271e4ebd2180f497694838ec9db0b2fd8ab4b.diff
@@ -1666,33 +1646,52 @@ class CommandObjectProcessHandle : public
CommandObjectParsed {
// the user's options.
ProcessSP process_sp = target.GetProcessSP();
-int stop_action = -1; // -1 means leave the current setting alone
-int pass_action = -1; // -1
walter-erquinigo wrote:
I think using @ is fine, but we can revisit it later if we see any issues.
https://github.com/llvm/llvm-project/pull/81541
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
ZequanWu wrote:
I updated to add support for setting data breakpoint with expression. If
`variablesReference` is 0 or not provided, interpret `name` as `${number of
bytes}@${expression}` to set data breakpoint at the given expression because
the spec
@@ -2591,6 +2594,248 @@ void request_setFunctionBreakpoints(const
llvm::json::Object ) {
g_dap.SendJSON(llvm::json::Value(std::move(response)));
}
+// "DataBreakpointInfoRequest": {
+// "allOf": [ { "$ref": "#/definitions/Request" }, {
+// "type": "object",
+//
@@ -2591,6 +2594,248 @@ void request_setFunctionBreakpoints(const
llvm::json::Object ) {
g_dap.SendJSON(llvm::json::Value(std::move(response)));
}
+// "DataBreakpointInfoRequest": {
+// "allOf": [ { "$ref": "#/definitions/Request" }, {
+// "type": "object",
+//
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/81541
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/ZequanWu updated
https://github.com/llvm/llvm-project/pull/81541
>From a2d28693da09a569b49bc39a4743e302b2479d87 Mon Sep 17 00:00:00 2001
From: Zequan Wu
Date: Tue, 13 Feb 2024 11:55:33 -0500
Subject: [PATCH 1/2] [lldb-dap] Add support for data breakpoint.
This implements
https://github.com/rupprecht updated
https://github.com/llvm/llvm-project/pull/79945
>From ff9ef2f1dba9b2227916c16ebf7c11810e67a1dd Mon Sep 17 00:00:00 2001
From: Jordan Rupprecht
Date: Mon, 29 Jan 2024 19:07:36 -0800
Subject: [PATCH 1/6] Blanket unittest2 -> unittest replacement (excluding
@@ -301,7 +301,8 @@ class ProcessGDBRemote : public Process,
using FlashRange = FlashRangeVector::Entry;
FlashRangeVector m_erased_flash_ranges;
- bool m_vfork_in_progress;
+ // Number of vfork in process.
+ int m_vfork_in_progress;
clayborg wrote:
Do
@@ -0,0 +1,45 @@
+#include
+#include
+#include
+#include
+
+int call_vfork() {
+ printf("Before vfork\n");
+
+ pid_t child_pid = vfork();
+
+ if (child_pid == -1) {
+// Error handling
+perror("vfork");
+return 1;
+ } else if (child_pid == 0) {
+// This
@@ -0,0 +1,45 @@
+#include
+#include
+#include
+#include
+
+int call_vfork() {
+ printf("Before vfork\n");
+
+ pid_t child_pid = vfork();
+
+ if (child_pid == -1) {
+// Error handling
+perror("vfork");
+return 1;
+ } else if (child_pid == 0) {
+// This
@@ -5670,8 +5673,8 @@ void ProcessGDBRemote::DidVFork(lldb::pid_t child_pid,
lldb::tid_t child_tid) {
}
void ProcessGDBRemote::DidVForkDone() {
- assert(m_vfork_in_progress);
- m_vfork_in_progress = false;
+ --m_vfork_in_progress;
+ assert(m_vfork_in_progress >= 0);
@@ -5681,7 +5684,10 @@ void ProcessGDBRemote::DidVForkDone() {
void ProcessGDBRemote::DidExec() {
// If we are following children, vfork is finished by exec (rather than
// vforkdone that is submitted for parent).
- if (GetFollowForkMode() == eFollowChild)
-
@@ -0,0 +1,31 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class
@@ -0,0 +1,45 @@
+#include
+#include
+#include
+#include
+
clayborg wrote:
Might be a good idea to create a global `std::vector` and a mutex to
protect it. And any child processes that get forked get added to this vector.
So maybe add:
```
std::mutex
@@ -120,15 +120,25 @@ bool NativeThreadLinux::GetStopReason(ThreadStopInfo
_info,
case eStateCrashed:
case eStateExited:
case eStateSuspended:
- case eStateUnloaded:
+ case eStateUnloaded: {
if (log)
LogThreadStopInfo(*log, m_stop_info, "m_stop_info in
@@ -0,0 +1,31 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class
@@ -0,0 +1,31 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class
https://github.com/clayborg requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: None (jeffreytan81)
Changes
We got user reporting lldb crash while the debuggee is calling vfork()
concurrently from multiple threads.
The crash happens because the current implementation can only handle single
vfork, vforkdone protocol
https://github.com/jeffreytan81 ready_for_review
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/jeffreytan81 edited
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
bulbazord wrote:
ping @clayborg How does this look now?
https://github.com/llvm/llvm-project/pull/79901
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/jimingham closed
https://github.com/llvm/llvm-project/pull/70734
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
1 - 100 of 134 matches
Mail list logo