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
59f93f64b7
dbghelp: Rewrote module_is_elf_container_loaded so that it no longer
...
uses the stored ModuleName (that the dbghelp's caller can override) but rather a
combination of base address and filename for the module.
2007-03-13 20:54:21 +01:00
Eric Pouech
a6a57c934c
dbghelp: Added helper to get the basename + extension from full filename.
2007-03-13 20:52:58 +01:00
Eric Pouech
3565d93ebe
dbghelp: Now moving the ELF loading code to Unicode.
2007-02-22 12:32:17 +01:00
Eric Pouech
1690cf1815
dbghelp: Moved the internals for registered callback to Unicode.
2007-02-22 12:27:16 +01:00
Eric Pouech
180127dd94
dbghelp: Get rid of temporary module_get_type_by_nameA.
2007-02-22 12:27:00 +01:00
Eric Pouech
d707fe5ac3
dbghelp: Added module_get_type_by_name in Unicode form and keep the ANSI form for compatibility.
2007-02-22 12:21:14 +01:00
Eric Pouech
46684a9fb6
dbghelp: Moved ELF module loading interfaces to Unicode.
...
The core the code remains ANSI, as all the information is stored as ANSI.
2007-02-22 12:20:03 +01:00
Eric Pouech
6a859fb0e6
dbghelp: Move PE module loading to Unicode.
2007-02-22 11:41:15 +01:00
Eric Pouech
43dffcd05d
dbghelp: Now storing module information in Unicode form.
2007-02-22 11:39:08 +01:00
Eric Pouech
c75fb89a64
dbghelp: Prepare module loading functions to be switched to Unicode module storage.
2007-02-22 11:34:20 +01:00
Eric Pouech
50de2e2e4a
dbghelp: Make the module info functions ready for the Unicode move.
2007-02-22 11:33:06 +01:00
Eric Pouech
fcd3972fa8
dbghelp: Rewrote the loaded modules enumeration so that Unicode version is the core.
2007-02-22 11:32:05 +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
33c8ffc301
dbghelp: Added helper to define the module's name.
2007-02-22 11:28:13 +01:00
Eric Pouech
883732281e
dbghelp: Implemented 64 bit versions of EnumerateLoadedModules.
2007-01-04 11:12:13 +01:00
Dmitry Timoshkov
e7d620081f
dbghelp: Make some data const.
2006-12-14 20:11:07 +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
8e7b2e0fd7
dbghelp: Get rid of long int issues on 64bit platforms.
2006-11-30 13:26:39 +01:00
Eric Pouech
848f8c41c0
dbghelp: Pass .debug_loc section info from the ELF loader to the dwarf parser.
2006-11-27 17:53:52 +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
Peter Oberndorfer
2b06143031
dbghelp: Initialize BOOL elements with FALSE instead of 0.
2006-11-08 15:50:31 +01:00
Andrew Talbot
2f8c51f547
dbghelp: Cast-qual warnings fix.
2006-09-08 16:07:43 +02:00
Eric Pouech
1a5f7f5926
dbghelp: Implemented SymEnumerateModules64.
2006-06-27 11:17:54 +02:00
Eric Pouech
e4441d7e6f
dbghelp: Module info.
...
- now internally storing module info as a 64bit module structure
(the interest in not in the 64 bit side of things, but because
it allows storing lots of usefull information)
- fixed SymGetModuleInfo64W which wasn't returning the
LoadedPdbName field
- now filling for MSC files with the extended information
(instead of guessing it)
- reused the extended module info to store wine ELF module
information (link for map link, stabs vs dwarf symbol info)
2006-06-27 11:17:34 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Eric Pouech
2a1d8efde4
dbghelp: Removed call to registered callback when unloading a module.
...
First, native dbghelp doesn't do it, and it crashed windbg, likely
because we got the undocumented arguments wrong.
2006-05-11 12:19:24 +02:00
Eric Pouech
d2d85a1b46
dbghelp: Implemented SymGetModuleInfoW and SymGetModuleInfoW64.
2006-05-11 12:16:01 +02:00
Eric Pouech
922a7bd191
dbghelp: Implemented SymLoadModuleExW.
2006-05-11 12:15:21 +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
88aa6703af
dbghelp: Virtual modules.
...
Rewrote virtual modules handling so that it's an option to either PE
or ELF modules rather than a specific type.
2006-02-20 12:16:08 +01:00
Eric Pouech
0509fe72c9
dbghelp: Return better values in module information.
...
- 32/64: number of symbols is now correct
- 64: the 64 bit extra fields are now initialized with some non null
yet sensible value
2006-01-23 16:38:57 +01:00
Eric Pouech
bdf32ee032
dbghelp: Brought dbghelp.h a bit closer to PSDK definitions.
2006-01-23 16:37:48 +01:00
Eric Pouech
418591c8ea
dbghelp: Started implementation of the global callback mechanism.
2006-01-23 16:29:21 +01:00
Eric Pouech
558130a696
dbghelp: StackWalk (32 and 64 bit version).
...
- enhance implementation of StackWalk (32 and 64 bit version) by
making use of module information and calling for FPO
- FPO part is still non functional
- implemented SymGetModuleBase64
- stubbed SymFunctionTableAccess64
2006-01-05 13:41:25 +01:00
Eric Pouech
87ab6e6cd8
dbghelp: Correct handling for all module names.
2005-12-22 11:11:39 +01:00
Francois Gouget
e186f54c4e
Add IMAGEHLP_MODULEW64.
...
Add SymGetModuleInfoW64() and SymLoadModule64().
2005-12-02 13:00:24 +01:00
Eric Pouech
d10a90dca0
Added support for 'loading' virtual modules.
2005-11-29 11:47:40 +01:00
Eric Pouech
8bd3c060ec
Now correctly checking calling down to 32 bit version.
2005-11-29 11:45:16 +01:00
Eric Pouech
dd3e1dc525
Implemented SymGetModuleInfo64.
2005-11-29 11:42:13 +01:00
Eric Pouech
22f9f4f0c3
Implemented SymUnloadModule64.
2005-11-29 11:35:10 +01:00
Eric Pouech
1cb1183037
Implemented SymLoadModuleEx.
2005-11-29 11:24:46 +01:00
Paul Vriens
4129e6e17f
Add SymLoadModule64.
2005-05-29 20:02:42 +00:00
Peter Berg Larsen
716bf4d6fb
Elimination of lstrcpyn, and corrected a potential pointer bug.
2005-04-18 15:33:31 +00:00
Eric Pouech
7ea69cc7ea
- Various improvements for minidump module information
...
. added timestamp & checksum in PE module
. added size & checksum in ELF module
. wine loader now appears with its pathname.
- Implemented PE & ELF timestamp & checksum validation in
SymFindFileInPath.
2005-03-29 13:14:08 +00:00
Peter Berg Larsen
e732fc023d
Janitorial: Get rid of strncpy/strncpyW.
2005-03-28 14:17:51 +00:00
Eric Pouech
01aa71371b
Memory consumption optimization while loading ELF debug info:
...
- don't map twice an ELF file for symbol lookup (in non deferred mode)
- no longer entirely map an ELF file into memory, but only the
sections we need.
Added support for loading ELF modules thru SymLoadModule in a non life
process.
Factorisation of code for ELF module handling.
Fixes to ELF symbol loading
- drops symbols from symtab which are neither funcs nor global
variables
- fixes some incorrect size computation for latest GCC versions.
Several cleanups and fixes.
2005-03-01 10:39:49 +00:00
Eric Pouech
dc43edff39
- fixed loading stabs from PE modules compiled with MingW
...
- enhance some loading logic between ELF/PE DLL pairs
- removed unused indirect memory access function
- get rid of some GCC generated symbols
2004-11-08 20:26:22 +00:00
Robert Shearman
ffbed1ff9c
Print out a slightly more informative message if an ELF module fails
...
to load.
2004-10-04 18:59:10 +00:00
Eric Pouech
6e7d28d502
- now storing vector of types on a per module basis (and giving it
...
back in SymEnumTypes)
- flagging local register vars as local too
2004-09-27 20:31:42 +00:00