Eric Pouech
f7244dc1a8
dbghelp/dwarf: Keep open and keep track of parse_context_t inside a module_context_t.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:07 +02:00
Eric Pouech
b4d0dbd70b
dbghelp/dwarf: Move the symt_cache from the unit context into the module context.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:01 +02:00
Eric Pouech
a345a1cf84
dbghelp/dwarf: Separate CU handling from module handling.
...
Move out of dwarf2_parse_context_s structure information related to the
module and put them into the dwarf2_parse_module_context_s structure
(actually the dwarf2_parse_context should be named dwarf2_parse_cu_context
as it only related to a compilation unit).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:05:52 +02:00
Eric Pouech
e87f3dd5b8
dbghelp/dwarf: Properly parse line number header for DWARF4 debug info.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
e28ec5a0fb
dbghelp/dwarf: Detect auto reference between a dwarf's DIE and its type.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
3111daa222
dbghelp/dwarf: Validate that a string is in the section boundary before using it.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
23f0ebbca6
dbghelp/dwarf: Add definitions of some GNU extensions for FORMs.
...
And return failure when encoutering them, as they are not supported yet.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
12a778426d
dbghelp/dwarf: Handle errors in dwarf2_fill_attr by returning a boolean.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
40877456ea
dbghelp/dwarf: Add support for FORM_exprloc.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
6bd22a2f50
dbghelp/dwarf: Add support for FORM_loc_offset and FORM_sec_offset.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
8241fe3877
dbghelp/dwarf: Correctly handle attributes according to 32bit or 64bit format.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
d78c09aa37
dbghelp/dwarf: Properly parse 32 vs bit 64bit entities.
...
Store the offset_size in dwarf2_cuhead_t.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:35:52 +02:00
Eric Pouech
92b3f1bf2a
dbghelp/dwarf: Don't recompute location when said location is complex.
...
This was generating a global symbol instead of a local symbol.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:24:47 +02:00
Eric Pouech
f4afcb3f5a
dbghelp: Ensure all adresses are stored at least in DWORD_PTR.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:11 +02:00
Eric Pouech
c031d5aa8c
dbghelp: Use correct parameter name.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:11 +02:00
Eric Pouech
7f2eb08304
dbghelp/dwarf: Initialize module's word_size at module load time.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:11 +02:00
Eric Pouech
7bb85884e0
dbghelp/dwarf: Pass dwarf2_cuhead_t to lookuploclist().
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:11 +02:00
Eric Pouech
0b7f8373e3
dbghelp/dwarf: Use word_size from cuhead_t.
...
Removed word_size from traverse context and make use of cuhead_t's
equivalent field instead
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:33:12 +02:00
Eric Pouech
ff7ec0d829
dbghelp/dwarf: Pass word_size as a parameter to a couple of frame related functions.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:56 +02:00
Eric Pouech
bb5d9cf63d
dbghelp/dwarf: Pass a parse_cuhead_t to compute_location().
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:43 +02:00
Eric Pouech
d12c754806
dbghelp/dwarf: Pass dwarf2_cuhead_t for addr details to swallow_attribute.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:31 +02:00
Eric Pouech
f4da45d9f5
dbghelp/dwarf: Add word size parameter to parse_addr() internal function.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:32:14 +02:00
Eric Pouech
d648dcd3a6
dbghelp/dwarf: Share compilation unit header information.
...
Store cu information for dwarf content
- in each compiland
- and queue the unique one's inside the module.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:31:54 +02:00
Eric Pouech
1c8869e79a
dbghelp/dwarf: Add dwarf2_cuhead_s structure to hold compilation unit parsing info.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:31:30 +02:00
Eric Pouech
31b6640e48
dbghelp/dwarf: Allow tweaking from env variable which DWARF version is to be loaded.
...
This is a temporary feature while implementing the required bits for Dwarf3
and Dwarf4 format.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 22:31:28 +02:00
Akihiro Sagawa
70032f8863
dbghelp: Get rid of useless while loop.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 19:34:12 +02:00
Eric Pouech
cee52d5988
dbghelp: Get rid of useless symt_normalize_func().
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +02:00
Eric Pouech
707a2273ec
dbghelp: Set is_first and is_last flags on the fly in symt_add_func_line.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +02:00
Eric Pouech
cd8b85e4a9
dbghelp: Rewrite SymGetLinePrev* with internal_line_t.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +02:00
Eric Pouech
8557fd5b34
dbghelp: Implement all SymGetLineNext* functions using internal_line_t.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +02:00
Eric Pouech
fabc4f7e12
dbghelp: Add internal_line_t structure as help in Line manipulation.
...
the rationale is that:
- the file name in IMAGEHLP_LINE* structures is returned as a pointer to
an internal buffer
- in the W64 variant of APIs, two calls to fetch_buffer() are currently needed
(one for first A allocation, second for W conversion)
- this generate bugs as it's assumed the two buffers are different
so the internal_line_t purpose is to factorize the implementations
of the 3 variants (A32, A64, W64) into a single code path
this insures a unique allocation, and at most, one conversion
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +02:00
Eric Pouech
d459301de6
dbghelp: Make symt_fill_func_line_info() and symt_get_func_line_next() static functions inside symbol.c.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +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
ca00b056b8
dbghelp: Properly handle errors when reading first DIE in compilation unit.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:52 +02:00
Eric Pouech
e05bac0fd5
dbghelp: Fix erroneous string manipulation when said string is empty.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:45 +02:00
Eric Pouech
ebff1e8c9b
dbghelp: Harden inspection of Dwarf line number information.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:38 +02:00
Eric Pouech
0b84fa05a1
dbghelp: Don't call assert() on missing subprogram dwarf's information.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:28 +02:00
Eric Pouech
c8fede5efb
dbghelp: Check correctness of type (esp. in case of unknown ones).
...
Since with the unknown type entry, we can end up with types which don't
match the expected symt->tag, we need to check before the conversions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:14 +02:00
Eric Pouech
ee3ea1e163
dbghelp: Added an unknown type in symt_cache for handling bad references to types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:50:06 +02:00
Eric Pouech
e08b80a752
dbghelp: Mostly get rid of symt_cache in dwarf debug information.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:57 +02:00
Eric Pouech
c9b0483689
dbghelp: Always return a type in lookup_type, even in case of errors.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:42 +02:00
Eric Pouech
50144e2732
dbghelp: Fix dwarf constants.
...
The 32bit CIE_ID is an unsigned integer (will become important when
handling 32 vs 64 bit values).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:31 +02:00
Eric Pouech
1a2d1e1a8a
dbghelp: Update/clarify dwarf definitions for 3/3f/4 standard versions.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:13 +02:00
Eric Pouech
598e577475
dbghelp: Add a couple of more traces when querying an attribute's value.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:49:11 +02:00
Eric Pouech
0020265286
dbghelp: Add dwarf support of DW_FORM_ref_udata.
...
DW_FORM_ref_udata value is an offset from current unit (as the others
DW_FORM_ref[1,2,3,4] are)
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:48:37 +02:00
Eric Pouech
7790b395ce
dbghelp: Fix dwarf2 subprogram handling.
...
Fix dwarf2_parse_subprogram_block when looking for inner information
to use the child's debug_info (not the lexical_block one!)
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 13:48:26 +02:00
Eric Pouech
35c45857ae
dbghelp: Tidy up internals for array type.
...
Mainly remove hackish storage of information with negative value and
use a uniform min/count pair for all debug formats.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:49 +02:00
Eric Pouech
1cddd8d571
dbghelp: Fix SymInitialize for a live 32bit target from a 64bit caller in WOW64.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 21:59:30 +02:00
Eric Pouech
4a03ffc1ef
dbghelp: Store the IMAGE_OPTIONAL_HEADER in either 32bit or 64bit form.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 21:59:20 +02:00
Eric Pouech
339953cced
dbghelp: Split storage of PE header.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 21:58:28 +02:00
Eric Pouech
3596358097
dbghelp: Added missing break statement.
...
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
Eric Pouech
29fedfb5d4
dbghelp: Return a lexical parent for enums (as we do for UDTs).
...
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
Eric Pouech
62c06fc31c
dbghelp: Return the correct length for an enumeration.
...
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
Eric Pouech
46c12b2971
dbghelp: Enums should be found by name (as UDTs are).
...
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
Eric Pouech
5c8c999b5a
dbghelp: Return the symt_module when requesting lexical parent of a UDT.
...
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
Eric Pouech
2325962e74
dbghelp: Return the stored name for a compiland.
...
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
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
Eric Pouech
3ed209e0d9
dbghelp: Correctly store and report bitfield information.
...
Bitfield information must be stored relative to first byte
of underlying integral type. We were storing the information
always relative to the first containing byte.
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
Eric Pouech
85557f361b
dbghelp: Fix two internal buffer allocations.
...
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
Eric Pouech
5c271afc99
dbghelp: Fill more fields in SYMBOL_INFO in SymGetTypeFromName.
...
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
Eric Pouech
d268cb028a
dbghelp: Fix NameLen usage in SYMBOL_INFO(W).
...
SYMBOL_INFO.NameLen should be the actual length of the symbol, not the
length of the (potentially truncated) string returned in
SYMBOL_INFO.Name. Add an helper (symbol_setname) to set those fields
properly.
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
Eric Pouech
7d54682ffc
dbghelp: Fix a failure about 'wrong name EntryPoint'.
...
Regression was introduced in d614ac4671
by allowing to return the symbol with the lowest address in the module
even if the requested address was strictly below.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 20:49:05 +02:00
Eric Pouech
5ddcb94af6
winedump: Correct and update a couple of infos in PDB symbol stream header.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:59:23 +02:00
Eric Pouech
d6aff64ccf
winedump: Add support for dumping heap_alloc_site CodeView records.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:53 +02:00
Eric Pouech
0003c64e5b
winedump: Correctly support flags in public records (V1 and V2).
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:55:08 +02:00
Eric Pouech
bf6ac26f75
winedump: Fix public and data/proc ref definitions of Codeview records.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:05:14 +02:00
Eric Pouech
7499b98ec8
winedump: Update support for S_COMPILE* records.
...
Don't mix up S_COMPILE records with compiland information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:04:36 +02:00
Eric Pouech
9adf73be7e
dbghelp:: Add proper support for S_OBJNAME records.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:03:27 +02:00
Eric Pouech
a9c552fe7f
winedump: Dump calling convention attributes for CodeView.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:01:59 +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
Eric Pouech
beb1314307
dbghelp/tests: Try to fix failure in current dbghelp tests.
...
Testbot failures in previous SymGetTypeFromName patch have nothing
to do with that former patch. Trying to address errouneous test.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:10:00 +02:00
Eric Pouech
71e2ab0ed3
dbghelp: Correctly initialize the module_pair structure in SymGetTypeFromName.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:09:44 +02:00
Alexandre Julliard
f2838cc1d4
dbghelp: Look for .so files in the architecture-specific directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 16:25:48 +02:00
Alexandre Julliard
f14632f345
dbghelp: Support loading builtins from the architecture-specific PE directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Gijs Vermeulen
8d260b40fc
dbghelp: Implement SymFromNameW().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50829
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-22 21:12:57 +02:00
Zebediah Figura
b70f9680c4
dbghelp: Link directly to __unDName.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-22 10:20:52 +02:00
Mark Harmstone
e5c289f29d
mscvpdb.h: Use official names for CodeView constants.
...
Signed-off-by: Mark Harmstone <mark@harmstone.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Alexandre Julliard
e2659819b8
include: Always define 32- and 64-bit versions of the TEB and PEB structures.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-05 15:53:19 +01:00
Paul Gofman
4005201922
dbghelp: Support UWOP_PUSH_MACHFRAME on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-15 16:19:28 +01:00
Paul Gofman
6bcde00566
dbghelp: Fix unwind opcodes on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-15 16:19:26 +01:00
Jacek Caban
04ddabfdff
dbghelp: Fetch version info only for PE modules in minidumps.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 21:43:30 +01: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
Rémi Bernon
8ec843e77b
dbghelp: Read process memory using target addresses, not debugger.
...
This fixes "wine winedbg --gdb winecfg" not working anymore.
There was a regression since f40195cd92
, but the environment read was
broken before.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 17:51:36 +01:00
Alexandre Julliard
b636f9816f
krnl386: Move the 16-bit stack out of the WOW32Reserved field.
...
Based on a patch by Sebastian Lackner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Brendan Shanks
f40195cd92
dbghelp: Use PEB->CloudFileFlags instead of PEB->Reserved for debug base address.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50077
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 22:06:52 +01:00
Jan Sikorski
fd4b700ad5
dbghelp: Avoid forwarded exports.
...
Fallout 76 does not handle forwarded exports of these functions.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:58:29 +02:00
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
Jacek Caban
47f1c5a993
dbghelp: Clear N_PEXT flag of stab type in macho files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Jacek Caban
208719a750
dbghelp: Provide N_PEXT and N_SECT defines when not available.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Jacek Caban
3b6c268380
dbghelp: Use DWARF registry mapping quirk only for actual macho modules.
...
Fixes handling DWARF in PE on macOS.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Jacek Caban
5d8067c608
dbghelp: Pass module to map_dwarf_register.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Gerald Pfeifer
f7a091af48
dbghelp: Define NT_GNU_BUILD_ID regardless of whether __ELF__ is defined.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +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
8d702a3aa5
dbghelp: Remove unused code in module_find_cb.
...
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
e3354e44f1
dbghelp: Move reading debug base address from PEB to check_live_target.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:30:30 +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
c8b5a3be55
dbghelp: Explicitly pass file type to path_find_symbol_file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:30:14 +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
2a5160c4f2
dbghelp: Pass process struct to image_uses_split_segs.
...
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
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
adecdb1d01
dbghelp: Don't use elf_fetch_file_info and macho_fetch_file_info in module_find_cb.
...
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
f30fdd1822
dbghelp: Move loader search functions to the end of module files.
...
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
724f433f39
dbghelp: Pass process struct to elf_enum_modules and macho_enum_modules.
...
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
6b3018d03d
dbghelp: Store process struct pointer in dump context.
...
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
be9072ec74
dbghelp: Use search_dll_path to load seach macho files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 20:59:03 +01:00
Jacek Caban
c3bb866bfc
dbghelp: Use search_unix_path to load seach macho files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 20:59:01 +01:00
Jacek Caban
ca49552f64
dbghelp: Introduce search_unix_path helper and use it in elf_search_and_load_file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 20:58:59 +01:00
Jacek Caban
ee5d29b7aa
dbghelp: Use search_dll_path in elf_search_and_load_file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 20:58:57 +01:00
Jacek Caban
21af2e1947
dbghelp: Make dll builtin PE path search helper more generic.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 20:58:54 +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
63d41a41f2
dbghelp: Rename helpers to make unicode variants default.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 20:58:50 +01:00
Jacek Caban
1ece841d93
dbghelp: Use page size from sysinfo.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 19:32:33 +01:00
Jacek Caban
7544b9f6fb
dbghelp: Call GetSystemInfo in DllMain.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 19:32:31 +01:00
Jacek Caban
ebf57f01f4
dbghelp: Use Windows API to map macho files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 20:32:38 +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
0dd4958688
dbghelp: Support GNU debug link and build id in PE files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 20:27:06 +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
d386823979
dbghelp: Move get_dos_file_name to path.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 20:26:52 +01:00
Jacek Caban
171c6fadab
dbghelp: Use elf_check_debug_link in elf_locate_build_id_target.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 20:26:50 +01:00
Jacek Caban
c1d867fa87
dbghelp: Check checksum before mapping elf file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 20:26:47 +01:00
Jacek Caban
5ba1c5960e
dbghelp: Pass module struct to elf_locate_debug_link.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:39:04 +01:00
Jacek Caban
e1b28a9c98
dbghelp: Support Windows paths in elf_locate_debug_link.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:39:00 +01:00
Jacek Caban
a5a6b0dcb6
dbghelp: Move HANDLE-based crc32 helper to dbghelp.c.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:56 +01:00
Jacek Caban
1d96af3627
dbghelp: Introduce generic image_unmap_file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:52 +01:00
Jacek Caban
95a5f82961
dbghelp: Use vtbl to handle different image_file_map types.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:47 +01:00
Jacek Caban
02dfd959ca
dbghelp: Move alternate file map pointer to generic image_file_map.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:41 +01:00
Jacek Caban
a3e1c7fa02
dbghelp: Use generic image_find_section in elf_check_alternate.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:34 +01:00
Jacek Caban
a60b3985bf
dbghelp: Use Windows API to map ELF files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:19 +01:00
Jacek Caban
d731208602
dbghelp: Search also real path location in path_find_symbol_file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:13:10 +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
Piotr Caban
7e16acf380
dbghelp: Use RtlImageDirectoryEntryToData in pe_load_msc_debug_info.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 20:32:54 +01:00
Piotr Caban
ab4c64a409
dbghelp: Support 32 and 64-bit binaries in ImageDirectoryEntryToDataEx.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 20:30:44 +01:00
Chip Davis
8000b5415d
dbghelp: Look for .eh_fram if no .eh_frame is found.
...
lld produces these, because '.eh_frame' misses the eight-character limit
by one character, but '.eh_fram' does not. This allows it to avoid
producing a string table for this common section.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 15:59:55 +01:00
André Hentschel
7a567d1bb0
dbghelp: Fix MiniDumpWriteDump spec file entry.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-08 21:57:15 +01:00
Ken Thomases
4b9defe09a
dbghelp: Fix reading the target's dyld image info, based on its CPU architecture.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:55:33 +01:00
Ken Thomases
28a25b052d
dbghelp: Fix reading the address of the target's dyld image info from its PEB.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:55:29 +01:00
Alex Henrie
ae6e401754
dbghelp: Avoid dead assignment (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:14:27 +02:00
Rémi Bernon
d263ba97fb
dbghelp: Prevent an invalid memory access when the search path element is empty.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Conor McCarthy
9d3687ad32
dbghelp: Return NULL instead of IMAGE_NO_MAP when PE file mapping fails.
...
A NULL test is always applied to the return value from pe_map_full(), but
IMAGE_NO_MAP is not NULL, it is ((void*)-1).
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 10:52:03 +02:00
Zebediah Figura
a91b0faefd
dbghelp: Use RtlComputeCrc32().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 10:52:03 +02:00