Author: David Spickett Date: 2025-07-15T09:54:58Z New Revision: a64bfd8a5186bc5b967878689509db81b9d1922c
URL: https://github.com/llvm/llvm-project/commit/a64bfd8a5186bc5b967878689509db81b9d1922c DIFF: https://github.com/llvm/llvm-project/commit/a64bfd8a5186bc5b967878689509db81b9d1922c.diff LOG: [lldb] Fix Disasembler build error on 32-bit systems After changes in https://github.com/llvm/llvm-project/pull/145793. /home/david.spickett/llvm-project/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp:1360:49: error: non-const lvalue reference to type 'uint64_t' (aka 'unsigned long long') cannot bind to a value of unrelated type 'size_t' (aka 'unsigned int') 1360 | status = m_disasm_up->getInstruction(mc_inst, size, data, pc, llvm::nulls()); | ^~~~ /home/david.spickett/llvm-project/llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h:135:64: note: passing argument to parameter 'Size' here 135 | virtual DecodeStatus getInstruction(MCInst &Instr, uint64_t &Size, | ^ 1 error generated. The type used in the LLVM method we call is uin64_t so use that instead. It's overkill for what it is, but that's a separate issue if anyone cares. Also removed the unused form of GetMCInst. Added: Modified: lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp Removed: ################################################################################ diff --git a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp index 564b787594f71..d92e16366f0ac 100644 --- a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp +++ b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp @@ -59,10 +59,8 @@ class DisassemblerLLVMC::MCDisasmInstance { ~MCDisasmInstance() = default; - uint64_t GetMCInst(const uint8_t *opcode_data, size_t opcode_data_len, - lldb::addr_t pc, llvm::MCInst &mc_inst) const; bool GetMCInst(const uint8_t *opcode_data, size_t opcode_data_len, - lldb::addr_t pc, llvm::MCInst &mc_inst, size_t &size) const; + lldb::addr_t pc, llvm::MCInst &mc_inst, uint64_t &size) const; void PrintMCInst(llvm::MCInst &mc_inst, lldb::addr_t pc, std::string &inst_string, std::string &comments_string); void SetStyle(bool use_hex_immed, HexImmediateStyle hex_style); @@ -531,7 +529,7 @@ class InstructionLLVMC : public lldb_private::Instruction { const addr_t pc = m_address.GetFileAddress(); llvm::MCInst inst; - size_t inst_size = 0; + uint64_t inst_size = 0; m_is_valid = mc_disasm_ptr->GetMCInst(opcode_data, opcode_data_len, pc, inst, inst_size); m_opcode.Clear(); @@ -614,7 +612,7 @@ class InstructionLLVMC : public lldb_private::Instruction { const uint8_t *opcode_data = data.GetDataStart(); const size_t opcode_data_len = data.GetByteSize(); llvm::MCInst inst; - size_t inst_size = 0; + uint64_t inst_size = 0; bool valid = mc_disasm_ptr->GetMCInst(opcode_data, opcode_data_len, pc, inst, inst_size); @@ -1217,7 +1215,7 @@ class InstructionLLVMC : public lldb_private::Instruction { const uint8_t *opcode_data = data.GetDataStart(); const size_t opcode_data_len = data.GetByteSize(); llvm::MCInst inst; - size_t inst_size = 0; + uint64_t inst_size = 0; const bool valid = mc_disasm_ptr->GetMCInst(opcode_data, opcode_data_len, pc, inst, inst_size); if (!valid) @@ -1353,7 +1351,7 @@ bool DisassemblerLLVMC::MCDisasmInstance::GetMCInst(const uint8_t *opcode_data, size_t opcode_data_len, lldb::addr_t pc, llvm::MCInst &mc_inst, - size_t &size) const { + uint64_t &size) const { llvm::ArrayRef<uint8_t> data(opcode_data, opcode_data_len); llvm::MCDisassembler::DecodeStatus status; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits