diff options
author | Ryan Prichard <rprichard@google.com> | 2020-09-16 01:22:55 -0700 |
---|---|---|
committer | Ryan Prichard <rprichard@google.com> | 2020-09-16 19:00:57 -0700 |
commit | fb1abe00635c1ec28e55921709904d5ca2e86a74 (patch) | |
tree | e7c39a2a5ea93a70488894bc163336471f96b989 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 436a43afb2cf85ae6e61b4c1ac09e944a6566646 (diff) | |
download | llvm-fb1abe00635c1ec28e55921709904d5ca2e86a74.zip llvm-fb1abe00635c1ec28e55921709904d5ca2e86a74.tar.gz llvm-fb1abe00635c1ec28e55921709904d5ca2e86a74.tar.bz2 |
[libunwind][DWARF] Fix end of .eh_frame calculation
* When .eh_frame is located using .eh_frame_hdr (PT_GNU_EH_FRAME), the
start of .eh_frame is known, but not the size. In this case, the
unwinder must rely on a terminator present at the end of .eh_frame.
Set dwarf_section_length to UINTPTR_MAX to indicate this.
* Add a new field, text_segment_length, that the FrameHeaderCache uses
to track the size of the PT_LOAD segment indicated by dso_base.
* Compute ehSectionEnd by adding sectionLength to ehSectionStart,
never to fdeHint.
Fixes PR46829.
Differential Revision: https://reviews.llvm.org/D87750
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions