Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | DWARF: | Rainer Schuetze | 2018-04-21 | 3 | -35/+44 |
| | | | | | | - fix code only executed in debug builds - fix evaluation of DW_OP_const1u/DW_OP_const1s not advancing pointer - add support for local variables with location list via DW_FORM_sec_offset | ||||
* | Merge pull request #27 from AlexWhiter/master | Rainer Schuetze | 2018-04-08 | 4 | -10/+13 |
|\ | | | | | Access violation fixed. Better aligning of debug section. | ||||
| * | Debug directory aligning moved to PEImage::replaceDebugSection. | AlexWhiter | 2018-04-08 | 2 | -8/+7 |
| | | |||||
| * | Fixed misspelled identifier. | AlexWhiter | 2018-04-07 | 1 | -1/+1 |
| | | |||||
| * | Cleanup of RSDS block after allocation. | AlexWhiter | 2018-04-07 | 1 | -3/+3 |
| | | |||||
| * | 1. If exe-file consisted of just a disk letter and a file name (i.e. ↵ | AlexWhiter | 2018-04-05 | 3 | -5/+9 |
|/ | | | | | | c:file.exe), AV occured. 2. Aligning the debug section offset to the closest 16-byte boundary. | ||||
* | simplify code flow | Rainer Schuetze | 2018-03-31 | 2 | -18/+22 |
| | |||||
* | refactor common part of embedded CV and DBG into function | Rainer Schuetze | 2018-03-31 | 2 | -42/+38 |
| | | | | DBG: exported names better fit strtable than symtable | ||||
* | Merge pull request #26 from AlexWhiter/master | Rainer Schuetze | 2018-03-31 | 4 | -18/+44 |
|\ | | | | | Writing of RSDS section to EXE with symbols in DBG. | ||||
| * | Reverting PEImage.h to the original state. | AlexWhiter | 2018-03-30 | 1 | -0/+1 |
| | | |||||
| * | Don't check IMAGE_FILE_DEBUG_STRIPPED flag. Check if DBG file exists instead. | AlexWhiter | 2018-03-30 | 2 | -10/+14 |
| | | |||||
| * | Wrong version was previously committed. | AlexWhiter | 2018-03-30 | 1 | -2/+1 |
| | | |||||
| * | RSDS section writing into EXE with symbols in DBG file. | AlexWhiter | 2018-03-30 | 4 | -17/+39 |
| | | |||||
| * | Fixed the calculation of IMAGE_DEBUG_DIRECTORY offset in DBG files. | AlexWhiter | 2018-03-30 | 1 | -1/+1 |
|/ | |||||
* | add partial support to convert DBG to PDB | Rainer Schuetze | 2018-03-30 | 3 | -3/+67 |
| | |||||
* | fix signed/unsigned warnings | Rainer Schuetze | 2018-03-30 | 4 | -8/+11 |
| | |||||
* | Merge pull request #24 from pmderodat/master | Rainer Schuetze | 2018-03-30 | 6 | -104/+462 |
|\ | | | | | Various improvements for Ada | ||||
| * | cv2pdb.h: add missing #include <stdint.h> to build with VS 12.0 | Pierre-Marie de Rodat | 2018-03-23 | 1 | -0/+2 |
| | | |||||
| * | CV2PDB::addDWARFEnum: provide a default name for enumeration types | Pierre-Marie de Rodat | 2018-03-23 | 1 | -2/+3 |
| | | | | | | | | | | | | | | It seems that UDTs (User Defined Types) are required to have names, otherwise the resulting PDB type stream is considered to be corrupted. So just like what we do for structure types, provide a default type name for enumeration types. | ||||
| * | CV2PDB::addDWARFEnum: fix handling of big enumerated types | Pierre-Marie de Rodat | 2018-03-23 | 1 | -12/+87 |
| | | |||||
| * | CV2PDB::appendModifierType: uncomment code to add padding | Pierre-Marie de Rodat | 2018-03-23 | 1 | -2/+2 |
| | | | | | | | | | | This prevents the generation of corrupt TPI streams, as padding is required at the end of leaves. | ||||
| * | Fix LF_ENUMERATE emission for values > 0x8000 | Pierre-Marie de Rodat | 2018-03-23 | 1 | -6/+10 |
| | | |||||
| * | dwarflines: fix last insn. address computation for DW_LNE_end_sequence | Pierre-Marie de Rodat | 2018-03-23 | 1 | -2/+11 |
| | | |||||
| * | Fix handling of discontinuous address ranges on X64 | Pierre-Marie de Rodat | 2018-03-23 | 1 | -2/+13 |
| | | |||||
| * | Reduce complexity of best CFA lookups | Pierre-Marie de Rodat | 2018-03-23 | 3 | -15/+101 |
| | | | | | | | | | | This turns a linear lookup into a logarithmic binary search, which improves a lot DWARF to PDB conversion for big programs. | ||||
| * | Do not crash when handling anonymous entities | Pierre-Marie de Rodat | 2018-03-23 | 1 | -0/+4 |
| | | | | | | | | | | C allows some types like enums or structs to be anonymous. Process them as if they had empty names. | ||||
| * | Fix pasto: restore DW_TAG_subroutine_type handling as opaque type | Pierre-Marie de Rodat | 2018-03-23 | 1 | -1/+1 |
| | | |||||
| * | Ignore, but still allow block and string forms for DW_AT_const_value | Pierre-Marie de Rodat | 2018-03-23 | 1 | -3/+16 |
| | | |||||
| * | CV2PDB::addDWARFEnumType: use getDWARFBasicType for base type translation | Pierre-Marie de Rodat | 2018-03-23 | 1 | -12/+3 |
| | | |||||
| * | CV2PDB::addDWARFBasicType: split primitive type handling out | Pierre-Marie de Rodat | 2018-03-23 | 2 | -58/+64 |
| | | | | | | | | | | | | This isolates the part of the method that gets a type ID for a primitive type, so that it can be re-used elsewhere, in particular in enum translation. | ||||
| * | CV2PDB::addDWARFEnum: new, first attempt at enum types translation | Pierre-Marie de Rodat | 2018-03-23 | 4 | -0/+65 |
| | | |||||
| * | CV2PDB::createTypes: materialize subranges as modifiers for base types | Pierre-Marie de Rodat | 2018-03-23 | 1 | -1/+6 |
| | | |||||
| * | CV2PDB::getDWARFSubrangeInfo: use an appropriate base type | Pierre-Marie de Rodat | 2018-03-23 | 1 | -1/+1 |
| | | |||||
| * | CV2PDB::getDWARFSubrangeInfo: use language-specific default lower bound | Pierre-Marie de Rodat | 2018-03-23 | 3 | -3/+10 |
| | | |||||
| * | CV2PDB: keep track of the default lower bound for the curret unit | Pierre-Marie de Rodat | 2018-03-23 | 2 | -0/+22 |
| | | |||||
| * | DWARF_InfoData: track the DW_AT_language attribute | Pierre-Marie de Rodat | 2018-03-23 | 2 | -0/+3 |
| | | |||||
| * | CV2PDB::getDWARFTypeSize: fix computation from lower/upper bounds | Pierre-Marie de Rodat | 2018-03-23 | 1 | -1/+1 |
| | | |||||
| * | CV2PDB::addDWARFArray: refactor to get lower bound info from DWARF | Pierre-Marie de Rodat | 2018-03-23 | 2 | -12/+35 |
| | | | | | | | | | | This also makes room to get the index type information, but this is not implemented yet. | ||||
| * | CV2PDB::addDWARFProc: turn uncontiguous ranges into smallest cvring one | Pierre-Marie de Rodat | 2018-03-21 | 1 | -1/+26 |
| | | | | | | | | | | This is a hack to workaround something that seems to be missing in CodeView: lexical blocks with non-contiguous address ranges. | ||||
| * | CV2PDB: store the current unit's base address | Pierre-Marie de Rodat | 2018-03-21 | 2 | -0/+6 |
| | | |||||
| * | DIECursor::readNext: use -1u for missing DW_AT_ranges attributes | Pierre-Marie de Rodat | 2018-03-21 | 1 | -2/+3 |
| | | | | | | | | | | 0 is actually a valid .debug_ranges offset, so use something really unlikely for the "no value" special constant instead. | ||||
| * | CV2PDB::createTypes: after formals processing, reset cursor to beginning | Pierre-Marie de Rodat | 2018-03-21 | 1 | -1/+0 |
| | | | | | | | | | | This will make it possible to process DIE's that are interleaved with DW_TAG_formal_parameter ones. | ||||
| * | CV2PDB::createTypes: handle out of order formal DIEs in subprograms | Pierre-Marie de Rodat | 2018-03-21 | 1 | -1/+1 |
|/ | |||||
* | DWARF: fix finding sibling with multiple consecutive end tags | Rainer Schuetze | 2018-02-23 | 2 | -1/+3 |
| | |||||
* | * DWARF: fix crash with AUX data in symbol table | Rainer Schuetze | 2017-11-30 | 4 | -4/+16 |
| | | | | * improve reallocation strategy | ||||
* | build with /LARGEADDRESSAWARE | Rainer Schuetze | 2017-10-09 | 1 | -0/+2 |
| | |||||
* | * search VS2017 registry entries to find mspdb140.dll | Rainer Schuetze | 2017-09-02 | 6 | -37/+343 |
| | | | | | | | * when using mspdb140.dll (VS2015) or later, use symbols to emit line numbers * translate S_UDT_V1 to V3 version * translate S_BLOCK_V1 to V3 version * remove "this" from delegate parameter list if inconsistent with procedure type | ||||
* | fix "try DWARF after unsupport CodeView signature" | Rainer Schuetze | 2017-08-22 | 1 | -2/+6 |
| | |||||
* | try DWARF after unsupport CodeView signature | Rainer Schuetze | 2017-08-19 | 1 | -1/+1 |
| | |||||
* | fix building with VS2012 or earlier | Rainer Schuetze | 2017-06-18 | 2 | -8/+18 |
| |