Eric Pouech
507a3ef304
dbghelp: Return SymTagExe when requesting lexical parent of types in SymGetTypeInfo().
...
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
f3107eb095
dbghelp: Return error when requesting SymTagLabel's size in SymGetTypeInfo().
...
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
dd572227cb
dbghelp: Silence FIXMEs in SymGetTypeInfo().
...
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
a4ebfe8c76
dbghelp: Expose no children in SymGetTypeInfo() for some SymTags.
...
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
dbcc714cef
dbghelp: SymTagFunctionArgType's lexical parent is module, not SymTagFunctionType.
...
(as any other type)
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
f376dfd1fd
dbghelp: Update SymGetTypeInfo() requests and SymTagEnum to latest dbghelp definitions.
...
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
11d8338f7a
dbghelp: Expose SymTagBlock's address and size in SymGetTypeInfo().
...
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
4540d4f492
dbghelp: Expose SymTagBlock's children in SymGetTypeInfo().
...
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
4bf83f21ca
dbghelp: Silence FIXME when requesting SymTagExe lexical parent in SymGetTypeInfo().
...
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
24a7de70a6
dbghelp: Manage parent/child relationship between SymTagExe and SymTagCompiland.
...
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
8e50fea66b
dbghelp: Expose compiland's children in SymGetTypeInfo().
...
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
15d526d81e
dbghelp: Don't expose SymTagExe or SymTagCompiland's address nor length in SymGetTypeInfo().
...
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
dec1e46d01
include/cvconst.h: Add enumeration for newest SymTag values.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:48:59 +02:00
Eric Pouech
9768ea5637
dbghelp/dwarf: Bump max supported version (by default) up to 4.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:48:59 +02:00
Eric Pouech
56969bc80e
dbghelp/dwarf: Fix incorrect WARN.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:48:59 +02:00
Eric Pouech
dd67b78ed3
dbghelp/dwarf: Add support for local variables with constant values.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:48:59 +02:00
Eric Pouech
0de0a80940
dbghelp/dwarf: Downgrade FIXME into WARN for empty range.
...
It happens to be generated for some inline functions, that we badly
support yet.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:48:59 +02:00
Eric Pouech
e039a28e3b
dbghelp/dwarf: Silence a couple of dwarf DIE's tag in load_one_debug_entry.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Eric Pouech
d8c9171c78
dbghelp/dwarf: Added support for OP_call_frame_cfa.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Eric Pouech
1ecd66200d
dbghelp/dwarf: Split dwarf2_virtual_unwind into two functions.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Eric Pouech
eabeb1da5c
dbghelp/dwarf: Pass cuhead to loc_compute_frame.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Eric Pouech
c2d1d76531
dbghelp/dwarf: Add support for DW_TAG_imported_unit.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Eric Pouech
e5a1b8b334
dbghelp/dwarf: Add support for partial compilation units.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Eric Pouech
e362ed8c28
dbghelp/dwarf: Fix a couple of parent/child mismatch.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Eric Pouech
15eb6a2560
dbghelp/dwarf: Handle C++ rvalue reference type as a reference.
...
As we don't handle C++ references yet, it'll be a pointer in the end.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:02:21 +02:00
Eric Pouech
79cd318b77
dbghelp/dwarf: Support more dwarf's TAG related to types in udt parsing.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:02:09 +02:00
Eric Pouech
88840187f5
dbghelp/dwarf: Added support for DW_TAG_subrange_type in various places.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:02:05 +02:00
Eric Pouech
44bcae3f8d
dbghelp/dwarf: Support enumeration as index type for arrays.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:02:00 +02:00
Eric Pouech
09d2a6cffb
dbghelp/dwarf: Added support for parsing dwarf's 3 restrict type TAG.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:01:52 +02:00
Eric Pouech
87485ea107
dbghelp/dwarf: Handle some Dwarf4 tweaks in high / low pc attributes.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:01:46 +02:00
Eric Pouech
23c325276b
dbghelp: Remove unneeded #include <limits.h>.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:01:03 +02:00
Eric Pouech
69d07126fe
dbghelp/dwarf: Properly detect base address selection in AT_ranges.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:00:59 +02:00
Eric Pouech
ab8fdb191c
dbghelp/dwarf: In DW_AT_ranges, the values are relative to the start of the CU.
...
And not the module, as most of the other addresses.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:00:34 +02:00
Alexandre Julliard
088a787a2c
makefiles: Make -mno-cygwin the default.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Eric Pouech
8547aac2dc
dbghelp/dwarf: When loading a DWZ alternate file, don't force loading of all debug_infos.
...
Can have huge performance impact: libgcc_s.so.8 load time decreased
from 40 seconds down to less than 1 second.
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
dc0ac71f5a
dbghelp/dwarf: Add proper support for DW_FORM_GNU_ref_alt.
...
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
d832d51c2c
dbghelp/dwarf: Add a helper to jump into another debug_info.
...
This helper takes into account that source and destination debug_info
can be in different dwarf units, and even different debug files (DWZ).
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
def87b2aef
dbghelp/dwarf: No longer pas a unit context when parsing debug_info content.
...
Use debug_info's unit_context instead.
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
87b70fb272
dbghelp/dwarf: Fold printing info about unit context when printing debug_info's.
...
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
e804b0754f
dbghelp/dwarf: No longer pass a unit context to dwarf2_get_cpp_name.
...
Use debug_info's unit context instead.
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
61af17e6cf
dbghelp/dwarf: No longer pass a parse context to dwarf2_find_attribute.
...
Use debug_info's unit context instead.
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
517f614bc8
dbghelp/dwarf: Load the alternate dwarf file content as we do for a regular dwarf module.
...
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
9f74ac4b3b
dbghelp/dwarf: Handle DW_FORM_GNU_strp_alt (string located in an alternate DWZ file).
...
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
16d6656163
dbghelp/dwarf: Store a potential link to an external DWZ file in the dwarf2 module's information.
...
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
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
0646e15665
winedbg: Show dwarf version(s) used for a module.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:55 +02:00
Eric Pouech
f7377e5e65
dbghelp/dwarf: Add reference for a DIE to its CU.
...
Dwarf4 (and GNU extensions) support following debug info in
a) different CU
b) different ELF/PE files
So add a field from debug_info into the parent context unit
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:47 +02:00
Eric Pouech
f0c9397459
dbghelp/dwarf: Detect out of section sibling DIE information.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:42 +02:00
Eric Pouech
34b06f873a
dbghelp/dwarf: Support DW_FORM_ref_addr in type DIE lookup using the new cross-CU DIE mechanisms.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:30 +02:00
Eric Pouech
8c22d665a8
dbghelp/dwarf: Add ability to get to a DIE in a different CU.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:25 +02:00
Eric Pouech
5e74e2b919
dbghelp: Split the parsing of a dwarf compilation unit in two phases.
...
- first phase just parse the header and do elementary checks
- second phase, actually load all DIEs in CU
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:06:10 +02:00
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