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
b37996305d
dbghelp: Improve speed of our hashtable implementation by remembering the last element added to every bucket.
2009-06-15 13:42:28 +02:00
Ken Thomases
d7466e0c4e
dbghelp: Add support for debugging Mach-O modules.
2009-03-25 12:17:29 +01:00
Ken Thomases
637827a2d0
dbghelp: Extract calc_crc32 function into a separate file.
2009-03-12 14:29:03 +01:00
Ken Thomases
b8f6a68d6f
dbghelp: Rename some things to be less ELF-centric.
2009-03-12 13:09:56 +01:00
Ken Thomases
3db11b98b7
dbghelp: Let stabs_parse call back for real (non-debug) symbol definitions.
2009-03-12 13:09:55 +01:00
Alexandre Julliard
d2682f57f8
dbghelp: The main executable is now always named "wine".
2009-03-10 18:22:43 +01:00
Andrew Talbot
5b60142f94
dbghelp: Remove unused function.
2009-02-05 13:13:58 +01:00
Alexandre Julliard
ae7490d362
dbghelp: Fix pool allocation routines to be able to support arbitrary sizes.
...
Also move full arenas to a separate list to avoid searching through
them again and again.
2009-02-04 12:27:36 +01:00
Andrew Talbot
4c92ba2270
dbghelp: Declare some functions static.
2009-01-03 15:35:29 +01:00
Eric Pouech
01e69c71e0
dbghelp: Report in module's info when a module's debug information has been mismatched (dbg and pdb only).
2008-10-20 13:52:16 +02:00
Eric Pouech
2994e98850
dbghelp: Improve the symbol loader for .DBG files.
...
When looking for a .DBG file, first look for a .DBG file matching all
attributes, then for a .DBG partially matching the attributes.
2008-09-04 13:47:11 +02:00
Eric Pouech
d600115387
dbghelp: Improve the symbol loader.
...
When looking for a PDB file, no longer use SymFindFileInPath as it
doesn't actually check the signatures, but use an internal function
instead.
2008-09-04 13:46:54 +02:00
Erik de Castro Lopo
ab2424710f
dbghelp: Fix pointer cast.
2008-04-25 11:37:50 +02:00
Eric Pouech
75803e9448
dbghelp: Extended the internal enumeration information so that we know the underlying integral type.
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
Markus Amsler
6f8a67f018
dbghelp: Late init hash_table.
2007-05-15 20:20:07 +02:00
Markus Amsler
8bc839a816
dbghelp: Speed up vector iteration by directly using for().
2007-05-15 20:19:53 +02:00
Markus Amsler
f94127f2ca
dbghelp: Speed up vector_add by avoiding pool_realloc calls. Remove no longer needed pool_realloc.
2007-05-15 20:19:28 +02:00
Andrew Talbot
a224fdb14e
dbghelp: Constify some variables.
2007-04-20 13:04:11 +02:00
Eric Pouech
9a0e666733
dbghelp: Renamed pe_load_module (resp pe_load_module_from_pcs)
...
to pe_load_native_module (resp pe_load_builtin_module) to better describe
what those functions actually do.
2007-03-13 21:07:47 +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
3565d93ebe
dbghelp: Now moving the ELF loading code to Unicode.
2007-02-22 12:32:17 +01:00
Eric Pouech
c1269392e0
dbghelp: Move elf_fetch_file_info to Unicode.
2007-02-22 12:29:53 +01:00
Eric Pouech
039d54a4bf
dbghelp: Make elf_enum_modules a Unicode function.
2007-02-22 12:29:27 +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
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
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
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
d5c4e55d36
dbghelp: Added struct location to help computing a location.
...
Make use of it in dwarf.c to handle correctly variable location computation.
Split code to handle both location with parse time computation
(current code) and yet to come run-time computation
2006-11-27 17:54:08 +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
1a723f237c
dbghelp: Store compiland's address in internal structures.
2006-11-27 17:49:50 +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
04c7c203fc
dbghelp: Simplify code with function to get section size.
2006-11-27 17:48:44 +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
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
Eric Pouech
e9910fee66
dbghelp: Dwarf & thunks.
...
- added the elf_is_in_thunk_area() function to locate an address
within the known thunk area of Wine's builtin modules
- now passing this thunk information to the dwarf parser so that it
can drop functions from the thunk areas (as dwarf symbols), so that
those functions can be later on marked as thunks in dbghelp
internals
2006-06-26 13:38:03 +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
a655b14340
dbghelp: Pass .debug_loc section information to dwarf.
2006-06-20 11:52:29 +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