Commit Graph

88 Commits

Author SHA1 Message Date
Alexandre Julliard 7f88738fa6 dbghelp: Moved addr_to_linear() to stack.c. 2009-12-10 15:29:20 +01:00
Eric Pouech 9d80b19e83 dbghelp: Revisit array len description for debug format parsers.
One can now pass -1 as array len so that its size will be computed
later on (useful for dealing with forward declarations where size is
not known at array definition).
2009-11-23 10:36:02 +01: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 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