[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.
Differential Revision: https://reviews.llvm.org/D87750