Eric Pouech
a655b14340
dbghelp: Pass .debug_loc section information to dwarf.
2006-06-20 11:52:29 +02:00
Eric Pouech
d6bd8661ff
dbghelp: Dwarf & parse context.
...
- split the data structures for walking through the data (abbrev,
cu... -> traverse_ctx) and data manipulation/loading (-> parse_ctx)
- created dwarf2_parse_compilation_unit() for clarity
- added section structure to gather information about all ELF sections
related to all dwarf2 sections (more to come)
2006-06-20 11:52:01 +02:00
Eric Pouech
298198c318
dbghelp: Dwarf & udt members.
...
- correctly set size & offsets for regular udt members
- first shot at bitfields for udt members
2006-06-20 11:51:34 +02:00
Eric Pouech
a2b4432107
dbghelp: Dwarf & function blocks.
...
- properly handling function blocks
- handling of variables inside of blocks (either on stack, or in a
register, or relative to the frame register if any)
- added dwarf2_subprogram_t structure so that we can pass around
relevant information for function parsing
2006-06-20 11:51:16 +02:00
Eric Pouech
7476f8c840
dbghelp: dwarf: Properly handle function formal parameters.
2006-06-20 11:50:39 +02:00
Eric Pouech
df179e9bf1
dbghelp: Dwarf & global symbols.
...
Offset the addresses for global symbols (func & variables) by the base
image of the corresponding module.
2006-06-20 11:47:16 +02:00
Eric Pouech
686237e043
dbghelp: dwarf: Added support for function labels.
2006-06-20 11:46:51 +02:00
Eric Pouech
6cee154b23
dbghelp: Proper support for nested types definitions (even in C).
2006-06-20 11:46:18 +02:00
Eric Pouech
468956f4cd
dbghelp: Dwarf - function scheme.
...
- various fixes to follow better the functions definition (nesting,
subroutines...)
- don't directly parse types referenced by a subprogram, they'll be
loaded anyway when needed
2006-06-20 11:45:48 +02:00
Eric Pouech
ae67326863
dbghelp: Dwarf & locations.
...
- put back the block attribute parsing
- added dwarf2_compute_location to properly decode a location (at
least starting it)
2006-06-20 11:45:33 +02:00
Eric Pouech
6d61cc0c7b
dbghelp: Dwarf compiland.
...
- rewrote all entities loading to make use of new dwarf2_debug_info_t scheme
- commented out the location parsing which is an ugly hack
2006-06-20 11:43:17 +02:00
Eric Pouech
ec8328d1b1
dbghelp: Dwarf & new scheme.
...
- add some helpers for the rewrite
- module is now part of the dwarf2_parse_context
2006-06-20 11:42:45 +02:00
Eric Pouech
2301d1a3d0
dbghelp: Dwarf & type references.
...
Removed unused type references scheme that we'll implement using a
different scheme in next patches.
2006-06-20 11:41:55 +02:00
Eric Pouech
3bd7d2976e
dbghelp: Dwarf merge parsing of UDT.
...
Merge into a single function the struct/class/union parsing.
2006-06-20 11:41:36 +02:00
Eric Pouech
c571b8506e
dbghelp: Dwarf & debug info entries.
...
- now loading the debug info entries into specific structures
- this will help writing new functions
- this will allow handling of forward references
2006-06-20 11:41:15 +02:00
Eric Pouech
b51cd5750f
dbghelp: Dwarf abbrev table is now a sparse array.
...
- added a pool for memory allocation when parsing a compilation unit
- now using the brand new sparse array for the abbrev table
2006-06-20 11:40:55 +02:00
Eric Pouech
b319600130
dbghelp: Transform a few TRACEs into WARNs (especially for unhandled stuff).
2006-06-20 11:39:58 +02:00
Eric Pouech
474c5cc2a5
dbghelp: Remove the unneeded level attribute while parsing.
2006-06-20 11:39:33 +02:00
Eric Pouech
57c662f4d1
dbghelp: Moved all Dwarf standard definitions into dwarf.h file.
2006-06-20 11:38:49 +02:00
Eric Pouech
00cf2da5d6
dbghelp: Dwarf & typedefs.
...
- removed lookup for name for the const modifier
- hard wire dwarf-reference to our pointer types
2006-06-20 11:37:50 +02:00
Eric Pouech
d396ec31f9
dbghelp: Dwarf & module's symtype.
...
- we should set the module's symtype upon success
- removed unneeded bRet variable
2006-06-20 11:37:28 +02:00
Eric Pouech
24743774e8
dbghelp: Dwarf2 & AT_byte_size.
...
- AT_byte_size can be larger than a single byte (especially for enums)
- added missing enumeration type parsing
2006-06-20 11:37:14 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Eric Pouech
34636b026b
dbghelp: Added type for array index.
...
- added type for array index
- correctly parsing array index type in stabs, Dwarf2 and MSC formats
- fixed SyGetTypeInfo accordingly
2006-03-06 11:42:44 +01:00
Eric Pouech
be849decf6
dbghelp: First stab at supporting calling convention in function signature.
2005-12-19 18:22:54 +01:00
Eric Pouech
809edabfbe
Const correctness fixes.
2005-06-27 09:53:46 +00:00
Mike McCormack
f55de5cf35
Fix warnings exposed by -Wmissing-declarations and -Wwrite-strings.
2005-06-09 09:46:39 +00:00
Raphael Junqueira
54acd10dfe
- fixme when unexpected children found
...
- no more dwarf2_check_sibling errors (ie perfect parsing count) :)
- dwarf2_parse_inlined_subroutine, dwarf2_parse_variable
2005-05-23 09:50:15 +00:00
Raphael Junqueira
79804db4e2
- better traces
...
- handle inclusion "levels"
- better parsing of subprogram, typedef, pointer, ... entries
- arrays, enums, const_type, reference_type parsing
- checks parsing cursors errors (when sibling value available)
- more utilities functions (dwarf2_parse_attr_as_data)
2005-05-20 09:41:10 +00:00
Raphael Junqueira
34955b9578
- basic parsing of subprogram, typedef, pointer, class, struct, enum
...
entries
- indirect strings support
- utilities functions (parse_byte, parse_u2, ...)
2005-05-19 11:14:39 +00:00
Raphael Junqueira
86cdb432c5
- add some Dwarf2 enums
...
- abbrev entries parser (with attributes)
- debug info parser skeleton (see big tag swith in dwarf2_parse).
2005-05-18 09:46:12 +00:00
Raphael Junqueira
83f001b6c7
Beginning of dbghelp dwarf2 support:
...
- add elf_module entry for dwarf2_parse
- stubbed dwarf2_parse in new dwarf.c file
2005-05-17 14:32:55 +00:00