Commit Graph

288 Commits

Author SHA1 Message Date
Eric Pouech 9f74ac4b3b dbghelp/dwarf: Handle DW_FORM_GNU_strp_alt (string located in an alternate DWZ file).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Eric Pouech 16d6656163 dbghelp/dwarf: Store a potential link to an external DWZ file in the dwarf2 module's information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Eric Pouech 0646e15665 winedbg: Show dwarf version(s) used for a module.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:55 +02:00
Eric Pouech f7377e5e65 dbghelp/dwarf: Add reference for a DIE to its CU.
Dwarf4 (and GNU extensions) support following debug info in
a) different CU
b) different ELF/PE files
So add a field from debug_info into the parent context unit

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:47 +02:00
Eric Pouech f0c9397459 dbghelp/dwarf: Detect out of section sibling DIE information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:42 +02:00
Eric Pouech 34b06f873a dbghelp/dwarf: Support DW_FORM_ref_addr in type DIE lookup using the new cross-CU DIE mechanisms.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:30 +02:00
Eric Pouech 8c22d665a8 dbghelp/dwarf: Add ability to get to a DIE in a different CU.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:25 +02:00
Eric Pouech 5e74e2b919 dbghelp: Split the parsing of a dwarf compilation unit in two phases.
- first phase just parse the header and do elementary checks
- second phase, actually load all DIEs in CU

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:10 +02:00
Eric Pouech f7244dc1a8 dbghelp/dwarf: Keep open and keep track of parse_context_t inside a module_context_t.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:07 +02:00
Eric Pouech b4d0dbd70b dbghelp/dwarf: Move the symt_cache from the unit context into the module context.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:01 +02:00
Eric Pouech a345a1cf84 dbghelp/dwarf: Separate CU handling from module handling.
Move out of dwarf2_parse_context_s structure information related to the
module and put them into the dwarf2_parse_module_context_s structure
(actually the dwarf2_parse_context should be named dwarf2_parse_cu_context
as it only related to a compilation unit).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:05:52 +02:00
Eric Pouech e87f3dd5b8 dbghelp/dwarf: Properly parse line number header for DWARF4 debug info.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech e28ec5a0fb dbghelp/dwarf: Detect auto reference between a dwarf's DIE and its type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech 3111daa222 dbghelp/dwarf: Validate that a string is in the section boundary before using it.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech 23f0ebbca6 dbghelp/dwarf: Add definitions of some GNU extensions for FORMs.
And return failure when encoutering them, as they are not supported yet.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech 12a778426d dbghelp/dwarf: Handle errors in dwarf2_fill_attr by returning a boolean.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech 40877456ea dbghelp/dwarf: Add support for FORM_exprloc.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech 6bd22a2f50 dbghelp/dwarf: Add support for FORM_loc_offset and FORM_sec_offset.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech 8241fe3877 dbghelp/dwarf: Correctly handle attributes according to 32bit or 64bit format.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech d78c09aa37 dbghelp/dwarf: Properly parse 32 vs bit 64bit entities.
Store the offset_size in dwarf2_cuhead_t.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech 92b3f1bf2a dbghelp/dwarf: Don't recompute location when said location is complex.
This was generating a global symbol instead of a local symbol.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:24:47 +02:00
Eric Pouech 7f2eb08304 dbghelp/dwarf: Initialize module's word_size at module load time.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:11 +02:00
Eric Pouech 7bb85884e0 dbghelp/dwarf: Pass dwarf2_cuhead_t to lookuploclist().
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:11 +02:00
Eric Pouech 0b7f8373e3 dbghelp/dwarf: Use word_size from cuhead_t.
Removed word_size from traverse context and make use of cuhead_t's
equivalent field instead

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:33:12 +02:00
Eric Pouech ff7ec0d829 dbghelp/dwarf: Pass word_size as a parameter to a couple of frame related functions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:56 +02:00
Eric Pouech bb5d9cf63d dbghelp/dwarf: Pass a parse_cuhead_t to compute_location().
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:43 +02:00
Eric Pouech d12c754806 dbghelp/dwarf: Pass dwarf2_cuhead_t for addr details to swallow_attribute.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:31 +02:00
Eric Pouech f4da45d9f5 dbghelp/dwarf: Add word size parameter to parse_addr() internal function.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:14 +02:00
Eric Pouech d648dcd3a6 dbghelp/dwarf: Share compilation unit header information.
Store cu information for dwarf content
- in each compiland
- and queue the unique one's inside the module.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:31:54 +02:00
Eric Pouech 1c8869e79a dbghelp/dwarf: Add dwarf2_cuhead_s structure to hold compilation unit parsing info.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:31:30 +02:00
Eric Pouech 31b6640e48 dbghelp/dwarf: Allow tweaking from env variable which DWARF version is to be loaded.
This is a temporary feature while implementing the required bits for Dwarf3
and Dwarf4 format.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:31:28 +02:00
Akihiro Sagawa 70032f8863 dbghelp: Get rid of useless while loop.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 19:34:12 +02:00
Eric Pouech cee52d5988 dbghelp: Get rid of useless symt_normalize_func().
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +02:00
Eric Pouech b9ebb3fb62 dbghelp: Use module->modulename instead of module->module.ModuleName in traces.
The former is truncated to 64 chars while the latter is truncated to
32 chars.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 17:58:29 +02:00
Eric Pouech ca00b056b8 dbghelp: Properly handle errors when reading first DIE in compilation unit.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:52 +02:00
Eric Pouech e05bac0fd5 dbghelp: Fix erroneous string manipulation when said string is empty.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:45 +02:00
Eric Pouech ebff1e8c9b dbghelp: Harden inspection of Dwarf line number information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:38 +02:00
Eric Pouech 0b84fa05a1 dbghelp: Don't call assert() on missing subprogram dwarf's information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:28 +02:00
Eric Pouech c8fede5efb dbghelp: Check correctness of type (esp. in case of unknown ones).
Since with the unknown type entry, we can end up with types which don't
match the expected symt->tag, we need to check before the conversions.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:14 +02:00
Eric Pouech ee3ea1e163 dbghelp: Added an unknown type in symt_cache for handling bad references to types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:06 +02:00
Eric Pouech e08b80a752 dbghelp: Mostly get rid of symt_cache in dwarf debug information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:57 +02:00
Eric Pouech c9b0483689 dbghelp: Always return a type in lookup_type, even in case of errors.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:42 +02:00
Eric Pouech 598e577475 dbghelp: Add a couple of more traces when querying an attribute's value.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:11 +02:00
Eric Pouech 0020265286 dbghelp: Add dwarf support of DW_FORM_ref_udata.
DW_FORM_ref_udata value is an offset from current unit (as the others
DW_FORM_ref[1,2,3,4] are)

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:48:37 +02:00
Eric Pouech 7790b395ce dbghelp: Fix dwarf2 subprogram handling.
Fix dwarf2_parse_subprogram_block when looking for inner information
to use the child's debug_info (not the lexical_block one!)

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:48:26 +02:00
Eric Pouech 35c45857ae dbghelp: Tidy up internals for array type.
Mainly remove hackish storage of information with negative value and
use a uniform min/count pair for all debug formats.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:49 +02:00
Eric Pouech 3ed209e0d9 dbghelp: Correctly store and report bitfield information.
Bitfield information must be stored relative to first byte
of underlying integral type. We were storing the information
always relative to the first containing byte.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Michael Stefaniuc e1e761d55f dbghelp: Remove superfluous casts to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Jacek Caban 6b1bc0beac dbghelp: Get rid of no longer needed HAVE_ZLIB checks.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 09:13:51 +02:00
Jacek Caban cf6bbb96d0 dbghelp: Build with ucrtbase.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban d483eb21cf dbghelp: Import zlib inflate code.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban 94ad6bd2e6 dbghelp: Fix misleading indentation warning.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:10 +02:00
Jacek Caban 5d8067c608 dbghelp: Pass module to map_dwarf_register.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Jacek Caban f803da493a dbghelp: Use LONG_PTR instead of long type.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Chip Davis 8000b5415d dbghelp: Look for .eh_fram if no .eh_frame is found.
lld produces these, because '.eh_frame' misses the eight-character limit
by one character, but '.eh_fram' does not. This allows it to avoid
producing a string table for this common section.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 15:59:55 +01:00
Zebediah Figura 86805c3d4b dbghelp/dwarf: Use debugstr_a() to trace external strings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 10:24:18 +02:00
Zebediah Figura 42745c068f dbghelp/dwarf: Use the word size of the target process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45490
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Zebediah Figura 3507615f35 dbghelp/dwarf: Allow get_context_reg() to handle different register sizes.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Zebediah Figura 9ae588a96e dbghelp/dwarf: Use the correct backend CPU in dwarf2_virtual_unwind().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Zebediah Figura 3ce304e601 dbghelp: Use WOW64_CONTEXT instead of CONTEXT for i386 backend.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
André Hentschel 3d482d3f9f dbghelp: Recompute location after fixing it.
Fix a assertion raised by every exception with newer clang versions (>3.7) at least on ARM64:
../../../dlls/dbghelp/dwarf.c:1641: void dwarf2_parse_variable(dwarf2_subprogram_t *, struct symt_block *, dwarf2_debug_info_t *): Assertion `subpgm->func' failed.

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 11:12:43 +02:00
Zebediah Figura 00e27186ed dbghelp: Silence a noisy FIXME.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-21 19:24:01 +02:00
Michael Stefaniuc 329b1763cb dbghelp: Use debugstr_a() to trace a string that can be NULL.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:03:19 +02:00
Nikolay Sivov ab27cb48fc dbghelp: Support CIE version 4 in parse_cie_details().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 10:41:07 +09:00
Nikolay Sivov 99f56bf78d dbghelp: Recognize DW_FORM_flag_present.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-26 10:53:11 +09:00
Qian Hong fd9d4b6232 dbghelp: Parse DW_TAG_const_type inside dwarf2_parse_subprogram.
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:57 +09:00
Qian Hong 62d6a09085 dbghelp: Parse DW_TAG_const_type inside dwarf2_parse_subprogram_block.
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:57 +09:00
Ken Thomases 83c1255f66 dbghelp: Fix mapping of DWARF register numbers on x86 OS X.
For backward compatibility with old, buggy GCC, Apple uses a different register
numbering scheme for the eh_frame section.

See, for reference, the comments near the top of this file from LLDB's source:
https://github.com/llvm-mirror/lldb/blob/release_36/source/Plugins/Process/Utility/RegisterContext_x86.h
2015-06-29 19:07:51 +09:00
Ken Thomases 500df92108 dbghelp: Add partial support for version 3 of DWARF CIEs which are generated by Clang/LLVM. 2015-06-25 14:29:38 +09:00
Grazvydas Ignotas 2fee06de49 dbghelp: Detect if return address information is missing. 2015-04-07 15:08:44 +09:00
David Heidelberg e6e50f6c47 dbghelp: Implement DW_TAG_unspecified_type. 2015-02-13 00:45:25 +09:00
David Heidelberger 4f18c053d3 winedbg: List Dwarf2 GNU extensions as TODO to workaround spam in debug. 2014-10-22 21:02:01 +09:00
David Heidelberger df5ff98b07 dbghelp: Implement DW_TAG_const_type in dwarf2_parse_udt_type. 2014-10-09 17:36:22 +02:00
Alistair Leslie-Hughes b816a8e629 dbghelp: Improve dwarf support. 2014-03-26 19:20:42 +01:00
Andrey Gusev e7f0a8a081 Assorted spelling and typos fixes. 2014-01-27 17:00:11 +01:00
Maarten Lankhorst 1dc3ef5188 dbghelp: Add support for zlib compressed debug sections.
Patch created with the assistance of Eric Pouech who helped diagnose
the problem, wrote some parts of this patch and reviewed this patch.
2013-01-30 20:10:44 +01:00
André Hentschel 89cb501927 dbghelp: Assorted fixes for shadow variables. 2012-04-23 12:58:36 +02:00
Eric Pouech 43f62c99b9 dbghelp: Fix a couple of traces in dwarf line info parsing. 2012-02-14 17:58:59 +01:00
Eric Pouech 0905afd0bc dbghelp: In traces for Dwarf/CFA engine, some offset are signed entities. 2012-02-14 17:58:58 +01:00
Eric Pouech 5201415626 dbghelp: In dwarf parser, when looking for FDE/CIE skip first O-length entries. 2012-02-14 17:58:56 +01:00
Eric Pouech 611d5e470d dbghelp: Correctly initialize module word_size field when only the eh_frame is present (and not compilation unit). 2012-02-14 17:58:54 +01:00
André Hentschel bfdc93cdc5 dbghelp: Remove superfluous PATH_MAX defines. 2011-10-11 19:44:33 +02:00
Frédéric Delanoy f932abf326 dlls: Assorted spelling fixes. 2011-08-01 18:26:27 +02:00
Austin English 6abf5fff9d dbghelp: Get rid of a couple unused variables. 2011-04-19 13:29:23 +02:00
Eric Pouech 44c52c16fd dbghelp: Silence DW_TAG_GNU_call_site objects. 2011-04-15 10:07:57 +02:00
Eric Pouech 9c09f14270 dbghelp: Extended CPU structure by adding a default register number for frame. 2011-04-12 12:49:53 +02:00
Eric Pouech 8fecef8757 dbghelp: Force void type in const declaration, when subtype cannot be found. 2011-04-12 12:49:40 +02:00
Eric Pouech 6a60266575 dbghelp: In const types, force 'void' type when none is found. 2011-03-28 17:24:50 +02:00
Eric Pouech 96a38c93d5 dbghelp: Return proper null value when lookup_type fails. 2011-03-28 17:24:48 +02:00
Eric Pouech 4220cd6608 dbghelp: When parsing .debug_line section in dwarf debug info, protect against out of bounds indexes. 2011-03-28 17:08:52 +02:00
Eric Pouech 6d7c2e02d8 dbghelp: In dwarf debug functions, use register name instead of register value. 2011-03-14 13:20:24 +01:00
Eric Pouech a26ed12676 dbghelp: When managing DW_OP_deref_size, always ensure we read the size parameter. 2011-03-14 13:20:15 +01:00
Eric Pouech 9156501084 dbghelp: In dwarf unwinder, fix the last valid IP value to be used for a given line of Call Frame Information. 2011-03-14 13:19:05 +01:00
Joris Huizer a2793d62ad dbghelp: dwarf2_get_cpp_name: fix off-by-one error. 2011-03-10 12:55:17 +01:00
Eric Pouech d52e42e985 dbghelp: Quirk for supporting anonymous UDT (class, struct, enum...). 2011-03-09 13:52:22 +01:00
Eric Pouech e21062f9fa dbghelp: When parsing a subprogram in dwarf debug format, properly handle scoping for functions with both declaration & definition. 2011-03-09 13:52:14 +01:00
Eric Pouech a575351b30 dbghelp: Add support for parsing methods (in C++ classes) for dwarf debug format. 2011-03-09 13:52:03 +01:00
Eric Pouech 395d734d33 dbghelp: Store the compiland into the parse context. 2011-03-09 13:51:55 +01:00
Eric Pouech 0d4a9757c2 dbghelp: In dwarf debug format, correctly manage the DW_AT_specification attribute. 2011-03-09 13:51:46 +01:00
Eric Pouech 0035d5df3f dbghelp: Add support for namespace support out of dwarf debug format. 2011-03-09 13:51:26 +01:00