[all-commits] [llvm/llvm-project] bd2df1: [DebugInfo] Fix printing CIE offsets in EH FDEs.

Igor Kudrin via All-commits all-commits at lists.llvm.org
Tue Feb 25 02:12:49 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: bd2df13ee0f972ac386fd2d8edf5a9205ace04bb
      https://github.com/llvm/llvm-project/commit/bd2df13ee0f972ac386fd2d8edf5a9205ace04bb
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M lld/test/ELF/eh-frame-hdr-augmentation.s
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
    M llvm/test/DebugInfo/RISCV/eh-frame.s
    A llvm/test/DebugInfo/X86/debug_frame-invalid-cie-offset.s
    M llvm/test/MC/Mips/eh-frame.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_frame_GNU_args_size.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_frame_offset.test
    M llvm/test/tools/llvm-objdump/eh_frame-arm64.test
    M llvm/test/tools/llvm-objdump/eh_frame-coff.test
    M llvm/test/tools/llvm-objdump/eh_frame-mipsel.test

  Log Message:
  -----------
  [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




More information about the All-commits mailing list