Conversation
|
Everything works as expected, and just for the info: binary without LTObinary with LTOSo size more or less the same. |
…h ThinLTO) Wrap a linker into a script that will add some settings (`-mllvm -generate-arange-section`) in case of ThinLTO to emit `.debug_aranges` symbols. Dicussion in the LLVM can be found here [1]. [1]: https://discourse.llvm.org/t/clang-does-not-produce-full-debug-aranges-section-with-thinlto/64898 Signed-off-by: Azat Khuzhin <[email protected]>
Signed-off-by: Azat Khuzhin <[email protected]>
…uch) Although this increase debug symbol size from 510MB to 1.8GB, but it is not a problem for packages, since they are compressed anyway. Checked deb package, and size slightly increased though, 834M -> 962M. Signed-off-by: Azat Khuzhin <[email protected]>
Signed-off-by: Azat Khuzhin <[email protected]>
45fd2bc to
2fd8098
Compare
This will avoid CANNOT_PARSE_ELF error for builds that has empty debug file in clickhouse-common-static-dbg package, i.e. debug build. Signed-off-by: Azat Khuzhin <[email protected]>
addressToLineWithInlines() may lead to the following error:
Code: 465. DB::Exception: Received from localhost:9000. DB::Exception: could not find abbreviation code: while executing 'FUNCTION addressToLineWithInlines(arrayJoin(trace) :: 1) -> addressToLineWithInlines(arrayJoin(trace)) Array(String) : 0'. (CANNOT_PARSE_DWARF)
CI: https://s3.amazonaws.com/clickhouse-test-reports/40873/45fd2bcb218ace3231a026eb91d688f0093c6407/stateless_tests__release_.html
Signed-off-by: Azat Khuzhin <[email protected]>
2fd8098 to
c6cbd98
Compare
|
Now it works (and it was broken in lots of places, for details see pull request description), but inlines does not, I did not managed to fix it quickly so for now Test failures does not looks related and I will take a look in details a little bit later. |
novikd
left a comment
There was a problem hiding this comment.
In general, LGTM, but I think it might be useful to create issues for inlines and --compress-debug-sections because it's easy to forget that we are missing it.
Actually I was going to take a look at the llvm parser (folly does not support it still), and I guess it will support them automatically. However I'm not sure that this worth it, because symbolizing stacktraces takes lots of time here (and hence have a cache), and increasing it even more does not looks good to me, anyway deb packages are compressed (so debug file will be compressed anyway), and regular binaries compressed with zstd now. But robust DWARF parser is still required, and maybe decompression will not take that much... I will create needable issues today (need to take a brief look at some stuff). |
|
I would prefer to merge this before switching to clang/llvm-15 #41046 (it may help with the |
Must be fixed in #41050
Seems unrelated |
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix debug symbols
Patchset
Debug symbols had been broken in many places and should not work for a long time, the fix includes the following patches:
Also note, that to support it without a quirk, patch for llvm is required, the discussion can be found here and the patch here
/usr/lib/debug/usr/bin/clickhouse.debug)02161_addressToLineWithInlinestest, since they do not work always for now (will take a look at this)Fixes: #36797
Fixes: #31639