Commit Graph

745 Commits

Author SHA1 Message Date
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