summaryrefslogtreecommitdiffstats
path: root/src/dwarf2pdb.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fixed improperly splitting a range containing the entry pointMarc Aldorasi2022-01-121-1/+1
|
* Add function entries for non-contiguous functionsMarc Aldorasi2022-01-111-31/+80
|
* Read DWARF5 header and add DWARF5 constants.Neeraj Singh2021-12-021-4/+22
| | | | | Handle the new DWARF5 compilation unit header and add new constants to dwarf.h. We still don't decode the new forms though.
* more pre-DWARF5 refactoring: unit headers, location cursor, range cursorNeeraj Singh2021-12-021-117/+48
| | | | | | | | | | | Read the compilation unit header byte-by-byte rather than by casting the data to a structure. Add the currentBaseAddress contextual info to the compilation unit data. Move the LOCCursor into readDwarf.cpp. Implement a RangeCursor similar to the LOCCursor. Add more debug printing.
* carry contextual information with the DIECursorNeeraj Singh2021-12-021-55/+53
| | | | | | | | | | DWARF5 has more contextual information that is associated with the compilation unit. As a preparation for using such information, carry it with the DIECursor and eliminate places where we're passing in the parent compilation unit. Also add the RDAddr helper to read a target-address according to the specification in the compilation unit.
* Refactor PE image section handling. Add debug logging.Neeraj Singh2021-12-021-32/+46
| | | | | | | | | | | Encapsulate dwarf-related PE sections into the PESection class. Remove some unused sections. Add helpers for common section operations. Move the context set via DIECursor::setContext to be static members of the class and add a debug context there. Add a standard method of enabling debug logging across the dwarf and PDB code.
* introduce a symbol cacheoltolm2020-05-041-0/+1
|
* DWRAF: fix BSS handling and symbol-sectionRainer Schuetze2020-03-301-1/+1
|
* fix issue #59: add DWARF support for symbol to imported dataRainer Schuetze2020-03-261-1/+12
|
* Exclude artificial functions and inherit attributes from abstract originsMarc Aldorasi2019-02-041-34/+41
|
* Try harder to get function entry pointsMarc Aldorasi2019-02-041-3/+44
|
* DWARF: fixed converting unnamed structs/unions as part of other structsRainer Schuetze2019-01-251-62/+87
|
* 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
|