OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.18.50/] [binutils/] [dwarf.h] - Blame information for rev 156

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
/* dwwrf.h - DWARF support header file
2
   Copyright 2005, 2007, 2008
3
   Free Software Foundation, Inc.
4
 
5
   This file is part of GNU Binutils.
6
 
7
   This program is free software; you can redistribute it and/or modify
8
   it under the terms of the GNU General Public License as published by
9
   the Free Software Foundation; either version 3 of the License, or
10
   (at your option) any later version.
11
 
12
   This program is distributed in the hope that it will be useful,
13
   but WITHOUT ANY WARRANTY; without even the implied warranty of
14
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
   GNU General Public License for more details.
16
 
17
   You should have received a copy of the GNU General Public License
18
   along with this program; if not, write to the Free Software
19
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20
   MA 02110-1301, USA.  */
21
 
22
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
23
/* We can't use any bfd types here since readelf may define BFD64 and
24
   objdump may not.  */
25
typedef unsigned long long dwarf_vma;
26
typedef unsigned long long dwarf_size_type;
27
#else
28
typedef unsigned long dwarf_vma;
29
typedef unsigned long dwarf_size_type;
30
#endif
31
 
32
struct dwarf_section
33
{
34
  const char *name;
35
  unsigned char *start;
36
  dwarf_vma address;
37
  dwarf_size_type size;
38
};
39
 
40
/* A structure containing the name of a debug section
41
   and a pointer to a function that can decode it.  */
42
struct dwarf_section_display
43
{
44
  struct dwarf_section section;
45
  int (*display) (struct dwarf_section *, void *);
46
  unsigned int relocate : 1;
47
  unsigned int eh_frame : 1;
48
};
49
 
50
enum dwarf_section_display_enum {
51
  abbrev = 0,
52
  aranges,
53
  frame,
54
  info,
55
  line,
56
  pubnames,
57
  eh_frame,
58
  macinfo,
59
  str,
60
  loc,
61
  pubtypes,
62
  ranges,
63
  static_func,
64
  static_vars,
65
  types,
66
  weaknames,
67
  max
68
};
69
 
70
extern struct dwarf_section_display debug_displays [];
71
 
72
/* This structure records the information that
73
   we extract from the.debug_info section.  */
74
typedef struct
75
{
76
  unsigned int   pointer_size;
77
  unsigned long  cu_offset;
78
  unsigned long  base_address;
79
  /* This is an array of offsets to the location list table.  */
80
  unsigned long *loc_offsets;
81
  int           *have_frame_base;
82
  unsigned int   num_loc_offsets;
83
  unsigned int   max_loc_offsets;
84
  unsigned long *range_lists;
85
  unsigned int   num_range_lists;
86
  unsigned int   max_range_lists;
87
}
88
debug_info;
89
 
90
extern dwarf_vma (*byte_get) (unsigned char *, int);
91
extern dwarf_vma byte_get_little_endian (unsigned char *, int);
92
extern dwarf_vma byte_get_big_endian (unsigned char *, int);
93
 
94
extern int eh_addr_size;
95
 
96
extern int do_debug_info;
97
extern int do_debug_abbrevs;
98
extern int do_debug_lines;
99
extern int do_debug_lines_decoded;
100
extern int do_debug_pubnames;
101
extern int do_debug_aranges;
102
extern int do_debug_ranges;
103
extern int do_debug_frames;
104
extern int do_debug_frames_interp;
105
extern int do_debug_macinfo;
106
extern int do_debug_str;
107
extern int do_debug_loc;
108
 
109
extern void init_dwarf_regnames (unsigned int);
110
 
111
extern int load_debug_section (enum dwarf_section_display_enum,
112
                               void *);
113
extern void free_debug_section (enum dwarf_section_display_enum);
114
 
115
extern void free_debug_memory (void);
116
 
117
void *cmalloc (size_t, size_t);
118
void *xcmalloc (size_t, size_t);
119
void *xcrealloc (void *, size_t, size_t);
120
 
121
void error (const char *, ...) ATTRIBUTE_PRINTF_1;
122
void warn (const char *, ...) ATTRIBUTE_PRINTF_1;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.