Skip to content
  • Jon Turney's avatar
    Add support for DWARF in PECOFF as used by Cygwin and MinGW · 5d027072
    Jon Turney authored and Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen committed
    For cygwin and mingw targets, build a dump_syms tool which can read DWARF
    symbols contained in a PE/COFF executable.
    
    I felt bad about making another copy of dump_symbols.cc, so this one has the
    beginnings of being parameterized by an image file reader class, so we can apply
    it to a pecoff-format image file reading class
    
    Write pecoff format image file reading class which
    - knows how to read PE32 and PE32+ image files
    - makes PECOFF file id by fetching from a CV record or by hashing
    - can read PECOFF exports as a fallback if there is no DWARF information
    
    v2:
    Don't include arpa/inet.h on MinGW
    
    v3:
    Use AM_CPPFLAGS for NO_STABS_SUPPORT
    
    v4:
    Fixes for -Werror=sign-compare errors arising due to signedness of size_t
    Update use of Module::Extern() for change in r1415
    Fix EOT fallback to match reality rather than PE/COFF spec.
    
    v5:
    Add needed include of winsock.h for htons etc.
    
    v6:
    Update for char -> uint8_t changes in commit bc44efdc
    
    v7:
    Update for "Add debug fission support" changes
    
    What's this?  We now build elf_reader.cc into our COFF symbols dumping tool?
    But why is that?  Because dwarf2reader now contains an entirely separate ELF
    reader, for reading .dwo/.dwp files...
    5d027072