diff options
Diffstat (limited to 'lldb/source/Plugins')
3 files changed, 13 insertions, 3 deletions
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp index 37b007cfffc..83a7fcc1c84 100644 --- a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp +++ b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp @@ -1488,7 +1488,11 @@ RegisterContextLLDB::SavedLocationForRegister (uint32_t lldb_regnum, lldb_privat unwindplan_regloc.GetDWARFExpressionLength(), process->GetByteOrder(), process->GetAddressByteSize()); ModuleSP opcode_ctx; - DWARFExpression dwarfexpr (opcode_ctx, dwarfdata, 0, unwindplan_regloc.GetDWARFExpressionLength()); + DWARFExpression dwarfexpr (opcode_ctx, + dwarfdata, + nullptr, + 0, + unwindplan_regloc.GetDWARFExpressionLength()); dwarfexpr.SetRegisterKind (unwindplan_registerkind); Value result; Error error; @@ -1784,7 +1788,11 @@ RegisterContextLLDB::ReadCFAValueForRow (lldb::RegisterKind row_register_kind, row->GetCFAValue().GetDWARFExpressionLength(), process->GetByteOrder(), process->GetAddressByteSize()); ModuleSP opcode_ctx; - DWARFExpression dwarfexpr (opcode_ctx, dwarfdata, 0, row->GetCFAValue().GetDWARFExpressionLength()); + DWARFExpression dwarfexpr (opcode_ctx, + dwarfdata, + nullptr, + 0, + row->GetCFAValue().GetDWARFExpressionLength()); dwarfexpr.SetRegisterKind (row_register_kind); Value result; Error error; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp index d79ae79822b..c8bcec5d0f9 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp @@ -149,6 +149,8 @@ print_dwarf_exp_op (Stream &s, size = 128; break; case DW_OP_regx: size = 128; break; + case DW_OP_GNU_addr_index: + size = 128; break; default: s.Printf("UNKNOWN ONE-OPERAND OPCODE, #%u", opcode); return 1; diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index 3473edc8444..33659248e18 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -4013,7 +4013,7 @@ SymbolFileDWARF::ParseVariableDIE Declaration decl; uint32_t i; lldb::user_id_t type_uid = LLDB_INVALID_UID; - DWARFExpression location; + DWARFExpression location(dwarf_cu); bool is_external = false; bool is_artificial = false; bool location_is_const_value_data = false; |

