1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00
llvm-mirror/test/DebugInfo/X86/debug_frame-invalid-cie-offset.s
Igor Kudrin 84c56f2c7c [DebugInfo] Fix printing CIE offsets in EH FDEs.
While the value of the CIE pointer field in a DWARF FDE record is
an offset to the corresponding CIE record from the beginning of
the section, for EH FDE records it is relative to the current offset.
Previously, we did not make that distinction when dumped both kinds
of FDE records and just printed the same value for the CIE pointer
field and the CIE offset; that was acceptable for DWARF FDEs but was
wrong for EH FDEs.

This patch fixes the issue by explicitly printing the offset of the
linked CIE object.

Differential Revision: https://reviews.llvm.org/D74613
2020-02-25 17:10:29 +07:00

15 lines
505 B
ArmAsm

# RUN: llvm-mc -triple i386-unknown-linux %s -filetype=obj -o - | \
# RUN: llvm-dwarfdump -debug-frame - | \
# RUN: FileCheck %s
# CHECK: .debug_frame contents:
# CHECK: 00000000 0000000c 12345678 FDE cie=<invalid offset> pc=00010000...00010010
.section .debug_frame,"",@progbits
.long .LFDE0end-.LFDE0id # Length
.LFDE0id:
.long 0x12345678 # CIE pointer (invalid)
.long 0x00010000 # Initial location
.long 0x00000010 # Address range
.LFDE0end: