Commit Graph

1262 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes 48a74277f5 dbghelp: Support S_HEAPALLOCSITE entry.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 19:01:27 +02:00
Michael Stefaniuc 594a5878d0 dbghelp: Fix the spelling of a parameter.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-04 23:06:03 +02:00
Alexandre Julliard 7ac6cdfa00 configure: Use pkg-config to check for zlib.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-04 19:23:11 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Piotr Caban 061f65f9aa dbghelp: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:50:40 +02:00
Alexandre Julliard 3d6febc997 include: Get rid of the DPRINTF() macro.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:34:44 +02:00
Francois Gouget 5651c9dd28 dbghelp: Make minidump_add_memory64_block() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:11:53 +01:00
Francois Gouget ab71398eb0 dbghelp: Spelling fixes in a couple of comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-14 16:11:53 +01:00
Eric Bissonnette b90bbcbe75 dbghelp: Support full memory dumps.
Add support of flag MinidumpWithFullMemory in function
MinidumpWriteDump. A Memory64ListStream is added to the minidump
streams and all memory regions of the process with MEM_COMMIT state
are written to the last part of the minidump file.

Signed-off-by: Eric Bissonnette <ebisso.dev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 19:40:11 +01:00
Francois Gouget edcff4046c dbghelp: Make symt_get_best_at() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 15:51:18 +01:00
Zebediah Figura 797f93be65 dbghelp: Avoid using inline assembly in have_x86cpuid().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 10:43:37 +01:00
Zebediah Figura b7f3e6ba31 dbghelp: Avoid using inline assembly in do_x86cpuid().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 10:43:37 +01:00
Huw Davies 74f425e70d dbghelp: Fix build failure on macOS.
This was caused by commit 8d096fb5e2.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 19:32:15 +01:00
Andreas Maier d614ac4671 dbghelp: SymFromAddr: Handle 2 or more symbols at the same address correct.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:29:37 +01:00
Andreas Maier 6c3418914d dbghelp: Set last error for SymGetModuleBase-calls to ERROR_MOD_NOT_FOUND.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:29:29 +01:00
Andreas Maier 8d096fb5e2 dbghelp: Set correct values in symt_fill_sym_info (SYMBOL_INFO).
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:29:26 +01:00
Andreas Maier dbcf9728fa dbghelp: Use correct record in codeview_snarf_public.
Use public_vx iststead of data_vx for public symbols.

Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:29:20 +01:00
Zebediah Figura 63ef9854fb dbghelp: Only check process architecture if we are actually given a process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45407
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Alexandre Julliard 3e1a562901 dbghelp: Return a Unicode path in path_find_symbol_file().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 14:24:58 +01:00
Andreas Maier 6030ee5f6f dbghelp: Search for debug files in module path too.
Signed-off-by: Andreas Maier <andy1.m@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 14:15:51 +01:00
Alex Henrie f333c4a210 dbghelp: Turn variable 'code' into a static constant.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:52 +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
Józef Kucia b3717a92d1 dbghelp: Fix memory leak in SymInitializeW() (Coverity).
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 19:22:02 +02:00
Francois Gouget 44598d335e dbghelp/tests: Make stack_walk_thread() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 20:01:56 +02:00
Zebediah Figura ca9b1d0077 dbghelp/msc: Use the word size of the target process.
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 b7defd2946 dbghelp: Correctly determine the dyld image info address.
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 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
Ken Thomases 3ff8fa7ed1 dbghelp: Fix loading of Mach-O load commands for 64-bit binaries.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 08:41:22 +02:00
Michael Stefaniuc 053a7e225c dbghelp: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 00:18:02 +02:00
Zebediah Figura 8dc0d36717 dbghelp/tests: Add a simple test for StackWalk64().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-05 19:57:16 +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
André Hentschel 86864486be dbghelp: Map SIMD dwarf registers on ARM64.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 22:51:12 +02:00
Zebediah Figura 7d441808ac dbghelp: Read the stabs nlist entry corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 12:56:48 +02:00
Zebediah Figura 1dc9bb70cd dbghelp: Translate the 32-bit Mach-O section header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 12:56:48 +02:00
Zebediah Figura 0fc3c33637 dbghelp: Read the Mach-O segment command corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 12:56:48 +02:00
Zebediah Figura bf7681cb2f dbghelp: Pass an image_file_map to macho_enum_load_commands().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 12:56:48 +02:00
Zebediah Figura f2e38e1795 dbghelp: Read the 32-bit Mach-O header.
It is identical to the 64-bit header, except for the "reserved" field.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 12:56:48 +02:00
Zebediah Figura f0ee3471f3 dbghelp: Determine the target Mach-O architecture from the process's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 12:56:48 +02:00
Zebediah Figura 99e818154a dbghelp: Read the r_debug and link_map structs corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:59 +02:00
Zebediah Figura 7e4fd17d5b dbghelp: Translate the 32-bit ELF symbol struct to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:49 +02:00
Zebediah Figura 51ada19ac2 dbghelp: Read the Elf_auxv_t struct corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:38 +02:00
Zebediah Figura bb53152faa dbghelp: Read the Elf_Dyn struct corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:34 +02:00
Zebediah Figura bd620ffb44 dbghelp: Read the ELF program header corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:28 +02:00
Huw Davies cf78601b37 dbghelp: Add a missing include to fix the build.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:42:25 +02:00
Zebediah Figura 4005901773 dbghelp: Translate the 32-bit ELF section header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:42:12 +02:00
Zebediah Figura 799e0bfa57 dbghelp: Translate the 32-bit ELF header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:42:03 +02:00
Zebediah Figura a612f1f56f dbghelp: Detect ELF architecture before reading the whole header.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:41:54 +02:00
Zebediah Figura c2c0e4fe51 dbghelp: Don't enforce child architecture in elf_map_file().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:41:46 +02:00
Zebediah Figura 185d9ee7eb dbghelp: Correctly determine the wine loader base address.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 21:36:47 +02:00
Zebediah Figura a981edf0bc dbghelp: Determine the wine loader name from the target process's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 21:36:42 +02:00
Zebediah Figura 9b973eee9e dbghelp: Add a helper to check if a given module is the Wine loader.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 21:35:48 +02:00
Martin Storsjo e0780c258f ntdll: Update the ARM64 CONTEXT struct to match Win SDK 10.0.16299.0.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 13:13:59 +01:00
Zebediah Figura 5d740ddcfe dbghelp: Avoid an infinite loop.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:59 +01:00
Nikolay Sivov 6fd9a98f1d dbghelp: Use correct module name buffer length when doing enumeration.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 17:54:55 +01:00
Nikolay Sivov 1d3c14d2d1 dbghelp: Use correct destination buffer length when initializing module data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:07 +01:00
Nikolay Sivov da1d075b83 dbghelp: Make sure returned module info strings are null-terminated.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:07 +01:00
Nikolay Sivov aae9700acc dbghelp: Preserve caller supplied structure size member in SymGetModuleInfo() functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:07 +01:00
Alexandre Julliard 21c12ddc64 ntdll: Fix CONTEXT definition for ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:30:01 +01:00
Alexandre Julliard eb337adcc2 ntdll: Fix CONTEXT definition for ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 13:21:31 +01: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
Akihiro Sagawa d47c07d0cf dbghelp: Avoid using isdigit() for WCHARs.
Found with Coccinelle.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 18:58:58 +02:00
Daniel Lehman 8d6cf80026 dbghelp: Add support for char32_t type.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-04 09:13:22 +02:00
Daniel Lehman b316ac1897 dbghelp: Add support for char16_t type.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-04 09:13:18 +02:00
Alexandre Julliard 74f05b8660 dbghelp: Use the main module load address from the PEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 20:53:04 +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
Jacek Caban 4bbb252adc dbghelp: Removed no longer needed psapi import.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 13:25:14 +01: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
Jacek Caban b15cccd2dc dbghelp: Removed no longer needed wine_rb_destroy call.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 11:28:39 +09:00
Jacek Caban acc0bb0521 rbtree.h: Pass compare function instead of wine_rb_functions to wine_rb_init.
Also change return type to void since the function can no longer fail.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:30:29 +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
Austin English 6e0366fd5e dbghelp: Add forwards for EnumerateLoadedModulesEx/EnumerateLoadedModulesExW.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 21:18:33 +09:00
Andrey Gusev b3c254cd75 dbghelp: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:51 +09:00
Thomas Faber e91c06b068 dbghelp: Use documented member name in SYMBOL_INFO structure.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:58 +09:00
Michael Stefaniuc c8ab4004ad dbghelp: Use CONTAINING_RECORD instead of reimplementing it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-08 21:29:15 +09:00
André Hentschel d8a39d40d8 dbghelp: Add even more symbol types.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-11 19:39:22 +09:00
Ralf Habacker 6018064d59 dbghelp: Fix crash in module_find_cb on trying to parse non image files.
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-11 16:43:21 +09:00
Austin English 4f3f8a8cb7 dbghelp: Version to 6.1.7601.17514.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-10 18:35:36 +09:00
Alexandre Julliard 1fa7710ff9 makefiles: Get rid of the DLLPREFIX variable.
Android libraries will be handled differently.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 12:12:58 +09:00
André Hentschel ee88d4ed99 dbghelp: Initialize more basic types.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:21:13 +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 d5739561d8 dbghelp: Provide a default value for DYLD_FALLBACK_LIBRARY_PATH, which is closer to how dyld behaves. 2015-09-18 14:59:01 +02:00
Ken Thomases 8d6b349409 dbghelp: Fix a comment to reflect what the code's actually doing. 2015-09-18 14:58:58 +02:00
Ken Thomases f458cd844a dbghelp: On Mac, get the wineloader path from the target or our own process before resorting to guessing.
This makes backtraces more reliably complete when WINELOADER isn't set
and the loader isn't in a typical location.
2015-09-18 14:58:55 +02:00
Francois Gouget f8a7d6ed74 Assorted spelling fixes. 2015-08-07 23:50:48 +09:00
Sebastian Lackner fa4dfa4325 dbghelp: Implement UnDecorateSymbolNameW.
Also fixes a bug in UnDecorateSymbolName when undecorated_length == 0.
2015-08-06 23:36:02 +09:00
Ken Thomases 49f0bf6f0b dbghelp: Ignore Mach-O segments other than __TEXT for images in dyld's shared cache.
Images in the shared cache have their segments mapped non-contiguously.  We
don't know how to find where the non-__TEXT segments actually are.  Also, the
code assumes that the image is mapped contiguously in various places.  So, we
just ignore those segments.

