Eric Pouech
7476f8c840
dbghelp: dwarf: Properly handle function formal parameters.
2006-06-20 11:50:39 +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
Eric Pouech
df179e9bf1
dbghelp: Dwarf & global symbols.
...
Offset the addresses for global symbols (func & variables) by the base
image of the corresponding module.
2006-06-20 11:47:16 +02:00
Eric Pouech
686237e043
dbghelp: dwarf: Added support for function labels.
2006-06-20 11:46:51 +02:00
Eric Pouech
6cee154b23
dbghelp: Proper support for nested types definitions (even in C).
2006-06-20 11:46:18 +02:00
Eric Pouech
468956f4cd
dbghelp: Dwarf - function scheme.
...
- various fixes to follow better the functions definition (nesting,
subroutines...)
- don't directly parse types referenced by a subprogram, they'll be
loaded anyway when needed
2006-06-20 11:45:48 +02:00
Eric Pouech
ae67326863
dbghelp: Dwarf & locations.
...
- put back the block attribute parsing
- added dwarf2_compute_location to properly decode a location (at
least starting it)
2006-06-20 11:45:33 +02:00
Eric Pouech
6d61cc0c7b
dbghelp: Dwarf compiland.
...
- rewrote all entities loading to make use of new dwarf2_debug_info_t scheme
- commented out the location parsing which is an ugly hack
2006-06-20 11:43:17 +02:00
Eric Pouech
ec8328d1b1
dbghelp: Dwarf & new scheme.
...
- add some helpers for the rewrite
- module is now part of the dwarf2_parse_context
2006-06-20 11:42:45 +02:00
Eric Pouech
2301d1a3d0
dbghelp: Dwarf & type references.
...
Removed unused type references scheme that we'll implement using a
different scheme in next patches.
2006-06-20 11:41:55 +02:00
Eric Pouech
3bd7d2976e
dbghelp: Dwarf merge parsing of UDT.
...
Merge into a single function the struct/class/union parsing.
2006-06-20 11:41:36 +02:00
Eric Pouech
c571b8506e
dbghelp: Dwarf & debug info entries.
...
- now loading the debug info entries into specific structures
- this will help writing new functions
- this will allow handling of forward references
2006-06-20 11:41:15 +02:00
Eric Pouech
b51cd5750f
dbghelp: Dwarf abbrev table is now a sparse array.
...
- added a pool for memory allocation when parsing a compilation unit
- now using the brand new sparse array for the abbrev table
2006-06-20 11:40:55 +02:00
Eric Pouech
ad02173d21
dbghelp: Added another basic type for storage: the sparse array.
2006-06-20 11:40:32 +02:00
Eric Pouech
b319600130
dbghelp: Transform a few TRACEs into WARNs (especially for unhandled stuff).
2006-06-20 11:39:58 +02:00
Eric Pouech
474c5cc2a5
dbghelp: Remove the unneeded level attribute while parsing.
2006-06-20 11:39:33 +02:00
Eric Pouech
57c662f4d1
dbghelp: Moved all Dwarf standard definitions into dwarf.h file.
2006-06-20 11:38:49 +02:00
Eric Pouech
00cf2da5d6
dbghelp: Dwarf & typedefs.
...
- removed lookup for name for the const modifier
- hard wire dwarf-reference to our pointer types
2006-06-20 11:37:50 +02:00
Eric Pouech
d396ec31f9
dbghelp: Dwarf & module's symtype.
...
- we should set the module's symtype upon success
- removed unneeded bRet variable
2006-06-20 11:37:28 +02:00
Eric Pouech
24743774e8
dbghelp: Dwarf2 & AT_byte_size.
...
- AT_byte_size can be larger than a single byte (especially for enums)
- added missing enumeration type parsing
2006-06-20 11:37:14 +02:00
Jeremy White
466d3fe8e5
dbghelp: Fix a Solaris compilation error.
2006-06-19 22:38:20 +02:00
Ge van Geldorp
5f299d6fe5
dbghelp: Fix compilation for x86_64.
2006-06-19 21:23:05 +02:00
Michael Stefaniuc
fee72b607a
Yet another round of redundant NULL checks before HeapFree.
2006-06-13 11:40:23 +02:00
Pierre d'Herbemont
deab874424
dbghelp: Implement fetch_thread_info on powerpc.
2006-06-09 21:08:26 +02:00
Andrew Talbot
8527f91043
dbghelp: Write-strings warning fix.
2006-06-07 15:23:55 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Eric Pouech
a5b1581e48
dbghelp: SymFindFileInPath and PDB
...
- implemented correct lookup when SymFindFileInPath is called to find
a PDB file
- added pdb_fetch_file_info to gather relevant information
- when looking for a PDB file (from a .EXE or a .DLL), now using
SymFindFileInPath to locate the PDB file with the correct
information
2006-05-11 12:20:12 +02:00
Eric Pouech
2a1d8efde4
dbghelp: Removed call to registered callback when unloading a module.
...
First, native dbghelp doesn't do it, and it crashed windbg, likely
because we got the undocumented arguments wrong.
2006-05-11 12:19:24 +02:00
Eric Pouech
c25d3ac7d5
dbghelp: Implemented SymSearchW.
2006-05-11 12:18:46 +02:00
Eric Pouech
208e701a7b
dbghelp: Implemented SymEnumSymbolsW.
2006-05-11 12:18:30 +02:00
Eric Pouech
96efcbc47b
dbghelp: Improved SymSearch (now using tag, index and address).
2006-05-11 12:18:06 +02:00
Eric Pouech
5eb1c98853
dbghelp: Factorize and simplify a bit symbol enumeration code.
2006-05-11 12:17:47 +02:00
Eric Pouech
08ba9cecff
dbghelp: Stubbed SymGetSourceFileTokenW.
2006-05-11 12:17:23 +02:00
Eric Pouech
55f8a1b8fb
dbghelp: Implemented SymGetLineFromAddrW64.
2006-05-11 12:17:03 +02:00
Eric Pouech
7d4194f57b
dbghelp: Implemented SymFromAddrW.
2006-05-11 12:16:24 +02:00
Eric Pouech
d2d85a1b46
dbghelp: Implemented SymGetModuleInfoW and SymGetModuleInfoW64.
2006-05-11 12:16:01 +02:00
Eric Pouech
922a7bd191
dbghelp: Implemented SymLoadModuleExW.
2006-05-11 12:15:21 +02:00
Eric Pouech
4a80e63a29
dbghelp: Implemented SymRegisterCallbackW64 and 64 -> 64W mapping function.
2006-05-11 12:14:51 +02:00
Eric Pouech
2e7d3c386a
dbghelp: SymInitializeW.
...
- implemented SymInitializeW (and made SymInitialize call it)
- implemented Sym{SG}etSearchPathW (and made Sym{SG}etSearchPath
call them)
- per process search path is now stored as unicode string
2006-05-11 12:14:06 +02:00
Eric Pouech
572e18ef39
dbghelp: Updated spec file.
2006-05-11 12:13:50 +02:00
Eric Pouech
645134397b
dbghelp: Stub for SymGetSourceFileToken.
2006-05-08 14:48:10 +02:00
Eric Pouech
a49adbc49e
dbghelp: Base and symbols.
...
- report the correct image base for a symbol which is
seen as being in a builtin PE module, whilst its debug
information is gotten from an ELF module
- module_get_debug now returns a pair of modules
(the requested that has to be presented back to the client
and the effective one, which contains the debug info)
- reworked SymFromName in order to provide also the revelant
module base address
2006-05-08 14:47:56 +02:00
Alexandre Julliard
ae5aacb4cc
dbghelp: Don't fail to initialize if we can't load the main module as ELF.
2006-04-19 14:30:10 +02:00
Paul Vriens
0c24301394
dbghelp: Params of LPSTACKFRAME64 only has 4 elements.
2006-04-17 11:57:47 +02:00
Eric Pouech
983d8aea3e
dbghelp: Module should be case insensitive.
...
When looking up a symbol name in the form module!name, the module
lookup should be insensitive.
2006-03-27 11:30:50 +02:00
Eric Pouech
12eb665402
dbghelp: MSC fixes.
...
- wrong cut & paste across versions of a given record type
- wrong definition for register_v2
2006-03-18 18:21:30 +01:00
Eric Pouech
7eefc9eb0d
dbghelp: Support for LF_VTSHAPE in MSC.
...
- added preliminary support for VT (virtual table) shape
type record
- as we don't do C++, it's just a hack to get rid of
some errors
2006-03-18 18:21:06 +01:00
Eric Pouech
e737dbec7f
dbghelp: MSC forward declaration.
...
- create an infrastructure for handling forward usage
of type records
- used it in some cases (pointer to yet not defined udt,
function signature, modifiers)
2006-03-18 18:20:50 +01:00
Eric Pouech
79b47204f0
dbghelp: Type parsing refactoring.
...
- seperate types' table handling from a single type handling
by adding codeview_parse_one_type function
- factored all calls for caching symt
- make type parsing helpers return the symt instead of a
simple error status
2006-03-18 18:20:37 +01:00
Eric Pouech
dadd1080ee
dbghelp: Fixes for NB11 types.
...
- when checking debug info in NB09 or NB11 format (CodeView),
try to load the global types section
2006-03-18 18:20:10 +01:00