Hoping some direction can be provided here that will allow me to capture all of the debug info outside of the artifact itself to be kept for debugging at a later time. If I strip the executable, the table is removed and the size is reduced, but it also strips away the debug_info that references the dwo file.Īlso separately, shouldn’t the symbol table be included in the dwo file? A feature is specified by name, which allows full decoupling of the Starlark rule configuration from Bazel releases. However, if I look at the symbol table for the build artifact (the executable), the full symbol table is still there. Ideally, CcToolchainConfigInfo contains a list of features, where each feature consists of one or more flag groups, each defining a list of flags that apply to specific Bazel actions. DW_AT_comp_dir : (indirect string, offset: 0xe): /home/ross/Desktop/dwarf_testĬan see it references the dwo… this also works in GDB and does not work when I remove the dwo file. DW_AT_GNU_dwo_name: (indirect string, offset: 0x0): app_dwarf.dwo Std::cout : Abbrev Number: 1 (DW_TAG_compile_unit) I want to strip the release executables for space savings and for further obfuscation, and was hoping split-dwarf would allow me to do so. dwp files however, it seems that this does not work.
#Icecc gsplit dwarf Patch
This patch makes -fthinlto-index -gsplit-dwarf emit. For -gsplit-dwarf in the backend phase of a distributed ThinLTO backend compile (-fthinlto-index) which does object file generation and no IR generation, -g should not be needed. What I would like to do is use strip to remove that info but still have it be compatible for debugging using the. g is an IR generation option while -gsplit-dwarf is an object file generation option. There’s a followup blog post with some speed up conclusions.
#Icecc gsplit dwarf how to
That loaded pretty slow in gdb, so I went looking for how to enable split dwarf, and found a nice little presentation on how to speed up clang builds.
![icecc gsplit-dwarf icecc gsplit-dwarf](https://sc01.alicdn.com/kf/HTB1j70ihuuSBuNjSsplq6ze8pXaK/231830289/HTB1j70ihuuSBuNjSsplq6ze8pXaK.jpg)
However, what I have observed is that split-dwarf still leaves a lot of unnecessary information in the remaining. I found the default static library configuration of clang slow to rebuild, so I started building it with in shared mode. I am currently trying to use the -gsplit-dwarf gcc flag in order to automatically create and separate debug symbols from build libraries/executables. 28th September 2021 c++, debug-symbols, debugging, gcc, gdb