Eric Pouech
c6eb8104dd
dbghelp: Enforce using 64bit integers for module's address and size.
2009-12-14 12:28:54 +01:00
Eric Pouech
9ff52fb82c
dbghelp: Don't return error when validating a 64bit wide address on a 64bit platform.
2009-12-14 12:28:37 +01:00
Eric Pouech
02a70615f9
dbghelp: Add ELF support but for the current 32 vs 64 bit architecture.
2009-12-14 12:28:25 +01:00
Eric Pouech
114bb38cd8
dbghelp: Rewrote the SymRegisterCallback function so that they work on a 64bit platform.
2009-12-14 12:28:00 +01:00
Eric Pouech
b037912c9d
dbghelp: Fix a couple of casts on 64bit platforms.
2009-12-14 12:27:32 +01:00
Eric Pouech
c300f215b1
dbghelp: Make the module enumeration process compatible with 64bit platforms.
2009-12-14 12:26:51 +01:00
Alexandre Julliard
891d025639
dbghelp: Fix an invalid pointer cast.
2009-12-10 15:31:27 +01:00
Alexandre Julliard
7f88738fa6
dbghelp: Moved addr_to_linear() to stack.c.
2009-12-10 15:29:20 +01:00
Eric Pouech
185e5daed6
dbghelp: For mingw32 (stabs debug info), parse the FileHeader's symbol table to offset properly the global variables.
2009-12-10 11:53:57 +01:00
Marcus Meissner
30c1df4a08
dbghelp: Add a missing NULL check (Coverity).
2009-12-09 12:03:47 +01:00
Marcus Meissner
d6f78e4014
dbghelp: Check wImageName for NULL (Coverity).
2009-12-01 13:14:40 +01:00
Eric Pouech
db077e11ad
dbghelp: In dwarf parsing, allow 64 bit wide values.
2009-11-29 16:39:35 +01:00
Eric Pouech
ed786fbae4
dbghelp: Correctly compute offsets in line number information.
2009-11-23 10:36:09 +01:00
Eric Pouech
9d80b19e83
dbghelp: Revisit array len description for debug format parsers.
...
One can now pass -1 as array len so that its size will be computed
later on (useful for dealing with forward declarations where size is
not known at array definition).
2009-11-23 10:36:02 +01:00
Eric Pouech
68cc7d5875
dbghelp: Beef up SymRefreshModuleList.
2009-11-17 12:05:46 +01:00
Andrew Nguyen
44ac91d78d
dbghelp: Stub SymRefreshModuleList.
2009-11-16 17:04:48 +01:00
Eric Pouech
aa9002755a
dbghelp: Fix the threads stream size.
2009-11-13 13:37:51 +01:00
Eric Pouech
64144519a0
winedump, dbghelp: In .pdb files (>= VC2005), handle the case where the codeview_linetab2_file structure is not the first one.
2009-11-03 21:20:21 +01:00
Paul Bolle
4c97910387
dbghelp: elf_load_file: return if elf_map_file fails.
2009-10-28 14:28:38 +01:00
Eric Pouech
6a1b2a9ca5
dbghelp: Enhance support for constant values in dwarf debug information.
2009-10-05 14:56:24 +02:00
Louis Lenders
a6aa4e1357
dbghelp: Add version resource.
2009-08-27 15:41:12 +02:00
Jesse Litton
43a35958f6
dbghelp: Don't double memory allocation on every add.
2009-08-19 14:42:00 +02:00
Jacek Caban
1e23e88914
dbghelp: Check for NULL adt before using it in stabs_pts_read_aggregate.
2009-08-17 13:57:49 +02:00
Jacek Caban
4cc3ce923a
dbghelp: Use symt_get_name directly in stabs_pts_read_aggregate.
2009-08-17 13:57:49 +02:00
Jacek Caban
956eea6b31
dbghelp: Fixed buffer overflow in stabs_parse.
2009-08-17 13:57:49 +02:00
Jacek Caban
4e1a4ecc04
dbghelp: Improved arena allocation in pool_alloc.
2009-08-14 15:29:59 +02:00
Andrew Talbot
f4d2db4c54
dbghelp: Constify some variables.
2009-07-15 13:23:00 +02:00
Eric Pouech
f2b7ec1c2c
dbghelp: Fixed regressions introduced by growing arrays exponentially instead of linearly.
2009-07-14 15:16:08 +02:00
Andrew Talbot
c702da34da
dbghelp: Constify some variables.
2009-07-14 10:45:29 +02:00
Andrew Talbot
41ca9b0ffd
dbghelp: Constify some variables.
2009-07-13 10:24:56 +02:00
Alexandre Julliard
75792a3e69
dbghelp: Grow all arrays by doubling the size.
2009-07-10 14:46:55 +02:00
Eric Pouech
9c54158958
dbghelp: Added reference for MSVC 8.
...
A+
2009-06-29 13:14:04 +02:00
Eric Pouech
7fbcd11db8
dbghelp: When the CU is compiled with GCC, deal with some GCC extensions.
2009-06-29 13:13:50 +02:00
Eric Pouech
4008943502
dbghelp: Simplify the resort operation (module address table) by using binary insertion instead of resorting the whole array.
2009-06-26 12:01:07 +02:00
Eric Pouech
609ec7b11d
dbghelp: when (re)building the per module symbol table (lookup by address), no longer iterate over the hash table.
...
Directly add to the table when adding a new symbol.
2009-06-26 12:01:00 +02:00
Eric Pouech
dde39fddc5
dbghelp: Factorize symbol insertion into module by address table.
2009-06-26 12:00:38 +02:00
Eric Pouech
607a07f42a
dbghelp: When loading ELF public information, handle the cases when we don't get an address.
2009-06-26 12:00:25 +02:00
Alexandre Julliard
a5231a60a1
dbghelp: Fix detection of special Wine segments.
2009-06-25 11:45:24 +02:00
Eric Pouech
b37996305d
dbghelp: Improve speed of our hashtable implementation by remembering the last element added to every bucket.
2009-06-15 13:42:28 +02:00
Alexandre Julliard
bb2d643f49
dbghelp: Try to avoid crashing on unrecognized attributes.
2009-05-29 12:30:28 +02:00
Dmitry Timoshkov
d82df8f9b0
dbghelp: All parameters of MiniDumpReadDumpStream() except base are optional.
2009-05-21 16:17:51 +02:00
Ken Thomases
6903238948
dbghelp: Don't check version of Mach-O dyld_all_image_infos structure.
...
The structure has changed repeatedly, but always in a backward compatible way.
The version check was only hampering us.
2009-05-04 12:52:01 +02:00
Alexandre Julliard
329c22f323
dbghelp: Add a few more 64-bit symbol functions.
2009-04-23 12:41:29 +02:00
Ken Thomases
905ab99815
dbghelp/stabs: For Mach-O, line offset is relative to original function address.
2009-04-07 11:21:40 +02:00
Ken Thomases
31fd8dd763
dbghelp: Include Mach-O modules in minidumps.
2009-03-25 12:17:51 +01:00
Ken Thomases
3a96219d57
dbghelp/stabs: For Mach-O, line numbers use absolute address, not offset.
...
So, compute the offset by subtracting the function address.
2009-03-25 12:17:42 +01:00
Ken Thomases
feedbb1630
dbghelp: Recognize .dylib files as Mach-O modules.
2009-03-25 12:17:36 +01:00
Ken Thomases
d7466e0c4e
dbghelp: Add support for debugging Mach-O modules.
2009-03-25 12:17:29 +01:00
Ken Thomases
df0f32bbd9
dbghelp: Increase file read buffer size for calc_crc32.
2009-03-12 14:29:14 +01:00
Ken Thomases
637827a2d0
dbghelp: Extract calc_crc32 function into a separate file.
2009-03-12 14:29:03 +01:00
Ken Thomases
b8f6a68d6f
dbghelp: Rename some things to be less ELF-centric.
2009-03-12 13:09:56 +01:00
Ken Thomases
985f0ea18f
dbghelp/stabs: Track line numbers pending for an upcoming function.
...
On Darwin, line numbers usually precede the associated function.
2009-03-12 13:09:56 +01:00
Ken Thomases
65d929079c
dbghelp/stabs: Allow pending list to include line numbers as well as variables.
...
On Darwin, line numbers usually precede the associated function.
2009-03-12 13:09:56 +01:00
Ken Thomases
a1ac32822a
dbghelp/stabs: Extract growing of pending_block's buffer to pending_make_room().
2009-03-12 13:09:56 +01:00
Ken Thomases
615fff293a
dbghelp: Teach stabs_parse about other kinds of Mach-O symbol definitions.
2009-03-12 13:09:56 +01:00
Ken Thomases
3db11b98b7
dbghelp: Let stabs_parse call back for real (non-debug) symbol definitions.
2009-03-12 13:09:55 +01:00
Ken Thomases
82a3f8fcb2
dbghelp/stabs: Decode the Stabs type more carefully.
2009-03-12 13:09:55 +01:00
Ken Thomases
1ecd634c4b
dbghelp/stabs: Ignore the N_OSO type used on Darwin.
2009-03-12 13:09:55 +01:00
Ken Thomases
1f4ddbaed9
dbghelp/stabs: Translate additional register codes.
2009-03-12 13:09:55 +01:00
Alexandre Julliard
d2682f57f8
dbghelp: The main executable is now always named "wine".
2009-03-10 18:22:43 +01:00
Alexandre Julliard
020b3b5bdc
dbghelp: Define _IMAGEHLP_SOURCE_.
2009-03-09 13:26:57 +01:00
Austin English
28fe3f76c0
dbghelp: Change pointer cast to DWORD_PTR.
2009-02-23 13:14:18 +01:00
Alexandre Julliard
9a4e519aeb
dbghelp: Avoid size_t in a trace.
2009-02-12 17:53:35 +01:00
Eric Pouech
c83039bd6e
dbghelp: Fix bad call to free() instead of pdb_free().
2009-02-11 12:29:37 +01:00
Alexandre Julliard
0f3445d6db
dbghelp: Fix handling of empty file regexp (Coverity).
2009-02-09 14:37:22 +01:00
Andrew Talbot
5b60142f94
dbghelp: Remove unused function.
2009-02-05 13:13:58 +01:00
Alexandre Julliard
601a1364b9
dbghelp: Moved SymEnumLines to symbol.c to reuse the regex support.
2009-02-04 13:13:08 +01:00
Alexandre Julliard
768954b245
dbghelp: Fall back to string comparison if regex support is missing.
2009-02-04 13:02:08 +01:00
Alexandre Julliard
e9610f674c
dbghelp: Allocate enough memory initially for regexps instead of growing the buffer.
2009-02-04 13:00:31 +01:00
Alexandre Julliard
ae7490d362
dbghelp: Fix pool allocation routines to be able to support arbitrary sizes.
...
Also move full arenas to a separate list to avoid searching through
them again and again.
2009-02-04 12:27:36 +01:00
Marcus Meissner
54e8ecf1b0
dbghelp: Check for wImageName being NULL (Coverity).
2009-02-02 15:44:39 +01:00
Michael Stefaniuc
3c3a9b5081
dbghelp: Remove superfluous pointer casts.
2009-01-19 13:36:25 +01:00
Andrew Talbot
4c92ba2270
dbghelp: Declare some functions static.
2009-01-03 15:35:29 +01:00
Alexandre Julliard
6a548b1e9d
ntdll: Fix the various structures returned by NtQuerySystemInformation for 64-bit.
2009-01-03 14:55:32 +01:00
Alexandre Julliard
fd2cb87c87
dbghelp: Make a function static.
2008-12-04 12:47:27 +01:00
Francois Gouget
9c5e97aa71
Assorted spelling fixes.
2008-11-24 14:25:10 +01:00
Kai Blin
4dedbd404c
dbghelp: Upgrade FIXME to ERR.
2008-11-24 14:18:41 +01:00
Ricardo Filipe
b5fcabb52c
dbghelp: Fixed dead store (llvm/clang).
2008-11-18 13:05:21 +01:00
Eric Pouech
9bac505f2a
dbghelp: Properly add CPU info to minidump.
2008-11-11 14:03:01 +01:00
Eric Pouech
fe734de8d9
dbghelp: Fix all forward declaration cases for UDT.
2008-11-10 11:59:21 +01:00
Eric Pouech
01e69c71e0
dbghelp: Report in module's info when a module's debug information has been mismatched (dbg and pdb only).
2008-10-20 13:52:16 +02:00
Alexandre Julliard
7f327237bf
Convert remaining source files to utf-8.
2008-10-18 19:23:08 +02:00
Eric Pouech
9bc74e3ab6
dbghelp: Add support for the newest line number information in pdb files.
2008-10-01 09:51:51 -05:00
Eric Pouech
3dc37cbf94
dbghelp: Rewrote the linetab access so that we don't need to allocate intermediate information.
2008-10-01 09:51:44 -05:00
Eric Pouech
864a60d5ba
dbghelp: Added support for real80 (aka long double) in inner codeview types.
2008-10-01 09:50:35 -05:00
Eric Pouech
1a1be65e8e
dbghelp: Now fully reading the leafs as variant for constants.
...
Also added missing creation for V3 constants.
2008-10-01 09:50:28 -05:00
Eric Pouech
81df3de0fc
dbghelp,winedump: Added support for symbol symbol.
2008-10-01 09:50:02 -05:00
Eric Pouech
028956d1fe
dbghelp,winedump: Added support for symbol 0x113c.
2008-10-01 09:49:54 -05:00
Eric Pouech
82d1845d85
dbghelp,winedump: Added support for 0x113d symbol.
2008-10-01 09:49:45 -05:00
Eric Pouech
1a6e018f0e
dbghelp: Silence symbol 0x1139.
2008-10-01 09:49:32 -05:00
Eric Pouech
cff33cedf5
winedump: Add preliminary dumping of 0x1136 and 0x1137 symbols.
2008-10-01 09:49:24 -05:00
Eric Pouech
076dcc845f
dbghelp,winedump: Added support for symbol 0x1012.
2008-10-01 09:48:32 -05:00
Eric Pouech
ee4aaf7fcd
dbghelp,winedump: Added support for symbol 0x113a.
2008-10-01 09:48:20 -05:00
Eric Pouech
7abf97ca47
dbghelp: Added stub for SymSetScopeFromAddr.
2008-10-01 09:48:06 -05:00
Eric Pouech
871dbfa88b
dbghelp: Added the latest stubs.
2008-10-01 09:47:55 -05:00
Eric Pouech
49a44342fa
dbghelp: Added stubs for add symbol functions.
2008-10-01 09:47:41 -05:00
Andrew Talbot
c9563e10fc
dbghelp: Sign-compare warnings fix.
2008-09-25 11:28:58 +02:00
Andrew Talbot
34ac3f15dd
dbghelp: Sign-compare warnings fix.
2008-09-25 11:28:52 +02:00
Eric Pouech
69bbefac5f
dbghelp: While loading MSC debug info, don't handle public symbol at once, but delay their handling after all other symbols are loaded.
...
This allows to handle properly addresses between public and real
symbols. It should also increase drastically the performance of
.dbg/.pdb loading.
2008-09-08 12:47:21 +02:00
Eric Pouech
2f98c59adb
dbghelp: Silence 0x112c symbol type.
2008-09-08 12:47:21 +02:00
Eric Pouech
5ad756fb3c
dbghelp: Use the correct size for global variable when searching for a symbol.
2008-09-08 12:47:20 +02:00
Eric Pouech
418a001e00
dbghelp: Correctly setup the Unix regular expression for matching file names in SymEnumLines.
...
Plug a potential memory leak as well.
2008-09-08 12:47:20 +02:00
Eric Pouech
b5ffe31d22
dbghelp: Fixed offset computation for bitfields inside structures in Codeview debug information.
2008-09-08 12:47:20 +02:00
Eric Pouech
07baf69080
dbghelp: SymFindFileInPath doesn't check for the parameters passed when looking in a directory, whatever the dbghelp's options.
2008-09-04 13:47:26 +02:00
Eric Pouech
2994e98850
dbghelp: Improve the symbol loader for .DBG files.
...
When looking for a .DBG file, first look for a .DBG file matching all
attributes, then for a .DBG partially matching the attributes.
2008-09-04 13:47:11 +02:00
Eric Pouech
d600115387
dbghelp: Improve the symbol loader.
...
When looking for a PDB file, no longer use SymFindFileInPath as it
doesn't actually check the signatures, but use an internal function
instead.
2008-09-04 13:46:54 +02:00
Eric Pouech
f3c071660d
winedump, dbghelp: Correctly name the age field in PDB headers.
2008-09-02 11:57:04 +02:00
Eric Pouech
8b9c05a9ca
dbghelp: Added the definitions for Dwarf3 specifications.
2008-09-02 11:56:53 +02:00
Alexandre Julliard
97429b32f8
dbghelp: Always initialize section pointer in ImageDirectoryEntryToDataEx.
2008-07-18 11:16:02 +02:00
Andrew Talbot
51b3b4a481
dbghelp: Use dbgstr_a() in case pointer is NULL.
2008-06-23 12:51:20 +02:00
Jon Griffiths
c683753185
dbghelp: Implement SymEnumerateSymbols64.
2008-06-21 11:13:37 +02:00
Eric Pouech
1f6974c124
dbghelp: Fix for SymGetModuleInfo().
2008-05-26 19:45:55 +02:00
Eric Pouech
1a34d70354
dbghelp: Don't crash when parsing the forward declaration of a function.
2008-05-26 17:59:39 +02:00
Eric Pouech
fd20b1be8a
dbghelp: Protect dwarf parsing against NULL function names.
2008-05-19 13:35:42 +02:00
Andrew Talbot
dbe65d03e2
dbghelp: Include port.h for possible alternative to strtoull().
2008-05-05 12:52:01 +02:00
Eric Pouech
99c27e7da4
dbghelp: Some cleanup in dwarf include files.
2008-05-01 11:13:16 +02:00
Eric Pouech
3bc7657616
dbghelp: Revert commit ae1791b0b8
and correctly fix what this patch was trying to do.
2008-05-01 11:13:07 +02:00
Eric Pouech
5ccf6a3394
dbghelp: Prevent debug overflow of internal buffer while tracing.
2008-05-01 11:13:01 +02:00
Erik de Castro Lopo
ab2424710f
dbghelp: Fix pointer cast.
2008-04-25 11:37:50 +02:00
Eric Pouech
d2fa765087
dbghelp: Fix invalid pointer dereference.
2008-04-14 12:40:22 +02:00
Eric Pouech
ce7656d218
dbghelp: Prevent debug overflow of internal buffer while tracing.
2008-04-07 11:27:52 +02:00
Eric Pouech
f46d717818
dbghelp: Be stricter when looping in symbol tables.
2008-04-07 11:27:46 +02:00
Andrew Talbot
ae1791b0b8
dbghelp: Fix type mismatch in comparison.
2008-03-31 12:51:11 +02:00
Austin English
06d429d6b6
Spelling fixes.
2008-03-27 20:48:19 +01:00
Rob Shearman
48000893f9
makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
...
Only specify the root to keep platform-specifics out of the individual
DLL makefiles.
2008-03-04 20:55:01 +01:00
Andrew Talbot
53e9e24aa2
dbghelp: Assign to struct instead of using memcpy.
2008-03-01 12:02:13 +01:00
Rob Shearman
5dd2f1efa8
Include config.h and wine/port.h in files that use snprintf.
2008-02-29 12:39:28 +01:00
Rob Shearman
97a9ca3f4a
dbghelp: Define NONAMELESSUNION in dwarf.c and type.c as they access VARIANT fields directly.
2008-02-28 10:50:57 +01:00
Rob Shearman
f21b91c0a2
dbghelp: Fix read beyond end of field in module_get_debug.
2008-02-21 20:16:04 +01:00
Rob Shearman
5e1976368a
dbghelp: VARIANT unions are accessed by name in msc.c so define NONAMELESSUNION.
2008-02-21 20:15:59 +01:00
Andrew Talbot
6733c6bad0
dbghelp: Assign to struct instead of using memcpy.
2008-02-15 11:09:34 +01:00
Rob Shearman
f48941a2a8
dbghelp: Fix a typo in SymLoadModuleExW that caused the wrong number of characters to be passed to lstrcpynW.
2008-02-15 11:03:42 +01:00
Eric Pouech
4823663957
dbghelp: Fix erroneous access to dwarf symbol cache.
...
(Spotted by Dan Kegel with valgrind).
2008-02-12 22:40:46 +01:00
Eric Pouech
62634b8025
dbghelp: Disable the S_PUB_FUNC_XXX msc symbols until we know what they do (the first guess is wrong anyway).
2008-02-07 11:59:52 +01:00
Eric Pouech
ee1a9af0ce
dbghelp: When sending back information about a global symbol, only demangle the class & field/method name.
2008-02-07 11:59:52 +01:00
Eric Pouech
43afc9178b
dbghelp: Attempt to cache some basic symbol types for easier and faster code.
2008-02-07 11:59:52 +01:00
Eric Pouech
75803e9448
dbghelp: Extended the internal enumeration information so that we know the underlying integral type.
2008-02-07 11:59:52 +01:00
Eric Pouech
752a260402
dbghelp: Added basic support for base class information.
...
As we don't support C++ for now, we just return FALSE for all cases.
2008-02-07 11:59:52 +01:00
Eric Pouech
a4dfe1b042
dbghelp: Added support for labels outside functions (and used it in msc parsing).
2008-02-07 11:59:52 +01:00
Eric Pouech
aaa2862bf9
dbghelp: Added preliminary support for a strange stack variable object.
2008-02-07 11:59:52 +01:00
Eric Pouech
22f01fcc48
dbghelp: Added support for register v3 in msc.
2008-02-07 11:59:52 +01:00
Eric Pouech
ac3b817d80
dbghelp: Added support for some V3 fields in structure parsing.
2008-02-07 11:59:52 +01:00
Eric Pouech
b49d2b4e22
dbghelp: Added HRESULT as new basic type (and some doc about basic types ids).
2008-02-07 11:59:52 +01:00
Eric Pouech
464d51e75a
dbghelp: Pass the 'details' flags to _fetch_type so that we can simplify some code around.
2008-02-07 11:59:52 +01:00
Eric Pouech
428d0e5464
dbghelp: Added missing basic types for booleans and integers.
2008-02-07 11:59:52 +01:00
Eric Pouech
8b7039d894
dbghelp: Fixed the types we want to load at first.
2008-02-05 11:13:47 +01:00
Eric Pouech
7b81ea47c6
dbghelp: Store the PE version information in module block.
2008-02-04 12:46:12 +01:00
Eric Pouech
8e45b07483
dbghelp: Removed double assignment of checksum.
2008-02-04 12:45:44 +01:00
Eric Pouech
04c0ffdc47
dbghelp: Fixed the suspend count when creating a minidump in the middle of an exception.
2008-02-04 12:45:37 +01:00
Eric Pouech
ecdbae7ceb
dbghelp: Return the size of each directory instead of passing a pointer to it.
2008-02-04 12:45:27 +01:00