GDB (xrefs)
|
Public Member Functions | |
lnp_state_machine (struct dwarf2_cu *cu, gdbarch *arch, line_header *lh) | |
file_entry * | current_file () |
void | record_line (bool end_sequence) |
void | check_line_address (struct dwarf2_cu *cu, const gdb_byte *line_ptr, unrelocated_addr unrelocated_lowpc, unrelocated_addr address) |
void | handle_set_discriminator (unsigned int discriminator) |
void | handle_set_address (unrelocated_addr address) |
void | handle_advance_pc (CORE_ADDR adjust) |
void | handle_special_opcode (unsigned char op_code) |
void | handle_advance_line (int line_delta) |
void | handle_set_file (file_name_index file) |
void | handle_negate_stmt () |
void | handle_const_add_pc () |
void | handle_fixed_advance_pc (CORE_ADDR addr_adj) |
void | handle_copy () |
void | handle_end_sequence () |
void | handle_set_prologue_end () |
Private Member Functions | |
void | advance_line (int line_delta) |
Private Attributes | |
struct dwarf2_cu * | m_cu |
gdbarch * | m_gdbarch |
line_header * | m_line_header |
unsigned char | m_op_index = 0 |
file_name_index | m_file = 1 |
unsigned int | m_line = 1 |
unrelocated_addr | m_address |
linetable_entry_flags | m_flags |
unsigned int | m_discriminator = 0 |
unsigned int | m_last_file = 0 |
struct subfile * | m_last_subfile = NULL |
unrelocated_addr | m_last_address |
bool | m_stmt_at_address = false |
bool | m_currently_recording_lines = true |
unsigned int | m_last_line = 0 |
bool | m_line_has_non_zero_discriminator = false |
lnp_state_machine::lnp_state_machine | ( | struct dwarf2_cu * | cu, |
gdbarch * | arch, | ||
line_header * | lh ) |
|
inlineprivate |
Definition at line 18202 of file read.c.
References m_discriminator, m_line, and m_line_has_non_zero_discriminator.
Referenced by handle_advance_line(), and handle_special_opcode().
void lnp_state_machine::check_line_address | ( | struct dwarf2_cu * | cu, |
const gdb_byte * | line_ptr, | ||
unrelocated_addr | unrelocated_lowpc, | ||
unrelocated_addr | address ) |
Definition at line 18522 of file read.c.
References dwarf2_section_info::buffer, complaint, get_debug_line_section(), m_currently_recording_lines, dwarf2_per_objfile::objfile, objfile_name(), and dwarf2_cu::per_objfile.
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18114 of file read.c.
References line_header::file_name_at(), m_file, and m_line_header.
Referenced by dwarf_decode_lines_1(), handle_set_file(), and record_line().
|
inline |
Definition at line 18155 of file read.c.
References advance_line().
Referenced by dwarf_decode_lines_1().
void lnp_state_machine::handle_advance_pc | ( | CORE_ADDR | adjust | ) |
Definition at line 18259 of file read.c.
References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, m_line_header, m_op_index, line_header::maximum_ops_per_instruction, and line_header::minimum_instruction_length.
Referenced by dwarf_decode_lines_1().
void lnp_state_machine::handle_const_add_pc | ( | ) |
Definition at line 18308 of file read.c.
References gdbarch_adjust_dwarf2_line(), line_header::line_range, m_address, m_gdbarch, m_line_header, m_op_index, line_header::maximum_ops_per_instruction, line_header::minimum_instruction_length, and line_header::opcode_base.
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18181 of file read.c.
References m_discriminator, m_flags, and record_line().
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18189 of file read.c.
References m_currently_recording_lines.
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18173 of file read.c.
References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18164 of file read.c.
References LEF_IS_STMT, and m_flags.
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18139 of file read.c.
References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18132 of file read.c.
References m_discriminator, and m_line_has_non_zero_discriminator.
Referenced by dwarf_decode_lines_1().
void lnp_state_machine::handle_set_file | ( | file_name_index | file | ) |
Definition at line 18292 of file read.c.
References current_file(), dwarf2_debug_line_missing_file_complaint(), dwarf2_start_subfile(), dwarf2_cu::get_builder(), buildsym_compunit::get_current_subfile(), m_cu, m_discriminator, m_file, m_last_subfile, m_line_has_non_zero_discriminator, and m_line_header.
Referenced by dwarf_decode_lines_1().
|
inline |
Definition at line 18195 of file read.c.
References LEF_PROLOGUE_END, and m_flags.
Referenced by dwarf_decode_lines_1().
void lnp_state_machine::handle_special_opcode | ( | unsigned char | op_code | ) |
Definition at line 18271 of file read.c.
References advance_line(), gdbarch_adjust_dwarf2_line(), line_header::line_base, line_header::line_range, m_address, m_discriminator, m_flags, m_gdbarch, m_line_header, m_op_index, line_header::maximum_ops_per_instruction, line_header::minimum_instruction_length, line_header::opcode_base, and record_line().
Referenced by dwarf_decode_lines_1().
void lnp_state_machine::record_line | ( | bool | end_sequence | ) |
Definition at line 18421 of file read.c.
References current_file(), dwarf2_debug_line_missing_file_complaint(), dwarf_finish_line(), dwarf_line_debug, dwarf_record_line_1(), dwarf_record_line_p(), gdb_printf(), gdb_stdlog, dwarf2_cu::get_builder(), buildsym_compunit::get_current_subfile(), LEF_IS_STMT, LEF_PROLOGUE_END, m_address, m_cu, m_currently_recording_lines, m_discriminator, m_file, m_flags, m_gdbarch, m_last_address, m_last_line, m_last_subfile, m_line, m_line_has_non_zero_discriminator, m_op_index, m_stmt_at_address, paddress(), and producer_is_codewarrior().
Referenced by dwarf_decode_lines_1(), handle_copy(), and handle_special_opcode().
|
private |
Definition at line 18227 of file read.c.
Referenced by handle_advance_pc(), handle_const_add_pc(), handle_fixed_advance_pc(), handle_set_address(), handle_special_opcode(), and record_line().
|
private |
Definition at line 18210 of file read.c.
Referenced by handle_set_file(), and record_line().
|
private |
Definition at line 18249 of file read.c.
Referenced by check_line_address(), handle_end_sequence(), and record_line().
|
private |
Definition at line 18229 of file read.c.
Referenced by advance_line(), handle_copy(), handle_set_discriminator(), handle_set_file(), handle_special_opcode(), and record_line().
|
private |
Definition at line 18222 of file read.c.
Referenced by current_file(), handle_set_file(), and record_line().
|
private |
Definition at line 18228 of file read.c.
Referenced by handle_copy(), handle_negate_stmt(), handle_set_prologue_end(), handle_special_opcode(), and record_line().
|
private |
Definition at line 18212 of file read.c.
Referenced by handle_advance_pc(), handle_const_add_pc(), handle_fixed_advance_pc(), handle_set_address(), handle_special_opcode(), and record_line().
|
private |
Definition at line 18240 of file read.c.
Referenced by record_line().
|
private |
Definition at line 18254 of file read.c.
Referenced by record_line().
|
private |
Definition at line 18237 of file read.c.
Referenced by handle_set_file(), and record_line().
|
private |
Definition at line 18223 of file read.c.
Referenced by advance_line(), and record_line().
|
private |
Definition at line 18255 of file read.c.
Referenced by advance_line(), handle_set_discriminator(), handle_set_file(), and record_line().
|
private |
Definition at line 18215 of file read.c.
Referenced by current_file(), handle_advance_pc(), handle_const_add_pc(), handle_set_file(), and handle_special_opcode().
|
private |
Definition at line 18220 of file read.c.
Referenced by handle_advance_pc(), handle_const_add_pc(), handle_fixed_advance_pc(), handle_set_address(), handle_special_opcode(), and record_line().
|
private |
Definition at line 18246 of file read.c.
Referenced by record_line().