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().