evaluate debug infomation option -g1 |
||||||
Issue descriptionCurrently thinlto does not support debug fission, as a result, it breaks thinlto builds on arm because the binary exceeds 4GB limit. We need to evaluate the possibility to use -g1 instead of -g. We need to measure the debug info size and examine content of the debug symbol files generated by breakpad.
,
Nov 6 2017
,
Nov 7 2017
I build the chrome on kevin board. With the -g1 flag, the debug file sizes are -rw-r--r-- 1 root root 457701944 Nov 7 12:57 chrome.debug -rw-r--r-- 1 root root 655987076 Nov 7 12:56 chrome.dwp Without the -g1 flag, the sizes are -rw-r--r-- 1 yunlian eng 1029380748 Nov 7 11:56 chrome.debug -rw-r--r-- 1 yunlian eng 4199802476 Nov 7 11:56 chrome.dwp I also measured the number of functions in the symbol files generated by dump_syms. vanilla: 466648 g1: 457638 There are some cases that multiple functions are mapped to the same address. This is probably because of the icf (identical code folding) optimization. The number of functions with unique address becomes: vanilla: 343322 g1: 343317 So we lost 5 functions here.
,
Nov 8 2017
Is there a way to test whether this breaks the crash server symbolization process?
,
Nov 8 2017
One way to test would be to generate a local crash and then use the smaller symbol file to test. Here are some documents that describes how to decode minidumps on Linux: - https://www.chromium.org/developers/decoding-crash-dumps - https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/linux_starter_guide.md Including Mark and Joshua in case they know whether symbols generated using -g1 have sufficient information.
,
Nov 9 2017
I generated the .dmp file of about:crash, about:inducebrowsercrashforrealz on kevin machine and run minidump_stackwalk with symbol files. with/wihout -g1 flag gave me the same backtrace.
,
Nov 9 2017
-g1 ought to be fine for what Breakpad needs to extract, but it’s not fine for developers who like to download debug symbols and locally debug a build, and it’s not fine for what we ultimately hope to do with debug info in Crashpad. -g1 omits information about, for example, function parameters and local variables.
,
Feb 5 2018
,
Feb 9 2018
Close this as won't fix because we won't go to this direction. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by cmt...@chromium.org
, Nov 6 2017