mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-11 20:21:11 +00:00
Fix lldb wasm patch to enable source debugging for windows (#806)
This commit is contained in:
parent
3d5a0bff0f
commit
164c3bff69
|
@ -1,5 +1,5 @@
|
|||
diff --git a/lldb/include/lldb/Core/Module.h b/lldb/include/lldb/Core/Module.h
|
||||
index dd7100c4616c..97d70daadbdc 100644
|
||||
index dd7100c46..97d70daad 100644
|
||||
--- a/lldb/include/lldb/Core/Module.h
|
||||
+++ b/lldb/include/lldb/Core/Module.h
|
||||
@@ -41,6 +41,7 @@
|
||||
|
@ -29,7 +29,7 @@ index dd7100c4616c..97d70daadbdc 100644
|
|||
///
|
||||
/// Tries to resolve \a vm_addr as a file address (if \a
|
||||
diff --git a/lldb/include/lldb/Core/PluginManager.h b/lldb/include/lldb/Core/PluginManager.h
|
||||
index be91929c62e1..8d876fc1fa2f 100644
|
||||
index be91929c6..8d876fc1f 100644
|
||||
--- a/lldb/include/lldb/Core/PluginManager.h
|
||||
+++ b/lldb/include/lldb/Core/PluginManager.h
|
||||
@@ -508,6 +508,17 @@ public:
|
||||
|
@ -52,7 +52,7 @@ index be91929c62e1..8d876fc1fa2f 100644
|
|||
} // namespace lldb_private
|
||||
diff --git a/lldb/include/lldb/Expression/DWARFEvaluator.h b/lldb/include/lldb/Expression/DWARFEvaluator.h
|
||||
new file mode 100644
|
||||
index 000000000000..6811cbeae3d3
|
||||
index 000000000..6811cbeae
|
||||
--- /dev/null
|
||||
+++ b/lldb/include/lldb/Expression/DWARFEvaluator.h
|
||||
@@ -0,0 +1,110 @@
|
||||
|
@ -168,7 +168,7 @@ index 000000000000..6811cbeae3d3
|
|||
+#endif // LLDB_EXPRESSION_DWARFEVALUATOR_H
|
||||
diff --git a/lldb/include/lldb/Expression/DWARFEvaluatorFactory.h b/lldb/include/lldb/Expression/DWARFEvaluatorFactory.h
|
||||
new file mode 100644
|
||||
index 000000000000..f3b496c580e4
|
||||
index 000000000..f3b496c58
|
||||
--- /dev/null
|
||||
+++ b/lldb/include/lldb/Expression/DWARFEvaluatorFactory.h
|
||||
@@ -0,0 +1,56 @@
|
||||
|
@ -229,7 +229,7 @@ index 000000000000..f3b496c580e4
|
|||
+
|
||||
+#endif // LLDB_EXPRESSION_DWARFEVALUATORFACTORY_H
|
||||
diff --git a/lldb/include/lldb/Expression/DWARFExpression.h b/lldb/include/lldb/Expression/DWARFExpression.h
|
||||
index 1490ac2d614a..35c741d4e6ba 100644
|
||||
index 1490ac2d6..35c741d4e 100644
|
||||
--- a/lldb/include/lldb/Expression/DWARFExpression.h
|
||||
+++ b/lldb/include/lldb/Expression/DWARFExpression.h
|
||||
@@ -120,6 +120,10 @@ public:
|
||||
|
@ -263,7 +263,7 @@ index 1490ac2d614a..35c741d4e6ba 100644
|
|||
GetLocationExpression(lldb::addr_t load_function_start,
|
||||
lldb::addr_t addr) const;
|
||||
diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h
|
||||
index aaa2470d2931..c15f2db52fbc 100644
|
||||
index aaa2470d2..c15f2db52 100644
|
||||
--- a/lldb/include/lldb/Target/Process.h
|
||||
+++ b/lldb/include/lldb/Target/Process.h
|
||||
@@ -1434,7 +1434,7 @@ public:
|
||||
|
@ -276,7 +276,7 @@ index aaa2470d2931..c15f2db52fbc 100644
|
|||
/// Read of memory from a process.
|
||||
///
|
||||
diff --git a/lldb/include/lldb/Target/ProcessTrace.h b/lldb/include/lldb/Target/ProcessTrace.h
|
||||
index 7b9d6b13dd6f..9525fc9750fd 100644
|
||||
index 7b9d6b13d..9525fc975 100644
|
||||
--- a/lldb/include/lldb/Target/ProcessTrace.h
|
||||
+++ b/lldb/include/lldb/Target/ProcessTrace.h
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
|
@ -289,7 +289,7 @@ index 7b9d6b13dd6f..9525fc9750fd 100644
|
|||
size_t DoReadMemory(lldb::addr_t addr, void *buf, size_t size,
|
||||
Status &error) override;
|
||||
diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h
|
||||
index ad5298151e4a..5a3c0b27a738 100644
|
||||
index ad5298151..5a3c0b27a 100644
|
||||
--- a/lldb/include/lldb/lldb-forward.h
|
||||
+++ b/lldb/include/lldb/lldb-forward.h
|
||||
@@ -74,6 +74,7 @@ class Disassembler;
|
||||
|
@ -301,7 +301,7 @@ index ad5298151e4a..5a3c0b27a738 100644
|
|||
class EmulateInstruction;
|
||||
class Environment;
|
||||
diff --git a/lldb/include/lldb/lldb-private-interfaces.h b/lldb/include/lldb/lldb-private-interfaces.h
|
||||
index 2ed083ec8ae9..f4d500d198e8 100644
|
||||
index 2ed083ec8..f4d500d19 100644
|
||||
--- a/lldb/include/lldb/lldb-private-interfaces.h
|
||||
+++ b/lldb/include/lldb/lldb-private-interfaces.h
|
||||
@@ -113,6 +113,8 @@ typedef lldb::REPLSP (*REPLCreateInstance)(Status &error,
|
||||
|
@ -314,7 +314,7 @@ index 2ed083ec8ae9..f4d500d198e8 100644
|
|||
/// \{
|
||||
typedef llvm::Expected<lldb::TraceSP> (*TraceCreateInstanceForSessionFile)(
|
||||
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp
|
||||
index 19c97be15066..1647f93ec4f3 100644
|
||||
index 19c97be15..1647f93ec 100644
|
||||
--- a/lldb/source/Core/Module.cpp
|
||||
+++ b/lldb/source/Core/Module.cpp
|
||||
@@ -16,6 +16,7 @@
|
||||
|
@ -336,7 +336,7 @@ index 19c97be15066..1647f93ec4f3 100644
|
|||
+ return m_dwarf_evaluator_factory.get();
|
||||
+}
|
||||
diff --git a/lldb/source/Core/PluginManager.cpp b/lldb/source/Core/PluginManager.cpp
|
||||
index fcaa868b083e..59a404d4a7e1 100644
|
||||
index fcaa868b0..59a404d4a 100644
|
||||
--- a/lldb/source/Core/PluginManager.cpp
|
||||
+++ b/lldb/source/Core/PluginManager.cpp
|
||||
@@ -1597,3 +1597,32 @@ bool PluginManager::CreateSettingForStructuredDataPlugin(
|
||||
|
@ -373,7 +373,7 @@ index fcaa868b083e..59a404d4a7e1 100644
|
|||
+ return GetDWARFEvaluatorFactoryInstances().GetCallbackAtIndex(idx);
|
||||
+}
|
||||
diff --git a/lldb/source/Core/Value.cpp b/lldb/source/Core/Value.cpp
|
||||
index fb57c0fedf04..f92d6a54de94 100644
|
||||
index fb57c0fed..f92d6a54d 100644
|
||||
--- a/lldb/source/Core/Value.cpp
|
||||
+++ b/lldb/source/Core/Value.cpp
|
||||
@@ -538,7 +538,7 @@ Status Value::GetValueAsData(ExecutionContext *exe_ctx, DataExtractor &data,
|
||||
|
@ -386,7 +386,7 @@ index fb57c0fedf04..f92d6a54de94 100644
|
|||
error.SetErrorStringWithFormat(
|
||||
"read memory from 0x%" PRIx64 " failed (%u of %u bytes read)",
|
||||
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
|
||||
index 9c1ba99da1d0..b15b214b2a2f 100644
|
||||
index 9c1ba99da..b15b214b2 100644
|
||||
--- a/lldb/source/Core/ValueObject.cpp
|
||||
+++ b/lldb/source/Core/ValueObject.cpp
|
||||
@@ -735,7 +735,7 @@ size_t ValueObject::GetPointeeData(DataExtractor &data, uint32_t item_idx,
|
||||
|
@ -399,7 +399,7 @@ index 9c1ba99da1d0..b15b214b2a2f 100644
|
|||
data.SetData(data_sp);
|
||||
return bytes_read;
|
||||
diff --git a/lldb/source/Expression/CMakeLists.txt b/lldb/source/Expression/CMakeLists.txt
|
||||
index bf94361dd6c1..4e76d547aeaf 100644
|
||||
index bf94361dd..4e76d547a 100644
|
||||
--- a/lldb/source/Expression/CMakeLists.txt
|
||||
+++ b/lldb/source/Expression/CMakeLists.txt
|
||||
@@ -1,5 +1,7 @@
|
||||
|
@ -412,7 +412,7 @@ index bf94361dd6c1..4e76d547aeaf 100644
|
|||
ExpressionVariable.cpp
|
||||
diff --git a/lldb/source/Expression/DWARFEvaluator.cpp b/lldb/source/Expression/DWARFEvaluator.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..06107e136197
|
||||
index 000000000..06107e136
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Expression/DWARFEvaluator.cpp
|
||||
@@ -0,0 +1,1952 @@
|
||||
|
@ -2370,7 +2370,7 @@ index 000000000000..06107e136197
|
|||
+}
|
||||
diff --git a/lldb/source/Expression/DWARFEvaluatorFactory.cpp b/lldb/source/Expression/DWARFEvaluatorFactory.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..c0612641204a
|
||||
index 000000000..c06126412
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Expression/DWARFEvaluatorFactory.cpp
|
||||
@@ -0,0 +1,57 @@
|
||||
|
@ -2432,7 +2432,7 @@ index 000000000000..c0612641204a
|
|||
+ object_address_ptr);
|
||||
+}
|
||||
diff --git a/lldb/source/Expression/DWARFExpression.cpp b/lldb/source/Expression/DWARFExpression.cpp
|
||||
index a10546c1deae..4d13e4642af3 100644
|
||||
index a10546c1d..4d13e4642 100644
|
||||
--- a/lldb/source/Expression/DWARFExpression.cpp
|
||||
+++ b/lldb/source/Expression/DWARFExpression.cpp
|
||||
@@ -15,6 +15,8 @@
|
||||
|
@ -4249,7 +4249,7 @@ index a10546c1deae..4d13e4642af3 100644
|
|||
|
||||
static DataExtractor ToDataExtractor(const llvm::DWARFLocationExpression &loc,
|
||||
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
|
||||
index 00e9ccb762c3..2137a1ac8324 100644
|
||||
index 00e9ccb76..2137a1ac8 100644
|
||||
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
|
||||
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
|
||||
@@ -759,6 +759,24 @@ void CommandInterpreter::LoadCommandDictionary() {
|
||||
|
@ -4278,7 +4278,7 @@ index 00e9ccb762c3..2137a1ac8324 100644
|
|||
new CommandObjectRegexCommand(
|
||||
*this, "kdp-remote",
|
||||
diff --git a/lldb/source/Plugins/CMakeLists.txt b/lldb/source/Plugins/CMakeLists.txt
|
||||
index 9181a4e47675..2be6ec3657c0 100644
|
||||
index 9181a4e47..2be6ec365 100644
|
||||
--- a/lldb/source/Plugins/CMakeLists.txt
|
||||
+++ b/lldb/source/Plugins/CMakeLists.txt
|
||||
@@ -2,6 +2,7 @@ add_subdirectory(ABI)
|
||||
|
@ -4308,14 +4308,14 @@ index 9181a4e47675..2be6ec3657c0 100644
|
|||
endif()
|
||||
diff --git a/lldb/source/Plugins/DWARFEvaluator/CMakeLists.txt b/lldb/source/Plugins/DWARFEvaluator/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 000000000000..73fad41e1a72
|
||||
index 000000000..73fad41e1
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/DWARFEvaluator/CMakeLists.txt
|
||||
@@ -0,0 +1 @@
|
||||
+add_subdirectory(wasm)
|
||||
diff --git a/lldb/source/Plugins/DWARFEvaluator/wasm/CMakeLists.txt b/lldb/source/Plugins/DWARFEvaluator/wasm/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 000000000000..e50b1bef7e69
|
||||
index 000000000..e50b1bef7
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/DWARFEvaluator/wasm/CMakeLists.txt
|
||||
@@ -0,0 +1,10 @@
|
||||
|
@ -4331,7 +4331,7 @@ index 000000000000..e50b1bef7e69
|
|||
+ )
|
||||
diff --git a/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluator.cpp b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluator.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..fdda1991d19f
|
||||
index 000000000..fdda1991d
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluator.cpp
|
||||
@@ -0,0 +1,126 @@
|
||||
|
@ -4463,7 +4463,7 @@ index 000000000000..fdda1991d19f
|
|||
+}
|
||||
diff --git a/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluator.h b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluator.h
|
||||
new file mode 100644
|
||||
index 000000000000..a01159064a39
|
||||
index 000000000..a01159064
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluator.h
|
||||
@@ -0,0 +1,47 @@
|
||||
|
@ -4516,7 +4516,7 @@ index 000000000000..a01159064a39
|
|||
+#endif // LLDB_SOURCE_PLUGINS_DWARFEVALUATOR_WASM_WASMDWARFEVALUATOR_H
|
||||
diff --git a/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluatorFactory.cpp b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluatorFactory.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..d43e96a34d37
|
||||
index 000000000..d43e96a34
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluatorFactory.cpp
|
||||
@@ -0,0 +1,64 @@
|
||||
|
@ -4586,7 +4586,7 @@ index 000000000000..d43e96a34d37
|
|||
+}
|
||||
diff --git a/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluatorFactory.h b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluatorFactory.h
|
||||
new file mode 100644
|
||||
index 000000000000..8a946592a09a
|
||||
index 000000000..8a946592a
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/DWARFEvaluator/wasm/WasmDWARFEvaluatorFactory.h
|
||||
@@ -0,0 +1,55 @@
|
||||
|
@ -4646,7 +4646,7 @@ index 000000000000..8a946592a09a
|
|||
+
|
||||
+#endif // LLDB_SOURCE_PLUGINS_DWARFEVALUATOR_WASM_WASMDWARFEVALUATORFACTORY_H
|
||||
diff --git a/lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp b/lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp
|
||||
index ae7e011eaa52..24ea75d1971c 100644
|
||||
index ae7e011ea..24ea75d19 100644
|
||||
--- a/lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp
|
||||
+++ b/lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp
|
||||
@@ -62,6 +62,15 @@ void DynamicLoaderWasmDYLD::DidAttach() {
|
||||
|
@ -4666,7 +4666,7 @@ index ae7e011eaa52..24ea75d1971c 100644
|
|||
|
||||
ThreadPlanSP DynamicLoaderWasmDYLD::GetStepThroughTrampolinePlan(Thread &thread,
|
||||
diff --git a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
|
||||
index 5272da9ab33a..abc5523bfd70 100644
|
||||
index 5272da9ab..abc5523bf 100644
|
||||
--- a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
|
||||
+++ b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
|
||||
@@ -23,6 +23,7 @@
|
||||
|
@ -4706,7 +4706,7 @@ index 5272da9ab33a..abc5523bfd70 100644
|
|||
}
|
||||
}
|
||||
diff --git a/lldb/source/Plugins/Platform/CMakeLists.txt b/lldb/source/Plugins/Platform/CMakeLists.txt
|
||||
index 5f284e517dca..6084cbc9378d 100644
|
||||
index 5f284e517..6084cbc93 100644
|
||||
--- a/lldb/source/Plugins/Platform/CMakeLists.txt
|
||||
+++ b/lldb/source/Plugins/Platform/CMakeLists.txt
|
||||
@@ -15,3 +15,4 @@
|
||||
|
@ -4716,7 +4716,7 @@ index 5f284e517dca..6084cbc9378d 100644
|
|||
+add_subdirectory(wasm-remote)
|
||||
diff --git a/lldb/source/Plugins/Platform/wasm-remote/CMakeLists.txt b/lldb/source/Plugins/Platform/wasm-remote/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 000000000000..4a65765a5659
|
||||
index 000000000..4a65765a5
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Platform/wasm-remote/CMakeLists.txt
|
||||
@@ -0,0 +1,10 @@
|
||||
|
@ -4732,7 +4732,7 @@ index 000000000000..4a65765a5659
|
|||
+ )
|
||||
diff --git a/lldb/source/Plugins/Platform/wasm-remote/PlatformRemoteWasmServer.cpp b/lldb/source/Plugins/Platform/wasm-remote/PlatformRemoteWasmServer.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..f26d11f00e5c
|
||||
index 000000000..f26d11f00
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Platform/wasm-remote/PlatformRemoteWasmServer.cpp
|
||||
@@ -0,0 +1,139 @@
|
||||
|
@ -4878,7 +4878,7 @@ index 000000000000..f26d11f00e5c
|
|||
\ No newline at end of file
|
||||
diff --git a/lldb/source/Plugins/Platform/wasm-remote/PlatformRemoteWasmServer.h b/lldb/source/Plugins/Platform/wasm-remote/PlatformRemoteWasmServer.h
|
||||
new file mode 100644
|
||||
index 000000000000..f306a79d3f4f
|
||||
index 000000000..f306a79d3
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Platform/wasm-remote/PlatformRemoteWasmServer.h
|
||||
@@ -0,0 +1,37 @@
|
||||
|
@ -4921,7 +4921,7 @@ index 000000000000..f306a79d3f4f
|
|||
+#endif
|
||||
\ No newline at end of file
|
||||
diff --git a/lldb/source/Plugins/Plugins.def.in b/lldb/source/Plugins/Plugins.def.in
|
||||
index bf54598fb2f3..b0bd7b9965fe 100644
|
||||
index bf54598fb..b0bd7b996 100644
|
||||
--- a/lldb/source/Plugins/Plugins.def.in
|
||||
+++ b/lldb/source/Plugins/Plugins.def.in
|
||||
@@ -31,6 +31,7 @@
|
||||
|
@ -4933,7 +4933,7 @@ index bf54598fb2f3..b0bd7b9965fe 100644
|
|||
|
||||
#undef LLDB_PLUGIN
|
||||
diff --git a/lldb/source/Plugins/Process/CMakeLists.txt b/lldb/source/Plugins/Process/CMakeLists.txt
|
||||
index bea5bac9eb21..7a0855e02ca2 100644
|
||||
index bea5bac9e..7a0855e02 100644
|
||||
--- a/lldb/source/Plugins/Process/CMakeLists.txt
|
||||
+++ b/lldb/source/Plugins/Process/CMakeLists.txt
|
||||
@@ -18,3 +18,4 @@ add_subdirectory(Utility)
|
||||
|
@ -4942,7 +4942,7 @@ index bea5bac9eb21..7a0855e02ca2 100644
|
|||
add_subdirectory(minidump)
|
||||
+add_subdirectory(wasm)
|
||||
diff --git a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
|
||||
index 12bc7390c729..707ab85e5615 100644
|
||||
index 12bc7390c..707ab85e5 100644
|
||||
--- a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
|
||||
+++ b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
|
||||
@@ -285,7 +285,7 @@ bool ProcessElfCore::IsAlive() { return true; }
|
||||
|
@ -4955,7 +4955,7 @@ index 12bc7390c729..707ab85e5615 100644
|
|||
// in core files we have it all cached our our core file anyway.
|
||||
return DoReadMemory(addr, buf, size, error);
|
||||
diff --git a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
|
||||
index d8e3cc9ae3e1..f0bf9c4d3b00 100644
|
||||
index d8e3cc9ae..f0bf9c4d3 100644
|
||||
--- a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
|
||||
+++ b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
|
||||
@@ -84,7 +84,8 @@ public:
|
||||
|
@ -4969,7 +4969,7 @@ index d8e3cc9ae3e1..f0bf9c4d3b00 100644
|
|||
size_t DoReadMemory(lldb::addr_t addr, void *buf, size_t size,
|
||||
lldb_private::Status &error) override;
|
||||
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
|
||||
index 6914b37348ea..bb8a056049f3 100644
|
||||
index 6914b3734..bb8a05604 100644
|
||||
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
|
||||
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
|
||||
@@ -334,6 +334,11 @@ ConstString ProcessGDBRemote::GetPluginName() { return GetPluginNameStatic(); }
|
||||
|
@ -5003,7 +5003,7 @@ index 6914b37348ea..bb8a056049f3 100644
|
|||
}
|
||||
}
|
||||
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
|
||||
index fe04cdddd0f5..e4a14c64579a 100644
|
||||
index fe04cdddd..e4a14c645 100644
|
||||
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
|
||||
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
|
||||
@@ -237,6 +237,8 @@ protected:
|
||||
|
@ -5016,7 +5016,7 @@ index fe04cdddd0f5..e4a14c64579a 100644
|
|||
enum {
|
||||
eBroadcastBitAsyncContinue = (1 << 0),
|
||||
diff --git a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
|
||||
index 84548edb5caa..0ae6f7e4a177 100644
|
||||
index 84548edb5..0ae6f7e4a 100644
|
||||
--- a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
|
||||
+++ b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
|
||||
@@ -596,7 +596,7 @@ bool ProcessMachCore::WarnBeforeDetach() const { return false; }
|
||||
|
@ -5029,7 +5029,7 @@ index 84548edb5caa..0ae6f7e4a177 100644
|
|||
// in core files we have it all cached our our core file anyway.
|
||||
return DoReadMemory(addr, buf, size, error);
|
||||
diff --git a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
|
||||
index db77e96f1072..1c930896c743 100644
|
||||
index db77e96f1..1c930896c 100644
|
||||
--- a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
|
||||
+++ b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
|
||||
@@ -65,7 +65,8 @@ public:
|
||||
|
@ -5043,7 +5043,7 @@ index db77e96f1072..1c930896c743 100644
|
|||
size_t DoReadMemory(lldb::addr_t addr, void *buf, size_t size,
|
||||
lldb_private::Status &error) override;
|
||||
diff --git a/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp b/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
|
||||
index 385557422758..d8bb21581086 100644
|
||||
index 385557422..d8bb21581 100644
|
||||
--- a/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
|
||||
+++ b/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
|
||||
@@ -374,7 +374,7 @@ bool ProcessMinidump::IsAlive() { return true; }
|
||||
|
@ -5056,7 +5056,7 @@ index 385557422758..d8bb21581086 100644
|
|||
// we have it all cached in our dump file anyway.
|
||||
return DoReadMemory(addr, buf, size, error);
|
||||
diff --git a/lldb/source/Plugins/Process/minidump/ProcessMinidump.h b/lldb/source/Plugins/Process/minidump/ProcessMinidump.h
|
||||
index 27b0da0047a5..e94ecab430c1 100644
|
||||
index 27b0da004..e94ecab43 100644
|
||||
--- a/lldb/source/Plugins/Process/minidump/ProcessMinidump.h
|
||||
+++ b/lldb/source/Plugins/Process/minidump/ProcessMinidump.h
|
||||
@@ -69,8 +69,8 @@ public:
|
||||
|
@ -5072,7 +5072,7 @@ index 27b0da0047a5..e94ecab430c1 100644
|
|||
Status &error) override;
|
||||
diff --git a/lldb/source/Plugins/Process/wasm/CMakeLists.txt b/lldb/source/Plugins/Process/wasm/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 000000000000..61efb933fa62
|
||||
index 000000000..61efb933f
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Process/wasm/CMakeLists.txt
|
||||
@@ -0,0 +1,12 @@
|
||||
|
@ -5090,10 +5090,10 @@ index 000000000000..61efb933fa62
|
|||
+ )
|
||||
diff --git a/lldb/source/Plugins/Process/wasm/ProcessWasm.cpp b/lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..b8ffcac12df2
|
||||
index 000000000..9c0fc7b7f
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
|
||||
@@ -0,0 +1,256 @@
|
||||
@@ -0,0 +1,261 @@
|
||||
+//===-- ProcessWasm.cpp ---------------------------------------------------===//
|
||||
+//
|
||||
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
|
@ -5108,6 +5108,8 @@ index 000000000000..b8ffcac12df2
|
|||
+#include "lldb/Core/PluginManager.h"
|
||||
+#include "lldb/Utility/DataBufferHeap.h"
|
||||
+
|
||||
+#include "lldb/Target/UnixSignals.h"
|
||||
+
|
||||
+using namespace lldb;
|
||||
+using namespace lldb_private;
|
||||
+using namespace lldb_private::process_gdb_remote;
|
||||
|
@ -5117,7 +5119,10 @@ index 000000000000..b8ffcac12df2
|
|||
+
|
||||
+// ProcessGDBRemote constructor
|
||||
+ProcessWasm::ProcessWasm(lldb::TargetSP target_sp, ListenerSP listener_sp)
|
||||
+ : ProcessGDBRemote(target_sp, listener_sp) {}
|
||||
+ : ProcessGDBRemote(target_sp, listener_sp) {
|
||||
+ /* always use linux signals for wasm process */
|
||||
+ m_unix_signals_sp = UnixSignals::Create(ArchSpec{"wasm32-Ant-wasi-wasm"});
|
||||
+}
|
||||
+
|
||||
+void ProcessWasm::Initialize() {
|
||||
+ static llvm::once_flag g_once_flag;
|
||||
|
@ -5327,7 +5332,7 @@ index 000000000000..b8ffcac12df2
|
|||
+ call_stack_pcs.clear();
|
||||
+ StreamString packet;
|
||||
+ packet.Printf("qWasmCallStack:");
|
||||
+ packet.Printf("%lx", tid);
|
||||
+ packet.Printf("%llx", tid);
|
||||
+ StringExtractorGDBRemote response;
|
||||
+ if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetString(), response) !=
|
||||
+ GDBRemoteCommunication::PacketResult::Success) {
|
||||
|
@ -5352,7 +5357,7 @@ index 000000000000..b8ffcac12df2
|
|||
+}
|
||||
diff --git a/lldb/source/Plugins/Process/wasm/ProcessWasm.h b/lldb/source/Plugins/Process/wasm/ProcessWasm.h
|
||||
new file mode 100644
|
||||
index 000000000000..d3aece7a6554
|
||||
index 000000000..d3aece7a6
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Process/wasm/ProcessWasm.h
|
||||
@@ -0,0 +1,128 @@
|
||||
|
@ -5486,7 +5491,7 @@ index 000000000000..d3aece7a6554
|
|||
+#endif // LLDB_SOURCE_PLUGINS_PROCESS_WASM_PROCESSWASM_H
|
||||
diff --git a/lldb/source/Plugins/Process/wasm/ThreadWasm.cpp b/lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..fa02073e7a52
|
||||
index 000000000..fa02073e7
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
|
||||
@@ -0,0 +1,35 @@
|
||||
|
@ -5527,7 +5532,7 @@ index 000000000000..fa02073e7a52
|
|||
+}
|
||||
diff --git a/lldb/source/Plugins/Process/wasm/ThreadWasm.h b/lldb/source/Plugins/Process/wasm/ThreadWasm.h
|
||||
new file mode 100644
|
||||
index 000000000000..0a33c07de994
|
||||
index 000000000..0a33c07de
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Process/wasm/ThreadWasm.h
|
||||
@@ -0,0 +1,41 @@
|
||||
|
@ -5574,7 +5579,7 @@ index 000000000000..0a33c07de994
|
|||
+#endif // LLDB_SOURCE_PLUGINS_PROCESS_WASM_THREADWASM_H
|
||||
diff --git a/lldb/source/Plugins/Process/wasm/UnwindWasm.cpp b/lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..1a195cb9361a
|
||||
index 000000000..1a195cb93
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
|
||||
@@ -0,0 +1,74 @@
|
||||
|
@ -5655,7 +5660,7 @@ index 000000000000..1a195cb9361a
|
|||
\ No newline at end of file
|
||||
diff --git a/lldb/source/Plugins/Process/wasm/UnwindWasm.h b/lldb/source/Plugins/Process/wasm/UnwindWasm.h
|
||||
new file mode 100644
|
||||
index 000000000000..9bd1dac9a98a
|
||||
index 000000000..9bd1dac9a
|
||||
--- /dev/null
|
||||
+++ b/lldb/source/Plugins/Process/wasm/UnwindWasm.h
|
||||
@@ -0,0 +1,55 @@
|
||||
|
@ -5715,7 +5720,7 @@ index 000000000000..9bd1dac9a98a
|
|||
+
|
||||
+#endif // lldb_UnwindWasm_h_
|
||||
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
|
||||
index ccaf31317d75..c3ef5aebd46d 100644
|
||||
index ccaf31317..c3ef5aebd 100644
|
||||
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
|
||||
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
|
||||
@@ -3212,8 +3212,13 @@ VariableSP SymbolFileDWARF::ParseVariableDIE(const SymbolContext &sc,
|
||||
|
@ -5733,8 +5738,26 @@ index ccaf31317d75..c3ef5aebd46d 100644
|
|||
else {
|
||||
// DWARF doesn't specify if a DW_TAG_variable is a local, global
|
||||
// or static variable, so we have to do a little digging:
|
||||
diff --git a/lldb/source/Target/PathMappingList.cpp b/lldb/source/Target/PathMappingList.cpp
|
||||
index b660c310e..cd76421ce 100644
|
||||
--- a/lldb/source/Target/PathMappingList.cpp
|
||||
+++ b/lldb/source/Target/PathMappingList.cpp
|
||||
@@ -218,7 +218,12 @@ bool PathMappingList::ReverseRemapPath(const FileSpec &file, FileSpec &fixed) co
|
||||
}
|
||||
|
||||
llvm::Optional<FileSpec> PathMappingList::FindFile(const FileSpec &orig_spec) const {
|
||||
- if (auto remapped = RemapPath(orig_spec.GetPath(), /*only_if_exists=*/true))
|
||||
+ // We must normalize the orig_spec again using the host's path style,
|
||||
+ // otherwise there will be mismatch between the host and remote platform
|
||||
+ // if they use different path styles.
|
||||
+ if (auto remapped = RemapPath(
|
||||
+ NormalizePath(ConstString(orig_spec.GetCString())).GetStringRef(),
|
||||
+ /*only_if_exists=*/true))
|
||||
return remapped;
|
||||
|
||||
return {};
|
||||
diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp
|
||||
index a77ecddfbab6..e257f93508f6 100644
|
||||
index a77ecddfb..e257f9350 100644
|
||||
--- a/lldb/source/Target/Platform.cpp
|
||||
+++ b/lldb/source/Target/Platform.cpp
|
||||
@@ -1970,6 +1970,12 @@ size_t Platform::GetSoftwareBreakpointTrapOpcode(Target &target,
|
||||
|
@ -5751,7 +5774,7 @@ index a77ecddfbab6..e257f93508f6 100644
|
|||
return 0;
|
||||
}
|
||||
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
|
||||
index 8ecc66b592ea..f148987915de 100644
|
||||
index 8ecc66b59..f14898791 100644
|
||||
--- a/lldb/source/Target/Process.cpp
|
||||
+++ b/lldb/source/Target/Process.cpp
|
||||
@@ -1892,7 +1892,8 @@ Status Process::DisableSoftwareBreakpoint(BreakpointSite *bp_site) {
|
||||
|
@ -5765,7 +5788,7 @@ index 8ecc66b592ea..f148987915de 100644
|
|||
if (!GetDisableMemoryCache()) {
|
||||
#if defined(VERIFY_MEMORY_READS)
|
||||
diff --git a/lldb/source/Target/ProcessTrace.cpp b/lldb/source/Target/ProcessTrace.cpp
|
||||
index c878a2ac4eb9..ad5945b0ad1f 100644
|
||||
index c878a2ac4..ad5945b0a 100644
|
||||
--- a/lldb/source/Target/ProcessTrace.cpp
|
||||
+++ b/lldb/source/Target/ProcessTrace.cpp
|
||||
@@ -88,7 +88,7 @@ void ProcessTrace::RefreshStateAfterStop() {}
|
||||
|
@ -5777,3 +5800,16 @@ index c878a2ac4eb9..ad5945b0ad1f 100644
|
|||
// Don't allow the caching that lldb_private::Process::ReadMemory does since
|
||||
// we have it all cached in the trace files.
|
||||
return DoReadMemory(addr, buf, size, error);
|
||||
diff --git a/lldb/source/Target/UnixSignals.cpp b/lldb/source/Target/UnixSignals.cpp
|
||||
index 4ec2e25c7..24c88fe9a 100644
|
||||
--- a/lldb/source/Target/UnixSignals.cpp
|
||||
+++ b/lldb/source/Target/UnixSignals.cpp
|
||||
@@ -46,6 +46,8 @@ lldb::UnixSignalsSP UnixSignals::Create(const ArchSpec &arch) {
|
||||
return std::make_shared<FreeBSDSignals>();
|
||||
case llvm::Triple::NetBSD:
|
||||
return std::make_shared<NetBSDSignals>();
|
||||
+ case llvm::Triple::WASI:
|
||||
+ return std::make_shared<LinuxSignals>();
|
||||
default:
|
||||
return std::make_shared<UnixSignals>();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user