diff options
Diffstat (limited to 'libc/sysdeps/unix/sysv/linux/powerpc/powerpc64')
3 files changed, 16 insertions, 18 deletions
diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S index ded2a35e0..0939a6539 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S +++ b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S @@ -134,26 +134,26 @@ L(noparms): 'makecontext' call. If the pointer is NULL the process must terminate. */ L(exitcode): - /* Recover the ucontext and TOC from the dummy frame. */ - ld r1,FRAME_BACKCHAIN(r1) /* Unstack the parameter save area frame. */ - ld r3,FRAME_PARM1_SAVE(r1) - ld r2,FRAME_TOC_SAVE(r1) - ld r3,UCONTEXT_LINK(r3) /* Load the resume context. */ - cmpdi r3,0 - beq L(BADSTATUS) + /* Recover the ucontext and TOC from the dummy frame. */ + ld r1,FRAME_BACKCHAIN(r1) /* Unstack the parameter save area frame. */ + ld r3,FRAME_PARM1_SAVE(r1) + ld r2,FRAME_TOC_SAVE(r1) + ld r3,UCONTEXT_LINK(r3) /* Load the resume context. */ + cmpdi r3,0 + beq L(do_exit) bl JUMPTARGET(__setcontext) nop - -L(BADSTATUS): -/* If setcontext returns (which can happen if the syscall fails) we will - exit the program with error status (-1). */ - li r3,-1 + /* If setcontext returns (which can happen if the syscall fails) we will + exit the program with error status (-1). */ + li r3,-1 +L(do_exit): #ifdef SHARED - b JUMPTARGET(__GI_exit); + b JUMPTARGET(__GI_exit); #else - b JUMPTARGET(exit); - nop + b JUMPTARGET(exit); + nop #endif + b L(do_exit) /* The address of the exit code is in the link register. Store the lr in the ucontext as LNK so the target function will return to our diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist index 0a80d0c57..8eaaccdfc 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist +++ b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist @@ -80,13 +80,13 @@ GLIBC_2.16 timespec_get F GLIBC_2.17 GLIBC_2.17 A + __ppc_get_timebase_freq F clock_getcpuclockid F clock_getres F clock_gettime F clock_nanosleep F clock_settime F secure_getenv F - __ppc_get_timebase_freq F GLIBC_2.3 GLIBC_2.3 A _Exit F diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c index f17a4949f..f4a49c5c4 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c +++ b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c @@ -48,6 +48,4 @@ sync_file_range (int fd, __off64_t from, __off64_t to, unsigned int flags) return -1; } stub_warning (sync_file_range) - -# include <stub-tag.h> #endif |