Commit Graph

276 Commits

Author SHA1 Message Date
Dmitry Timoshkov e7d620081f dbghelp: Make some data const. 2006-12-14 20:11:07 +01:00
Eric Pouech 9a41a4e984 dbghelp: Sparse array speed up. 2006-12-11 12:15:34 +01:00
Alexandre Julliard 5feef7e329 dbghelp: Avoid a printf format warning. 2006-12-08 11:39:32 +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 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
Eric Pouech 16db2566c6 dbghelp: Fixed value stored for register relative information
(regression spotted by Peter Oberndorfer).
2006-12-04 14:02:42 +01:00
Eric Pouech 753055f93f dbghelp: Now that symbol's value computation depend on instruction
pointer value, be sure to always store it (spotted by Peter
Oberndorfer).
2006-12-04 14:02:18 +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 0bee33e195 mscvpdb.h: Update some definitions (constants, structures) with latest information we have. 2006-11-30 12:55:10 +01:00
Eric Pouech cc65d21f82 dbghelp: Moved mscvpdb.h file to include/wine to allow sharing of the definitions with winedump. 2006-11-30 12:54:54 +01:00
Eric Pouech 3669415dd5 dbghelp: Silence typedefs children in sub program block. 2006-11-27 18:10:24 +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 5b61db4161 dbghelp: Correctly store the addresses of blocks.
They are stored internally as offsets to the start of the function
which embeds the block.
2006-11-27 17:58:44 +01:00
Eric Pouech 31f4f1b003 dbghelp: Properly handle the void type in some declarations. 2006-11-27 17:58:22 +01:00
Eric Pouech cfd9013317 dbghelp: We can now remove the default name prefix as all the non conforming cases have been eliminated.
Got rid of dwarf2_find_name which is now useless.
2006-11-27 17:58:11 +01:00
Eric Pouech 305621d5cf dbghelp: Extend support for inlined functions and handle them as generic blocks inside functions
(except for parameters which are converted into local variables).

Rewrote dwarf2_find_attribute so that it takes into account the
abstract origin information when available.

A+
2006-11-27 17:57:54 +01:00
Eric Pouech 497b2e4ea5 dbghelp: Be a bit more strict on where we do actually expect default names to be generated
(removed this feature for UDTs, structures' fields, enums, typedefs, compilands)
2006-11-27 17:57:21 +01:00
Eric Pouech 96bfe9d056 dbghelp: Add support for a label in a subprogram block. 2006-11-27 17:56:58 +01:00
Eric Pouech 8eef2de3eb dbghelp: Register numbers in OP_piece don't need to be next to each other. 2006-11-27 17:56:49 +01:00
Eric Pouech 4202a49b75 dbghelp: Add support for deref operation in location computation. 2006-11-27 17:56:36 +01:00
Eric Pouech e48a46b2b5 dbghelp: Add ability to add a SymTagCustom element to a function.
Make use of it to store the frame information for a dwarf function
(either because frame's location is a location list, or because one of
the function's variables is not properly computed at parse time).
2006-11-27 17:56:17 +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 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