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 completed
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, th
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 w
@@ -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 summary
@@ -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 Get
@@ -186,7 +186,19 @@ class SymbolFileDWARF : public SymbolFileCommon {
GetMangledNamesForFunction(const std::string &scope_qualified_name,
std::vector &mangled_names) override;
- uint64_t GetDebugInfoSize() override;
+ /// Get total currently l
@@ -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 ar
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
lldb/
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
---
lldb/include/ll
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 opt
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 new
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 r
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 execu
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
LO
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 repor
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
https://lis
@@ -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 mea
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 &request) {
body.try_emplace("description", error_cstr && error_cstr[0]
? std::string(error_cstr)
: "evalu
@@ -2757,13 +2769,18 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
body.try_emplace("description", error_cstr && error_cstr[0]
? std::string(error_cstr)
: "evalu
@@ -2757,13 +2769,18 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
body.try_emplace("description", error_cstr && error_cstr[0]
? std::string(error_cstr)
: "evalu
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
LO
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
LO
@@ -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 mea
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://lists.llvm.org/cgi-bi
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 dis
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 of
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
lldb-commits@lists.llvm
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 b/ll
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 &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
@@ -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 is_duplicated_variable_na
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
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) lldb/tools/lldb-dap/ll
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 -05
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
---
lld
@@ -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:
https://github.com/llvm/llvm-project/commit/5b386158aacac4b41126983a5379d36ed413d0ea.di
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
@@ -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 is_duplicated_variable_na
@@ -2697,58 +2737,41 @@ void request_dataBreakpointInfo(const
llvm::json::Object &request) {
GetUnsigned(arguments, "variablesReference", 0);
llvm::StringRef name = GetString(arguments, "name");
lldb::SBFrame frame = g_dap.GetLLDBFrame(*arguments);
- bool is_duplica
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
LOG
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
lldb-
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
---
lld
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 class
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 PrintingPoli
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
https://lists.llvm.org/cgi-bin/mailman/li
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 always
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:
https://github.com/llvm/llvm-project/commit/91f4a84a1504e718e4f4d4eef5db7713d
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
LO
@@ -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 mea
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
https://lists.llvm.org/cgi-bin/mailman/listinfo
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
https://microsoft.github.io/debug-adapter-
@@ -2591,6 +2594,248 @@ void request_setFunctionBreakpoints(const
llvm::json::Object &request) {
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 &request) {
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 fun
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
do
@@ -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 code
@@ -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 code
@@ -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)
-m_vfork_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 TestConcurrentVFork(Test
@@ -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 g_chil
@@ -120,15 +120,25 @@ bool NativeThreadLinux::GetStopReason(ThreadStopInfo
&stop_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 TestConcurrentVFork(Test
@@ -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 TestConcurrentVFork(Test
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 t
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