Eric Pouech
82d961e382
dbghelp: Always ensure that 64bit module functions use real 64bit addresses.
2012-01-23 15:59:59 +01:00
Alexandre Julliard
55107912f0
dbghelp: Fix a couple of pointer cast warnings.
2012-01-16 18:17:43 +01:00
Francois Gouget
67448e5661
dbghelp: Fix the position where the calling convention is specified in function pointers.
2012-01-16 12:45:33 +01:00
André Hentschel
b95574e286
dbghelp: No need for WINE_ prefixed ERR.
2012-01-10 17:55:29 +01:00
Daniel Lehman
44233d5f07
dbghelp: Use CDECL calling convention for __unDName and callbacks.
2012-01-09 12:52:17 +01:00
Eric Pouech
28bb6f954a
dbghelp: Correctly return flags in SYMBOL_INFO structure for local variables stored in a register.
2012-01-03 12:37:28 +01:00
André Hentschel
c486cec0d6
dbghelp: Use ARMv7 for debugging.
2011-11-02 12:25:39 +01:00
André Hentschel
d6fadb882f
dbghelp: Implement SymMatchStringW.
2011-11-01 10:42:53 +01:00
André Hentschel
7e3fe1975a
dbghelp: Rename SymMatchString and forward it to SymMatchStringA.
2011-11-01 10:42:50 +01:00
André Hentschel
85051917fe
dbghelp: Rewrite stabs parsing to not need PATH_MAX.
2011-10-17 17:45:03 +02:00
André Hentschel
bfdc93cdc5
dbghelp: Remove superfluous PATH_MAX defines.
2011-10-11 19:44:33 +02:00
Andrew Talbot
14d5268e5e
dbghelp: Mark a fall-through in a switch statement.
2011-09-30 10:27:56 -05:00
André Hentschel
650e000bc9
dbghelp: Add some new dwarf enumerations.
2011-09-06 13:25:51 +02:00
Andrew Talbot
94c0407cac
dbghelp: Constify some variables.
2011-08-23 16:53:52 +02:00
Frédéric Delanoy
f932abf326
dlls: Assorted spelling fixes.
2011-08-01 18:26:27 +02:00
André Hentschel
e6390a5c7f
dbghelp: One line only for the copyright.
2011-08-01 18:26:26 +02:00
Austin English
13d86cc0a3
dbghelp: Add stubs for SymEnumSourceLines/SymEnumSourceLinesW.
2011-07-18 16:23:29 +02:00
André Hentschel
5d0d2ef893
dbghelp: Remove dead code (clang).
2011-07-11 11:51:11 +02:00
Frédéric Delanoy
e35cdaa138
dbghelp: Remove dead code (Clang).
2011-07-05 14:43:43 +02:00
André Hentschel
3a183a42df
dbghelp: Only declare deltapc for i386.
2011-06-29 10:07:24 -05:00
Andrew Nguyen
6ee16099a3
dbghelp: Implement SymEnumSourceFilesW.
2011-06-01 17:59:17 +02:00
Alistair Leslie-Hughes
5d01166f96
dbghelp: Add stubs SymFromIndex, SymFromIndexW.
2011-05-30 17:21:57 +02:00
Eric Pouech
108b63f5a6
dbghelp: Enhance a couple of register mapping functions for i386.
2011-05-02 12:37:07 +02:00
Eric Pouech
2c2da87ccd
dbghelp: Don't try to load fieldlist for a forward declaration.
2011-05-02 12:36:05 +02:00
Peter Urbanec
de4040699a
dbghelp: Prevent winedbg page faults when loading some PDBs generated by the Intel C Compiler.
2011-04-29 16:56:30 +02:00
Marcus Meissner
b858b53991
dbghelp: Mark internal symbols as hidden.
2011-04-28 18:13:56 +02:00
André Hentschel
7af9179eb9
dbghelp: Implement rudimentary stack walk for ARM.
2011-04-28 11:13:53 +02:00
André Hentschel
dae65898e2
dbghelp: Implement sparc_map_dwarf_register.
2011-04-27 11:49:53 +02:00
Austin English
6abf5fff9d
dbghelp: Get rid of a couple unused variables.
2011-04-19 13:29:23 +02:00
André Hentschel
e0d14005ce
dbghelp: Set the right ARM frame pointer.
2011-04-19 13:29:03 +02:00
André Hentschel
bdcc47d9e7
dbghelp: Implement arm_fetch_context_reg.
2011-04-18 12:31:30 +02:00
André Hentschel
1bae92b9bb
dbghelp: Implement arm_fetch_regname.
2011-04-18 12:31:26 +02:00
André Hentschel
4055b7f2c3
dbghelp: Implement arm_map_dwarf_register.
2011-04-18 12:30:36 +02:00
Eric Pouech
44c52c16fd
dbghelp: Silence DW_TAG_GNU_call_site objects.
2011-04-15 10:07:57 +02:00
Eric Pouech
18f539ac2e
dbghelp: Added some missing defines to dwarf.h.
2011-04-15 10:07:57 +02:00
André Hentschel
f2fc5e6e17
dbghelp: Implement sparc_get_addr.
2011-04-14 17:13:58 +02:00
Eric Pouech
9c09f14270
dbghelp: Extended CPU structure by adding a default register number for frame.
2011-04-12 12:49:53 +02:00
Eric Pouech
8fecef8757
dbghelp: Force void type in const declaration, when subtype cannot be found.
2011-04-12 12:49:40 +02:00
Eric Pouech
2dd45a12c1
dbghelp: For codeview/bprel symbols force the register to be EBP, other CPUs should use regrel symbol instead of bprel.
2011-04-12 12:49:34 +02:00
Gerald Pfeifer
d93b6c0aa2
dbghelp: Add a return statement for the default/assert case in elf_map_file.
2011-04-01 10:48:57 +02:00
Eric Pouech
6a60266575
dbghelp: In const types, force 'void' type when none is found.
2011-03-28 17:24:50 +02:00
Eric Pouech
96a38c93d5
dbghelp: Return proper null value when lookup_type fails.
2011-03-28 17:24:48 +02:00
Eric Pouech
b10977fc3c
dbghelp: Now that compilers (like clang) start to merge symbols across compilation units, no longer barf about duplicates.
2011-03-28 17:24:42 +02:00
Eric Pouech
4220cd6608
dbghelp: When parsing .debug_line section in dwarf debug info, protect against out of bounds indexes.
2011-03-28 17:08:52 +02:00
Eric Pouech
0be7461fc8
dbghelp: Set also reloc_delta information in module description for PE native modules.
2011-03-14 13:20:29 +01:00
Eric Pouech
6d7c2e02d8
dbghelp: In dwarf debug functions, use register name instead of register value.
2011-03-14 13:20:24 +01:00
Eric Pouech
a26ed12676
dbghelp: When managing DW_OP_deref_size, always ensure we read the size parameter.
2011-03-14 13:20:15 +01:00
Eric Pouech
9ae6350c58
dbghelp: Fix unwinding on x86-64 (correct frame and context).
2011-03-14 13:20:07 +01:00
Eric Pouech
b3d7643c96
dbghelp: For the internal functions on x86_64 stack unwinding, only rely on CONTEXT information, and manage STACKFRAME64 updates in outer functions.
2011-03-14 13:19:54 +01:00
Eric Pouech
ab9cc3e9dc
dbghelp: In msc unwinding code (from FPO extended data), take care of cases where several variables are stored in the same hash.
2011-03-14 13:19:41 +01:00
Eric Pouech
20b229a2a8
dbghelp: In i386 stackwalk implementation, store the frame index in the private information.
2011-03-14 13:19:34 +01:00
Eric Pouech
16e8816505
dbghelp: When doing a stack backtrace on i386 with dwarf or pdb unwinders, get the PC from the right frame.
2011-03-14 13:19:22 +01:00
Eric Pouech
9156501084
dbghelp: In dwarf unwinder, fix the last valid IP value to be used for a given line of Call Frame Information.
2011-03-14 13:19:05 +01:00
Eric Pouech
44eed2465c
dbghelp: Fix StackWalk when dwarf or pdb unwinders are called on first frame (CPU i386).
2011-03-14 13:18:59 +01:00
Eric Pouech
c5f329e62c
dbghelp: In i386 stack unwinder, ensure we always return decent 64bit values.
2011-03-14 13:18:45 +01:00
Joris Huizer
a2793d62ad
dbghelp: dwarf2_get_cpp_name: fix off-by-one error.
2011-03-10 12:55:17 +01:00
Eric Pouech
1d4381664c
dbghelp: Fix bug in managing COFF files array.
2011-03-09 13:53:32 +01:00
Eric Pouech
9d3be00df2
dbghelp: When building the by address lookup table, speed up resorting by always taking into account that existing symbols are already sorted.
2011-03-09 13:53:09 +01:00
Eric Pouech
dca2d350ad
dbghelp: Add helper to get global address out of symt, instead of going though symt_get_info.
2011-03-09 13:52:41 +01:00
Eric Pouech
d52e42e985
dbghelp: Quirk for supporting anonymous UDT (class, struct, enum...).
2011-03-09 13:52:22 +01:00
Eric Pouech
e21062f9fa
dbghelp: When parsing a subprogram in dwarf debug format, properly handle scoping for functions with both declaration & definition.
2011-03-09 13:52:14 +01:00
Eric Pouech
a575351b30
dbghelp: Add support for parsing methods (in C++ classes) for dwarf debug format.
2011-03-09 13:52:03 +01:00
Eric Pouech
395d734d33
dbghelp: Store the compiland into the parse context.
2011-03-09 13:51:55 +01:00
Eric Pouech
0d4a9757c2
dbghelp: In dwarf debug format, correctly manage the DW_AT_specification attribute.
2011-03-09 13:51:46 +01:00
Eric Pouech
0035d5df3f
dbghelp: Add support for namespace support out of dwarf debug format.
2011-03-09 13:51:26 +01:00
Eric Pouech
770e3b5ddf
dbghelp: Add hierarchical information in die object.
2011-03-09 13:51:16 +01:00
Eric Pouech
6d49f958de
dbghelp: More precisely manage the inline attribute.
2011-03-09 13:51:08 +01:00
Eric Pouech
0816d8f4bf
dbghelp: When parsing dwarf debug info, silence ptr_to_member and imported_declaration entries.
2011-03-09 13:50:54 +01:00
Eric Pouech
2d570921dc
dbghelp: When using a regular expression on a file name, interpret '*' as any string (.* in regexp form).
2011-03-08 12:30:08 +01:00
Marcus Meissner
f955a7ca07
dbghelp: Local variable used out of scope (Coverity).
2011-03-04 16:26:01 +01:00
Marcus Meissner
0d198362aa
dbghelp: Fixed pasted size error (Coverity).
2011-02-23 15:01:27 +01:00
Alexandre Julliard
daab2c114d
dbghelp: Fix an uninitialized return value.
2011-01-31 15:36:23 +01:00
Eric Pouech
935ac12d04
dbghelp: Properly declare variables with thread storage from codeview debug format.
2011-01-31 14:30:25 +01:00
Eric Pouech
031cce8e77
dbghelp: Added support for variables in thread storage.
2011-01-31 14:30:13 +01:00
Alexandre Julliard
16a2ea5c8f
dbghelp: Use wine64 as loader name on 64-bit.
2011-01-28 11:57:46 +01:00
Alexandre Julliard
3bae7d0383
dbghelp: Add a helper function to determine the name of the wine loader.
2011-01-28 11:41:14 +01:00
Alexandre Julliard
9926ca771b
dbghelp: Use Dwarf debug info even when part of it is missing.
2011-01-24 15:52:42 +01:00
Eric Pouech
67a55feeaf
dbghelp, winedump: Added definition for S_FRAMEPROC_V2 symbol (CodeView).
2011-01-19 12:25:05 +01:00
Eric Pouech
60fbda43cb
dbghelp: Use AT_range attribute (for function, block... addresses) when AT_low_pc and AT_high_pc are not present.
2011-01-19 12:24:42 +01:00
Eric Pouech
e72d5d6de4
dbghelp: When failing to look up for a PDB file, don't keep a module format object around.
2011-01-18 12:36:36 +01:00
Eric Pouech
711f71639d
dbghelp: Get stream indexes out of PDB files (instead of hardwired values).
2011-01-18 12:36:30 +01:00
Eric Pouech
8595f6c652
dbghelp: Add support for stream lookup by name in PDB files and use it for strings stream.
2011-01-18 12:36:21 +01:00
Alexandre Julliard
cf1cd33570
dbghelp: Support pointer types of various sizes.
2011-01-13 20:09:49 +01:00
Alexandre Julliard
530e9c9b17
dbghelp: Try to load the string table from file number 4 too.
2011-01-12 10:45:49 +01:00
Eric Pouech
c7c8c0dea7
dbghelp: Speed up source string creation (by using rb trees).
2011-01-10 13:03:52 +01:00
Eric Pouech
cbd5811e90
dbghelp: Better support for OOM conditions when creating source file table.
2011-01-10 13:03:52 +01:00
Eric Pouech
99439e7589
dbghelp: Added preliminary extended FPO information out of PDB files.
2011-01-10 12:52:18 +01:00
Eric Pouech
5ce195ae89
dbghelp: Keep the mapping of any PDB file open until the module is unloaded.
2011-01-10 12:52:11 +01:00
Eric Pouech
0693572e4c
dbghelp: Use new file/debug format framework to allow keeping pdb files opened.
2011-01-10 12:52:01 +01:00
Eric Pouech
1acbb1c0ed
dbghelp: Restructure internal PDB information.
2011-01-10 12:51:39 +01:00
Gerald Pfeifer
061b50eda5
dbghelp: Also return a value in an error case in elf_map_file_read.
2011-01-03 11:54:03 +01:00
Gerald Pfeifer
8f7d06b69b
dbghelp: Make ehdr_addr in elf_enum_modules_internal dependent on AT_SYSINFO_EHDR.
2010-12-29 11:59:33 +01:00
Eric Pouech
1966ba8b7f
dbghelp: For targets on Linux, report the VDSO system page as a known ELF module.
2010-12-28 11:18:33 +01:00
Eric Pouech
749dafd987
dbghelp: Extend elf_map_file so that it can also handle ELF maps directly from debuggee address space.
2010-12-28 11:16:07 +01:00
Eric Pouech
737b5b95bb
dbghelp: Use pread instead of read in elf_map_file.
2010-12-28 11:15:24 +01:00
Eric Pouech
655247354a
dbghelp: Split elf_load_file into two functions (one for creating a file-map, another one for loading info out of a file-map).
2010-12-28 11:15:06 +01:00
Eric Pouech
8740f1dc1e
dbghelp: Factorize a bit the ELF enumeration callbacks.
2010-12-28 11:14:43 +01:00
Eric Pouech
cf06ef640d
dbghelp: Fix ELF file computation on 64bit systems.
2010-12-27 11:47:51 +01:00
André Hentschel
a4c1b34146
dbghelp: Implement arm_get_addr.
2010-10-15 11:32:44 +02:00
Eric Pouech
8d981b87f1
dbghelp: Proper support and definition for S_REGREL_V3.
2010-10-11 17:11:24 +02:00
Eric Pouech
fac5abc551
dbghelp: Ensure the stab_nlist structure is usable on 64bit systems.
2010-10-11 17:11:24 +02:00
Eric Pouech
854379bbaa
dbghelp: Fix some relocation errors for debug formats out of ELF files.
2010-10-11 17:11:24 +02:00
Eric Pouech
922caac23b
dbghelp: Compute ELF load address using the link_map ld's address (and get correct relocation computation).
2010-10-11 17:11:24 +02:00
Eric Pouech
2662ed10c8
dbghelp: When enumerating loaded modules from r_debug structure, pass the address of the dynamic section as well.
2010-10-11 17:11:24 +02:00
Eric Pouech
2a87a89680
dbghelp: Only map an ELF file once.
2010-10-11 17:11:17 +02:00
Eric Pouech
580cab9d8b
dbghelp: A couple of fixes for 64bit msvc debug info compatibility.
2010-10-11 17:08:13 +02:00
Eric Pouech
b164155447
dbghelp: Added a couple of missing CodeView base types (used in 64bit compilation).
2010-10-11 17:08:13 +02:00
Eric Pouech
229d753bc9
dbghelp: Some more 64bit base address fixes.
2010-10-11 17:07:57 +02:00
Eric Pouech
1e141eee4f
dbghelp: Allow loading PE module with 64bit addresses.
2010-10-11 12:54:18 +02:00
Austin English
95740b30b9
dbghelp: Fix compile on Hurd.
2010-10-08 11:56:46 +02:00
Paul Vriens
5da1ecef3a
dbghelp: Fix use of GetProcessHeap.
2010-09-21 17:53:55 +02:00
André Hentschel
9a1103112e
dbghelp: Add ARM support.
2010-09-20 12:58:56 +02:00
Alexandre Julliard
81b8ee863e
makefiles: Add a standard header for all makefiles to replace the common variable initializations.
2010-09-19 12:36:48 +02:00
Eric Pouech
1e12e90cc9
dbghelp: Fix regression with prevented StackWalk on i386 CPU to be called with a NULL context.
2010-09-13 11:01:38 -05:00
Alexandre Julliard
352a876f91
dbghelp: Use int64 in the spec file for 64-bit integers.
2010-08-31 14:23:48 +02:00
Andrew Talbot
4e4948cfbf
dbghelp: Constify some variables.
2010-08-30 15:38:56 +02:00
Andrew Talbot
9738f40e79
dbghelp: Remove unused functions.
2010-08-30 11:26:29 +02:00
Eric Pouech
63c7ea6494
dbghelp: Use virtual size (not raw/file size) when getting the size of a PE section.
2010-08-30 11:26:29 +02:00
Eric Pouech
1e0af22ad2
dbghelp: dwarf debug info: a few more fixes to dwarf parsing.
2010-08-26 12:42:15 +02:00
Austin English
e92a552dca
dbghelp: Add initial Sparc CPU support.
2010-08-23 13:41:17 +02:00
Jacek Caban
1a1ffe60fd
dbghelp: Silence template related dwarf FIXMEs.
2010-08-16 17:28:58 +02:00
Alexandre Julliard
b86d515ed6
dlls: Remove explicit imports of kernel32 and ntdll.
2010-07-21 17:38:36 +02:00
Eric Pouech
1783631f55
dbghelp: Added support for CFA save/restore operation.
2010-07-05 12:59:47 +02:00
Eric Pouech
5afe16621b
dbghelp: Parse correctly DW_LNE_set_discriminator.
2010-06-28 16:58:38 +02:00
Eric Pouech
b6c8b8959b
dbghelp: When unwinding i386 stacks, update CONTEXT with sp/bp/ip.
2010-06-28 16:58:05 +02:00
Eric Pouech
1c037bf564
dbghelp: Correctly handle the RULE_EXPRESSION when computing CFA in dwarf debug info.
2010-06-28 12:14:13 +02:00
Eric Pouech
b38cddf484
dbghelp: Set the correct word size when unwinding stacks with Dwarf debug info.
2010-06-28 12:14:04 +02:00
Eric Pouech
3ced7b8f40
dbghelp: Ensure we can try to load COFF symbols if none is found in other debug formats.
2010-06-28 11:42:28 +02:00
Eric Pouech
d97e6a47e5
dbghelp: Test validity of COFF symbol table against file size (and not image size).
2010-06-28 11:42:23 +02:00
Eric Pouech
1f5ff75107
dbghelp: Fix the localization of section table while loading COFF information.
2010-06-28 11:42:18 +02:00
Paul Chitescu
61a9eef9a1
dbghelp: Provide a non-NULL number of bytes read to ReadProcessMemoryProc64 callback.
2010-06-28 11:42:02 +02:00
Francois Gouget
7649c75b40
Assorted typo and spelling fixes.
2010-06-24 10:37:05 +02:00
Eric Pouech
083eca072d
dbghelp: Properly manage in dbghelp interfaces local variables and parameters that are constant.
2010-06-08 12:59:26 +02:00
Eric Pouech
99a5488a18
dbghelp: Ensure that local variables and parameter actually have a container.
2010-06-08 12:59:17 +02:00
Eric Pouech
8c7cc491ab
dbghelp: In dwarf parser, properly handle array without size specified.
2010-06-08 12:59:13 +02:00
Marcus Meissner
4f2e15d053
dbghelp: Add 2 new darf defines and implement DW_OP_stack_value.
2010-06-07 15:26:12 +02:00
André Hentschel
64951f7110
dbghelp: Use the available PowerPC functions.
2010-05-28 16:22:26 +02:00
Gerald Pfeifer
72216a604d
dbghelp: Remove variable basic_block which is not really used from dwarf2_parse_line_numbers.
2010-05-26 10:14:46 +02:00
Eric Pouech
516fc78a2b
dbghelp: Protect PE's COFF table reading against bogus values in NTHEADER.
2010-05-10 13:43:58 +02:00
Eric Pouech
e520605fa9
dbghelp: When trying to enumerate locals & parameters with SymEnumSymbols, don't return a global or public symbol when the nearest symbol of the current context isn't a function.
2010-04-08 12:28:53 +02:00
Eric Pouech
196f8f070d
dbghelp: Added support for DW_CFA_GNU_args_size.
2010-04-07 13:50:35 +02:00
Eric Pouech
a185435243
dbghelp: When handling a P augmentation in FDE/DIE parsing, throw away the DW_EH_indirect flag, as we don't handle the result.
...
It's needed as long as we don't support DW_EH_indirect while reading encoded values.
2010-04-02 10:35:21 +02:00
Eric Pouech
1b68d4e7ce
dbghelp: Extend dwarf stack unwinding by reading information out of .debug_frame sections.
...
Implement dwarf stack unwinding for i386 CPU.
2010-04-02 10:35:02 +02:00
Eric Pouech
34ef8d2113
dbghelp: Store delta used for re-locating a module.
2010-04-02 10:34:37 +02:00
Eric Pouech
51bce9b049
dbghelp: Implement the new register methods for x86.
2010-04-02 10:34:27 +02:00
Mikhail Maroukhine
0519c4b68a
dbghelp: Fix compiler warnings with flag -Wcast-qual.
2010-03-29 12:13:28 +02:00
Eric Pouech
060ccb123a
dbghelp: When unwinding the stack, stop if the current address isn't in a known module.
2010-03-29 11:45:13 +02:00
Eric Pouech
0c2401369c
dbghelp: Rewrite SymGetModuleBase so that it relies on 64 bit version.
2010-03-29 11:45:04 +02:00
Eric Pouech
a5293895a3
dbghelp: In dwarf parsing, correctly handle the DW_OP_regx option.
2010-03-29 11:44:52 +02:00
Eric Pouech
6a6edcd1ca
dbghelp: In dwarf attribute parsing, ensure that we do have a block when parsing a block.
2010-03-29 11:44:46 +02:00
Eric Pouech
036392c5d1
dbghelp: Added preliminary CFA management.
2010-03-29 11:38:17 +02:00
Eric Pouech
0eef5d6809
dbghelp: Added CFA information to dbghelp's dwarf.h.
2010-03-29 11:37:46 +02:00
Eric Pouech
1d60aa6000
dbghelp: Extend the CPU object in order to manipulate context's registers (getting context's content & register names).
2010-03-29 11:37:39 +02:00
Eric Pouech
9851ebf792
dbghelp: Keep the .debug_frame section mapped when parsing dwarf debug_info (needed for CFA management).
2010-03-29 11:37:27 +02:00
Eric Pouech
e2b62c91d5
dbghelp: Created a CPU method to map dwarf register number to codeview register number.
2010-03-25 09:45:32 +01:00
Eric Pouech
403f41687e
dbghelp: In dwarf parsing, correctly get the size of addresses in location lists.
2010-03-25 09:45:26 +01:00
Eric Pouech
8413810c6c
dbghelp: Don't try to hardwire the dwarf's "word size", but get it properly.
2010-03-25 09:45:21 +01:00
Eric Pouech
e6a08a1e15
dbghelp: Fixed a couple of portability issues to 64bit platforms.
2010-03-25 09:45:15 +01:00
Eric Pouech
51e9951a5f
dbghelp: Enhanced x86_64 stack unwinding with PE's function table data.
2010-03-25 09:45:11 +01:00
Eric Pouech
4c3361e39e
dbghelp: Properly bail out if get an error while reading ELF header.
2010-03-22 11:29:14 +01:00
Eric Pouech
375d158da7
dbghelp: Fix local/parameters enumeration on 64bit platforms.
2010-03-22 11:29:08 +01:00
Eric Pouech
d822aaff92
dbghelp: Removed the not-useful start_data field out of dwarf2_traverse_context_t.
2010-03-22 11:27:44 +01:00
Eric Pouech
bf97b03db5
dbghelp: Implemented SymFunctionTableAccess.
2010-03-22 11:27:36 +01:00
Eric Pouech
2ed8b9f6b6
dbghelp: Added helper to image_file_map to map also directory out of PE executables.
2010-03-22 11:27:32 +01:00
Eric Pouech
cecb80a4e8
dbghelp: Move the mach-o information into the modfmt structure.
2010-03-19 12:23:36 +01:00
Eric Pouech
fe2ae803ee
dbghelp: Moved the ELF's module information into the new scheme.
2010-03-19 12:08:46 +01:00
Eric Pouech
cd92e3d147
dbghelp: Move the PE debug info to the newly define scheme.
2010-03-19 12:08:37 +01:00
Eric Pouech
73f79e7fad
dbghelp: Create new infrastructure to hold specific information for multiple file/debug formats in a single module, and use it to store dwarf2 stuff.
2010-03-19 12:08:27 +01:00
Eric Pouech
3e6920d7b8
dbghelp: Now that we can keep ELF sections around, don't copy the loclist section, just don't unmap it.
2010-03-19 12:08:10 +01:00
Eric Pouech
2d8c788353
dbghelp: Let dwarf_parse decide on which sections it needs to map.
2010-03-19 12:08:03 +01:00
Eric Pouech
c9bac2efd2
dbghelp: Extend the image (ELF/PE) scheme to get the RVA out of a section.
2010-03-19 12:07:45 +01:00
Eric Pouech
a2e65f1311
dbghelp: Keep the file map around for every PE module, so that we can access image whenever we like to.
2010-03-19 12:07:27 +01:00
Eric Pouech
cbff4f063f
dbghelp: Create the notion of image (PE, ELF modules) to uniformize some handlings.
2010-03-19 12:05:59 +01:00
Eric Pouech
fb169502a5
dbghelp: Extend the ELF image management to PE modules so we get a rather uniform interface to image manipulation.
2010-03-19 12:04:19 +01:00
Eric Pouech
770f0d834f
dbghelp: Make the ELF mapping code easier to use.
2010-03-19 12:03:57 +01:00
Eric Pouech
8c4f96d232
dbghelp: Store the file map in ELF's module specific data.
2010-03-16 13:31:05 +01:00
Eric Pouech
9d7b6b65ef
dbghelp: Added helper to free module's specific data (ELF, MSC...) upon removal.
2010-03-16 13:30:46 +01:00
Eric Pouech
09a7e2d3d0
dbghelp: Added full support for DW_FORM_data8 attributes, as well as primary support for DW_FORM_block* attributes.
2010-03-16 13:30:31 +01:00
Alexandre Julliard
bef5645eb1
makefiles: Remove the no longer needed explicit separators for dependencies.
2010-03-16 13:28:19 +01:00
Alexandre Julliard
ff55fc9bea
dbghelp: Fix a pointer cast.
2010-02-16 15:50:43 +01:00
André Hentschel
c71ffcf407
dbghelp: Merge dwarf code from ntdll/signal_x86_64.c.
2010-02-09 17:13:37 +01:00
Alistair Leslie-Hughes
a204f099c6
dbghelp: Add stubs for SymGetLineFromName, SymGetLineFromName64, SymGetLineFromNameW64.
2010-02-09 17:13:36 +01:00
Alistair Leslie-Hughes
d02040d98a
dbghelp: Add basic support for PVOID64.
2010-02-08 17:14:43 +01:00
Alexandre Julliard
58e08ebc08
dbghelp: Fix broken sw_read_mem() call in i386 stack backtrace.
2010-02-04 19:32:12 +01:00
Eric Pouech
a414e782f0
dbghelp: Remove a couple of unnneeded include files.
2010-02-04 13:39:28 +01:00
Alexandre Julliard
2a07163901
dbghelp: Fix the Mac OS build.
2010-01-28 15:52:32 +01:00
Alexandre Julliard
e42d1a8cc1
dbghelp: Don't require a 16-bit stack for StackWalk.
2010-01-27 18:46:06 +01:00
Eric Pouech
520fcae5d2
dbghelp: For PE modules, when no debug info is present, also try to load symbols out of COFF symbol table.
2010-01-25 12:53:03 +01:00
Eric Pouech
181de55619
dbghelp: Removed some unused fields for public symbol description.
2010-01-25 12:52:46 +01:00
André Hentschel
2f5ba0d8c0
dbghelp: Fix typo in url.
2010-01-06 09:52:48 +01:00
André Hentschel
1f168cbd6e
dbghelp: Fix a typo.
2009-12-31 12:12:16 +01:00
Eric Pouech
878f287366
dbghelp: Silence a couple of FIXMEs for C++ code.
...
Reported by Jacek Caban.
2009-12-29 13:28:01 +01:00
Marcus Meissner
c39cd4c0ce
dbghelp: Initialize ret (Coverity).
2009-12-29 11:07:11 +01:00
Eric Pouech
bc38d3eaac
dbghelp: Add support for loading dwarf debug information out of PE images.
2009-12-24 12:15:41 +01:00
Eric Pouech
ed96e740e9
dbghelp: Add a couple of helpers to struct cpu to help adding the stack to minidump.
2009-12-23 14:27:29 +01:00
Eric Pouech
54766cdac0
dbghelp: Hacked a StackWalk implementation for x86_64.
2009-12-23 14:27:29 +01:00
Eric Pouech
7230659ce9
dbghelp: Create a cpu backend to store CPU dependent code, and use it for the i386 stack implementation.
2009-12-23 14:27:29 +01:00
Eric Pouech
2d85d5c235
dbghelp: Generalize helper to get a string from an ADDRESS64.
2009-12-22 15:39:20 +01:00
Eric Pouech
fdc86c1999
dbghelp: Rewrote stack_walk with 64 bit structures.
2009-12-22 15:39:01 +01:00
André Hentschel
255a1ebaad
dbghelp: Implement literal dwarf opcodes.
2009-12-21 15:01:24 +01:00
Eric van Beurden
fefd0cfda7
dbghelp: Fix a minidump crash by using the correct variable.
2009-12-18 12:49:46 +01:00
Huw Davies
34a961d3af
dbghelp: Fix compilation on OSX.
2009-12-16 12:20:31 +01:00
Marcus Meissner
6feb525bc7
dbghelp: Check for NULL return from process_find_by_handle (Coverity).
2009-12-15 16:09:11 +01:00
Eric Pouech
9500df82f1
dbghelp: Move the core of some line related functions to 64bit interface.
2009-12-15 11:58:39 +01:00
Eric Pouech
776e75e43c
dbghelp: Fix symt_find_nearest so that it searches for 64bit addresses on 64bit platforms.
2009-12-15 11:58:24 +01:00
Eric Pouech
7b83b70b06
dbghelp: Rewrite the symt* <=> index wrappers to that they work on 64bit platforms.
2009-12-15 11:57:33 +01:00
Eric Pouech
92b9b0940d
dbghelp: Wrap the symt* <=> index transformations.
2009-12-15 11:56:45 +01:00
Eric Pouech
07c1a1ca51
dbghelp: Fix module on which GetTypeFromName is done.
2009-12-15 11:56:18 +01:00
Eric Pouech
b4da46ebe8
dbghelp: A couple of fixes for dwarf2 support on a 64bit platform.
2009-12-14 12:29:14 +01:00
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