Loading
Merging r308871:
------------------------------------------------------------------------ r308871 | chill | 2017-07-24 02:19:32 -0700 (Mon, 24 Jul 2017) | 17 lines [libunwind] Handle .ARM.exidx tables without sentinel last entry UnwindCursor<A, R>::getInfoFromEHABISection assumes the last entry in the index table never corresponds to a real function. Indeed, GNU ld always inserts an EXIDX_CANTUNWIND entry, containing the end of the .text section. However, the EHABI specification (http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf) does not seem to contain text that requires the presence of a sentinel entry. In that sense the libunwind implementation isn't compliant with the specification. This patch makes getInfoFromEHABISection examine the last entry in the index table if upper_bound returns the end iterator. Fixes https://bugs.llvm.org/show_bug.cgi?id=31091 Differential revision: https://reviews.llvm.org/D35265 ------------------------------------------------------------------------ llvm-svn: 309143