Commit Graph

585 Commits

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