This is an archive of the discontinued LLVM Phabricator instance.

[libunwind] Don't abort if encoutering invalid .eh_frame_hdr
ClosedPublic

Authored by phosek on Jan 22 2019, 8:03 PM.

Details

Summary

Recent Linux kernel release has introduced a bug as part of the ORC
rollout where the vDSO has a valid .eh_frame section, but it's missing
the .eh_frame_hdr section and GNU_EH_FRAME segment has zero size. This
causes libunwind to abort which breaks programs that use libunwind.

The other unwinder implementation (libgcc, non-gnu) instead silently
bail out unless being compiled as debug. This change modifies libunwind
to use the same strategy.

Diff Detail

Repository
rL LLVM

Event Timeline

phosek created this revision.Jan 22 2019, 8:03 PM
phosek updated this revision to Diff 183035.Jan 22 2019, 8:09 PM
This revision is now accepted and ready to land.Jan 23 2019, 2:37 PM
This revision was automatically updated to reflect the committed changes.