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