[ 
https://issues.apache.org/jira/browse/IMPALA-11511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842168#comment-17842168
 ] 

ASF subversion and git services commented on IMPALA-11511:
----------------------------------------------------------

Commit 56f35ad40a7ded4a700222eef8dc99cf7ea44625 in impala's branch 
refs/heads/master from Joe McDonnell
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=56f35ad40 ]

IMPALA-12684: Enable IMPALA_COMPRESSED_DEBUG_INFO by default

IMPALA_COMPRESSED_DEBUG_INFO was introduced in IMPALA-11511
and reduces Impala binary sizes by >50%. Debug tools like
gdb and our minidump processing scripts handle compressed
debug information properly. There are slightly higher link
times and additional overhead when doing debugging.

Overall, the reduction in binary sizes seems worth it given
the modest overhead. Compressing the debug information also
avoids concerns that adding debug information to toolchain
components would increase binary sizes.

This changes the default for IMPALA_COMPRESSED_DEBUG_INFO to
true.

Testing:
 - Ran pstack on a Centos 7 machine running tests with
   IMPALA_COMPRESSED_DEBUG_INFO=true and verified that
   the symbols work properly
 - Forced the production of minidumps for a job using
   IMPALA_COMPRESSED_DEBUG_INFO=true and verified it is
   processed properly.
 - Used this locally for development for several months

Change-Id: I31640f1453d351b11644bb46af3d2158b22af5b3
Reviewed-on: http://gerrit.cloudera.org:8080/20871
Reviewed-by: Quanlong Huang <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> Provide an option to build with compressed debug info
> -----------------------------------------------------
>
>                 Key: IMPALA-11511
>                 URL: https://issues.apache.org/jira/browse/IMPALA-11511
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>    Affects Versions: Impala 4.2.0
>            Reporter: Joe McDonnell
>            Assignee: Joe McDonnell
>            Priority: Major
>             Fix For: Impala 4.2.0
>
>
> 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:
> {noformat}
> 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{noformat}
> 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:
> {noformat}
> objcopy --decompress-debug-sections [in_binary] [out_binary]{noformat}
> 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to