This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] sparc32: Add nop before __startcontext to stop unwinding [BZ #xxxxx]


From: Aurelien Jarno <aurelien@aurel32.net>
Date: Sat,  3 Mar 2018 10:10:18 +0100

> 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.

Yeah this stuff is really tricky, thanks for fixing this.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]