Eric Pouech
b6044788ea
dbghelp: Added support for custom symbols.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Eric Pouech
e5dbf5f74e
dbghelp: Added support for locating a .dwz file (GNU extension) attached to a debug file.
...
A DWZ file contains additional Dwarf debug information, and can be shared
across several debug info files.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Eric Pouech
fc380e0691
dbghelp: Separate alternate debug file lookup functions.
...
Split in two different (and disjoint) the functions for checking that
an alternate debug file matches the expected one
- the first based on crc
- the second based on GNU build-id
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Eric Pouech
ffc3efe775
dbghelp: Manage the new MachineType field in IMAGEHLP_MODULE(W)64.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 17:59:11 +02:00
Eric Pouech
b882ab2b25
dbghelp: Use the correct module name for lookups including module's name.
...
(modulename is truncated at 64 chars, while module.ModuleName at 32 chars)
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 17:58:43 +02:00
Eric Pouech
b9ebb3fb62
dbghelp: Use module->modulename instead of module->module.ModuleName in traces.
...
The former is truncated to 64 chars while the latter is truncated to
32 chars.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 17:58:29 +02:00
Eric Pouech
2296b4952a
dbghelp: Return correct error code when reloading a module in SymLoadModule*.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 17:58:20 +02:00
Eric Pouech
aed40b934c
dbghelp: Allow loading virtual module at any address.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 17:58:05 +02:00
Eric Pouech
f2f27b6b95
dbghelp: SymLoadModule* should return the base address in case of success, and 0 otherwise.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 17:57:51 +02:00
Eric Pouech
a4b206b384
dbghelp: Handle the case where loader isn't what WINELOADER reports.
...
use case, in a WoW setup:
wine programs/winedbg/winedbg.exe.so notepad.exe
where both winedbg and notepad are 64bit exec:s
in this case, dbghelp (loaded from winedbg) reads '<...>/wine' from WINELOADER
windows env block inside notepad
(but the unix env block is correctly set to wine64 by the tweak in
ntdll/unix/loader.c)
as a consequence dbghelp doesn't get the ELF information (it tries to read 32bit
ELF entities, and fails); hence misses all the loaded ELF libraries
winedbg's command 'info share' only reports the PE modules
note: the 'dual' case
wine64 programs/winedbg/winedbg.exe.so c:\\windows\\syswow64\\notepad.exe
where winedbg is a 64bit exec and notepad a 32bit
shows the same failures
workaround this in dbghelp by tweaking the value of WINELOADER whether
the debuggee is 32 or 64bit
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:51:04 +02:00
Eric Pouech
1fa1620086
dbghelp: Introduce internal type (symt_module) to match SymTagExe.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Michael Stefaniuc
e1e761d55f
dbghelp: Remove superfluous casts to self.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Alistair Leslie-Hughes
bad67b1421
dbghelp: Initialize new structure members.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 13:16:53 +02:00
Jacek Caban
310019789f
dbghelp: Use WINELOADER environment variable from debuggee process in get_wine_loader_name.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49838
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 22:25:59 +01: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
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
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
f803da493a
dbghelp: Use LONG_PTR instead of long type.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Jacek Caban
635506921a
dbghelp: Use PE type for virtual modules.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:30:23 +01:00
Jacek Caban
a676c5785e
dbghelp: Use loader_ops for load_debug_info.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:30:09 +01:00
Jacek Caban
5ae3f969d4
dbghelp: Use loader_ops for load_module.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:30:04 +01:00
Jacek Caban
16a3481bd2
dbghelp: Use loader_ops for enum_modules.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:29:50 +01:00
Jacek Caban
1bbd54409a
dbghelp: Use loader_ops for fetch_file_info.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Jacek Caban
fec0157585
dbghelp: Introduce loader_ops to abstract platform-specific loader and use it to synchronize module list.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Jacek Caban
77e880e6d2
dbghelp: Use file_name helper in more places.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 20:58:52 +01:00
Jacek Caban
838de56e0a
dbghelp: Lookup real image paths in image_locate_debug_link.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 20:27:10 +01:00
Jacek Caban
2642f43eab
dbghelp: Support PE debug link files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 20:27:08 +01:00
Jacek Caban
4694801e4f
dbghelp: Move elf_check_alternate implementation to module.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 20:27:02 +01:00
Jacek Caban
e21b61392c
dbghelp: Try loading builtin modules from unix installation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:13:08 +01:00
Alistair Leslie-Hughes
101820d01a
dbghelp: Use internal flag for loading native files.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:29:30 +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
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
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
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
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
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
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
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
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
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
Frédéric Delanoy
1d65efe50b
dbghelp: Use BOOL type where appropriate.
2013-11-12 12:58:03 +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
Michael Stefaniuc
31fdb97632
dbghelp: Remove a superfluous TRUE:FALSE conditional expression.
2012-08-15 12:12:43 +02: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