GDB (xrefs)

Public Member Functions | Private Member Functions | Private Attributes | List of all members
lnp_state_machine Class Reference

## Public Member Functions
| lnp_state_machine (gdbarch *arch, line_header *lh, bool record_lines_p)
file_entry * | current_file ()
void | record_line (bool end_sequence)
void | check_line_address (struct dwarf2_cu *cu, const gdb_byte *line_ptr, CORE_ADDR lowpc, CORE_ADDR address)
void | handle_set_discriminator (unsigned int discriminator)
void | handle_set_address (CORE_ADDR baseaddr, CORE_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 ()

## Private Member Functions
void | advance_line (int line_delta)

## Private Attributes
gdbarch * | m_gdbarch
bool | m_record_lines_p
line_header * | m_line_header
unsigned char | m_op_index = 0
file_name_index | m_file = (file_name_index) 1
unsigned int | m_line = 1
CORE_ADDR | m_address
bool | m_is_stmt
unsigned int | m_discriminator
unsigned int | m_last_file = 0
struct subfile * | m_last_subfile = NULL
record_line_ftype * | m_record_line_callback = NULL
unsigned int | m_last_line = 0
bool | m_line_has_non_zero_discriminator = false

## Detailed Description

Definition at line 20362 of file dwarf2read.c.

## Constructor & Destructor Documentation

## ◆ lnp_state_machine()

lnp_state_machine::lnp_state_machine | ( | gdbarch * | arch,
|  | line_header * | lh,
|  | bool | record_lines_p
| ) |  |

Definition at line 20707 of file dwarf2read.c.

References line_header::default_is_stmt, gdbarch_adjust_dwarf2_line(), m_address, m_discriminator, m_gdbarch, m_is_stmt, m_line_header, m_record_line_callback, m_record_lines_p, and record_line().

## Member Function Documentation

## ◆ advance_line()

void lnp_state_machine::advance_line | ( | int | line_delta | ) |
| inline private

Definition at line 20446 of file dwarf2read.c.

References m_discriminator, m_line, and m_line_has_non_zero_discriminator.

Referenced by handle_advance_line(), and handle_special_opcode().

## ◆ check_line_address()

void lnp_state_machine::check_line_address | ( | struct dwarf2_cu * | cu,
|  | const gdb_byte * | line_ptr,
|  | CORE_ADDR | lowpc,
|  | CORE_ADDR | address
| ) |  |

Definition at line 20726 of file dwarf2read.c.

References _, dwarf2_section_info::buffer, complaint, get_debug_line_section(), m_record_line_callback, noop_record_line(), dwarf2_cu::objfile, objfile_name(), and symfile_complaints.

Referenced by dwarf_decode_lines_1().

## ◆ current_file()

file_entry* lnp_state_machine::current_file | ( |  | ) |
| inline

Definition at line 20369 of file dwarf2read.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().

## ◆ handle_advance_line()

void lnp_state_machine::handle_advance_line | ( | int | line_delta | ) |
| inline

Definition at line 20407 of file dwarf2read.c.

References advance_line().

Referenced by dwarf_decode_lines_1().

## ◆ handle_advance_pc()

void lnp_state_machine::handle_advance_pc | ( | CORE_ADDR | adjust | ) |

Definition at line 20497 of file dwarf2read.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().

## ◆ handle_const_add_pc()

void lnp_state_machine::handle_const_add_pc | ( |  | ) |

Definition at line 20545 of file dwarf2read.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().

## ◆ handle_copy()

void lnp_state_machine::handle_copy | ( |  | ) |
| inline

Definition at line 20432 of file dwarf2read.c.

References m_discriminator, and record_line().

Referenced by dwarf_decode_lines_1().

## ◆ handle_end_sequence()

void lnp_state_machine::handle_end_sequence | ( |  | ) |
| inline

Definition at line 20439 of file dwarf2read.c.

References m_record_line_callback, and record_line().

Referenced by dwarf_decode_lines_1().

## ◆ handle_fixed_advance_pc()

void lnp_state_machine::handle_fixed_advance_pc | ( | CORE_ADDR | addr_adj | ) |
| inline

Definition at line 20425 of file dwarf2read.c.

References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.

Referenced by dwarf_decode_lines_1().

## ◆ handle_negate_stmt()

void lnp_state_machine::handle_negate_stmt | ( |  | ) |
| inline

Definition at line 20416 of file dwarf2read.c.

References m_is_stmt.

Referenced by dwarf_decode_lines_1().

## ◆ handle_set_address()

void lnp_state_machine::handle_set_address | ( | CORE_ADDR | baseaddr,
|  | CORE_ADDR | address
| ) |  |
| inline

Definition at line 20393 of file dwarf2read.c.

References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.

Referenced by dwarf_decode_lines_1().

## ◆ handle_set_discriminator()

void lnp_state_machine::handle_set_discriminator | ( | unsigned int | discriminator | ) |
| inline

Definition at line 20386 of file dwarf2read.c.

References m_discriminator, and m_line_has_non_zero_discriminator.

Referenced by dwarf_decode_lines_1().

## ◆ handle_set_file()

void lnp_state_machine::handle_set_file | ( | file_name_index | file | ) |

Definition at line 20527 of file dwarf2read.c.

References current_file(), current_subfile, dwarf2_debug_line_missing_file_complaint(), dwarf2_start_subfile(), file_entry::include_dir(), m_discriminator, m_file, m_last_subfile, m_line_has_non_zero_discriminator, m_line_header, m_record_lines_p, and file_entry::name.

Referenced by dwarf_decode_lines_1().

## ◆ handle_special_opcode()

void lnp_state_machine::handle_special_opcode | ( | unsigned char | op_code | ) |

Definition at line 20508 of file dwarf2read.c.

References advance_line(), gdbarch_adjust_dwarf2_line(), line_header::line_base, line_header::line_range, m_address, m_discriminator, 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().

## ◆ record_line()

void lnp_state_machine::record_line | ( | bool | end_sequence | ) |

Definition at line 20660 of file dwarf2read.c.

References current_file(), current_subfile, dwarf2_debug_line_missing_file_complaint(), dwarf_finish_line(), dwarf_line_debug, dwarf_record_line_1(), dwarf_record_line_p(), fprintf_unfiltered(), gdb_stdlog, file_entry::included_p, m_address, m_discriminator, m_file, m_gdbarch, m_is_stmt, m_last_line, m_last_subfile, m_line, m_line_has_non_zero_discriminator, m_op_index, m_record_line_callback, m_record_lines_p, paddress(), and to_underlying().

Referenced by dwarf_decode_lines_1(), handle_copy(), handle_end_sequence(), handle_special_opcode(), and lnp_state_machine().

## Member Data Documentation

## ◆ m_address

CORE_ADDR lnp_state_machine::m_address
| private

Definition at line 20474 of file dwarf2read.c.

Referenced by handle_advance_pc(), handle_const_add_pc(), handle_fixed_advance_pc(), handle_set_address(), handle_special_opcode(), lnp_state_machine(), and record_line().

## ◆ m_discriminator

unsigned int lnp_state_machine::m_discriminator
| private

Definition at line 20476 of file dwarf2read.c.

Referenced by advance_line(), handle_copy(), handle_set_discriminator(), handle_set_file(), handle_special_opcode(), lnp_state_machine(), and record_line().

## ◆ m_file

file_name_index lnp_state_machine::m_file = (file_name_index) 1
| private

Definition at line 20469 of file dwarf2read.c.

Referenced by current_file(), handle_set_file(), and record_line().

## ◆ m_gdbarch

gdbarch* lnp_state_machine::m_gdbarch
| private

Definition at line 20454 of file dwarf2read.c.

Referenced by handle_advance_pc(), handle_const_add_pc(), handle_fixed_advance_pc(), handle_set_address(), handle_special_opcode(), lnp_state_machine(), and record_line().

## ◆ m_is_stmt

bool lnp_state_machine::m_is_stmt
| private

Definition at line 20475 of file dwarf2read.c.

Referenced by handle_negate_stmt(), lnp_state_machine(), and record_line().

## ◆ m_last_file

unsigned int lnp_state_machine::m_last_file = 0
| private

Definition at line 20482 of file dwarf2read.c.

## ◆ m_last_line

unsigned int lnp_state_machine::m_last_line = 0
| private

Definition at line 20492 of file dwarf2read.c.

Referenced by record_line().

## ◆ m_last_subfile

struct subfile* lnp_state_machine::m_last_subfile = NULL
| private

Definition at line 20484 of file dwarf2read.c.

Referenced by handle_set_file(), and record_line().

## ◆ m_line

unsigned int lnp_state_machine::m_line = 1
| private

Definition at line 20470 of file dwarf2read.c.

Referenced by advance_line(), and record_line().

## ◆ m_line_has_non_zero_discriminator

bool lnp_state_machine::m_line_has_non_zero_discriminator = false
| private

Definition at line 20493 of file dwarf2read.c.

Referenced by advance_line(), handle_set_discriminator(), handle_set_file(), and record_line().

## ◆ m_line_header

line_header* lnp_state_machine::m_line_header
| private

Definition at line 20462 of file dwarf2read.c.

Referenced by current_file(), handle_advance_pc(), handle_const_add_pc(), handle_set_file(), handle_special_opcode(), and lnp_state_machine().

## ◆ m_op_index

unsigned char lnp_state_machine::m_op_index = 0
| private

Definition at line 20467 of file dwarf2read.c.

Referenced by handle_advance_pc(), handle_const_add_pc(), handle_fixed_advance_pc(), handle_set_address(), handle_special_opcode(), and record_line().

## ◆ m_record_line_callback

record_line_ftype* lnp_state_machine::m_record_line_callback = NULL
| private

Definition at line 20487 of file dwarf2read.c.

Referenced by check_line_address(), handle_end_sequence(), lnp_state_machine(), and record_line().

## ◆ m_record_lines_p

bool lnp_state_machine::m_record_lines_p
| private

Definition at line 20459 of file dwarf2read.c.

Referenced by handle_set_file(), lnp_state_machine(), and record_line().

The documentation for this class was generated from the following file:

- /tmp/gdb-8.1/gdb/dwarf2read.c