Module: wine
Branch: master
Commit: 5c39776327c09cca39581c1ebab3d3f281685caf
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5c39776327c09cca39581c1eb…
Author: Ken Thomases <ken(a)codeweavers.com>
Date: Sun Jun 28 20:45:11 2015 -0500
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.
---
dlls/dbghelp/Makefile.in | 2 +-
dlls/dbghelp/image_private.h | 2 +
dlls/dbghelp/macho_module.c | 241 +++++++++++++++++++++++++++++++++++++++----
3 files changed, 223 insertions(+), 22 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=5c39776327c09cca39581…
Module: wine
Branch: master
Commit: 70565f1b8bd789412aad46743a6c3f9cab95f03f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=70565f1b8bd789412aad46743…
Author: Ken Thomases <ken(a)codeweavers.com>
Date: Sun Jun 28 20:45:10 2015 -0500
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.
---
dlls/dbghelp/macho_module.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/dbghelp/macho_module.c b/dlls/dbghelp/macho_module.c
index f39b4b6..6be0018 100644
--- a/dlls/dbghelp/macho_module.c
+++ b/dlls/dbghelp/macho_module.c
@@ -1002,9 +1002,12 @@ BOOL macho_load_debug_info(struct module* module)
macho_finish_stabs(module, &mdi.ht_symtab);
- if (dwarf2_parse(module, module->reloc_delta, NULL /* FIXME: some thunks to deal with ? */,
- &module->format_info[DFI_MACHO]->u.macho_info->file_map))
- ret = TRUE;
+ if (!(dbghelp_options & SYMOPT_PUBLICS_ONLY))
+ {
+ if (dwarf2_parse(module, module->reloc_delta, NULL /* FIXME: some thunks to deal with ? */,
+ &module->format_info[DFI_MACHO]->u.macho_info->file_map))
+ ret = TRUE;
+ }
pool_destroy(&mdi.pool);
return ret;
Module: wine
Branch: master
Commit: 83c1255f660e13ee07d1529a7ef0dde7820ad808
URL: http://source.winehq.org/git/wine.git/?a=commit;h=83c1255f660e13ee07d1529a7…
Author: Ken Thomases <ken(a)codeweavers.com>
Date: Sun Jun 28 20:45:09 2015 -0500
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/…
---
dlls/dbghelp/cpu_arm.c | 2 +-
dlls/dbghelp/cpu_arm64.c | 2 +-
dlls/dbghelp/cpu_i386.c | 15 ++++++++++++---
dlls/dbghelp/cpu_ppc.c | 2 +-
dlls/dbghelp/cpu_x86_64.c | 2 +-
dlls/dbghelp/dbghelp_private.h | 2 +-
dlls/dbghelp/dwarf.c | 34 +++++++++++++++++-----------------
7 files changed, 34 insertions(+), 25 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=83c1255f660e13ee07d15…