Commit Graph

852 Commits

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