GEL  0.99
dwarf_line.c File Reference
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <gel/util.h>
#include <gel/prog.h>
#include "gel/dwarf_line.h"
#include <gel/gel_elf.h>
#include <gel/error.h>
#include "debug.h"
#include "gel_mem.h"

Macros

#define TLINE(c)
 
#define ITRACE(c)
 
#define OTRACE(c)
 
#define LTRACE(c)
 
#define DW_LNS_copy   1
 
#define DW_LNS_advance_pc   2
 
#define DW_LNS_advance_line   3
 
#define DW_LNS_set_file   4
 
#define DW_LNS_set_column   5
 
#define DW_LNS_negate_stmt   6
 
#define DW_LNS_set_basic_block   7
 
#define DW_LNS_const_add_pc   8
 
#define DW_LNS_fixed_advance_pc   9
 
#define DW_LNS_set_prologue_end   10 /* DWARF-3 */
 
#define DW_LNS_set_epilogue_begin   11 /* DWARF-3 */
 
#define DW_LNS_set_isa   12 /* DWARF-3 */
 
#define DW_LNE_end_sequence   1
 
#define DW_LNE_set_address   2
 
#define DW_LNE_define_file   3
 
#define DW_LNE_set_discriminator   4 /* DWARF-4 */
 
#define EXPAND_CNT(exp)   ((exp).cnt)
 
#define EXPAND_GET(t, exp, i)   (((t *)((exp).tab))[i])
 
#define EXPAND_ADD(t, exp, v)
 

Typedefs

typedef struct chunk_t chunk_t
 
typedef struct pool_t pool_t
 
typedef struct line_t line_t
 
typedef struct expand_t expand_t
 
typedef struct local_t local_t
 

Functions

dwarf_line_map_tdwarf_new_line_map (gel_file_t *file, gel_sect_t *section)
 

Macro Definition Documentation

◆ DW_LNE_define_file

#define DW_LNE_define_file   3

◆ DW_LNE_end_sequence

#define DW_LNE_end_sequence   1

◆ DW_LNE_set_address

#define DW_LNE_set_address   2

◆ DW_LNE_set_discriminator

#define DW_LNE_set_discriminator   4 /* DWARF-4 */

◆ DW_LNS_advance_line

#define DW_LNS_advance_line   3

◆ DW_LNS_advance_pc

#define DW_LNS_advance_pc   2

◆ DW_LNS_const_add_pc

#define DW_LNS_const_add_pc   8

◆ DW_LNS_copy

#define DW_LNS_copy   1

◆ DW_LNS_fixed_advance_pc

#define DW_LNS_fixed_advance_pc   9

◆ DW_LNS_negate_stmt

#define DW_LNS_negate_stmt   6

◆ DW_LNS_set_basic_block

#define DW_LNS_set_basic_block   7

◆ DW_LNS_set_column

#define DW_LNS_set_column   5

◆ DW_LNS_set_epilogue_begin

#define DW_LNS_set_epilogue_begin   11 /* DWARF-3 */

◆ DW_LNS_set_file

#define DW_LNS_set_file   4

◆ DW_LNS_set_isa

#define DW_LNS_set_isa   12 /* DWARF-3 */

◆ DW_LNS_set_prologue_end

#define DW_LNS_set_prologue_end   10 /* DWARF-3 */

◆ EXPAND_ADD

#define EXPAND_ADD (   t,
  exp,
 
)
Value:
{ \
if((exp).cnt >= (exp).max && expand_expand(&(exp), (exp).max * 2)) \
return GEL_ERESOURCE; \
EXPAND_GET(t, exp, (exp).cnt) = v; \
(exp).cnt++; \
}
#define GEL_ERESOURCE
Definition: error.h:36

◆ EXPAND_CNT

#define EXPAND_CNT (   exp)    ((exp).cnt)

◆ EXPAND_GET

#define EXPAND_GET (   t,
  exp,
 
)    (((t *)((exp).tab))[i])

◆ ITRACE

#define ITRACE (   c)

◆ LTRACE

#define LTRACE (   c)

◆ OTRACE

#define OTRACE (   c)

◆ TLINE

#define TLINE (   c)

Typedef Documentation

◆ chunk_t

typedef struct chunk_t chunk_t

◆ expand_t

typedef struct expand_t expand_t

◆ line_t

typedef struct line_t line_t

◆ local_t

typedef struct local_t local_t

◆ pool_t

typedef struct pool_t pool_t