llvm-project/llvm/test/DebugInfo/XCOFF
Kyungwoo Lee 6747d44bda [DebugInfo] Fix end_sequence of debug_line in LTO Object
In a LTO build, the `end_sequence` in debug_line table for each compile unit (CU) points the end of text section which merged all CUs. The `end_sequence` needs to point to the end of each CU's range. This bug often causes invalid `debug_line` table in the final `.dSYM` binary for MachO after running `dsymutil` which tries to compensate an out-of-range address of `end_sequence`.
The fix is to sync the line table termination with the range operations that are already maintained in DwarfDebug. When CU or section changes, or nodebug functions appear or module is finished, the prior pending line table is terminated using the last range label. In the MC path where no range is tracked, the old logic is conservatively used to end the line table using the section end symbol.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D108261
2021-11-14 20:19:47 -08:00
..
dbx-inlinedstrings.ll [debug-info][NFC] Set -mtriple to avoid the test failure under other targets. 2021-04-09 04:53:59 +00:00
empty.ll [DebugInfo] Fix end_sequence of debug_line in LTO Object 2021-11-14 20:19:47 -08:00
explicit-section.ll [DebugInfo] Fix end_sequence of debug_line in LTO Object 2021-11-14 20:19:47 -08:00
function-sections.ll [DebugInfo] Fix end_sequence of debug_line in LTO Object 2021-11-14 20:19:47 -08:00
lit.local.cfg