]> 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:30:56 +0000 (00:30 +0100)
commit3a53ef9b02eb98c66c04309176ed47c9c73eac59
tree7aa236ff7e94c439abc6e2fcadabb046701f912c
parente51dfc04ef9bc7bf7d44ac76b12a20bbadbe9add
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