Alex Henrie
950792ae2b
dbghelp: Fix memory leak on error path in dwarf2_read_range (cppcheck).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 18:43:10 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Eric Pouech
00a11ff73d
dbghelp: Don't use .debug_frame section if non present when unwinding.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52295
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-03 14:50:29 +01:00
Eric Pouech
6c64e6dee4
dbghelp: Silence some FIXMEs.
...
Reading gecko's PDB generate a lot of those.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-16 20:29:38 +01:00
Alistair Leslie-Hughes
e19b18dd82
dbghelp: Fix use after free.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-13 18:02:58 +01:00
Eric Pouech
a6bf722bff
dbghelp: Implement SymEnumTypesByName(W).
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alistair Leslie-Hughes
33308a577c
dbghelp: Fix possible memory leak (Coverity).
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 17:14:59 +01:00
Eric Pouech
fdc48ba767
dbghelp: In SymGetTypeInfo(), return the correct basetype for enums.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 22:14:44 +01:00
Alexandre Julliard
c210a0e607
mountmgr: Return a Unix file name in the IOCTL_MOUNTMGR_QUERY_SYMBOL_FILE request.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-26 18:07:30 +01:00
Eric Pouech
9f1766193e
dbghelp: Simplify code for searching alternate debug info files.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Eric Pouech
789512beee
dbghelp: Fix allocation error in image_load_debugaltlink.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Eric Pouech
f10635ab08
dbghelp: In SymEnumerateLoadedModules, don't limit the number of modules.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Eric Pouech
4cc7a3ba90
dbghelp: Remove incorrect FIXME in SymEnumerateLoadedModules.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Eric Pouech
441838b7b2
dbghelp/dwarf: Don't unmap the fmap of a DWZ module twice.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Eric Pouech
0bbb161c41
dbghelp: Protect against missing compiland when adding global function.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52045
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Eric Pouech
5e56bc3b21
dbghelp: Fix potential crash when loading a builtin PE module embedded in an ELF image.
...
Regression introduced by ced12a1a3a
.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Eric Pouech
b65ef71fc0
dbghelp: Improve collision handling in SymLoadModuleEx().
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 22:14:54 +01:00
Eric Pouech
1465c7de2a
dbghelp: Detect collision by looking at module's base address in SymLoadModuleEx().
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 22:14:40 +01:00
Eric Pouech
ced12a1a3a
dbghelp: Move debug info loading out of image backends into SymLoadModuleEx().
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 22:14:24 +01:00
Eric Pouech
1b7bce4bf8
dbghelp: Allow 32bit dbghelp to handle 64 addresses.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 22:14:05 +01:00
Eric Pouech
8e8243a308
dbghelp: Always search current directory when loading PE modules.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 22:13:51 +01:00
Eric Pouech
e00f0d81fb
dbghelp: Fix module name construction.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 22:13:45 +01:00
Thomas Faber
40dfd9b8b1
dbghelp: Use _NT_ALT_SYMBOL_PATH.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:04:04 +01:00
Thomas Faber
bb2802984d
dbghelp: Use . instead of concrete path for search path.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:03:56 +01:00
Thomas Faber
6bedd7cce6
dbghelp/tests: Add tests for SymSetSearchPath.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:03:37 +01:00
Thomas Faber
06f1c40f17
dbghelp: Accept NULL search path in SymSetSearchPath.
...
Fixes a crash when starting kernrate.exe.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:03:24 +01:00
Eric Pouech
cb8aef440e
dbghelp/msc: Support S_SEPCODE codeview record.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:02:04 +01:00
Eric Pouech
7fec9fdcb2
dbghelp/msc: Silence a couple of unneeded codeview entries while parsing PDB.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:02:00 +01:00
Eric Pouech
82ea35cbb5
dbghelp/dwarf: Fix computation of some location attributes.
...
Dwarf4 clarified that only FORM_sec_offset can refer to location
lists, fix dwarf2_compute_location_attr accordingly.
This fixes the 'fixme:dwarf2_parse_udt_member: Found register, while
not expecting it' messages.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:01:47 +01:00
Eric Pouech
61c8728a6e
dbghelp/dwarf: Don't register labels without address.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:01:35 +01:00
Eric Pouech
19f97c5fd8
dbghelp/dwarf: Make use of AT_type if present when parsing an enumeration type.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:01:28 +01:00
Eric Pouech
10a20b2d22
dbghelp: Relax some failure conditions in SymSetContext and SymSetScopeFromAddr.
...
They shouldn't fail if passed address is inside a module, even if it
doesn't point to a function.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:01:16 +01:00
Eric Pouech
acfcd84a05
dbghelp/dwarf: Workaround functions with multiple range of addresses.
...
gcc can emit functions with code spread across non contiguous code areas.
We used to register those functions with an address range enclosing all ranges
(meaning that all addresses not actually belonging to the function but
lying in that address range could be returned by dbghelp as belonging
to the function).
Work around this by registering the function with only the first range
of addresses (this will avoid the errors described above), but will
fail to mark the other address ranges as part of the function.
dbghelp doesn't seem to have explicit support of those cases, even if
pdb/codeview also support functions with multi range of addresses
(see S_SEPCODE).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:16:26 +01:00
Eric Pouech
b332bda8e2
dbghelp/dwarf: Introduce a helper to read properly multiple range of addresses.
...
Use it to reimplement dwarf2_feed_inlined_ranges.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:16:17 +01:00
Eric Pouech
0c3274b526
dbghelp/msc: Better detect whether IPI stream is present.
...
Old version of PDB files can have a stream #4 which is not an IPI stream
Available documentation isn't 100% clear about when IPI has been
introduced.
So decide that IPI is present when header of stream looks like a type
stream header.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:14:08 +01:00
Eric Pouech
92fabc64e5
dbghelp/pdb: Fix start adress of block.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:13:27 +01:00
Eric Pouech
d8f26a4233
dbghelp/pdb: Add line number to inline sites.
...
Requires to join DEBUG_S_INLINEES subsection with symbol annotations.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
bfc0edb8cf
dbghelp/pdb: Handle a block in DEBUG_S_LINES subsection spreading across several symbols.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
cab92c90e0
dbghelp/pdb: Added support for S_INLINESITE and S_INLINESITE_END.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
3bc073d8bf
dbghelp/pdb: Let codeview_snarf() handle all module debug information.
...
Except old linetab v1.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
54ec50d859
dbghelp/pdb: Introduce codeview_init_type_parse() to handle init of type streams.
...
Currently used for TPI stream.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
b73ca9f05e
dbghelp/pdb: Implement loc_compute for pdb backend.
...
Add support for S_DEFRANGE* entries.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
7ad847bc34
dbghelp/pdb: Handle S_LOCAL codeview entries.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
de5fe89357
dbghelp/pdb: Add new basic type to represent char8_t introduced in C++20.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
9f3e8a515f
dbghelp: Use cpu from debuggee's modules rather than debugger's.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
e8b195329e
dbghelp: Use module's cpu word size instead of sizeof(void*) or sizeof(DWORD_PTR).
...
This fixes a couple of wrong pointer size computation when debugging a
WoW64 process from a 64 bit debugger.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
d72e6ac772
dbghelp: Attach a struct cpu* to every module.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
e105e9d35e
dbghelp: Check that we don't add same line number twice.
...
This happens (at least) in dwarf debug info where there could be two entries
with same source file and line number, but different column numbers
(and we don't store columns).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech
f83e647547
dbghelp/dwarf: Don't skip functions when their inlined flag comes from an abstract origin.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-05 17:10:45 +01:00
Eric Pouech
5f9bcb13b7
mscvpdb.h: Move parsing definitions to dbghelp.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00