[all-commits] [llvm/llvm-project] fb1abe: [libunwind][DWARF] Fix end of .eh_frame calculation
Ryan Prichard via All-commits
all-commits at lists.llvm.org
Wed Sep 16 19:02:19 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: fb1abe00635c1ec28e55921709904d5ca2e86a74
https://github.com/llvm/llvm-project/commit/fb1abe00635c1ec28e55921709904d5ca2e86a74
Author: Ryan Prichard <rprichard at google.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M libunwind/src/AddressSpace.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/FrameHeaderCache.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/test/frameheadercache_test.pass.cpp
Log Message:
-----------
[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
More information about the All-commits
mailing list