Skip to content
  • Ted Mielczarek's avatar
    Switch the Linux minidump writer to use MDCVInfoELF for CV data. · 6c8f80aa
    Ted Mielczarek authored
    This preserves full build ids in minidumps, which are useful for
    tracking down the right version of system libraries from Linux
    distributions.
    
    The default build id produced by GNU binutils' ld is a 160-bit SHA-1
    hash of some parts of the binary, which is exactly 20 bytes:
    https://sourceware.org/binutils/docs-2.26/ld/Options.html#index-g_t_002d_002dbuild_002did-292
    
    The bulk of the changes here are to change the signatures of the
    FileID methods to use a wasteful_vector instead of raw pointers, since
    build ids can be of arbitrary length.
    
    The previous change that added support for this in the processor code
    preserved the return value of `Minidump::debug_identifier()` as the
    current `GUID+age` treatment for backwards-compatibility, and exposed
    the full build id from `Minidump::code_identifier()`, which was
    previously stubbed out for Linux dumps. This change keeps the debug ID
    in the `dump_syms` output the same to match.
    
    R=mark@chromium.org, thestig@chromium.org
    BUG=
    
    Review URL: https://codereview.chromium.org/1688743002 .
    6c8f80aa