Treating the non-contiguous segments as though they were contiguous caused
their apparent memory ranges to overlap, leading to addresses being attributed
to the wrong module, let alone symbol.
2015-08-04 12:21:58 +02:00
Ken Thomases be68890cac dbghelp: Fix a copy-paste error in comparing Mach-O segment names. 2015-08-04 12:21:58 +02:00
Ken Thomases 5c39776327 dbghelp: Add support for loading an external DWARF debug info file associated with a Mach-O module.
Such external debug info files are created by the dsymutil command.  Usually, it
creates a <name>.dSYM bundle directory but it can also produce a <name>.dwarf
flat file.  The code will find and use either.  It first checks if such a bundle
or file is adjacent to the module binary.  If it's not, it uses Spotlight to
search for a .dSYM bundle based on the binary's UUID, which is what gdb and lldb
do, too.  That way, it can find it anywhere on the system.
2015-06-29 19:07:52 +09:00
Ken Thomases 70565f1b8b dbghelp: Don't parse the DWARF info from Mach-O files if we were requested to only provide public symbols.
This now works more like how the ELF and PE support works.
2015-06-29 19:07:52 +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 3a9698f4af dbghelp: Parse the DWARF information in Mach-O modules.
At this point, this is just the .eh_frame information used for walking the stack.
2015-06-25 14:29:38 +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
Ken Thomases 0bfa11455c dbghelp: Implement the image_private.h functions for Mach-O modules. 2015-06-25 14:29:38 +09:00
Ken Thomases 729b53fb9e dbghelp: For Mach-O, keep the module file mapped for as long as the module is tracked. 2015-06-25 14:02:17 +09:00
Ken Thomases e15e9331cb dbghelp: Move the macho_file_map structure into image_file_map. 2015-06-25 14:02:12 +09:00
Ken Thomases dcbec3bf6a dbghelp: Use existing IMAGE_NO_MAP constant instead of redundant MACHO_NO_MAP. 2015-06-25 14:02:00 +09:00
Ken Thomases 41d741761f dbghelp: Remove the unused arch_size field of struct macho_file_map.
It was set, but never read.
2015-06-25 14:01:54 +09:00
Ken Thomases 4923f9afd5 dbghelp: Enable enumerating and loading 64-bit Mach-O modules. 2015-06-25 14:01:49 +09:00
Ken Thomases 378d557d77 dbghelp: Fix a leak of the Mach-O module structure by adding a module_remove callback. 2015-06-25 14:01:32 +09:00
Ken Thomases 8430ebc6b5 dbghelp: Eliminate an unnecessary parameter from macho_load_debug_info().
From outside of macho_module.c, it's only called with NULL.  When it's
called with a non-NULL parameter, it's just a thin wrapper around
macho_load_debug_info_from_map(), so the code can just call that
directly.
2015-06-25 14:01:26 +09:00
Ken Thomases 604ce29cb3 dbghelp: Fix STABS support for 64-bit on OS X.
OS X uses a struct nlist_64 for 64-bit images, where the n_value field is a
64-bit unsigned integer.
2015-06-25 14:01:10 +09:00
André Hentschel bd1f7ef186 include: Rename 64-bit PState to 32-bit Cpsr on ARM64. 2015-06-15 14:51:33 +09:00
André Hentschel 8e0164bd26 include: Add more ARM64 CV constants. 2015-05-28 14:20:55 +09:00
André Hentschel 0d68edf03e dbghelp: Fix typo in trace output. 2015-05-20 22:10:19 +09:00
Austin English f832f85c80 dbghelp: Ignore some more symbol ids.
These are from MSVC 2013.
2015-05-20 17:32:49 +09:00
Grazvydas Ignotas 2fee06de49 dbghelp: Detect if return address information is missing. 2015-04-07 15:08:44 +09:00
Francois Gouget ed82981ae0 dbghelp: Mark internal symbols with hidden visibility. 2015-03-16 15:06:29 +09:00
Francois Gouget ba6e4ff66e dbghelp: pe_unmap_directory() is unused so remove it. 2015-03-16 15:03:31 +09:00
Francois Gouget 654657b715 dbghelp: Remove an unneeded NONAMELESSSTRUCT directive. 2015-03-10 15:18:25 +09:00
Michael Stefaniuc 1328ec4854 dbghelp: Remove no-op additions with 0 (PVS-Studio). 2015-03-09 22:06:39 +09:00
Francois Gouget 11f985541a dbghelp: Fix compilation on systems that don't support nameless unions. 2015-03-02 13:49:02 +09:00
David Heidelberg e6e50f6c47 dbghelp: Implement DW_TAG_unspecified_type. 2015-02-13 00:45:25 +09:00
Charles Davis b3232e7c9d dbghelp: Support 64-bit dyld_all_image_infos structures, too. 2015-02-06 22:35:23 +09:00
Sebastian Lackner c6fcb427a2 dbghelp: Don't fill KdHelp structure for usermode applications. 2015-02-03 14:40:50 +09:00
André Hentschel b2f967e086 dbghelp: Fix compiler warnings with flag -Wunused-macros. 2014-12-10 13:31:05 +01:00
Bruno Jesus a5c3f38773 dbghelp: Remove a dead assignment (Cppcheck). 2014-11-20 22:32:43 +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
Gerald Pfeifer a910704ccf dbghelp: Do not try to ignore the return codes in PEV_ERROR and and PEV_ERROR1. 2014-07-28 17:22:23 -05:00
Austin English 8980a6fa5c dbghelp: Ignore a few more symbol ids. 2014-07-14 09:57:48 +02:00
Ken Thomases 5acf1510fb dbghelp: Ignore the __PAGEZERO segment.
It made it seem as though the wineloader always started at address 0.
Issue identified by Jacek Caban.
2014-07-07 23:00:52 +02:00
Ken Thomases 1f2680f5f3 dbghelp: If the caller didn't provide a module load address use the segment start address. 2014-07-07 23:00:47 +02:00
Victor Martinez Calvo 9eca0aa8a7 dbghelp: Fix invalid assignment in symt_fill_sym_info. 2014-04-30 18:32:21 +02:00
André Hentschel 46594b8e6b dbghelp: Make pdb_load_stream_name_table a void function. 2014-04-29 11:18:56 +02:00
André Hentschel 1986dabc3e dbghelp: Use boolean return value in boolean function. 2014-04-29 11:18:51 +02:00
Alistair Leslie-Hughes b816a8e629 dbghelp: Improve dwarf support. 2014-03-26 19:20:42 +01:00
Alexandre Julliard cf0e96c6d0 configure: Rename substituted variables to a standard _CFLAGS and _LIBS format. 2014-01-30 14:51:33 +01:00
Andrey Gusev e7f0a8a081 Assorted spelling and typos fixes. 2014-01-27 17:00:11 +01:00
Frédéric Delanoy 74b0f6b4ad dbghelp: Remove an "#if 1" preprocessor directive. 2014-01-13 17:36:59 +01:00
Frédéric Delanoy 91f2435469 Assorted spelling fixes. 2014-01-09 17:39:59 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Frédéric Delanoy d066561625 dbghelp: Constify some character strings. 2013-12-16 12:02:49 +01:00
Ken Thomases 1577fb6c3f dbghelp: For Mach-O, get the address of the process's image info from its PEB. 2013-12-05 12:40:56 +01:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Ken Thomases 15467577fc dbghelp: Add debug logging to some error paths in the Mach-O support. 2013-12-03 12:34:45 +01:00
Ken Thomases 3fe34fe346 dbghelp: Fix some parameter names and types in the Mach-O support. 2013-12-03 12:33:55 +01:00
Stefan Leichter 89832cde4e dbghelp: Add a null check for optional output parameter for function SymFromAddr. 2013-12-02 10:50:32 +01:00
Frédéric Delanoy 1d65efe50b dbghelp: Use BOOL type where appropriate. 2013-11-12 12:58:03 +01:00
Alexandre Julliard 836b682ed3 dbghelp: Remove a useless DllMain, msvcrt can't be unloaded. 2013-11-11 11:49:18 +01:00
Frédéric Delanoy c002197692 dbghelp: Use BOOL type where appropriate. 2013-10-04 12:46:20 +02:00
Huw Davies 5c7c954658 dbghelp: Skip the dllprefix when matching PE with ELF modules. 2013-09-27 12:20:00 +02:00
Huw Davies 96e32da5c9 dbghelp: Add a couple of structures that are missing from the Android ndk. 2013-09-23 20:32:21 +02:00
Marcus Meissner b3f9747b28 dbghelp: Free srcpath in stabs handling (Coverity). 2013-06-24 11:45:10 +02:00
Marcus Meissner 7a406d0adf dbghelp: Free root in error case (Coverity). 2013-06-24 11:44:01 +02:00
Andrew Cook 878ea7d9ea dbghelp: Add stubs for SymSetHomeDirectory. 2013-04-01 20:42:33 +02:00
André Hentschel c174b3f5ec dbghelp: Remove SPARC support. 2013-03-05 11:01:11 +01:00
Jeff Muizelaar 03cae02611 dbghelp: Store the vendor id in the correct order. 2013-03-04 11:15:57 +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 9d49dd82e8 dbghelp: Remove useless code in ARM stack walk. 2013-01-23 12:44:12 +01:00
André Hentschel 49f59ccf71 dbghelp: Implement rudimentary stack walk for ARM64. 2013-01-23 12:44:06 +01:00
André Hentschel ce8640cbef dbghelp: Add ARM64 support. 2013-01-16 12:53:16 +01:00
Andrew Talbot ddf922d7a1 dbghelp: Avoid signed-unsigned integer comparisons. 2013-01-15 12:14:11 +01:00
Alexandre Julliard a81996d757 dbghelp: Use sysconf() instead of getpagesize(). 2013-01-09 12:15:25 +01:00
Andrew Talbot 9feb4053fe dbghelp: Indentation fix. 2012-12-17 11:47:38 +01:00
Marcus Meissner 6d6b216002 dbghelp: Size of the floating point stack registers is 10 bytes (Coverity). 2012-10-25 11:49:06 +02:00
André Hentschel 538a0abbd7 include: Rename IMAGE_FILE_MACHINE_ARMV7 to IMAGE_FILE_MACHINE_ARMNT. 2012-08-17 10:45:17 +02:00
Michael Stefaniuc 31fdb97632 dbghelp: Remove a superfluous TRUE:FALSE conditional expression. 2012-08-15 12:12:43 +02:00
Eric Pouech 83462bf081 dbghelp: Added support for index leaves in types definition for CodeView debug format. 2012-06-25 10:32:55 +02:00
Gerald Pfeifer 6cb7cd1983 dbghelp: Avoid unconditional use of NT_GNU_BUILD_ID. 2012-06-04 12:17:55 +02:00
Eric Pouech d647bd108c dbghelp: Use build-id information to locate debug information (and prefer it over .debug_link when both are present). 2012-06-01 13:24:36 +02:00
Eric Pouech dbd70d0917 dbghelp: Protect COFF line number parsing against out of bounds access. 2012-05-21 11:33:59 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
André Hentschel 89cb501927 dbghelp: Assorted fixes for shadow variables. 2012-04-23 12:58:36 +02:00
Thomas Faber 9f0119a0c0 dbghelp: Fix uninitialized variable usage. 2012-03-28 13:55:26 +02:00
Michael Stefaniuc 4cf695e164 dbghelp: Print the debug string and not the pointer to it. 2012-03-26 18:15:25 +02:00
Alexandre Julliard 0a7827b8b2 dbghelp: Add support for jump instructions in function epilogs on x86_64. 2012-03-16 13:16:45 +01:00
André Hentschel 84a036a435 dbghelp: Silence arm_fetch_minidump_module. 2012-03-09 11:34:13 +01:00
André Hentschel 138cb84be0 dbghelp: Add arm_fetch_minidump_thread implementation. 2012-03-09 11:34:02 +01: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 90207b1d69 dbghelp: In i386 stack unwinder, only check for NULL ebp after calling the dwarf/MSVC unwinders as they allow NULL ebp. 2012-02-14 17:58:58 +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
Eric Pouech 8328606141 dbghelp: Store the 32/64 bitness in the image structure. 2012-02-14 12:31:48 +01:00
Eric Pouech a672a51cbf dbghelp: Allow each CPU backend to save CPU specific memory ranges in minidump.
Used this feature to add x86_64 unwind information.
2012-01-24 18:10:32 +01:00
Eric Pouech 1c5450f91f dbghelp: Allow CPU backends to add specific information into a minidump.
Use it to add a 256 byte block around current program counter.
2012-01-24 18:10:32 +01:00
Eric Pouech d02295d998 dbghelp: Add our own thread data gathering struct for minidump internals instead on relying on SYSTEM_PROCESS_INFO. 2012-01-24 18:10:32 +01:00
Eric Pouech 2ce0e94018 winedbg, winedump: Embed wine build-id information info minidump, and display it. 2012-01-24 18:10:32 +01:00
Eric Pouech f3107df576 dbghelp: Use new regular expression matcher for files. 2012-01-23 16:07:39 +01:00
Eric Pouech 026ec7f690 dbghelp: Do all module and symbol names matching using unicode string (and new regular expression matcher). 2012-01-23 16:07:39 +01:00
Eric Pouech be9a7b9b97 dbghelp: Rewrote a simple regular expression matcher, and use for implementing SymMatchString[AW]. 2012-01-23 16:07:38 +01:00
Eric Pouech 7c2a5e184d dbghelp: In x86-64 support code, fix RUNTIME_FUNCTION dumping. 2012-01-23 16:06:49 +01:00
Eric Pouech 2ed88d7ac2 dbghelp: On x86-64 CPUs, add capability to interpret properly the epilog part. 2012-01-23 16:06:40 +01:00
Eric Pouech e40430cd16 dbghelp: Fix a couple of bugs in function table interpretation for x86-64 processors. 2012-01-23 15:59:59 +01:00
Eric Pouech 82d961e382 dbghelp: Always ensure that 64bit module functions use real 64bit addresses. 2012-01-23 15:59:59 +01:00
Alexandre Julliard 55107912f0 dbghelp: Fix a couple of pointer cast warnings. 2012-01-16 18:17:43 +01:00
Francois Gouget 67448e5661 dbghelp: Fix the position where the calling convention is specified in function pointers. 2012-01-16 12:45:33 +01:00
André Hentschel b95574e286 dbghelp: No need for WINE_ prefixed ERR. 2012-01-10 17:55:29 +01:00
Daniel Lehman 44233d5f07 dbghelp: Use CDECL calling convention for __unDName and callbacks. 2012-01-09 12:52:17 +01:00
Eric Pouech 28bb6f954a dbghelp: Correctly return flags in SYMBOL_INFO structure for local variables stored in a register. 2012-01-03 12:37:28 +01:00
André Hentschel c486cec0d6 dbghelp: Use ARMv7 for debugging. 2011-11-02 12:25:39 +01:00
André Hentschel d6fadb882f dbghelp: Implement SymMatchStringW. 2011-11-01 10:42:53 +01:00
André Hentschel 7e3fe1975a dbghelp: Rename SymMatchString and forward it to SymMatchStringA. 2011-11-01 10:42:50 +01:00
André Hentschel 85051917fe dbghelp: Rewrite stabs parsing to not need PATH_MAX. 2011-10-17 17:45:03 +02:00
André Hentschel bfdc93cdc5 dbghelp: Remove superfluous PATH_MAX defines. 2011-10-11 19:44:33 +02:00
Andrew Talbot 14d5268e5e dbghelp: Mark a fall-through in a switch statement. 2011-09-30 10:27:56 -05:00
André Hentschel 650e000bc9 dbghelp: Add some new dwarf enumerations. 2011-09-06 13:25:51 +02:00
Andrew Talbot 94c0407cac dbghelp: Constify some variables. 2011-08-23 16:53:52 +02:00
Frédéric Delanoy f932abf326 dlls: Assorted spelling fixes. 2011-08-01 18:26:27 +02:00
André Hentschel e6390a5c7f dbghelp: One line only for the copyright. 2011-08-01 18:26:26 +02:00
Austin English 13d86cc0a3 dbghelp: Add stubs for SymEnumSourceLines/SymEnumSourceLinesW. 2011-07-18 16:23:29 +02:00
André Hentschel 5d0d2ef893 dbghelp: Remove dead code (clang). 2011-07-11 11:51:11 +02:00
Frédéric Delanoy e35cdaa138 dbghelp: Remove dead code (Clang). 2011-07-05 14:43:43 +02:00
André Hentschel 3a183a42df dbghelp: Only declare deltapc for i386. 2011-06-29 10:07:24 -05:00
Andrew Nguyen 6ee16099a3 dbghelp: Implement SymEnumSourceFilesW. 2011-06-01 17:59:17 +02:00
Alistair Leslie-Hughes 5d01166f96 dbghelp: Add stubs SymFromIndex, SymFromIndexW. 2011-05-30 17:21:57 +02:00
Eric Pouech 108b63f5a6 dbghelp: Enhance a couple of register mapping functions for i386. 2011-05-02 12:37:07 +02:00
Eric Pouech 2c2da87ccd dbghelp: Don't try to load fieldlist for a forward declaration. 2011-05-02 12:36:05 +02:00
Peter Urbanec de4040699a dbghelp: Prevent winedbg page faults when loading some PDBs generated by the Intel C Compiler. 2011-04-29 16:56:30 +02:00
Marcus Meissner b858b53991 dbghelp: Mark internal symbols as hidden. 2011-04-28 18:13:56 +02:00
André Hentschel 7af9179eb9 dbghelp: Implement rudimentary stack walk for ARM. 2011-04-28 11:13:53 +02:00
André Hentschel dae65898e2 dbghelp: Implement sparc_map_dwarf_register. 2011-04-27 11:49:53 +02:00
Austin English 6abf5fff9d dbghelp: Get rid of a couple unused variables. 2011-04-19 13:29:23 +02:00
André Hentschel e0d14005ce dbghelp: Set the right ARM frame pointer. 2011-04-19 13:29:03 +02:00
André Hentschel bdcc47d9e7 dbghelp: Implement arm_fetch_context_reg. 2011-04-18 12:31:30 +02:00
André Hentschel 1bae92b9bb dbghelp: Implement arm_fetch_regname. 2011-04-18 12:31:26 +02:00
André Hentschel 4055b7f2c3 dbghelp: Implement arm_map_dwarf_register. 2011-04-18 12:30:36 +02:00
Eric Pouech 44c52c16fd dbghelp: Silence DW_TAG_GNU_call_site objects. 2011-04-15 10:07:57 +02:00
Eric Pouech 18f539ac2e dbghelp: Added some missing defines to dwarf.h. 2011-04-15 10:07:57 +02:00
André Hentschel f2fc5e6e17 dbghelp: Implement sparc_get_addr. 2011-04-14 17:13:58 +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 2dd45a12c1 dbghelp: For codeview/bprel symbols force the register to be EBP, other CPUs should use regrel symbol instead of bprel. 2011-04-12 12:49:34 +02:00
Gerald Pfeifer d93b6c0aa2 dbghelp: Add a return statement for the default/assert case in elf_map_file. 2011-04-01 10:48:57 +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 b10977fc3c dbghelp: Now that compilers (like clang) start to merge symbols across compilation units, no longer barf about duplicates. 2011-03-28 17:24:42 +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 0be7461fc8 dbghelp: Set also reloc_delta information in module description for PE native modules. 2011-03-14 13:20:29 +01: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 9ae6350c58 dbghelp: Fix unwinding on x86-64 (correct frame and context). 2011-03-14 13:20:07 +01:00
Eric Pouech b3d7643c96 dbghelp: For the internal functions on x86_64 stack unwinding, only rely on CONTEXT information, and manage STACKFRAME64 updates in outer functions. 2011-03-14 13:19:54 +01:00
Eric Pouech ab9cc3e9dc dbghelp: In msc unwinding code (from FPO extended data), take care of cases where several variables are stored in the same hash. 2011-03-14 13:19:41 +01:00
Eric Pouech 20b229a2a8 dbghelp: In i386 stackwalk implementation, store the frame index in the private information. 2011-03-14 13:19:34 +01:00
Eric Pouech 16e8816505 dbghelp: When doing a stack backtrace on i386 with dwarf or pdb unwinders, get the PC from the right frame. 2011-03-14 13:19:22 +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
Eric Pouech 44eed2465c dbghelp: Fix StackWalk when dwarf or pdb unwinders are called on first frame (CPU i386). 2011-03-14 13:18:59 +01:00
Eric Pouech c5f329e62c dbghelp: In i386 stack unwinder, ensure we always return decent 64bit values. 2011-03-14 13:18:45 +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 1d4381664c dbghelp: Fix bug in managing COFF files array. 2011-03-09 13:53:32 +01:00
Eric Pouech 9d3be00df2 dbghelp: When building the by address lookup table, speed up resorting by always taking into account that existing symbols are already sorted. 2011-03-09 13:53:09 +01:00
Eric Pouech dca2d350ad dbghelp: Add helper to get global address out of symt, instead of going though symt_get_info. 2011-03-09 13:52:41 +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
Eric Pouech 770e3b5ddf dbghelp: Add hierarchical information in die object. 2011-03-09 13:51:16 +01:00
Eric Pouech 6d49f958de dbghelp: More precisely manage the inline attribute. 2011-03-09 13:51:08 +01:00
Eric Pouech 0816d8f4bf dbghelp: When parsing dwarf debug info, silence ptr_to_member and imported_declaration entries. 2011-03-09 13:50:54 +01:00
Eric Pouech 2d570921dc dbghelp: When using a regular expression on a file name, interpret '*' as any string (.* in regexp form). 2011-03-08 12:30:08 +01:00
Marcus Meissner f955a7ca07 dbghelp: Local variable used out of scope (Coverity). 2011-03-04 16:26:01 +01:00
Marcus Meissner 0d198362aa dbghelp: Fixed pasted size error (Coverity). 2011-02-23 15:01:27 +01:00
Alexandre Julliard daab2c114d dbghelp: Fix an uninitialized return value. 2011-01-31 15:36:23 +01:00
Eric Pouech 935ac12d04 dbghelp: Properly declare variables with thread storage from codeview debug format. 2011-01-31 14:30:25 +01:00
Eric Pouech 031cce8e77 dbghelp: Added support for variables in thread storage. 2011-01-31 14:30:13 +01:00
Alexandre Julliard 16a2ea5c8f dbghelp: Use wine64 as loader name on 64-bit. 2011-01-28 11:57:46 +01:00
Alexandre Julliard 3bae7d0383 dbghelp: Add a helper function to determine the name of the wine loader. 2011-01-28 11:41:14 +01:00
Alexandre Julliard 9926ca771b dbghelp: Use Dwarf debug info even when part of it is missing. 2011-01-24 15:52:42 +01:00
Eric Pouech 67a55feeaf dbghelp, winedump: Added definition for S_FRAMEPROC_V2 symbol (CodeView). 2011-01-19 12:25:05 +01:00
Eric Pouech 60fbda43cb dbghelp: Use AT_range attribute (for function, block... addresses) when AT_low_pc and AT_high_pc are not present. 2011-01-19 12:24:42 +01:00
Eric Pouech e72d5d6de4 dbghelp: When failing to look up for a PDB file, don't keep a module format object around. 2011-01-18 12:36:36 +01:00
Eric Pouech 711f71639d dbghelp: Get stream indexes out of PDB files (instead of hardwired values). 2011-01-18 12:36:30 +01:00
Eric Pouech 8595f6c652 dbghelp: Add support for stream lookup by name in PDB files and use it for strings stream. 2011-01-18 12:36:21 +01:00
Alexandre Julliard cf1cd33570 dbghelp: Support pointer types of various sizes. 2011-01-13 20:09:49 +01:00
Alexandre Julliard 530e9c9b17 dbghelp: Try to load the string table from file number 4 too. 2011-01-12 10:45:49 +01:00
Eric Pouech c7c8c0dea7 dbghelp: Speed up source string creation (by using rb trees). 2011-01-10 13:03:52 +01:00
Eric Pouech cbd5811e90 dbghelp: Better support for OOM conditions when creating source file table. 2011-01-10 13:03:52 +01:00
Eric Pouech 99439e7589 dbghelp: Added preliminary extended FPO information out of PDB files. 2011-01-10 12:52:18 +01:00
Eric Pouech 5ce195ae89 dbghelp: Keep the mapping of any PDB file open until the module is unloaded. 2011-01-10 12:52:11 +01:00
Eric Pouech 0693572e4c dbghelp: Use new file/debug format framework to allow keeping pdb files opened. 2011-01-10 12:52:01 +01:00
Eric Pouech 1acbb1c0ed dbghelp: Restructure internal PDB information. 2011-01-10 12:51:39 +01:00
Gerald Pfeifer 061b50eda5 dbghelp: Also return a value in an error case in elf_map_file_read. 2011-01-03 11:54:03 +01:00
Gerald Pfeifer 8f7d06b69b dbghelp: Make ehdr_addr in elf_enum_modules_internal dependent on AT_SYSINFO_EHDR. 2010-12-29 11:59:33 +01:00
Eric Pouech 1966ba8b7f dbghelp: For targets on Linux, report the VDSO system page as a known ELF module. 2010-12-28 11:18:33 +01:00
Eric Pouech 749dafd987 dbghelp: Extend elf_map_file so that it can also handle ELF maps directly from debuggee address space. 2010-12-28 11:16:07 +01:00
Eric Pouech 737b5b95bb dbghelp: Use pread instead of read in elf_map_file. 2010-12-28 11:15:24 +01:00
Eric Pouech 655247354a dbghelp: Split elf_load_file into two functions (one for creating a file-map, another one for loading info out of a file-map). 2010-12-28 11:15:06 +01:00
Eric Pouech 8740f1dc1e dbghelp: Factorize a bit the ELF enumeration callbacks. 2010-12-28 11:14:43 +01:00
Eric Pouech cf06ef640d dbghelp: Fix ELF file computation on 64bit systems. 2010-12-27 11:47:51 +01:00
André Hentschel a4c1b34146 dbghelp: Implement arm_get_addr. 2010-10-15 11:32:44 +02:00
Eric Pouech 8d981b87f1 dbghelp: Proper support and definition for S_REGREL_V3. 2010-10-11 17:11:24 +02:00
Eric Pouech fac5abc551 dbghelp: Ensure the stab_nlist structure is usable on 64bit systems. 2010-10-11 17:11:24 +02:00
Eric Pouech 854379bbaa dbghelp: Fix some relocation errors for debug formats out of ELF files. 2010-10-11 17:11:24 +02:00
Eric Pouech 922caac23b dbghelp: Compute ELF load address using the link_map ld's address (and get correct relocation computation). 2010-10-11 17:11:24 +02:00
Eric Pouech 2662ed10c8 dbghelp: When enumerating loaded modules from r_debug structure, pass the address of the dynamic section as well. 2010-10-11 17:11:24 +02:00
Eric Pouech 2a87a89680 dbghelp: Only map an ELF file once. 2010-10-11 17:11:17 +02:00
Eric Pouech 580cab9d8b dbghelp: A couple of fixes for 64bit msvc debug info compatibility. 2010-10-11 17:08:13 +02:00
Eric Pouech b164155447 dbghelp: Added a couple of missing CodeView base types (used in 64bit compilation). 2010-10-11 17:08:13 +02:00
Eric Pouech 229d753bc9 dbghelp: Some more 64bit base address fixes. 2010-10-11 17:07:57 +02:00
Eric Pouech 1e141eee4f dbghelp: Allow loading PE module with 64bit addresses. 2010-10-11 12:54:18 +02:00
Austin English 95740b30b9 dbghelp: Fix compile on Hurd. 2010-10-08 11:56:46 +02:00
Paul Vriens 5da1ecef3a dbghelp: Fix use of GetProcessHeap. 2010-09-21 17:53:55 +02:00
André Hentschel 9a1103112e dbghelp: Add ARM support. 2010-09-20 12:58:56 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Eric Pouech 1e12e90cc9 dbghelp: Fix regression with prevented StackWalk on i386 CPU to be called with a NULL context. 2010-09-13 11:01:38 -05:00
Alexandre Julliard 352a876f91 dbghelp: Use int64 in the spec file for 64-bit integers. 2010-08-31 14:23:48 +02:00
Andrew Talbot 4e4948cfbf dbghelp: Constify some variables. 2010-08-30 15:38:56 +02:00
Andrew Talbot 9738f40e79 dbghelp: Remove unused functions. 2010-08-30 11:26:29 +02:00
Eric Pouech 63c7ea6494 dbghelp: Use virtual size (not raw/file size) when getting the size of a PE section. 2010-08-30 11:26:29 +02:00
Eric Pouech 1e0af22ad2 dbghelp: dwarf debug info: a few more fixes to dwarf parsing. 2010-08-26 12:42:15 +02:00
Austin English e92a552dca dbghelp: Add initial Sparc CPU support. 2010-08-23 13:41:17 +02:00
Jacek Caban 1a1ffe60fd dbghelp: Silence template related dwarf FIXMEs. 2010-08-16 17:28:58 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Eric Pouech 1783631f55 dbghelp: Added support for CFA save/restore operation. 2010-07-05 12:59:47 +02:00
Eric Pouech 5afe16621b dbghelp: Parse correctly DW_LNE_set_discriminator. 2010-06-28 16:58:38 +02:00
Eric Pouech b6c8b8959b dbghelp: When unwinding i386 stacks, update CONTEXT with sp/bp/ip. 2010-06-28 16:58:05 +02:00
Eric Pouech 1c037bf564 dbghelp: Correctly handle the RULE_EXPRESSION when computing CFA in dwarf debug info. 2010-06-28 12:14:13 +02:00
Eric Pouech b38cddf484 dbghelp: Set the correct word size when unwinding stacks with Dwarf debug info. 2010-06-28 12:14:04 +02:00
Eric Pouech 3ced7b8f40 dbghelp: Ensure we can try to load COFF symbols if none is found in other debug formats. 2010-06-28 11:42:28 +02:00
Eric Pouech d97e6a47e5 dbghelp: Test validity of COFF symbol table against file size (and not image size). 2010-06-28 11:42:23 +02:00
Eric Pouech 1f5ff75107 dbghelp: Fix the localization of section table while loading COFF information. 2010-06-28 11:42:18 +02:00
Paul Chitescu 61a9eef9a1 dbghelp: Provide a non-NULL number of bytes read to ReadProcessMemoryProc64 callback. 2010-06-28 11:42:02 +02:00
Francois Gouget 7649c75b40 Assorted typo and spelling fixes. 2010-06-24 10:37:05 +02:00
Eric Pouech 083eca072d dbghelp: Properly manage in dbghelp interfaces local variables and parameters that are constant. 2010-06-08 12:59:26 +02:00
Eric Pouech 99a5488a18 dbghelp: Ensure that local variables and parameter actually have a container. 2010-06-08 12:59:17 +02:00
Eric Pouech 8c7cc491ab dbghelp: In dwarf parser, properly handle array without size specified. 2010-06-08 12:59:13 +02:00
Marcus Meissner 4f2e15d053 dbghelp: Add 2 new darf defines and implement DW_OP_stack_value. 2010-06-07 15:26:12 +02:00
André Hentschel 64951f7110 dbghelp: Use the available PowerPC functions. 2010-05-28 16:22:26 +02:00
Gerald Pfeifer 72216a604d dbghelp: Remove variable basic_block which is not really used from dwarf2_parse_line_numbers. 2010-05-26 10:14:46 +02:00
Eric Pouech 516fc78a2b dbghelp: Protect PE's COFF table reading against bogus values in NTHEADER. 2010-05-10 13:43:58 +02:00
Eric Pouech e520605fa9 dbghelp: When trying to enumerate locals & parameters with SymEnumSymbols, don't return a global or public symbol when the nearest symbol of the current context isn't a function. 2010-04-08 12:28:53 +02:00
Eric Pouech 196f8f070d dbghelp: Added support for DW_CFA_GNU_args_size. 2010-04-07 13:50:35 +02:00
Eric Pouech a185435243 dbghelp: When handling a P augmentation in FDE/DIE parsing, throw away the DW_EH_indirect flag, as we don't handle the result.
It's needed as long as we don't support DW_EH_indirect while reading encoded values.
2010-04-02 10:35:21 +02:00
Eric Pouech 1b68d4e7ce dbghelp: Extend dwarf stack unwinding by reading information out of .debug_frame sections.
Implement dwarf stack unwinding for i386 CPU.
2010-04-02 10:35:02 +02:00
Eric Pouech 34ef8d2113 dbghelp: Store delta used for re-locating a module. 2010-04-02 10:34:37 +02:00
Eric Pouech 51bce9b049 dbghelp: Implement the new register methods for x86. 2010-04-02 10:34:27 +02:00
Mikhail Maroukhine 0519c4b68a dbghelp: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:13:28 +02:00
Eric Pouech 060ccb123a dbghelp: When unwinding the stack, stop if the current address isn't in a known module. 2010-03-29 11:45:13 +02:00
Eric Pouech 0c2401369c dbghelp: Rewrite SymGetModuleBase so that it relies on 64 bit version. 2010-03-29 11:45:04 +02:00
Eric Pouech a5293895a3 dbghelp: In dwarf parsing, correctly handle the DW_OP_regx option. 2010-03-29 11:44:52 +02:00
Eric Pouech 6a6edcd1ca dbghelp: In dwarf attribute parsing, ensure that we do have a block when parsing a block. 2010-03-29 11:44:46 +02:00
Eric Pouech 036392c5d1 dbghelp: Added preliminary CFA management. 2010-03-29 11:38:17 +02:00
Eric Pouech 0eef5d6809 dbghelp: Added CFA information to dbghelp's dwarf.h. 2010-03-29 11:37:46 +02:00
Eric Pouech 1d60aa6000 dbghelp: Extend the CPU object in order to manipulate context's registers (getting context's content & register names). 2010-03-29 11:37:39 +02:00
Eric Pouech 9851ebf792 dbghelp: Keep the .debug_frame section mapped when parsing dwarf debug_info (needed for CFA management). 2010-03-29 11:37:27 +02:00
Eric Pouech e2b62c91d5 dbghelp: Created a CPU method to map dwarf register number to codeview register number. 2010-03-25 09:45:32 +01:00
Eric Pouech 403f41687e dbghelp: In dwarf parsing, correctly get the size of addresses in location lists. 2010-03-25 09:45:26 +01:00
Eric Pouech 8413810c6c dbghelp: Don't try to hardwire the dwarf's "word size", but get it properly. 2010-03-25 09:45:21 +01:00
Eric Pouech e6a08a1e15 dbghelp: Fixed a couple of portability issues to 64bit platforms. 2010-03-25 09:45:15 +01:00
Eric Pouech 51e9951a5f dbghelp: Enhanced x86_64 stack unwinding with PE's function table data. 2010-03-25 09:45:11 +01:00
Eric Pouech 4c3361e39e dbghelp: Properly bail out if get an error while reading ELF header. 2010-03-22 11:29:14 +01:00
Eric Pouech 375d158da7 dbghelp: Fix local/parameters enumeration on 64bit platforms. 2010-03-22 11:29:08 +01:00
Eric Pouech d822aaff92 dbghelp: Removed the not-useful start_data field out of dwarf2_traverse_context_t. 2010-03-22 11:27:44 +01:00
Eric Pouech bf97b03db5 dbghelp: Implemented SymFunctionTableAccess. 2010-03-22 11:27:36 +01:00
Eric Pouech 2ed8b9f6b6 dbghelp: Added helper to image_file_map to map also directory out of PE executables. 2010-03-22 11:27:32 +01:00
Eric Pouech cecb80a4e8 dbghelp: Move the mach-o information into the modfmt structure. 2010-03-19 12:23:36 +01:00
Eric Pouech fe2ae803ee dbghelp: Moved the ELF's module information into the new scheme. 2010-03-19 12:08:46 +01:00
Eric Pouech cd92e3d147 dbghelp: Move the PE debug info to the newly define scheme. 2010-03-19 12:08:37 +01:00
Eric Pouech 73f79e7fad dbghelp: Create new infrastructure to hold specific information for multiple file/debug formats in a single module, and use it to store dwarf2 stuff. 2010-03-19 12:08:27 +01:00
Eric Pouech 3e6920d7b8 dbghelp: Now that we can keep ELF sections around, don't copy the loclist section, just don't unmap it. 2010-03-19 12:08:10 +01:00
Eric Pouech 2d8c788353 dbghelp: Let dwarf_parse decide on which sections it needs to map. 2010-03-19 12:08:03 +01:00
Eric Pouech c9bac2efd2 dbghelp: Extend the image (ELF/PE) scheme to get the RVA out of a section. 2010-03-19 12:07:45 +01:00
Eric Pouech a2e65f1311 dbghelp: Keep the file map around for every PE module, so that we can access image whenever we like to. 2010-03-19 12:07:27 +01:00
Eric Pouech cbff4f063f dbghelp: Create the notion of image (PE, ELF modules) to uniformize some handlings. 2010-03-19 12:05:59 +01:00
Eric Pouech fb169502a5 dbghelp: Extend the ELF image management to PE modules so we get a rather uniform interface to image manipulation. 2010-03-19 12:04:19 +01:00
Eric Pouech 770f0d834f dbghelp: Make the ELF mapping code easier to use. 2010-03-19 12:03:57 +01:00
Eric Pouech 8c4f96d232 dbghelp: Store the file map in ELF's module specific data. 2010-03-16 13:31:05 +01:00
Eric Pouech 9d7b6b65ef dbghelp: Added helper to free module's specific data (ELF, MSC...) upon removal. 2010-03-16 13:30:46 +01:00
Eric Pouech 09a7e2d3d0 dbghelp: Added full support for DW_FORM_data8 attributes, as well as primary support for DW_FORM_block* attributes. 2010-03-16 13:30:31 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Alexandre Julliard ff55fc9bea dbghelp: Fix a pointer cast. 2010-02-16 15:50:43 +01:00
André Hentschel c71ffcf407 dbghelp: Merge dwarf code from ntdll/signal_x86_64.c. 2010-02-09 17:13:37 +01:00
Alistair Leslie-Hughes a204f099c6 dbghelp: Add stubs for SymGetLineFromName, SymGetLineFromName64, SymGetLineFromNameW64. 2010-02-09 17:13:36 +01:00
Alistair Leslie-Hughes d02040d98a dbghelp: Add basic support for PVOID64. 2010-02-08 17:14:43 +01:00
Alexandre Julliard 58e08ebc08 dbghelp: Fix broken sw_read_mem() call in i386 stack backtrace. 2010-02-04 19:32:12 +01:00
Eric Pouech a414e782f0 dbghelp: Remove a couple of unnneeded include files. 2010-02-04 13:39:28 +01:00
Alexandre Julliard 2a07163901 dbghelp: Fix the Mac OS build. 2010-01-28 15:52:32 +01:00
Alexandre Julliard e42d1a8cc1 dbghelp: Don't require a 16-bit stack for StackWalk. 2010-01-27 18:46:06 +01:00
Eric Pouech 520fcae5d2 dbghelp: For PE modules, when no debug info is present, also try to load symbols out of COFF symbol table. 2010-01-25 12:53:03 +01:00
Eric Pouech 181de55619 dbghelp: Removed some unused fields for public symbol description. 2010-01-25 12:52:46 +01:00
André Hentschel 2f5ba0d8c0 dbghelp: Fix typo in url. 2010-01-06 09:52:48 +01:00
André Hentschel 1f168cbd6e dbghelp: Fix a typo. 2009-12-31 12:12:16 +01:00
Eric Pouech 878f287366 dbghelp: Silence a couple of FIXMEs for C++ code.
Reported by Jacek Caban.
2009-12-29 13:28:01 +01:00
Marcus Meissner c39cd4c0ce dbghelp: Initialize ret (Coverity). 2009-12-29 11:07:11 +01:00
Eric Pouech bc38d3eaac dbghelp: Add support for loading dwarf debug information out of PE images. 2009-12-24 12:15:41 +01:00
Eric Pouech ed96e740e9 dbghelp: Add a couple of helpers to struct cpu to help adding the stack to minidump. 2009-12-23 14:27:29 +01:00
Eric Pouech 54766cdac0 dbghelp: Hacked a StackWalk implementation for x86_64. 2009-12-23 14:27:29 +01:00
Eric Pouech 7230659ce9 dbghelp: Create a cpu backend to store CPU dependent code, and use it for the i386 stack implementation. 2009-12-23 14:27:29 +01:00
Eric Pouech 2d85d5c235 dbghelp: Generalize helper to get a string from an ADDRESS64. 2009-12-22 15:39:20 +01:00
Eric Pouech fdc86c1999 dbghelp: Rewrote stack_walk with 64 bit structures. 2009-12-22 15:39:01 +01:00
André Hentschel 255a1ebaad dbghelp: Implement literal dwarf opcodes. 2009-12-21 15:01:24 +01:00
Eric van Beurden fefd0cfda7 dbghelp: Fix a minidump crash by using the correct variable. 2009-12-18 12:49:46 +01:00
Huw Davies 34a961d3af dbghelp: Fix compilation on OSX. 2009-12-16 12:20:31 +01:00
Marcus Meissner 6feb525bc7 dbghelp: Check for NULL return from process_find_by_handle (Coverity). 2009-12-15 16:09:11 +01:00
Eric Pouech 9500df82f1 dbghelp: Move the core of some line related functions to 64bit interface. 2009-12-15 11:58:39 +01:00
Eric Pouech 776e75e43c dbghelp: Fix symt_find_nearest so that it searches for 64bit addresses on 64bit platforms. 2009-12-15 11:58:24 +01:00
Eric Pouech 7b83b70b06 dbghelp: Rewrite the symt* <=> index wrappers to that they work on 64bit platforms. 2009-12-15 11:57:33 +01:00
Eric Pouech 92b9b0940d dbghelp: Wrap the symt* <=> index transformations. 2009-12-15 11:56:45 +01:00
Eric Pouech 07c1a1ca51 dbghelp: Fix module on which GetTypeFromName is done. 2009-12-15 11:56:18 +01:00
Eric Pouech b4da46ebe8 dbghelp: A couple of fixes for dwarf2 support on a 64bit platform. 2009-12-14 12:29:14 +01:00
Eric Pouech c6eb8104dd dbghelp: Enforce using 64bit integers for module's address and size. 2009-12-14 12:28:54 +01:00
Eric Pouech 9ff52fb82c dbghelp: Don't return error when validating a 64bit wide address on a 64bit platform. 2009-12-14 12:28:37 +01:00
Eric Pouech 02a70615f9 dbghelp: Add ELF support but for the current 32 vs 64 bit architecture. 2009-12-14 12:28:25 +01:00