GDB (xrefs)
Loading...
Searching...
No Matches
Functions
macro.c File Reference
#include "defs.h"
#include "dwarf2/read.h"
#include "dwarf2/leb.h"
#include "dwarf2/expr.h"
#include "dwarf2/line-header.h"
#include "dwarf2/section.h"
#include "dwarf2/macro.h"
#include "dwarf2/dwz.h"
#include "buildsym.h"
#include "macrotab.h"
#include "complaints.h"
#include "objfiles.h"

Go to the source code of this file.

Functions

static void dwarf2_macro_malformed_definition_complaint (const char *arg1)
 
static struct macro_source_filemacro_start_file (buildsym_compunit *builder, int file, int line, struct macro_source_file *current_file, const struct line_header *lh)
 
static const char * consume_improper_spaces (const char *p, const char *body)
 
static void parse_macro_definition (struct macro_source_file *file, int line, const char *body)
 
static const gdb_byte * skip_form_bytes (bfd *abfd, const gdb_byte *bytes, const gdb_byte *buffer_end, enum dwarf_form form, unsigned int offset_size, const struct dwarf2_section_info *section)
 
static const gdb_byte * skip_unknown_opcode (unsigned int opcode, const gdb_byte **opcode_definitions, const gdb_byte *mac_ptr, const gdb_byte *mac_end, bfd *abfd, unsigned int offset_size, const struct dwarf2_section_info *section)
 
static const gdb_byte * dwarf_parse_macro_header (const gdb_byte **opcode_definitions, bfd *abfd, const gdb_byte *mac_ptr, unsigned int *offset_size, int section_is_gnu)
 
static void dwarf_decode_macro_bytes (dwarf2_per_objfile *per_objfile, buildsym_compunit *builder, bfd *abfd, const gdb_byte *mac_ptr, const gdb_byte *mac_end, struct macro_source_file *current_file, const struct line_header *lh, const struct dwarf2_section_info *section, int section_is_gnu, int section_is_dwz, unsigned int offset_size, struct dwarf2_section_info *str_section, struct dwarf2_section_info *str_offsets_section, gdb::optional< ULONGEST > str_offsets_base, htab_t include_hash, struct dwarf2_cu *cu)
 
void dwarf_decode_macros (dwarf2_per_objfile *per_objfile, buildsym_compunit *builder, const dwarf2_section_info *section, const struct line_header *lh, unsigned int offset_size, unsigned int offset, struct dwarf2_section_info *str_section, struct dwarf2_section_info *str_offsets_section, gdb::optional< ULONGEST > str_offsets_base, int section_is_gnu, struct dwarf2_cu *cu)
 

Function Documentation

◆ consume_improper_spaces()

static const char * consume_improper_spaces ( const char *  p,
const char *  body 
)
static

Definition at line 89 of file macro.c.

References complaint.

Referenced by parse_macro_definition().

◆ dwarf2_macro_malformed_definition_complaint()

static void dwarf2_macro_malformed_definition_complaint ( const char *  arg1)
static

Definition at line 41 of file macro.c.

References complaint.

Referenced by parse_macro_definition().

◆ dwarf_decode_macro_bytes()

static void dwarf_decode_macro_bytes ( dwarf2_per_objfile per_objfile,
buildsym_compunit builder,
bfd *  abfd,
const gdb_byte *  mac_ptr,
const gdb_byte *  mac_end,
struct macro_source_file current_file,
const struct line_header lh,
const struct dwarf2_section_info section,
int  section_is_gnu,
int  section_is_dwz,
unsigned int  offset_size,
struct dwarf2_section_info str_section,
struct dwarf2_section_info str_offsets_section,
gdb::optional< ULONGEST >  str_offsets_base,
htab_t  include_hash,
struct dwarf2_cu cu 
)
static

◆ dwarf_decode_macros()

void dwarf_decode_macros ( dwarf2_per_objfile per_objfile,
buildsym_compunit builder,
const dwarf2_section_info section,
const struct line_header lh,
unsigned int  offset_size,
unsigned int  offset,
struct dwarf2_section_info str_section,
struct dwarf2_section_info str_offsets_section,
gdb::optional< ULONGEST >  str_offsets_base,
int  section_is_gnu,
struct dwarf2_cu cu 
)

◆ dwarf_parse_macro_header()

static const gdb_byte * dwarf_parse_macro_header ( const gdb_byte **  opcode_definitions,
bfd *  abfd,
const gdb_byte *  mac_ptr,
unsigned int *  offset_size,
int  section_is_gnu 
)
static

◆ macro_start_file()

static struct macro_source_file * macro_start_file ( buildsym_compunit builder,
int  file,
int  line,
struct macro_source_file current_file,
const struct line_header lh 
)
static

◆ parse_macro_definition()

static void parse_macro_definition ( struct macro_source_file file,
int  line,
const char *  body 
)
static

◆ skip_form_bytes()

static const gdb_byte * skip_form_bytes ( bfd *  abfd,
const gdb_byte *  bytes,
const gdb_byte *  buffer_end,
enum dwarf_form  form,
unsigned int  offset_size,
const struct dwarf2_section_info section 
)
static

◆ skip_unknown_opcode()

static const gdb_byte * skip_unknown_opcode ( unsigned int  opcode,
const gdb_byte **  opcode_definitions,
const gdb_byte *  mac_ptr,
const gdb_byte *  mac_end,
bfd *  abfd,
unsigned int  offset_size,
const struct dwarf2_section_info section 
)
static

Definition at line 335 of file macro.c.

References complaint, read_unsigned_leb128(), and skip_form_bytes().

Referenced by dwarf_decode_macro_bytes(), and dwarf_decode_macros().