[Lldb-commits] [lldb] [lldb][lldb-dap] Respect x86 disassembly flavor setting (PR #134722)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Apr 7 13:15:05 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Ebuka Ezike (da-viper)
<details>
<summary>Changes</summary>
Ensure the disassembly respects the "target.x86-disassembly-flavor" setting for x86 and x86_64 targets.
Depends on #<!-- -->134626
---
Full diff: https://github.com/llvm/llvm-project/pull/134722.diff
1 Files Affected:
- (modified) lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp (+16-1)
``````````diff
diff --git a/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp b/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
index f0cb7be70210d..0fd9390623046 100644
--- a/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
@@ -116,7 +116,22 @@ void DisassembleRequestHandler::operator()(
const auto inst_count =
GetInteger<int64_t>(arguments, "instructionCount").value_or(0);
- lldb::SBInstructionList insts = dap.target.ReadInstructions(addr, inst_count);
+
+ std::string flavor_string{};
+ const auto target_triple = llvm::StringRef(dap.target.GetTriple());
+ if (target_triple.starts_with("x86_64") || target_triple.starts_with("x86")) {
+ const lldb::SBStructuredData flavor =
+ dap.debugger.GetSetting("target.x86-disassembly-flavor");
+
+ const size_t str_length = flavor.GetStringValue(nullptr, 0);
+ if (str_length != 0) {
+ flavor_string.resize(str_length + 1);
+ flavor.GetStringValue(flavor_string.data(), flavor_string.length());
+ }
+ }
+
+ lldb::SBInstructionList insts =
+ dap.target.ReadInstructions(addr, inst_count, flavor_string.c_str());
if (!insts.IsValid()) {
response["success"] = false;
``````````
</details>
https://github.com/llvm/llvm-project/pull/134722
More information about the lldb-commits
mailing list