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