From 8464c2a11033bf52c04043ec65166d99f115b16e Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Tue, 20 May 2014 20:31:04 -0500 Subject: [PATCH] PowerPC: Consolidate NPTL/non versions of clone --- ChangeLog | 8 ++++++++ nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S | 9 --------- nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S | 9 --------- sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S | 12 ------------ sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S | 17 ++--------------- 5 files changed, 10 insertions(+), 45 deletions(-) delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S diff --git a/ChangeLog b/ChangeLog index de8e9a2..462abcc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2014-05-26 Adhemerval Zanella + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Remove + conditional [RESET_PID]. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise. + * nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: File + removed. + * nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: File + removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Include . (__vfork): Incorporate save/restore of PID from nptl/vfork.S here. diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S deleted file mode 100644 index 675a997..0000000 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S +++ /dev/null @@ -1,9 +0,0 @@ -/* We want an #include_next, but we are the main source file. - So, #include ourselves and in that incarnation we can use #include_next. */ -#ifndef INCLUDED_SELF -# define INCLUDED_SELF -# include -#else -# define RESET_PID -# include_next -#endif diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S deleted file mode 100644 index 675a997..0000000 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S +++ /dev/null @@ -1,9 +0,0 @@ -/* We want an #include_next, but we are the main source file. - So, #include ourselves and in that incarnation we can use #include_next. */ -#ifndef INCLUDED_SELF -# define INCLUDED_SELF -# include -#else -# define RESET_PID -# include_next -#endif diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S index bb1510d..0463810 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S @@ -44,11 +44,7 @@ ENTRY (__clone) /* Set up stack frame for parent. */ stwu r1,-32(r1) cfi_adjust_cfa_offset (32) -#ifdef RESET_PID stmw r28,16(r1) -#else - stmw r30,16(r1) -#endif /* Set up stack frame for child. */ clrrwi r4,r4,4 @@ -57,9 +53,7 @@ ENTRY (__clone) /* Save fn, args, stack across syscall. */ mr r30,r3 /* Function in r30. */ -#ifdef RESET_PID mr r28,r5 -#endif mr r31,r6 /* Argument in r31. */ /* 'flags' argument is first parameter to clone syscall. (The other @@ -83,7 +77,6 @@ ENTRY (__clone) crandc cr1*4+eq,cr1*4+eq,cr0*4+so bne- cr1,L(parent) /* The '-' is to minimise the race. */ -#ifdef RESET_PID andis. r0,r28,CLONE_THREAD>>16 bne+ r0,L(oldpid) andi. r0,r28,CLONE_VM @@ -94,7 +87,6 @@ L(nomoregetpid): stw r3,TID(r2) stw r3,PID(r2) L(oldpid): -#endif /* Call procedure. */ mtctr r30 @@ -105,11 +97,7 @@ L(oldpid): L(parent): /* Parent. Restore registers & return. */ -#ifdef RESET_PID lmw r28,16(r1) -#else - lmw r30,16(r1) -#endif addi r1,r1,32 bnslr+ b __syscall_error@local diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S index d8fefdd..892d44f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S @@ -41,14 +41,10 @@ ENTRY (__clone) beq- cr0,L(badargs) /* Save some regs in the "red zone". */ -#ifdef RESET_PID std r29,-24(r1) -#endif std r30,-16(r1) std r31,-8(r1) -#ifdef RESET_PID cfi_offset(r29,-24) -#endif cfi_offset(r30,-16) cfi_offset(r31,-8) @@ -59,15 +55,13 @@ ENTRY (__clone) /* Save fn, args, stack across syscall. */ mr r30,r3 /* Function in r30. */ -#ifdef RESET_PID mr r29,r5 /* Flags in r29. */ -#endif mr r31,r6 /* Argument in r31. */ /* 'flags' argument is first parameter to clone syscall. Second is the stack pointer, already in r4. */ mr r3,r5 - /* Move the parent_tid, child_tid and tls arguments. */ + /* Move the parent_tid, child_tid and tls arguments. */ mr r5,r7 mr r6,r8 mr r7,r9 @@ -84,7 +78,6 @@ ENTRY (__clone) crandc cr1*4+eq,cr1*4+eq,cr0*4+so bne- cr1,L(parent) /* The '-' is to minimise the race. */ -#ifdef RESET_PID andis. r0,r29,CLONE_THREAD>>16 bne+ cr0,L(oldpid) andi. r0,r29,CLONE_VM @@ -95,7 +88,6 @@ L(nomoregetpid): stw r3,TID(r13) stw r3,PID(r13) L(oldpid): -#endif std r2,FRAME_TOC_SAVE(r1) /* Call procedure. */ @@ -120,21 +112,16 @@ L(badargs): L(parent): /* Parent. Restore registers & return. */ -#ifdef RESET_PID cfi_offset(r29,-24) -#endif cfi_offset(r30,-16) cfi_offset(r31,-8) -#ifdef RESET_PID ld r29,-24(r1) -#endif ld r30,-16(r1) ld r31,-8(r1) -#ifdef RESET_PID cfi_restore(r29) -#endif cfi_restore(r30) cfi_restore(r31) + PSEUDO_RET END (__clone) -- 2.7.4