Commit Graph

22 Commits

Author SHA1 Message Date
Eric Pouech 2ce5eca6a5 winedbg: Added support for function parameters passed in registers.
Added correct stabs parsing for function parameters in registers.
Added a couple of helper functions to make code smaller and more
readable.
2006-02-06 11:27:32 +01:00
Alexandre Julliard 9daaab54c7 winedbg: Use Win32 types instead of long long. 2006-01-23 16:47:07 +01:00
Eric Pouech be849decf6 dbghelp: First stab at supporting calling convention in function signature. 2005-12-19 18:22:54 +01:00
Eric Pouech 6b7bebfbf9 SymGetType(...,TI_GET_LENGTH,...) requires a 64 bit parameter, not a
32 bit one.
2005-11-17 11:51:53 +00:00
Eric Pouech f653a09d33 - N_PSYM stabs blocks (aka parameters) can also contain a typedef
- shorten some paths
2005-10-03 10:16:15 +00:00
Hans Leidekker 56058ddb15 Silence some unknown stab type messages. 2005-05-16 08:47:55 +00:00
Francois Gouget 821d4c4645 Fix nativeapi.pm so it knows about AC_HEADER_STAT().
Make the error message about unexpected '#ifdef HAVE_XXX' clearer.
Protect sys/stat.h #includes with the corresponding '#ifdef HAVE_XXX'
check.
2005-05-06 16:22:54 +00:00
Eric Pouech 01aa71371b Memory consumption optimization while loading ELF debug info:
- don't map twice an ELF file for symbol lookup (in non deferred mode)
- no longer entirely map an ELF file into memory, but only the
  sections we need.
Added support for loading ELF modules thru SymLoadModule in a non life
process.
Factorisation of code for ELF module handling.
Fixes to ELF symbol loading
- drops symbols from symtab which are neither funcs nor global
  variables
- fixes some incorrect size computation for latest GCC versions.
Several cleanups and fixes.
2005-03-01 10:39:49 +00:00
Eric Pouech e4a44b3545 Various fixes for C++ class parsing (nesting, templates) (from test
cases provided by Michael Lin).
2005-01-31 11:29:09 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Eric Pouech dc43edff39 - fixed loading stabs from PE modules compiled with MingW
- enhance some loading logic between ELF/PE DLL pairs
- removed unused indirect memory access function
- get rid of some GCC generated symbols
2004-11-08 20:26:22 +00:00
Robert Shearman 20546c84bb - Check for string pointer being outside of the string table.
- Only parse typedefs on stabs entries that can have them.
2004-10-04 19:31:05 +00:00
Robert Shearman f2aff0ecd8 Better fix for includes with relative paths. 2004-09-06 20:23:26 +00:00
Alexandre Julliard 65c3765739 Authors: Robert Shearman <rob@codeweavers.com>, Eric Pouech <pouech-eric@wanadoo.fr>
- Fix debug info look-up (bug in translating the RVA of the debug
  directory).
- Fix code for adding PE export table as debug info (crash with NULL
  passed to RtlImageDirectoryEntryToData).
- Fix computation of non-relocatable ELF shared objects size.
- Fix loading (while parsing the link map) of new non-relocatable ELF
  shared objects (no longer take account load-address of link-map).
- Finished the AUTO_PUBLIC, NO_PUBLICS and PUBLICS_ONLY support for PE and ELF.
- Cleaned up public symbol management (which should now properly work).
2004-08-30 19:31:13 +00:00
Robert Shearman 3088ba32fe Store the current source directory and use it when encountering a
relative include so that the full path to it is stored instead.
2004-08-23 17:56:07 +00:00
Jon Griffiths 5288361f52 Prevent the debug buffer from overflowing on long stabs. 2004-07-14 00:44:27 +00:00
Alexandre Julliard d13e0c98ad Fixed handling of includes stack. 2004-07-14 00:42:25 +00:00
Eric Pouech 40f09314e4 - added support for GCC static local variables
- fixed some bugs in SYMOPT_NO_PUBLICS and SYMOPT_PUBLICS_ONLY
  handling
- in stabs parsing, just drop any debug info for a module if stabs
  parsing fails (instead of assert()'ing)
- symbol lookup now allows lookup in pure ELF modules
- fixed some bugs in symbol enumeration
2004-07-04 00:10:54 +00:00
Eric Pouech 48a865983d - removed file extension from module (and suffixed ELF modules with
<elf>)
- added generic thunk support for builtin modules (with the help of
  winebuild's new markers for thunks)
- for ELF modules, no longer generating SymTagPublicSymbols objects
  from ELF public symbol table
- because of last point, rewrote stabs symbols' address and size
  management by parsing directly the symtab instead of using
  SymTagPublicSymbols objects
- cleaned up SymTagPublicSymbols object names for native modules
- fixed off by one errors in array management
- SymLoadModule(hProc,0,0,0,0) (wine extension) will force the
  resynchronization of internal ELF modules list)
- new option (0x40000000) for Sym{Get|Set}Option to report ELF modules
  in SymEnumModules (as well as loader with <wine-loader>)
- some minor internal clean-ups
- enhanced const correctness
2004-05-18 21:29:09 +00:00
Eric Pouech eb80f29350 - implemented support for function debug start/stop and labels (msc.c
and stabs.c)
- started implementing typedef support
- functions now have a real function signature (only in stabs.c, still
  to be done in msc.c)
- small enhancements to TI_GET_TYPE for functions
- added support for functions' block and local variables in registers
  (msc.c)
- fixed some bugs in StackWalk
- constants are now stored as variants (instead of unsigned ints)
- fixed regular expression management (dbghelp's RE are not the same
  as POSIX ones)
2004-04-19 02:58:27 +00:00
Kevin Koltzau 5b338a87d8 Fix a few compile errors when cross compiling. 2004-04-15 04:58:55 +00:00
Eric Pouech 800864a050 First shot at implementing dbghelp. 2004-04-05 22:21:27 +00:00