Commit Graph

247 Commits

Author SHA1 Message Date
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
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
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
2b06143031 dbghelp: Initialize BOOL elements with FALSE instead of 0. 2006-11-08 15:50:31 +01:00
Peter Oberndorfer
05368de685 dbghelp: Make dwarf2 parser only report file numbers when at least one compilation unit really has numbers. 2006-11-08 15:50:18 +01:00
Peter Oberndorfer
6d0948f7a6 dbghelp: Make dwarf2_parse_line_numbers handle missing line number section. 2006-11-08 15:49:46 +01:00
Peter Oberndorfer
fd2d43f131 dbghelp: Make dwarf2 parser handle file paths relative to working dir better. 2006-11-06 13:47:35 +01:00
Eric Pouech
76e8b504c1 dbghelp: Fixed memory leak in source string handling. 2006-11-06 12:27:01 +01:00
Andrew Talbot
db941dd078 dbghelp: Cast-qual warnings fix. 2006-10-30 11:26:09 +01:00
Andrew Talbot
7da1d6d1ac dbghelp: Cast-qual warnings fix. 2006-10-30 11:26:02 +01:00
David Anderson
c80f5181ff dbghelp: Avoid printing too many "What the heck" messages from winedbg. 2006-10-26 13:04:52 +02:00
Andrew Talbot
4c4d4386ed dbghelp: Cast-qual warnings fix. 2006-10-19 13:35:33 +02:00
James Hawkins
1b95f60938 dbghelp: Remove redundant NULL checks before pdb_free (found by Smatch). 2006-10-06 15:20:35 +02:00
Michael Stefaniuc
85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Eric Pouech
7c92e801aa dbghelp: Added support for a couple of compiland's children. 2006-09-26 11:53:53 +02:00
Eric Pouech
baf8dfd8c8 dbghelp: Fix location computation when attribute has a constant form instead of a block form. 2006-09-26 11:53:40 +02:00
Eric Pouech
4432a1fa91 dbghelp: Change the definition of an attribute so that we can pass around the form. 2006-09-26 11:51:57 +02:00
Eric Pouech
f8e06dd613 dbghelp: Move the attribute union (now nameless) into a structure called attribute. 2006-09-26 11:49:36 +02:00
Eric Pouech
fa7332fd27 dbghelp: Added support for DW_OP_breg* operations in location computation. 2006-09-26 11:48:56 +02: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
Alexandre Julliard
32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Andrew Talbot
2f8c51f547 dbghelp: Cast-qual warnings fix. 2006-09-08 16:07:43 +02:00
Eric Pouech
b039c3abd4 dbghelp: Removed stabs dump facility now that we have it (for PE files) in winedump. 2006-08-28 11:44:50 +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
Eric Pouech
5f4ac24991 dbghelp: Missing bits from previous patch about variables with constant values. 2006-08-07 15:04:16 +02:00
Eric Pouech
820acf0901 dbghelp: Properly handle variable with const value (ie without location) in dwarf code. 2006-08-03 20:17:35 +02:00
Robert Shearman
5c8b22f385 dbghelp: Implement SymGetSymFromAddr64. 2006-07-26 10:23:19 +02:00
Robert Shearman
f57ddeb9db dbghelp: Don't access a negative section index in elf_map_section. 2006-07-17 14:49:05 +02:00
Robert Shearman
f9053b91bf dbghelp: Avoid accessing a negative string index when parsing stabs entries with an empty string. 2006-07-17 14:49:05 +02:00
Robert Shearman
7084f14073 dbghelp: Fix the finding of PDB DS-type files. 2006-07-13 16:25:29 +02:00
Alexandre Julliard
5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +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
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
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
797acdf436 dbghelp: dwarf: Tidy up leb128 reading. 2006-06-20 11:58:48 +02:00
Eric Pouech
54d6f8cc45 dbghelp: Indent the code as the rest of dbghelp module. 2006-06-20 11:58:24 +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
8a92d9ae49 dbghelp: dwarf: Generate the current source file and store it in dbghelp's internals. 2006-06-20 11:57:12 +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
52db5c094e dbghelp: dwarf: Started parsing the attributes for lines (in compilation unit).
Walking the whole lot, not doing anything interesting apart from
traversing the data.
2006-06-20 11:54:17 +02:00
Eric Pouech
a655b14340 dbghelp: Pass .debug_loc section information to dwarf. 2006-06-20 11:52:29 +02:00
Eric Pouech
d6bd8661ff dbghelp: Dwarf & parse context.
- split the data structures for walking through the data (abbrev,
  cu... -> traverse_ctx) and data manipulation/loading (-> parse_ctx)
- created dwarf2_parse_compilation_unit() for clarity
- added section structure to gather information about all ELF sections
  related to all dwarf2 sections (more to come)
2006-06-20 11:52:01 +02:00
Eric Pouech
298198c318 dbghelp: Dwarf & udt members.
- correctly set size & offsets for regular udt members
- first shot at bitfields for udt members
2006-06-20 11:51:34 +02:00