mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-29 08:11:08 +00:00
arm: mark __startcontext as .cantunwind (bug 20435)
__startcontext marks the bottom of the call stack of the contexts created by makecontext.
This commit is contained in:
parent
89b7dd27ea
commit
9e2ff6c9cc
@ -1,3 +1,9 @@
|
|||||||
|
2016-08-15 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
[BZ #20435]
|
||||||
|
* sysdeps/unix/sysv/linux/arm/setcontext.S (__startcontext): Mark
|
||||||
|
as .cantunwind.
|
||||||
|
|
||||||
2016-08-12 Joseph Myers <joseph@codesourcery.com>
|
2016-08-12 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* sysdeps/powerpc/fpu/fsetexcptflg.c (__fesetexceptflag): Add
|
* sysdeps/powerpc/fpu/fsetexcptflg.c (__fesetexceptflag): Add
|
||||||
|
@ -86,12 +86,19 @@ weak_alias(__setcontext, setcontext)
|
|||||||
|
|
||||||
/* Called when a makecontext() context returns. Start the
|
/* Called when a makecontext() context returns. Start the
|
||||||
context in R4 or fall through to exit(). */
|
context in R4 or fall through to exit(). */
|
||||||
|
/* Unwind descriptors are looked up based on PC - 2, so we have to
|
||||||
|
make sure to mark the instruction preceding the __startcontext
|
||||||
|
label as .cantunwind. */
|
||||||
|
.fnstart
|
||||||
|
.cantunwind
|
||||||
|
nop
|
||||||
ENTRY(__startcontext)
|
ENTRY(__startcontext)
|
||||||
movs r0, r4
|
movs r0, r4
|
||||||
bne PLTJMP(__setcontext)
|
bne PLTJMP(__setcontext)
|
||||||
|
|
||||||
@ New context was 0 - exit
|
@ New context was 0 - exit
|
||||||
b PLTJMP(HIDDEN_JUMPTARGET(exit))
|
b PLTJMP(HIDDEN_JUMPTARGET(exit))
|
||||||
|
.fnend
|
||||||
END(__startcontext)
|
END(__startcontext)
|
||||||
|
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
|
Loading…
Reference in New Issue
Block a user