diff --git a/lib/libc/aarch64/gen/makecontext.c b/lib/libc/aarch64/gen/makecontext.c index ae23ad87d3a..d4dcffa6cd6 100644 --- a/lib/libc/aarch64/gen/makecontext.c +++ b/lib/libc/aarch64/gen/makecontext.c @@ -40,16 +40,16 @@ void _ctx_start(void); void ctx_done(ucontext_t *ucp) -{ - +{ + if (ucp->uc_link == NULL) { exit(0); - } else { + } else { setcontext((const ucontext_t *)ucp->uc_link); abort(); - } + } } - + __weak_reference(__makecontext, makecontext); void diff --git a/lib/libc/arm/gen/makecontext.c b/lib/libc/arm/gen/makecontext.c index bf24e1f741c..1051d4e4de1 100644 --- a/lib/libc/arm/gen/makecontext.c +++ b/lib/libc/arm/gen/makecontext.c @@ -43,15 +43,15 @@ extern void _ctx_start(void); void ctx_done(ucontext_t *ucp) -{ - +{ + if (ucp->uc_link == NULL) exit(0); - else { + else { setcontext((const ucontext_t *)ucp->uc_link); abort(); - } -} + } +} __weak_reference(__makecontext, makecontext);