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