llvm-project/libunwind
Momchil Velikov 81806c5d4d [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: 308871
2017-07-24 09:19:32 +00:00
..
cmake [CMake][libunwind] Fix the -target and -gcc-toolchain flag handling 2017-04-16 06:08:44 +00:00
docs Bump docs version to 6.0 2017-07-19 13:49:39 +00:00
include [libunwind] Clean up macro usage. 2017-03-31 15:28:06 +00:00
src [libunwind] Handle .ARM.exidx tables without sentinel last entry 2017-07-24 09:19:32 +00:00
test Add a test harness 2017-07-06 15:20:12 +00:00
.arcconfig Update .arcconfig 2016-07-20 23:56:17 +00:00
.clang-format unwind: add a .clang-format 2015-05-07 19:50:18 +00:00
CMakeLists.txt [CMake] Set library dir to be LLVM's intermediate output dir 2017-07-18 21:30:18 +00:00
LICENSE.TXT Fix the project name in the license file. 2017-02-27 17:47:58 +00:00