GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Attributes | List of all members
line_header Struct Reference

#include "line-header.h"

Public Member Functions

 line_header (const char *comp_dir)
 
 line_header (sect_offset sect_off, bool offset_in_dwz)
 
void add_include_dir (const char *include_dir)
 
void add_file_name (const char *name, dir_index d_index, unsigned int mod_time, unsigned int length)
 
const char * include_dir_at (dir_index index) const
 
bool is_valid_file_index (int file_index) const
 
file_entryfile_name_at (file_name_index index)
 
const file_entryfile_name_at (file_name_index index) const
 
std::vector< file_entry > & file_names ()
 
const std::vector< file_entry > & file_names () const
 
int file_names_size () const
 
std::string file_file_name (const file_entry &fe) const
 
const char * comp_dir () const
 

Public Attributes

sect_offset sect_off {}
 
unsigned offset_in_dwz: 1
 
unsigned short version {}
 
unsigned char minimum_instruction_length {}
 
unsigned char maximum_ops_per_instruction {}
 
unsigned char default_is_stmt {}
 
int line_base {}
 
unsigned char line_range {}
 
unsigned char opcode_base {}
 
std::unique_ptr< unsigned char[]> standard_opcode_lengths
 
const gdb_byte * statement_program_start {}
 
const gdb_byte * statement_program_end {}
 

Private Attributes

std::vector< const char * > m_include_dirs
 
std::vector< file_entrym_file_names
 
const char * m_comp_dir = nullptr
 

Detailed Description

Definition at line 71 of file line-header.h.

Constructor & Destructor Documentation

◆ line_header() [1/2]

line_header::line_header ( const char * comp_dir)
inlineexplicit

Definition at line 76 of file line-header.h.

◆ line_header() [2/2]

line_header::line_header ( sect_offset sect_off,
bool offset_in_dwz )
inline

Definition at line 82 of file line-header.h.

Member Function Documentation

◆ add_file_name()

void line_header::add_file_name ( const char * name,
dir_index d_index,
unsigned int mod_time,
unsigned int length )

◆ add_include_dir()

void line_header::add_include_dir ( const char * include_dir)

Definition at line 30 of file line-header.c.

References dwarf_line_debug, gdb_printf(), gdb_stdlog, m_include_dirs, and version.

◆ comp_dir()

const char * line_header::comp_dir ( ) const
inline

Definition at line 180 of file line-header.h.

References m_comp_dir.

◆ file_file_name()

std::string line_header::file_file_name ( const file_entry & fe) const

◆ file_name_at() [1/2]

file_entry * line_header::file_name_at ( file_name_index index)
inline

Definition at line 117 of file line-header.h.

References m_file_names, and version.

Referenced by lnp_state_machine::current_file(), file_name_at(), macro_start_file(), and new_symbol().

◆ file_name_at() [2/2]

const file_entry * line_header::file_name_at ( file_name_index index) const
inline

Definition at line 130 of file line-header.h.

References file_name_at().

◆ file_names() [1/2]

std::vector< file_entry > & line_header::file_names ( )
inline

◆ file_names() [2/2]

const std::vector< file_entry > & line_header::file_names ( ) const
inline

Definition at line 142 of file line-header.h.

References m_file_names.

◆ file_names_size()

int line_header::file_names_size ( ) const
inline

Definition at line 165 of file line-header.h.

References m_file_names.

Referenced by add_file_name(), is_valid_file_index(), and dwarf2_cu::setup_type_unit_groups().

◆ include_dir_at()

const char * line_header::include_dir_at ( dir_index index) const
inline

Definition at line 96 of file line-header.h.

References m_include_dirs, and version.

Referenced by dwarf2_start_subfile(), and file_entry::include_dir().

◆ is_valid_file_index()

bool line_header::is_valid_file_index ( int file_index) const
inline

Definition at line 108 of file line-header.h.

References file_names_size(), and version.

Referenced by file_file_name().

Member Data Documentation

◆ default_is_stmt

unsigned char line_header::default_is_stmt {}

Definition at line 154 of file line-header.h.

◆ line_base

int line_header::line_base {}

Definition at line 155 of file line-header.h.

Referenced by lnp_state_machine::handle_special_opcode().

◆ line_range

unsigned char line_header::line_range {}

◆ m_comp_dir

const char* line_header::m_comp_dir = nullptr
private

Definition at line 196 of file line-header.h.

Referenced by comp_dir(), and file_file_name().

◆ m_file_names

std::vector<file_entry> line_header::m_file_names
private

Definition at line 192 of file line-header.h.

Referenced by add_file_name(), file_name_at(), file_names(), file_names(), and file_names_size().

◆ m_include_dirs

std::vector<const char *> line_header::m_include_dirs
private

Definition at line 186 of file line-header.h.

Referenced by add_include_dir(), and include_dir_at().

◆ maximum_ops_per_instruction

unsigned char line_header::maximum_ops_per_instruction {}

◆ minimum_instruction_length

unsigned char line_header::minimum_instruction_length {}

◆ offset_in_dwz

unsigned line_header::offset_in_dwz

Definition at line 149 of file line-header.h.

Referenced by line_header_eq_voidp(), and line_header_hash().

◆ opcode_base

unsigned char line_header::opcode_base {}

◆ sect_off

sect_offset line_header::sect_off {}

Definition at line 146 of file line-header.h.

Referenced by line_header_eq_voidp(), and line_header_hash().

◆ standard_opcode_lengths

std::unique_ptr<unsigned char[]> line_header::standard_opcode_lengths

Definition at line 163 of file line-header.h.

Referenced by dwarf_decode_lines_1().

◆ statement_program_end

const gdb_byte * line_header::statement_program_end {}

Definition at line 170 of file line-header.h.

Referenced by dwarf_decode_lines_1().

◆ statement_program_start

const gdb_byte* line_header::statement_program_start {}

Definition at line 170 of file line-header.h.

Referenced by dwarf_decode_lines_1().

◆ version

unsigned short line_header::version {}

The documentation for this struct was generated from the following files: