summaryrefslogtreecommitdiffstats
path: root/src/dwarf2pdb.cpp
Commit message (Collapse)AuthorAgeFilesLines
* DWARF:Rainer Schuetze2018-04-211-26/+33
| | | | | | - 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
* fix signed/unsigned warningsRainer Schuetze2018-03-301-4/+3
|
* CV2PDB::addDWARFEnum: provide a default name for enumeration typesPierre-Marie de Rodat2018-03-231-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 typesPierre-Marie de Rodat2018-03-231-12/+87
|
* Fix handling of discontinuous address ranges on X64Pierre-Marie de Rodat2018-03-231-2/+13
|
* Reduce complexity of best CFA lookupsPierre-Marie de Rodat2018-03-231-15/+97
| | | | | This turns a linear lookup into a logarithmic binary search, which improves a lot DWARF to PDB conversion for big programs.
* Fix pasto: restore DW_TAG_subroutine_type handling as opaque typePierre-Marie de Rodat2018-03-231-1/+1
|
* CV2PDB::addDWARFEnumType: use getDWARFBasicType for base type translationPierre-Marie de Rodat2018-03-231-12/+3
|
* CV2PDB::addDWARFBasicType: split primitive type handling outPierre-Marie de Rodat2018-03-231-58/+63
| | | | | | 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 translationPierre-Marie de Rodat2018-03-231-0/+55
|
* CV2PDB::createTypes: materialize subranges as modifiers for base typesPierre-Marie de Rodat2018-03-231-1/+6
|
* CV2PDB::getDWARFSubrangeInfo: use an appropriate base typePierre-Marie de Rodat2018-03-231-1/+1
|
* CV2PDB::getDWARFSubrangeInfo: use language-specific default lower boundPierre-Marie de Rodat2018-03-231-2/+3
|
* CV2PDB: keep track of the default lower bound for the curret unitPierre-Marie de Rodat2018-03-231-0/+18
|
* CV2PDB::getDWARFTypeSize: fix computation from lower/upper boundsPierre-Marie de Rodat2018-03-231-1/+1
|
* CV2PDB::addDWARFArray: refactor to get lower bound info from DWARFPierre-Marie de Rodat2018-03-231-11/+31
| | | | | This also makes room to get the index type information, but this is not implemented yet.
* CV2PDB::addDWARFProc: turn uncontiguous ranges into smallest cvring onePierre-Marie de Rodat2018-03-211-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 addressPierre-Marie de Rodat2018-03-211-0/+1
|
* CV2PDB::createTypes: after formals processing, reset cursor to beginningPierre-Marie de Rodat2018-03-211-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 subprogramsPierre-Marie de Rodat2018-03-211-1/+1
|
* DWARF: fix finding sibling with multiple consecutive end tagsRainer Schuetze2018-02-231-0/+2
|
* add mago support for AA with dmd >= 2.068Rainer Schuetze2017-05-141-3/+4
| | | | | | prefer struct over class for internal structs handle class/struct property "uniquename" mark source language as 'D' for dmd >= 2.072
* DWARF: support debug_frame (CFA) and debug_loc (for frame base)Rainer Schuetze2015-06-131-25/+411
|
* fix DWARF for gcc 4.9.0 and clang 3.6Rainer Schuetze2015-06-121-14/+70
|
* DWARF: fix struct/class conversion, array limits, replace '.' with '@' in namesRainer Schuetze2015-06-091-12/+12
|
* DWARF: fix displaying locals if there are no function argumentsRainer Schuetze2015-06-091-2/+9
|
* fixes for gcc 4.6.3Rainer Schuetze2015-06-081-14/+37
|
* - new tool dumplines to display the debug line number infoRainer Schuetze2015-05-081-308/+3
|
* - remove invalid assertRainer Schuetze2015-03-261-1/+3
| | | | - add support for DW_ATE_UTF
* * DWARF: fixed issues with DW_FORM_ref_addr, DW_AT_upper_bound and ↵Rainer Schuetze2015-02-171-0/+1
| | | | | | DW_AT_lower_bound * DWARF: translate __int128 to CV code 0x14, just a wild guesss
* Revamped location expression evaluator.Vadim Chugunov2014-12-051-48/+32
|
* Converted the remaining uses of the old decodeLocation().Vadim Chugunov2014-12-051-9/+37
|
* Updated mscvpdb.h with latest from WINE.Vadim Chugunov2014-12-051-12/+8
|
* Redo appendStackVar.Vadim Chugunov2014-12-051-46/+86
|
* Revamped DIE reading.Vadim Chugunov2014-12-051-39/+38
| | | | My decodeLocation.
* Fixed O^n abbrev search.Vadim Chugunov2014-12-051-776/+222
| | | | DIE tree navigation without requiring DW_AT_sibling attributes, moved navigation logic into DIECursor class.
* Ticket #15: Crash when parsing .reloc structuresagitario2014-09-241-2/+2
|
* added support for local variables accessed through espsagitario2014-03-011-12/+35
|
* fix DWARF conversion for newer gcc versions (4.8.0 or earlier)sagitario2014-02-131-7/+29
|
* 2012-11-09 Version 0.26sagitario2013-05-251-15/+22
| | | | | | | | | * new option -p allows to specify the embedded PDB reference in the binary * added support for VS2012 2013-05-11 Version 0.27 * fixed crash when converting DWARF locations using 8 bytes or more
* Version 0.24sagitario2012-05-011-54/+57
| | | | * supports unicode characters in file names * improve interpretation of DWARF location expression
* tabifysagitario2012-03-031-1397/+1397
|
* DWARF TLS supportsagitario2012-02-151-16/+30
|
* * disabled named enumerator for D basic types to avoid debugger troubles ↵sagitario2012-02-121-0/+1690
displaying arrays * added command line switch -e to enable using named enumerator for D basic types * added DWARF support * added x64 support