ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dwarf.c File Reference
#include "config.h"
#include <sys/types.h>
#include <fcntl.h>
#include <limits.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <assert.h>
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "oleauto.h"
#include "dbghelp_private.h"
#include "image_private.h"
#include "wine/debug.h"
#include "dwarf.h"

Go to the source code of this file.

Data Structures

struct  dwarf2_abbrev_entry_attr_t
struct  dwarf2_abbrev_entry_t
struct  dwarf2_block
struct  attribute
struct  dwarf2_debug_info_t
struct  dwarf2_section_t
struct  dwarf2_traverse_context_t
struct  dwarf2_parse_context_t
struct  dwarf2_module_info_s
struct  dwarf2_subprogram_t
struct  frame_state
struct  frame_info

Defines

#define NONAMELESSUNION
#define sc_void   0
#define sc_int1   1
#define sc_int2   2
#define sc_int4   3
#define sc_num   4
#define loc_dwarf2_location_list   (loc_user + 0)
#define loc_dwarf2_block   (loc_user + 1)
#define Wine_DW_no_register   0x7FFFFFFF
#define NB_FRAME_REGS   64
#define MAX_SAVED_STATES   16

Enumerations

enum  dwarf2_sections {
  section_debug, section_string, section_abbrev, section_line,
  section_ranges, section_max
}
enum  reg_rule {
  RULE_UNSET, RULE_UNDEFINED, RULE_SAME, RULE_CFA_OFFSET,
  RULE_OTHER_REG, RULE_EXPRESSION, RULE_VAL_EXPRESSION
}

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (dbghelp_dwarf)
static struct symtdwarf2_parse_enumeration_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *entry)
static unsigned char dwarf2_get_byte (const unsigned char *ptr)
static unsigned char dwarf2_parse_byte (dwarf2_traverse_context_t *ctx)
static unsigned short dwarf2_get_u2 (const unsigned char *ptr)
static unsigned short dwarf2_parse_u2 (dwarf2_traverse_context_t *ctx)
static unsigned long dwarf2_get_u4 (const unsigned char *ptr)
static unsigned long dwarf2_parse_u4 (dwarf2_traverse_context_t *ctx)
static DWORD64 dwarf2_get_u8 (const unsigned char *ptr)
static DWORD64 dwarf2_parse_u8 (dwarf2_traverse_context_t *ctx)
static unsigned long dwarf2_get_leb128_as_unsigned (const unsigned char *ptr, const unsigned char **end)
static unsigned long dwarf2_leb128_as_unsigned (dwarf2_traverse_context_t *ctx)
static long dwarf2_get_leb128_as_signed (const unsigned char *ptr, const unsigned char **end)
static long dwarf2_leb128_as_signed (dwarf2_traverse_context_t *ctx)
static unsigned dwarf2_leb128_length (const dwarf2_traverse_context_t *ctx)
static unsigned long dwarf2_get_addr (const unsigned char *ptr, unsigned word_size)
static unsigned long dwarf2_parse_addr (dwarf2_traverse_context_t *ctx)
static const chardwarf2_debug_traverse_ctx (const dwarf2_traverse_context_t *ctx)
static const chardwarf2_debug_ctx (const dwarf2_parse_context_t *ctx)
static const chardwarf2_debug_di (const dwarf2_debug_info_t *di)
static dwarf2_abbrev_entry_tdwarf2_abbrev_table_find_entry (const struct sparse_array *abbrev_table, unsigned long entry_code)
static void dwarf2_parse_abbrev_set (dwarf2_traverse_context_t *abbrev_ctx, struct sparse_array *abbrev_table, struct pool *pool)
static void dwarf2_swallow_attribute (dwarf2_traverse_context_t *ctx, const dwarf2_abbrev_entry_attr_t *abbrev_attr)
static void dwarf2_fill_attr (const dwarf2_parse_context_t *ctx, const dwarf2_abbrev_entry_attr_t *abbrev_attr, const unsigned char *data, struct attribute *attr)
static BOOL dwarf2_find_attribute (const dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di, unsigned at, struct attribute *attr)
static void dwarf2_load_one_entry (dwarf2_parse_context_t *, dwarf2_debug_info_t *)
static unsigned dwarf2_map_register (int regno)
static enum location_error compute_location (dwarf2_traverse_context_t *ctx, struct location *loc, HANDLE hproc, const struct location *frame)
static BOOL dwarf2_compute_location_attr (dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di, unsigned long dw, struct location *loc, const struct location *frame)
static struct symtdwarf2_lookup_type (dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di)
static const chardwarf2_get_cpp_name (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, const char *name)
static BOOL dwarf2_read_range (dwarf2_parse_context_t *ctx, const dwarf2_debug_info_t *di, unsigned long *plow, unsigned long *phigh)
static BOOL dwarf2_read_one_debug_info (dwarf2_parse_context_t *ctx, dwarf2_traverse_context_t *traverse, dwarf2_debug_info_t *parent_di, dwarf2_debug_info_t **pdi)
static struct vectordwarf2_get_di_children (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_base_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_typedef (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_pointer_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_array_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_const_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_volatile_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_reference_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static void dwarf2_parse_udt_member (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, struct symt_udt *parent)
static struct symtdwarf2_parse_subprogram (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_udt_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, enum UdtKind udt)
static void dwarf2_parse_enumerator (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di, struct symt_enum *parent)
static void dwarf2_parse_variable (dwarf2_subprogram_t *subpgm, struct symt_block *block, dwarf2_debug_info_t *di)
static void dwarf2_parse_subprogram_label (dwarf2_subprogram_t *subpgm, const dwarf2_debug_info_t *di)
static void dwarf2_parse_subprogram_block (dwarf2_subprogram_t *subpgm, struct symt_block *parent_block, dwarf2_debug_info_t *di)
static void dwarf2_parse_inlined_subroutine (dwarf2_subprogram_t *subpgm, struct symt_block *parent_block, dwarf2_debug_info_t *di)
static struct symtdwarf2_parse_subroutine_type (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static void dwarf2_parse_namespace (dwarf2_parse_context_t *ctx, dwarf2_debug_info_t *di)
static void dwarf2_set_line_number (struct module *module, unsigned long address, const struct vector *v, unsigned file, unsigned line)
static BOOL dwarf2_parse_line_numbers (const dwarf2_section_t *sections, dwarf2_parse_context_t *ctx, const char *compile_dir, unsigned long offset)
static BOOL dwarf2_parse_compilation_unit (const dwarf2_section_t *sections, struct module *module, const struct elf_thunk_area *thunks, dwarf2_traverse_context_t *mod_ctx, unsigned long load_offset)
static BOOL dwarf2_lookup_loclist (const struct module_format *modfmt, const BYTE *start, unsigned long ip, dwarf2_traverse_context_t *lctx)
static enum location_error loc_compute_frame (struct process *pcs, const struct module_format *modfmt, const struct symt_function *func, DWORD_PTR ip, struct location *frame)
static ULONG_PTR dwarf2_parse_augmentation_ptr (dwarf2_traverse_context_t *ctx, unsigned char encoding)
static BOOL parse_cie_details (dwarf2_traverse_context_t *ctx, struct frame_info *info)
static BOOL dwarf2_get_cie (unsigned long addr, struct module *module, DWORD_PTR delta, dwarf2_traverse_context_t *fde_ctx, dwarf2_traverse_context_t *cie_ctx, struct frame_info *info, BOOL in_eh_frame)
static int valid_reg (ULONG_PTR reg)
static void execute_cfa_instructions (dwarf2_traverse_context_t *ctx, ULONG_PTR last_ip, struct frame_info *info)
static ULONG_PTR get_context_reg (CONTEXT *context, ULONG_PTR dw_reg)
static void set_context_reg (struct cpu_stack_walk *csw, CONTEXT *context, ULONG_PTR dw_reg, ULONG_PTR val, BOOL isdebuggee)
static void copy_context_reg (CONTEXT *dstcontext, ULONG_PTR dwregdst, CONTEXT *srccontext, ULONG_PTR dwregsrc)
static ULONG_PTR eval_expression (const struct module *module, struct cpu_stack_walk *csw, const unsigned char *zp, CONTEXT *context)
static void apply_frame_state (const struct module *module, struct cpu_stack_walk *csw, CONTEXT *context, struct frame_state *state, ULONG_PTR *cfa)
BOOL dwarf2_virtual_unwind (struct cpu_stack_walk *csw, ULONG_PTR ip, CONTEXT *context, ULONG_PTR *cfa)
static void dwarf2_location_compute (struct process *pcs, const struct module_format *modfmt, const struct symt_function *func, struct location *loc)
static void dwarf2_module_remove (struct process *pcs, struct module_format *modfmt)
static BOOL dwarf2_init_section (dwarf2_section_t *section, struct image_file_map *fmap, const char *sectname, struct image_section_map *ism)
BOOL dwarf2_parse (struct module *module, unsigned long load_offset, const struct elf_thunk_area *thunks, struct image_file_map *fmap)

Generated on Fri May 25 2012 05:06:44 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.