]> git.ipfire.org Git - thirdparty/glibc.git/commit
sparc32: Add nop before __startcontext to stop unwinding [BZ #22919]
authorAurelien Jarno <aurelien@aurel32.net>
Thu, 8 Mar 2018 23:14:27 +0000 (00:14 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Thu, 8 Mar 2018 23:14:27 +0000 (00:14 +0100)
commit4d1ae634e6b4a1ea65c4ab10f2988ffde7476e55
tree0992a961118f834e59d863e0e88985f5bde3ed51
parentf109026488fde11d1e8cc10b4b624148f79a1828
sparc32: Add nop before __startcontext to stop unwinding [BZ #22919]

On sparc32 tst-makecontext fails, as backtrace called within a context
created by makecontext to yield infinite backtrace.

Fix that the same way than nios2 by adding a nop just before
__startcontext. This is needed as otherwise FDE lookup just repeatedly
finds __setcontext's FDE in an infinite loop, due to the convention of
using 'address - 1' for FDE lookup.

Changelog:
[BZ #22919]
* sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext):
Add nop before __startcontext, add explaining comments.

(cherry picked from commit 9aa5c222b9e0409143410a02b6364a3b25dbf028)
ChangeLog
sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S