Commit Graph

77 Commits

Author SHA1 Message Date
Peter Oberndorfer 25203bd87e dbghelp: Fix up load_offset to work in case the load offset is different for real binary and debug link file. 2007-03-16 11:34:47 +01:00
Peter Oberndorfer 7bbb212050 dbghelp: Initialize the elf_section_map in case of failures in elf_find_section.
Make sidx signed so sidx < 0 comparisons work.
(most of the patch written by Eric Pouech)
2007-03-16 11:34:33 +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 e161dd92ee dbghelp: Handle the .gnu_debuglink files with the newly added alternate mechanism. 2007-02-26 14:39:52 +01:00
Eric Pouech fc66bb37f4 dbghelp: Allow to add an alternate file_map for an ELF file (where to look for its debug information). 2007-02-26 14:39:38 +01:00
Eric Pouech 62b57f9e21 dbghelp: Rewrote the ELF section mapper for better data encapsulation. 2007-02-26 14:39:16 +01:00
Eric Pouech 8d3167cc9a dbghelp: Merge the A/W of elf_map_file into a single one. 2007-02-22 12:34:09 +01:00
Eric Pouech 0c1e33bb06 dbghelp: Now load the .gnu_debuglink file using Unicode search paths. 2007-02-22 12:33:37 +01:00
Eric Pouech 4aab161297 dbghelp: Added helper to map a Unicode file. 2007-02-22 12:33:14 +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 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 43dffcd05d dbghelp: Now storing module information in Unicode form. 2007-02-22 11:39:08 +01:00
Eric Pouech 6efc061992 dbghelp: .gnu_link support: rewrote helper functions for better later unicodification. 2007-02-22 11:35:21 +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
Rob Shearman 272d7ab46a dbghelp: ImageName is usually blank, so print LoadedImageName in elf_load_debug_info_map. 2007-02-21 19:49:43 +01:00
Frank Richter 867ebe4da0 dbghelp: Search for .gnu_debuglink file. 2007-01-17 11:40:10 +01:00
Eric Pouech 2e34ea4e01 dbghelp: Removed unneeded code from rewrite of .gnu_link handling. 2007-01-15 13:00:17 +01:00
Frank Richter afc2df8705 dbghelp: Split gnu_debuglink handling into own function. 2007-01-12 11:24:06 +01:00
Eric Pouech 1b158dd38d dbghelp: Corrected the map/unmap operations for ELF sections.
Now correctly free the mapped areas when no longer used.
2007-01-06 11:40:44 +01:00
Andrew Talbot 3af121230b dbghelp: Qualify use of WINE_DEFAULT_DEBUG_CHANNEL. 2007-01-02 13:21:15 +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 08712bc3a9 dbghelp: Simplify the way we find the debug header. 2006-12-06 11:36:59 +01:00
Thomas Fitzsimmons 4b30ece829 dbghelp: Recognize DT_GNU_HASH. 2006-12-05 11:49:15 +01:00
Pierre d'Herbemont c20afad608 dbghelp: Fix elf_load_module params on non elf system to reflect last change to its definition. 2006-12-04 12:19:22 +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 0dd7c44669 dbghelp: Removed the alpha status FIXME for the dwarf code. 2006-11-27 17:59:18 +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 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 04c7c203fc dbghelp: Simplify code with function to get section size. 2006-11-27 17:48:44 +01:00
Peter Oberndorfer a39f3da5fc dbghelp: Do not write to array element -1. 2006-11-09 10:36:35 +01:00
Peter Oberndorfer 6d0948f7a6 dbghelp: Make dwarf2_parse_line_numbers handle missing line number section. 2006-11-08 15:49:46 +01:00
Robert Shearman f57ddeb9db dbghelp: Don't access a negative section index in elf_map_section. 2006-07-17 14:49:05 +02:00
William Knop 289a068b4f dbghelp: Fix for non-elf build (undefined symbol: _elf_is_in_thunk_area). 2006-06-27 21:14:02 +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 f939b0853d dbghelp: Elf for wine and spec definitions.
Enhancement over previous fix (we don't need to insert NOTYPE symbols
in our public symbol table, so drop them as early as possible).
2006-06-26 13:38:02 +02:00
Eric Pouech 41ee9853f7 dbghelp: Elf for wine and spec definitions.
- fixed regression when looking for winebuild's special symbols in ELF symtab
- STT_NOTYPE is still accepted as a valid symbol type (on top of STT_FUNC and STT_OBJECT)
2006-06-22 12:29:03 +02:00
Eric Pouech cca3d1ad0c dbghelp: Support multiple debug formats.
When several debug formats (eg stabs & dwarf2) exist in the same
module, allow to load them all (this is needed when different
compilation units are compiled with different debug options).
2006-06-20 11:57:42 +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
Jeremy White 466d3fe8e5 dbghelp: Fix a Solaris compilation error. 2006-06-19 22:38:20 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Eric Pouech c0e0de6c4e dbghelp: Compiland and source files are not the same thing.
- in MSC debug info parsing, clearly separate a source file
  information from a compiland (including in linetab structure)
- in ELF debug info parsing, now storing compiland directly
  in symtab_elt while browsing the symtab section (we still
  create twice the compilands, once in stabs/dwarf parsing, 
  a second time in symtab parsing)
2006-03-18 18:15:14 +01: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
Alexandre Julliard 133b3069bb dbghelp: Use wine_dll_enum_load_path to search the dll load path. 2006-02-17 17:38:28 +01:00
Alexandre Julliard 29aea6e1c7 Fixed a couple of function prototypes. 2006-02-17 14:08:38 +01:00