summaryrefslogtreecommitdiff
path: root/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/unix/sysv/linux/powerpc/powerpc64')
-rw-r--r--libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S30
-rw-r--r--libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist2
-rw-r--r--libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c2
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