diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2017-01-22 10:24:51 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2017-01-28 10:31:19 +0100 |
commit | bddde5860ffb8a78587854cc8e3e914bd69269ca (patch) | |
tree | d37c90a9ca983fb8be614844343ba2941927f88a /libc/sysdeps/linux/arm | |
parent | 30adfbeb8843c28869cc6ee33d7c556721cb241a (diff) |
remove PID caching
Follow GNU C Library from c579f48edba88380635ab98cb612030e3ed8691e
and remove the PID caching. These simplifies the architecture specific
assembly code.
The run of the test suite found no regressions, it even solves
some of the test failures for x86/x86_64/sparc.
Reviewed-by: Max Filippov <jcmvbkbc@gmail.com>
Reviewed-by: Vineet Gupta <Vineet.Gupta1@synopsys.com>
Acked-by: Matthew Fortune <Matthew.Fortune@imgtec.com>
Acked-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Diffstat (limited to 'libc/sysdeps/linux/arm')
-rw-r--r-- | libc/sysdeps/linux/arm/clone.S | 18 | ||||
-rw-r--r-- | libc/sysdeps/linux/arm/vfork.S | 13 |
2 files changed, 0 insertions, 31 deletions
diff --git a/libc/sysdeps/linux/arm/clone.S b/libc/sysdeps/linux/arm/clone.S index 0b293ecb7..b156e932b 100644 --- a/libc/sysdeps/linux/arm/clone.S +++ b/libc/sysdeps/linux/arm/clone.S @@ -110,9 +110,6 @@ __clone: @ do the system call @ get flags mov r0, r2 -#ifdef RESET_PID - mov ip, r2 -#endif @ new sp is already in r1 push {r4, r7} cfi_adjust_cfa_offset (8) @@ -138,21 +135,6 @@ PSEUDO_END (__clone) 1: .fnstart .cantunwind -#ifdef RESET_PID - tst ip, #CLONE_THREAD - bne 3f - GET_TLS (lr) - mov r1, r0 - tst ip, #CLONE_VM - ldr r7, =SYS_ify(getpid) - ite ne - movne r0, #-1 - swieq 0x0 - NEGOFF_ADJ_BASE (r1, TID_OFFSET) - str r0, NEGOFF_OFF1 (r1, TID_OFFSET) - str r0, NEGOFF_OFF2 (r1, PID_OFFSET, TID_OFFSET) -3: -#endif @ pick the function arg and call address off the stack and execute ldr r0, [sp, #4] mov lr, pc diff --git a/libc/sysdeps/linux/arm/vfork.S b/libc/sysdeps/linux/arm/vfork.S index 221a90c40..455b2f8d9 100644 --- a/libc/sysdeps/linux/arm/vfork.S +++ b/libc/sysdeps/linux/arm/vfork.S @@ -13,15 +13,6 @@ #include <bits/errno.h> #include <sys/syscall.h> -#ifndef SAVE_PID -#define SAVE_PID -#endif - -#ifndef RESTORE_PID -#define RESTORE_PID -#endif - - #ifdef __NR_fork .text .global __vfork @@ -33,9 +24,7 @@ .thumb_func __vfork: #ifdef __NR_vfork - SAVE_PID DO_CALL (vfork) - RESTORE_PID ldr r1, =0xfffff000 cmp r0, r1 bcs 1f @@ -69,9 +58,7 @@ __error: __vfork: #ifdef __NR_vfork - SAVE_PID DO_CALL (vfork) - RESTORE_PID cmn r0, #4096 IT(t, cc) BXC(cc, lr) |