https://github.com/labath approved this pull request.
https://github.com/llvm/llvm-project/pull/151190
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -18,6 +18,26 @@ def tearDown(self):
if self.background_pid:
os.kill(self.background_pid, signal.SIGKILL)
+def test_getname(self):
+"""Test the SBModule::GetName() method"""
+self.build()
+target, _, _, _ = lldbutil.run_to_sour
https://github.com/JDevlieghere edited
https://github.com/llvm/llvm-project/pull/151010
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -23,19 +27,68 @@ def format_register_value(val):
return result
+class WasmStackFrame:
+def __init__(self, address):
+self._address = address
+
+def format(self):
+return format_register_value(LOAD_ADDRESS | self._address)
+
+
+class WasmCallStac
https://github.com/bulbazord approved this pull request.
https://github.com/llvm/llvm-project/pull/150300
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
bulbazord wrote:
Makes sense to me. Generally in CMake, if you have a file generated by a
command and multiple independent targets depend on said file, you should "wrap"
the file into a custom target and have everything depend on the custom target
instead. Only one target should depend on thes
https://github.com/anthonyhatran created
https://github.com/llvm/llvm-project/pull/151231
@Michael137 @delcypher
Part of a GSoC 2025 Project.
>From bb767753b00a51fb7757e78f6b45cc556d3d3683 Mon Sep 17 00:00:00 2001
From: Anthony Tran
Date: Tue, 29 Jul 2025 14:06:48 -0700
Subject: [PATCH] Add
jimingham wrote:
Loading of symbols in lldb is controlled by user settings because lldb serves a
lot of different usage cases and how to load symbols is an important part of
that. One of those settings is:
symbols.enable-background-lookup -- Alias for backward compatibility: when
enabled t
@@ -1105,6 +1148,15 @@ void DAP::ConfigureSourceMaps() {
RunLLDBCommands("Setting source map:", {sourceMapCommand});
}
+// REMOVED: DetectNetworkSymbolServices - no longer needed due to core fixes
jimingham wrote:
We don't record features that were removed
@@ -1775,16 +1775,20 @@ def no_reason(_):
attrvalue, "__no_debug_info_test__", False
):
# If any debug info categories were explicitly tagged, assume
that list to be
-# authoritative. If none were specified, try with
@@ -1998,6 +1998,61 @@ threads (live system debug) / cores (JTAG) in your
program have
stopped and allows LLDB to display and control your program
correctly.
+## qWasmCallStack
+
+Get the Wasm call stack for the given thread id. This returns a hex-encoded
+list of PC values,
@@ -356,7 +356,7 @@ class LLDB_API SBValue {
/// return due to a value not being contained in memory, too
/// large, or watchpoint resources are not available or all in
/// use.
- lldb::SBWatchpoint Watch(bool resolve_location, bool read, bool write,
+ lldb:
@@ -2300,9 +2301,40 @@ llvm::Expected DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+
@@ -0,0 +1,78 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
@@ -667,138 +736,331 @@ static auto
testExpressionVendorExtensions(lldb::ModuleSP module_sp,
TEST(DWARFExpression, Extensions) {
const char *yamldata = R"(
!ELF
+--- !WASM
FileHeader:
- Class: ELFCLASS64
- Data:ELFDATA2LSB
- Type:ET_EXEC
- Machine: EM_38
https://github.com/JDevlieghere updated
https://github.com/llvm/llvm-project/pull/151010
>From fe6624eafac163aa5e62c0af72d63831a1ec3160 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere
Date: Mon, 28 Jul 2025 10:38:02 -0700
Subject: [PATCH 1/2] [lldb] Support DW_OP_WASM_location in DWARFExpressi
@@ -18,6 +18,26 @@ def tearDown(self):
if self.background_pid:
os.kill(self.background_pid, signal.SIGKILL)
+def test_getname(self):
+"""Test the SBModule::GetName() method"""
+self.build()
+target, _, _, _ = lldbutil.run_to_sour
https://github.com/cs01 edited https://github.com/llvm/llvm-project/pull/145382
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
cs01 wrote:
I think I have everything in order now, it's ready for another pass. Thank you
so much for your time and help on this!
https://github.com/llvm/llvm-project/pull/145382
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists
https://github.com/cs01 ready_for_review
https://github.com/llvm/llvm-project/pull/145382
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/cs01 updated https://github.com/llvm/llvm-project/pull/145382
>From 4756820fa10e1c9b98616947780eb4dc83bc98e1 Mon Sep 17 00:00:00 2001
From: Chad Smith
Date: Tue, 29 Jul 2025 10:00:02 -0700
Subject: [PATCH] refactor android platform
---
.../Plugins/Platform/Android/AdbClient.
award999 wrote:
Yes but then the log file misses the debug messages until you change the log
level after the fact
https://github.com/llvm/llvm-project/pull/146884
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin
ashgti wrote:
If you create an output logger then you can use the output UI to set the log
level and view / save logs.
For example, creating an output channel called 'lldb-dap'
```ts
const logger = vscode.window.createOutputChannel('lldb-dap', {log: true});
logger.info("Info...");
logger.onDid
@@ -435,142 +435,202 @@ struct DemanglingPartsTestCase {
DemanglingPartsTestCase g_demangling_parts_test_cases[] = {
// clang-format off
{
"_ZNVKO3BarIN2ns3QuxIiEEE1CIPFi3FooIS_IiES6_EEE6methodIS6_EENS5_IT_SC_E5InnerIiEESD_SD_",
- { /*.BasenameRange=*/{92, 98}, /*.S
dsandersllvm wrote:
I don't think combining them in ConcreteRegisterLocation completely makes sense
like it did for AbstractRegisterLocation because there's a difference in
semantics. eRegisterInRegister refers to a storage location whereas
eRegisterIsRegisterPlusOffset is a computed value wit
@@ -89,6 +89,8 @@ A complete list of currently supported format string
variables is listed below:
+---+---
https://github.com/charles-zablit updated
https://github.com/llvm/llvm-project/pull/150999
>From 9b3551c6dbf8629c49f2bf3ed3f34e7b4e52e65f Mon Sep 17 00:00:00 2001
From: Charles Zablit
Date: Mon, 28 Jul 2025 18:58:44 +0200
Subject: [PATCH 1/2] [lldb] add TemplateRange and NameQualifiersRange to
@@ -2291,6 +2298,8 @@ void SymbolFileNativePDB::BuildParentMap() {
TypeIndex fwd = full_to_forward[full];
m_parent_types[fwd] = m_parent_types[full];
}
+
+ m_type_base_names.Sort();
Michael137 wrote:
Or is this all a giant for-loop? Github makes it
@@ -2291,6 +2298,8 @@ void SymbolFileNativePDB::BuildParentMap() {
TypeIndex fwd = full_to_forward[full];
m_parent_types[fwd] = m_parent_types[full];
}
+
+ m_type_base_names.Sort();
Michael137 wrote:
Can we move this up to just after we appended to
@@ -72,6 +72,14 @@ struct CVTagRecord {
return cvunion.Name;
}
+ CompilerContextKind contextKind() const {
+if (m_kind == Struct || m_kind == Class)
+ return CompilerContextKind::ClassOrStruct;
+if (m_kind == Enum)
+ return CompilerContextKind::Enum;
+
chelcassanova wrote:
Thanks for the confirmation Jim!
https://github.com/llvm/llvm-project/pull/150995
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -134,7 +134,9 @@ bool TypeQuery::ContextMatches(
if (ctx == ctx_end)
return false; // Pattern too long.
-if (ctx->kind == CompilerContextKind::Namespace && ctx->name.IsEmpty()) {
+if ((ctx->kind & CompilerContextKind::Namespace) ==
Nerixyz
https://github.com/Nerixyz updated
https://github.com/llvm/llvm-project/pull/149876
>From fa3c96b19ba174904036b031015a073cfd759c76 Mon Sep 17 00:00:00 2001
From: Nerixyz
Date: Mon, 21 Jul 2025 20:32:58 +0200
Subject: [PATCH 1/5] [LLDB][NativePDB] Allow type lookup in namespaces
---
.../Native
cs01 wrote:
Hi, yes sorry about that. I did not mean to push the file that state, so I
marked the PR as draft while I get it in order. Generally it's ready for a
review other than the ConnectionFileDescriptor changes if you want to give a
look with that in mind. Btw I see there are workflows w
@@ -18,6 +18,26 @@ def tearDown(self):
if self.background_pid:
os.kill(self.background_pid, signal.SIGKILL)
+def test_getname(self):
+"""Test the SBModule::GetName() method"""
+self.build()
+target, _, _, _ = lldbutil.run_to_sour
@@ -121,6 +121,15 @@ size_t Module::GetNumberAllocatedModules() {
return GetModuleCollection().size();
}
+Module *Module::GetAllocatedModuleWithUID(lldb::user_id_t uid) {
+ std::lock_guard guard(
+ GetAllocationModuleCollectionMutex());
+ for (Module *mod : GetModuleC
https://github.com/labath commented:
I have a feeling something went wrong with the latest update. (I don't think
you meant to undo the last months changes to ConnectionFileDescriptor). Can you
fix that? I'm fine with a force-push, if needed.
Did you also want to drop the "Draft" annotation (m
@@ -2203,9 +2207,13 @@ void SymbolFileNativePDB::BuildParentMap() {
RecordIndices &indices = record_indices[tag.asTag().getUniqueName()];
if (tag.asTag().isForwardRef())
labath wrote:
Add braces on both sides.
https://github.com/llvm/llvm-project/pull/
https://github.com/labath commented:
This looks good to me, unless someone has additional comments (?)
https://github.com/llvm/llvm-project/pull/149876
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/lis
@@ -134,7 +134,9 @@ bool TypeQuery::ContextMatches(
if (ctx == ctx_end)
return false; // Pattern too long.
-if (ctx->kind == CompilerContextKind::Namespace && ctx->name.IsEmpty()) {
+if ((ctx->kind & CompilerContextKind::Namespace) ==
labath
https://github.com/labath edited
https://github.com/llvm/llvm-project/pull/149876
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/award999 updated
https://github.com/llvm/llvm-project/pull/146884
>From ba55b877b38f9668250caa15b89f0416f802b9cb Mon Sep 17 00:00:00 2001
From: Adam Ward
Date: Thu, 3 Jul 2025 09:13:41 -0400
Subject: [PATCH 1/8] Logging setup for lldb-dap extension
- Add `winston` dependency
@@ -1978,7 +1978,12 @@ llvm::Expected DWARFExpression::Evaluate(
// grows to the nearest host integer type.
llvm::APInt fail_value(1, 0, false);
llvm::APInt ap_int = scalar.UInt128(fail_value);
-assert(ap_int.getBitWidth() >= bit_
award999 wrote:
@ashgti do you have a different view or does that perspective sway you?
https://github.com/llvm/llvm-project/pull/146884
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-comm
https://github.com/award999 ready_for_review
https://github.com/llvm/llvm-project/pull/146884
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/award999 updated
https://github.com/llvm/llvm-project/pull/146884
>From ba55b877b38f9668250caa15b89f0416f802b9cb Mon Sep 17 00:00:00 2001
From: Adam Ward
Date: Thu, 3 Jul 2025 09:13:41 -0400
Subject: [PATCH 1/7] Logging setup for lldb-dap extension
- Add `winston` dependency
@@ -310,6 +310,16 @@ class CollectUnexpandedParameterPacksVisitor
return DynamicRecursiveASTVisitor::TraverseLambdaCapture(Lambda, C,
Init);
}
+bool TraverseUnresolvedLookupExpr(UnresolvedLookupExpr *E) override {
+ if (E->getNumDecls() == 1) {
+Nam
@@ -1071,12 +1074,27 @@ makeTemplateArgumentListInfo(Sema &S,
TemplateIdAnnotation &TemplateId) {
bool Sema::CheckTypeConstraint(TemplateIdAnnotation *TypeConstr) {
TemplateName TN = TypeConstr->Template.get();
- ConceptDecl *CD = cast(TN.getAsTemplateDecl());
+ NamedDecl
@@ -396,6 +396,16 @@ SourceLocation CXXPseudoDestructorExpr::getEndLoc() const {
return End;
}
+static bool UnresolvedLookupExprIsVariableOrConceptParameterPack(
+UnresolvedSetIterator Begin, UnresolvedSetIterator End) {
+ if (std::distance(Begin, End) != 1)
+return
@@ -2343,22 +2342,25 @@ TemplateInstantiator::TransformOpenACCRoutineDeclAttr(
}
ExprResult TemplateInstantiator::transformNonTypeTemplateParmRef(
-Decl *AssociatedDecl, const NonTypeTemplateParmDecl *parm,
-SourceLocation loc, TemplateArgument arg, UnsignedOrNone Pack
@@ -3341,7 +3359,12 @@ inline TemplateDecl *getAsTypeTemplateDecl(Decl *D) {
return TD && (isa(TD) ||
isa(TD) ||
isa(TD) ||
-isa(TD))
+[&]() {
+ if (TemplateTemplateParmDecl *TTP =
--
@@ -6665,7 +6668,8 @@ QualType ASTContext::getAutoTypeInternal(
Canon = DeducedType.getCanonicalType();
} else if (TypeConstraintConcept) {
bool AnyNonCanonArgs = false;
- ConceptDecl *CanonicalConcept =
TypeConstraintConcept->getCanonicalDecl();
+ Te
@@ -30,6 +30,16 @@ struct DemangledNameInfo {
/// \endcode
std::pair BasenameRange;
+ /// A [start, end) pair for the function template arguments.
+ /// The basename is the name without scope qualifiers
+ /// and without template parameters. E.g.,
+ /// \code{.cpp}
+
@@ -1746,6 +1754,16 @@ class TemplateTemplateParmDecl final
return SourceRange(getTemplateParameters()->getTemplateLoc(), End);
}
+ TemplateNameKind kind() const {
cor3ntin wrote:
Oh, I somehow completely misread your point. I will think about it.
No
llvmbot wrote:
@llvm/pr-subscribers-lldb
Author: David Spickett (DavidSpickett)
Changes
These entries serve the same purpose as the Linux HWCAPs but have been assigned
different numbers as FreeBSD had already used the Linux ones.
The numbers were assigned in:
https://github.com/freebsd/f
https://github.com/DavidSpickett edited
https://github.com/llvm/llvm-project/pull/151152
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/DavidSpickett created
https://github.com/llvm/llvm-project/pull/151152
These entries serve the same purpose as the Linux HWCAPs but have been assigned
different numbers as FreeBSD had already used the Linux ones.
The numbers were assigned in:
https://github.com/freebsd/freeb
@@ -247,6 +248,28 @@ uint32_t File::GetPermissions(Status &error) const {
return file_stats.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO);
}
+NativeFile::NativeFile()
+: m_descriptor(kInvalidDescriptor), m_stream(kInvalidStream) {}
charles-zablit wrote:
Fixed
https://github.com/charles-zablit updated
https://github.com/llvm/llvm-project/pull/149493
>From 77bf2b7acb82ea930702c8b0587c019fd48dc0f2 Mon Sep 17 00:00:00 2001
From: Charles Zablit
Date: Fri, 18 Jul 2025 12:29:31 +0200
Subject: [PATCH 1/6] [windows][lldb] force the console to use a UTF-8 cod
@@ -1746,6 +1754,16 @@ class TemplateTemplateParmDecl final
return SourceRange(getTemplateParameters()->getTemplateLoc(), End);
}
+ TemplateNameKind kind() const {
erichkeane wrote:
Right, i wasn't suggesting changing the num name, just that `kind` isn
award999 wrote:
@ashgti The reason I don't want to use the LogOutputChannel is to always write
the debug or trace levels to a log file. For the most part the Output channels
are user facing and the users wouldn't often want to see the verbose logging.
But if an issue happens, it would be benef
@@ -89,6 +89,8 @@ A complete list of currently supported format string
variables is listed below:
+---+---
@@ -435,142 +435,202 @@ struct DemanglingPartsTestCase {
DemanglingPartsTestCase g_demangling_parts_test_cases[] = {
// clang-format off
{
"_ZNVKO3BarIN2ns3QuxIiEEE1CIPFi3FooIS_IiES6_EEE6methodIS6_EENS5_IT_SC_E5InnerIiEESD_SD_",
- { /*.BasenameRange=*/{92, 98}, /*.S
@@ -30,6 +30,16 @@ struct DemangledNameInfo {
/// \endcode
std::pair BasenameRange;
+ /// A [start, end) pair for the function template arguments.
+ /// The basename is the name without scope qualifiers
+ /// and without template parameters. E.g.,
+ /// \code{.cpp}
+
@@ -30,6 +30,16 @@ struct DemangledNameInfo {
/// \endcode
std::pair BasenameRange;
+ /// A [start, end) pair for the function template arguments.
+ /// The basename is the name without scope qualifiers
+ /// and without template parameters. E.g.,
+ /// \code{.cpp}
+
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `lldb-aarch64-windows`
running on `linaro-armv8-windows-msvc-05` while building `lldb` at step 6
"test".
Full details are available at:
https://lab.llvm.org/buildbot/#/builders/141/builds/10458
Here is the relevant piece of
DavidSpickett wrote:
Ignore that failure, it "fixed" itself.
https://github.com/llvm/llvm-project/pull/147198
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/148877
>From 382395408c4b9a38206e984328ab472c25e7c55f Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 15 Nov 2024 01:59:36 +
Subject: [PATCH 01/15] [lldb][Expression] Encode Module and DIE UIDs into
func
DavidSpickett wrote:
> This PR implements a register context for Wasm, which uses virtual registers
> to resolve Wasm local, globals and stack values.
As I understand it, we internally are adding virtual registers, because that's
the metaphor lldb is used to. For users, `register read --all`
https://github.com/DavidSpickett approved this pull request.
LGTM.
https://github.com/llvm/llvm-project/pull/150143
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
DavidSpickett wrote:
Thanks! Ok good enough for me, and at some point I'll put some time into
working with Wasm so I can better review in future.
https://github.com/llvm/llvm-project/pull/150143
___
lldb-commits mailing list
lldb-commits@lists.llvm.or
@@ -23,19 +27,68 @@ def format_register_value(val):
return result
+class WasmStackFrame:
+def __init__(self, address):
+self._address = address
+
+def format(self):
+return format_register_value(LOAD_ADDRESS | self._address)
+
+
+class WasmCallStac
@@ -23,19 +27,68 @@ def format_register_value(val):
return result
+class WasmStackFrame:
+def __init__(self, address):
+self._address = address
+
+def format(self):
+return format_register_value(LOAD_ADDRESS | self._address)
+
+
+class WasmCallStac
@@ -32,3 +33,22 @@ llvm::Expected>
ThreadWasm::GetWasmCallStack() {
}
return llvm::createStringError("no process");
}
+
+lldb::RegisterContextSP
+ThreadWasm::CreateRegisterContextForFrame(StackFrame *frame) {
+ lldb::RegisterContextSP reg_ctx_sp;
DavidSpi
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -131,3 +131,64 @@ ProcessWasm::GetWasmCallStack(lldb::tid_t tid) {
return call_stack_pcs;
}
+
+llvm::Expected ProcessWasm::GetWasmLocal(int frame_index,
DavidSpickett wrote:
This feels like the same code with 3 different qWhatever. Can it be made into a
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
DavidSpickett wrote:
Add a subtitle
@@ -0,0 +1,128 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -0,0 +1,228 @@
+--- !WASM
DavidSpickett wrote:
In one of the test 3 files here, you need to explain how this was generated. I
see a C file, do you compile that to Wasm with DWARF debug enabled?
https://github.com/llvm/llvm-project/pull/151056
___
@@ -2014,6 +2014,45 @@ read packet:
$9c010040e5010040fe010040#
supported by the [WAMR](https://github.com/bytecodealliance/wasm-micro-runtime)
and [V8](https://v8.dev) Wasm runtimes.
+## qWasmGlobal
+
+Get the value of a Wasm global variable for the gi
@@ -0,0 +1,128 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
https://github.com/DavidSpickett edited
https://github.com/llvm/llvm-project/pull/151056
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -131,3 +131,64 @@ ProcessWasm::GetWasmCallStack(lldb::tid_t tid) {
return call_stack_pcs;
}
+
+llvm::Expected ProcessWasm::GetWasmLocal(int frame_index,
DavidSpickett wrote:
DoGetWasmValue maybe. It's private so the name is not that important.
https://g
https://github.com/DavidSpickett commented:
Looks to be a stacked PR, so I just looked at the last commit.
https://github.com/llvm/llvm-project/pull/151056
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
@@ -2300,9 +2301,40 @@ llvm::Expected DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+
@@ -2300,9 +2301,40 @@ llvm::Expected DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+
@@ -0,0 +1,78 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
@@ -18,27 +21,114 @@
#include "lldb/Core/dwarf.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Symbol/ObjectFile.h"
+#include "lldb/Target/RegisterContext.h"
+#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/StreamString.h"
#include "llvm/ADT/StringExtras.h"
@@ -0,0 +1,78 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
@@ -2300,9 +2301,40 @@ llvm::Expected DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+
@@ -667,138 +736,331 @@ static auto
testExpressionVendorExtensions(lldb::ModuleSP module_sp,
TEST(DWARFExpression, Extensions) {
const char *yamldata = R"(
!ELF
+--- !WASM
FileHeader:
- Class: ELFCLASS64
- Data:ELFDATA2LSB
- Type:ET_EXEC
- Machine: EM_38
@@ -2300,9 +2301,40 @@ llvm::Expected DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+
@@ -18,27 +21,114 @@
#include "lldb/Core/dwarf.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Symbol/ObjectFile.h"
+#include "lldb/Target/RegisterContext.h"
+#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/StreamString.h"
#include "llvm/ADT/StringExtras.h"
@@ -2300,9 +2301,40 @@ llvm::Expected DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
DavidSpickett wrote:
Init this to 0.
In theory it doesn't make a diff
1 - 100 of 128 matches
Mail list logo