Commit Graph

1023 Commits

Author SHA1 Message Date
Ken Thomases c7a0d5f626 dbghelp: Avoid asserting on egregiously long stabs symbol names.
Some Mac libraries have symbols which are many thousands of characters long.
(Thank you, C++ templates!)  It doesn't seem worth it to accommodate those by
dynamically allocating the symbol name buffer, but we definitely don't want to
assert.  Just log an ERR.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 10:24:19 +02:00
Vijay Kiran Kamuju 7e965d60b5 dbghelp: Add xmm and mxcsr register mapping functions for i386.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-05 15:06:53 +02:00
Zebediah Figura 70b2d181b1 dbghelp: Replace another usage of GetEnvironmentVariable() with the target process's environment.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-01 11:32:43 +02:00
Rémi Bernon 774ee4734a dbghelp: Ignore missing debug info in SymInitializeW.
When fInvadeProcess is used, we return an error if the target process
is found but its debug info is not. We should only return an error if
the process is not found.

This fixes a SymInitializeW popup error on Hard Reset Redux startup.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-01 10:02:16 +02:00
André Hentschel 30f17befaf dbghelp: Remove support for PPC32.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:46:14 +02:00
Jacek Caban 7b6f6257bc dbghelp: Use debuggee environment in search_unix_path.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Francois Gouget ab4665f4ae dbghelp: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:04:07 +02:00
Jacek Caban 2b0977fc71 dbghelp: Use debuggee environment variables in search_dll_path.
This fixes searching wow32 binaries, where debuggee search path is
different than debugger's.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:05 +02:00
Alexandre Julliard 341feeb10e dbghelp: Use stricmp() instead of _strnicmp(..., -1).
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:19 +02:00
Alexandre Julliard 0163db5152 dbghelp: Make qsort callback explicitly cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 09:14:17 +02:00
Jacek Caban e014d325dd dbghelp: Get rid of no longer needed #ifdefs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 09:13:59 +02:00
Jacek Caban 6b1bc0beac dbghelp: Get rid of no longer needed HAVE_ZLIB checks.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 09:13:51 +02:00
Jacek Caban cf6bbb96d0 dbghelp: Build with ucrtbase.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban 5bc58410f2 dbghelp: Don't use PATH to search for libraries.
It should be used only for the main executable, for which we get full
path anyway.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban ceae3f0207 dbghelp: Remove unneeded includes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban d483eb21cf dbghelp: Import zlib inflate code.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban 131fb79535 dbghelp: Always build all loader backends.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban 9896f1ce33 dbghelp: Fix GCC warnings in macho_module.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban 26f5bfdd4d dbghelp: Introduce read_process_memory helper.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Chip Davis 53b5c3b6c6 dbghelp: Ignore N_INDR symbols.
These are aliases for another symbol. They are often seen on Mac OS when
a dylib reexports some symbols defined in another dylib.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:41 +02:00
Jacek Caban 88edff8467 dbghelp: Use mount manager to lookup dsym by uuid.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 17:02:35 +02:00
Jacek Caban c3c2cda9d2 dbghelp: Factor out query_dsym.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 17:02:32 +02:00
Jacek Caban 3047385437 dbghelp: Don't bother trying to initialize loader backend if we can't get debug base address from PEB.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 20:49:33 +02:00
Jacek Caban f2b8af7e7e dbghelp: Get rid of get_dyld_image_info_address.
We should get the address from PEB anyway.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 20:49:20 +02:00
Jacek Caban dab78486d3 dbghelp: Don't use _NSGetExecutablePath in macho_search_loader.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 20:48:49 +02:00
Jacek Caban e341bd7fe4 dbghelp: Use local constants definitions instead of mach-o/loader.h.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 20:48:43 +02:00
Jacek Caban 1420e64e5f dbghelp: Don't use stdint.h types.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 20:48:36 +02:00
Jacek Caban 0c56a8f87b dbghelp.c: Use local mach header declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 20:48:29 +02:00
Jacek Caban 7b2e53f5b5 dbghelp: Use local symtab and segment commands declarations.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 22:13:07 +02:00
Jacek Caban 8230889f1f dbghelp: Use local fat header declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 21:17:24 +02:00
Jacek Caban 64341284c5 dbghelp: Use local macho section declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 21:17:24 +02:00
Jacek Caban c695e7e99e dbghelp: Use local macho load command declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 21:17:24 +02:00
Jacek Caban 7254579417 dbghelp: Don't store entire mach header in image_file_map.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 21:17:24 +02:00
Jacek Caban b664ae8e60 dbghelp: Don't use system headers for ELF declarations.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:16:00 +02:00
Jacek Caban 56f2b950c3 dbghelp: Use local ELF constants definitions.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:15:29 +02:00
Jacek Caban 6fde25300d dbghelp: Don't use ELF32_ST_BIND and ELF32_ST_TYPE macros.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:15:21 +02:00
Jacek Caban 66ab2c503d dbghelp: Inline ELF magic constants.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:15:14 +02:00
Jacek Caban 7b12b1849c dbghelp: Use local symbol table entry declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:15:05 +02:00
Jacek Caban 849cf6ed51 dbghelp: Use local dynamic section entry declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:14:44 +02:00
Jacek Caban 186d610442 dbghelp: Use local ELF program segment header declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:14:39 +02:00
Jacek Caban a6f0fe8d1c dbghelp: Use local elf_section_header declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:14:34 +02:00
Jacek Caban 78845911da dbghelp: Use local elf_header declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:14:25 +02:00
Jacek Caban 11ea231501 dbghelp: Use local declarations of r_debug and link_map structs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:14:16 +02:00
Jacek Caban 620019fd71 dbghelp: Use local AT_SYSINFO_EHDR definition.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:14:06 +02:00
Jacek Caban ee34cf365d dbghelp: Don't use *_NULL constants.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:13:56 +02:00
Jacek Caban 2534c2a2d2 dbghelp: Use local NOTE_GNU_BUILD_ID declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 22:13:49 +02:00
Jacek Caban 94ad6bd2e6 dbghelp: Fix misleading indentation warning.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:10 +02:00
Jacek Caban 9c2cedabc7 dbghelp: Pass stab size to stabs_parse.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:10 +02:00
Jacek Caban f48f8cc399 dbghelp: Use local declaration for 64-bit macho nlist.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:10 +02:00
Jacek Caban 061146c2ab dbghelp: Use local stab_nlist declaration in macho_module.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00