Commit Graph

190 Commits

Author SHA1 Message Date
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