Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-11511

Provide an option to build with compressed debug info

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Impala 4.2.0
    • Impala 4.2.0
    • Backend
    • None
    • ghx-label-14

    Description

      For builds with debug information, the debug information is often a large portion of the binary size. There is a feature that compresses the debug info using ZLIB via the "-gz" compilation flag. It makes a very large difference to the size of our binaries:

      GCC 7.5:
      debug: 726767520
      debug with -gz: 325970776
      release: 707911496
      with with -gz: 301671026
      
      GCC 10.4:
      debug: 870378832
      debug with -gz: 351442253
      release: 974600536
      release with -gz: 367938487

      The size reduction would be useful for developers, but support in other tools is mixed. gdb has support and seems to work fine. breakpad does not have support. However, it is easy to convert a binary with compressed debug symbols to one with normal debug symbols using objcopy:

      objcopy --decompress-debug-sections [in_binary] [out_binary]

      Given a minidump, it is possible to run objcopy to decompress the debug symbols for the original binary, dump the breakpad symbols, and then process the minidump successfully. So, it should be possible to modify bin/dump_breakpad_symbols.py to do this automatically.

      Attachments

        Activity

          People

            joemcdonnell Joe McDonnell
            joemcdonnell Joe McDonnell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: