Alistair Leslie-Hughes
4aa7fbe056
dbghelp: Return a dos path from SymGetLineFromAddr.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34687
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 22:45:03 +02:00
Alistair Leslie-Hughes
101820d01a
dbghelp: Use internal flag for loading native files.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:29:30 +02:00
Francois Gouget
ab71398eb0
dbghelp: Spelling fixes in a couple of comments.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-14 16:11:53 +01:00
Francois Gouget
edcff4046c
dbghelp: Make symt_get_best_at() static.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 15:51:18 +01:00
Andreas Maier
d614ac4671
dbghelp: SymFromAddr: Handle 2 or more symbols at the same address correct.
...
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:29:37 +01:00
Andreas Maier
8d096fb5e2
dbghelp: Set correct values in symt_fill_sym_info (SYMBOL_INFO).
...
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:29:26 +01:00
Michael Stefaniuc
053a7e225c
dbghelp: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 00:18:02 +02:00
Thomas Faber
e91c06b068
dbghelp: Use documented member name in SYMBOL_INFO structure.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:58 +09:00
Michael Stefaniuc
c8ab4004ad
dbghelp: Use CONTAINING_RECORD instead of reimplementing it.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-08 21:29:15 +09:00
Sebastian Lackner
fa4dfa4325
dbghelp: Implement UnDecorateSymbolNameW.
...
Also fixes a bug in UnDecorateSymbolName when undecorated_length == 0.
2015-08-06 23:36:02 +09:00
Francois Gouget
654657b715
dbghelp: Remove an unneeded NONAMELESSSTRUCT directive.
2015-03-10 15:18:25 +09:00
Victor Martinez Calvo
9eca0aa8a7
dbghelp: Fix invalid assignment in symt_fill_sym_info.
2014-04-30 18:32:21 +02:00
Frédéric Delanoy
d066561625
dbghelp: Constify some character strings.
2013-12-16 12:02:49 +01:00
Stefan Leichter
89832cde4e
dbghelp: Add a null check for optional output parameter for function SymFromAddr.
2013-12-02 10:50:32 +01:00
Alexandre Julliard
836b682ed3
dbghelp: Remove a useless DllMain, msvcrt can't be unloaded.
2013-11-11 11:49:18 +01:00
Andrew Cook
878ea7d9ea
dbghelp: Add stubs for SymSetHomeDirectory.
2013-04-01 20:42:33 +02:00
Eric Pouech
f3107df576
dbghelp: Use new regular expression matcher for files.
2012-01-23 16:07:39 +01:00
Eric Pouech
026ec7f690
dbghelp: Do all module and symbol names matching using unicode string (and new regular expression matcher).
2012-01-23 16:07:39 +01:00
Eric Pouech
be9a7b9b97
dbghelp: Rewrote a simple regular expression matcher, and use for implementing SymMatchString[AW].
2012-01-23 16:07:38 +01:00
Francois Gouget
67448e5661
dbghelp: Fix the position where the calling convention is specified in function pointers.
2012-01-16 12:45:33 +01:00
Daniel Lehman
44233d5f07
dbghelp: Use CDECL calling convention for __unDName and callbacks.
2012-01-09 12:52:17 +01:00
Eric Pouech
28bb6f954a
dbghelp: Correctly return flags in SYMBOL_INFO structure for local variables stored in a register.
2012-01-03 12:37:28 +01:00
André Hentschel
d6fadb882f
dbghelp: Implement SymMatchStringW.
2011-11-01 10:42:53 +01:00
André Hentschel
7e3fe1975a
dbghelp: Rename SymMatchString and forward it to SymMatchStringA.
2011-11-01 10:42:50 +01:00
Alistair Leslie-Hughes
5d01166f96
dbghelp: Add stubs SymFromIndex, SymFromIndexW.
2011-05-30 17:21:57 +02:00
Eric Pouech
9c09f14270
dbghelp: Extended CPU structure by adding a default register number for frame.
2011-04-12 12:49:53 +02:00
Eric Pouech
9d3be00df2
dbghelp: When building the by address lookup table, speed up resorting by always taking into account that existing symbols are already sorted.
2011-03-09 13:53:09 +01:00
Eric Pouech
dca2d350ad
dbghelp: Add helper to get global address out of symt, instead of going though symt_get_info.
2011-03-09 13:52:41 +01:00
Eric Pouech
2d570921dc
dbghelp: When using a regular expression on a file name, interpret '*' as any string (.* in regexp form).
2011-03-08 12:30:08 +01:00
Eric Pouech
031cce8e77
dbghelp: Added support for variables in thread storage.
2011-01-31 14:30:13 +01:00
Eric Pouech
99a5488a18
dbghelp: Ensure that local variables and parameter actually have a container.
2010-06-08 12:59:17 +02:00
Marcus Meissner
4f2e15d053
dbghelp: Add 2 new darf defines and implement DW_OP_stack_value.
2010-06-07 15:26:12 +02:00
Eric Pouech
e520605fa9
dbghelp: When trying to enumerate locals & parameters with SymEnumSymbols, don't return a global or public symbol when the nearest symbol of the current context isn't a function.
2010-04-08 12:28:53 +02:00
Eric Pouech
375d158da7
dbghelp: Fix local/parameters enumeration on 64bit platforms.
2010-03-22 11:29:08 +01:00
Eric Pouech
bf97b03db5
dbghelp: Implemented SymFunctionTableAccess.
2010-03-22 11:27:36 +01:00
Eric Pouech
73f79e7fad
dbghelp: Create new infrastructure to hold specific information for multiple file/debug formats in a single module, and use it to store dwarf2 stuff.
2010-03-19 12:08:27 +01:00
Alistair Leslie-Hughes
a204f099c6
dbghelp: Add stubs for SymGetLineFromName, SymGetLineFromName64, SymGetLineFromNameW64.
2010-02-09 17:13:36 +01:00
Eric Pouech
181de55619
dbghelp: Removed some unused fields for public symbol description.
2010-01-25 12:52:46 +01:00
Eric Pouech
9500df82f1
dbghelp: Move the core of some line related functions to 64bit interface.
2009-12-15 11:58:39 +01:00
Eric Pouech
776e75e43c
dbghelp: Fix symt_find_nearest so that it searches for 64bit addresses on 64bit platforms.
2009-12-15 11:58:24 +01:00
Eric Pouech
7b83b70b06
dbghelp: Rewrite the symt* <=> index wrappers to that they work on 64bit platforms.
2009-12-15 11:57:33 +01:00
Eric Pouech
92b9b0940d
dbghelp: Wrap the symt* <=> index transformations.
2009-12-15 11:56:45 +01:00
Eric Pouech
b037912c9d
dbghelp: Fix a couple of casts on 64bit platforms.
2009-12-14 12:27:32 +01:00
Marcus Meissner
30c1df4a08
dbghelp: Add a missing NULL check (Coverity).
2009-12-09 12:03:47 +01:00
Eric Pouech
6a1b2a9ca5
dbghelp: Enhance support for constant values in dwarf debug information.
2009-10-05 14:56:24 +02:00
Andrew Talbot
f4d2db4c54
dbghelp: Constify some variables.
2009-07-15 13:23:00 +02:00
Alexandre Julliard
75792a3e69
dbghelp: Grow all arrays by doubling the size.
2009-07-10 14:46:55 +02:00
Eric Pouech
4008943502
dbghelp: Simplify the resort operation (module address table) by using binary insertion instead of resorting the whole array.
2009-06-26 12:01:07 +02:00
Eric Pouech
609ec7b11d
dbghelp: when (re)building the per module symbol table (lookup by address), no longer iterate over the hash table.
...
Directly add to the table when adding a new symbol.
2009-06-26 12:01:00 +02:00
Eric Pouech
dde39fddc5
dbghelp: Factorize symbol insertion into module by address table.
2009-06-26 12:00:38 +02:00
Alexandre Julliard
329c22f323
dbghelp: Add a few more 64-bit symbol functions.
2009-04-23 12:41:29 +02:00
Ken Thomases
d7466e0c4e
dbghelp: Add support for debugging Mach-O modules.
2009-03-25 12:17:29 +01:00
Ken Thomases
b8f6a68d6f
dbghelp: Rename some things to be less ELF-centric.
2009-03-12 13:09:56 +01:00
Alexandre Julliard
0f3445d6db
dbghelp: Fix handling of empty file regexp (Coverity).
2009-02-09 14:37:22 +01:00
Alexandre Julliard
601a1364b9
dbghelp: Moved SymEnumLines to symbol.c to reuse the regex support.
2009-02-04 13:13:08 +01:00
Alexandre Julliard
768954b245
dbghelp: Fall back to string comparison if regex support is missing.
2009-02-04 13:02:08 +01:00
Alexandre Julliard
e9610f674c
dbghelp: Allocate enough memory initially for regexps instead of growing the buffer.
2009-02-04 13:00:31 +01:00
Michael Stefaniuc
3c3a9b5081
dbghelp: Remove superfluous pointer casts.
2009-01-19 13:36:25 +01:00
Francois Gouget
9c5e97aa71
Assorted spelling fixes.
2008-11-24 14:25:10 +01:00
Eric Pouech
7abf97ca47
dbghelp: Added stub for SymSetScopeFromAddr.
2008-10-01 09:48:06 -05:00
Eric Pouech
49a44342fa
dbghelp: Added stubs for add symbol functions.
2008-10-01 09:47:41 -05:00
Andrew Talbot
c9563e10fc
dbghelp: Sign-compare warnings fix.
2008-09-25 11:28:58 +02:00
Eric Pouech
5ad756fb3c
dbghelp: Use the correct size for global variable when searching for a symbol.
2008-09-08 12:47:20 +02:00
Jon Griffiths
c683753185
dbghelp: Implement SymEnumerateSymbols64.
2008-06-21 11:13:37 +02:00
Eric Pouech
ee1a9af0ce
dbghelp: When sending back information about a global symbol, only demangle the class & field/method name.
2008-02-07 11:59:52 +01:00
Eric Pouech
a4dfe1b042
dbghelp: Added support for labels outside functions (and used it in msc parsing).
2008-02-07 11:59:52 +01:00
Francois Gouget
9d2f48dc0f
dbghelp: Better match the PSDK types, especially with regards to constness.
...
Also add a number of missing prototypes, especially 64bit or Unicode
versions of existing prototypes, and the related structures. Update
win32.api to fix the winapi_check warnings.
2007-08-03 12:43:40 +02:00
Markus Amsler
8bc839a816
dbghelp: Speed up vector iteration by directly using for().
2007-05-15 20:19:53 +02:00
Andrew Talbot
a224fdb14e
dbghelp: Constify some variables.
2007-04-20 13:04:11 +02:00
Andrew Talbot
6a23efdaa2
dbghelp: Replace inline static with static inline.
2007-03-21 16:02:57 +01:00
Eric Pouech
f2cfb374a4
dbghelp: Get rid of module_name in all traces (using Unicode flavor).
2007-03-13 21:02:42 +01:00
Eric Pouech
ade919c603
dbghelp: Cleanups for module loading (lookups on module name and image name are two different things)
...
- split up module_find_by_name in two different functions:
+ reused module_find_by_name which looks upon the module name
+ added module_is_already_loaded which looks upon the image name
- cleanup module loading using these functions (removed extra parameter
to pe_load_module_from_pcs)
2007-03-13 20:58:08 +01:00
Eric Pouech
ccf0be8e57
dbghelp: Implemented SymEnumTypesW.
2007-03-05 12:15:16 +01:00
Eric Pouech
43dffcd05d
dbghelp: Now storing module information in Unicode form.
2007-02-22 11:39:08 +01:00
Eric Pouech
aac77c98a2
dbghelp: Added an ANSI copy of the module name (useful for next patches).
2007-02-22 11:28:53 +01:00
Eric Pouech
75033503e8
dbghelp: Added ability to internal store / reload a symbol with a constant value.
...
Let dwarf and msc use this new feature.
As we also add global symbol without addresses, don't take those
constant symbols into account for searches by address.
2006-12-06 11:38:43 +01:00
Eric Pouech
a1a879363d
dbghelp: Added a field to the hash table to store the number of elements in the hash table.
...
Make use of it to get rid to module_compute_num_syms.
2006-12-06 11:37:38 +01:00
Eric Pouech
4806320b48
dbghelp: In find_nearest, now return the symbol instead of its index in module->sorttable.
2006-12-06 11:37:10 +01:00
Eric Pouech
8e7b2e0fd7
dbghelp: Get rid of long int issues on 64bit platforms.
2006-11-30 13:26:39 +01:00
Eric Pouech
0d942b3aaa
dbghelp: Function points location is now expressed as a struct location.
2006-11-27 17:55:44 +01:00
Eric Pouech
d812f8b42c
dbghelp: Added infrastructure to compute variable location at runtime (as opposed to debug info parse time).
...
Use it to send the variables depending on not known frame register at parse time.
Made just a stub for the location computation function for dwarf2.
2006-11-27 17:55:17 +01:00
Eric Pouech
20fc25bc55
dbghelp: Use the location info structure thoughout the code to handle the location of a data variable.
2006-11-27 17:54:39 +01:00
Eric Pouech
1a723f237c
dbghelp: Store compiland's address in internal structures.
2006-11-27 17:49:50 +01:00
Eric Pouech
4bcca691d1
dbghelp: When looking up for a local variable (or parameter), pass the function pointer.
2006-11-27 17:49:27 +01:00
Eric Pouech
32c96adddd
dbghelp: Added a process field to the modules pair structure.
...
This makes the code simpler to read, a bit more efficient, and
furthermore it'll be needed in future patches.
2006-11-27 17:49:01 +01:00
Eric Pouech
6c4c64265d
dbghelp: Variables & registers.
...
- more strickling differentiation variable location between
a register, and the dereferenced address defined by a
register (and possibly an offset)
- added a parameter to symt_add_func_local (and internal symbol
data struct) to help differentiate
- fix all debug parsers to confer to this new scheme
2006-09-26 11:48:39 +02:00
Andrew Talbot
2f8c51f547
dbghelp: Cast-qual warnings fix.
2006-09-08 16:07:43 +02:00
Eric Pouech
83c30a55b8
dbghelp: Made stabs parsing a bit more robust.
...
Enhance dbghelp's robustness against bogus stabs sections found in
meetro.exe (as reported by Jan Zerebecki).
2006-08-09 23:08:00 +02:00
Robert Shearman
5c8b22f385
dbghelp: Implement SymGetSymFromAddr64.
2006-07-26 10:23:19 +02:00
Eric Pouech
7af4097d80
dbghelp: Added the ability to define a source file by dir+filename instead of only filename.
2006-06-20 11:54:40 +02:00
Eric Pouech
cff41cf9f2
dbghelp: Storage of func locals & parameters.
...
- added the ability to tell to add_func_local whether we're adding
a local variable or a parameter (and removed the black magic
we were using)
- we can now address variables defined as an offset to a register
2006-06-20 11:47:38 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Eric Pouech
c25d3ac7d5
dbghelp: Implemented SymSearchW.
2006-05-11 12:18:46 +02:00
Eric Pouech
208e701a7b
dbghelp: Implemented SymEnumSymbolsW.
2006-05-11 12:18:30 +02:00
Eric Pouech
96efcbc47b
dbghelp: Improved SymSearch (now using tag, index and address).
2006-05-11 12:18:06 +02:00
Eric Pouech
5eb1c98853
dbghelp: Factorize and simplify a bit symbol enumeration code.
2006-05-11 12:17:47 +02:00
Eric Pouech
55f8a1b8fb
dbghelp: Implemented SymGetLineFromAddrW64.
2006-05-11 12:17:03 +02:00
Eric Pouech
7d4194f57b
dbghelp: Implemented SymFromAddrW.
2006-05-11 12:16:24 +02:00
Eric Pouech
a49adbc49e
dbghelp: Base and symbols.
...
- report the correct image base for a symbol which is
seen as being in a builtin PE module, whilst its debug
information is gotten from an ELF module
- module_get_debug now returns a pair of modules
(the requested that has to be presented back to the client
and the effective one, which contains the debug info)
- reworked SymFromName in order to provide also the revelant
module base address
2006-05-08 14:47:56 +02:00
Eric Pouech
983d8aea3e
dbghelp: Module should be case insensitive.
...
When looking up a symbol name in the form module!name, the module
lookup should be insensitive.
2006-03-27 11:30:50 +02:00