LibDebug: add DW_LNS_set_basic_block support

This adds support for the basic_block register to the Dwarf line
number state machine.
This commit is contained in:
spigwitmer 2021-05-02 14:02:14 -04:00 committed by Andreas Kling
parent bd68ca362b
commit 3a5f9b2f7e
Notes: sideshowbarker 2024-07-18 18:45:05 +09:00
2 changed files with 7 additions and 0 deletions

View file

@ -242,6 +242,10 @@ void LineProgram::handle_standard_opcode(u8 opcode)
m_address += delta;
break;
}
case StandardOpcodes::SetBasicBlock: {
m_basic_block = true;
break;
}
default:
dbgln("Unhandled LineProgram opcode {}", opcode);
VERIFY_NOT_REACHED();
@ -262,6 +266,8 @@ void LineProgram::handle_special_opcode(u8 opcode)
}
append_to_line_info();
m_basic_block = false;
}
void LineProgram::run_program()

View file

@ -171,6 +171,7 @@ private:
size_t m_line { 0 };
size_t m_file_index { 0 };
bool m_is_statement { false };
bool m_basic_block { false };
Vector<LineInfo> m_lines;
};