llvm-project/bolt/test
Alexander Yermolovich 9f3f9d19c7 [BOLT][DWARF] Handle shared abbrev section
We can have a scenario where multiple CUs share an abbrev table.
We modify or don't modify one CU, which leads to other CUs having invalid abbrev section.
Example that caused it.
All of CUs shared the same abbrev table. First CU just had compile_unit and sub_program.
It was not modified. Next CU had DW_TAG_lexical_block with
DW_AT_low_pc/DW_AT_high_pc converted to DW_AT_low_pc/DW_AT_ranges.
We used unmodified abbrev section for first and subsequent CUs.
So when parsing subsequent CUs debug info was corrupted.

In this patch we will now duplicate all sections that are modified and are different.
This also means that if .debug_types is present and it shares Abbrev table, and
they usually are, we now can have two Abbrev tables. One for CU that was modified,
and unmodified one for TU.

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D118517
2022-01-31 11:10:23 -08:00
..
AArch64 [BOLT] Fix DWARFv5 for aarch64 2022-01-27 02:14:58 +03:00
Inputs [PR] Fix update-debug-sections for AArch64 2021-12-08 16:53:38 +03:00
Unit [BOLT] Prepare BOLT for unit-testing 2022-01-27 00:22:13 +03:00
X86 [BOLT][DWARF] Handle shared abbrev section 2022-01-31 11:10:23 -08:00
runtime [BOLT][TEST] Fix building some tests with clang-14 by passing -no-pie 2022-01-30 20:27:37 -08:00
CMakeLists.txt [BOLT] Prepare BOLT for unit-testing 2022-01-27 00:22:13 +03:00
bolt-icf.test Re-enable Windows build and fix issues 2021-12-23 05:59:35 -08:00
keep-aranges.test [BOLT] Fix DWARFv5 for aarch64 2022-01-27 02:14:58 +03:00
link_fdata.py [BOLT][TEST] Import jump-table-icp.test, update link_fdata script 2021-11-08 10:56:21 -08:00
lit.cfg.py [BOLT] Fix DWARFv5 for aarch64 2022-01-27 02:14:58 +03:00
lit.site.cfg.py.in [BOLT][CMAKE] Accept BOLT_CLANG_EXE and BOLT_LLD_EXE 2022-01-15 04:37:29 -08:00
non-empty-debug-line.test [BOLT] Fix DWARFv5 for aarch64 2022-01-27 02:14:58 +03:00