diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/clone.S | 15 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/vfork.S | 19 |
2 files changed, 0 insertions, 34 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/clone.S b/sysdeps/unix/sysv/linux/i386/clone.S index 25f2a9c340..feae504ce6 100644 --- a/sysdeps/unix/sysv/linux/i386/clone.S +++ b/sysdeps/unix/sysv/linux/i386/clone.S @@ -107,9 +107,6 @@ L(thread_start): cfi_undefined (eip); /* Note: %esi is zero. */ movl %esi,%ebp /* terminate the stack frame */ - testl $CLONE_VM, %edi - je L(newpid) -L(haspid): call *%ebx #ifdef PIC call L(here) @@ -121,18 +118,6 @@ L(here): movl $SYS_ify(exit), %eax ENTER_KERNEL - .subsection 2 -L(newpid): - movl $SYS_ify(getpid), %eax - ENTER_KERNEL -L(nomoregetpid): - movl %eax, %gs:PID - movl %eax, %gs:TID - jmp L(haspid) - .previous - cfi_endproc; - - cfi_startproc PSEUDO_END (__clone) libc_hidden_def (__clone) diff --git a/sysdeps/unix/sysv/linux/i386/vfork.S b/sysdeps/unix/sysv/linux/i386/vfork.S index 7a1d3373bb..a865de2201 100644 --- a/sysdeps/unix/sysv/linux/i386/vfork.S +++ b/sysdeps/unix/sysv/linux/i386/vfork.S @@ -34,17 +34,6 @@ ENTRY (__vfork) cfi_adjust_cfa_offset (-4) cfi_register (%eip, %ecx) - /* Save the TCB-cached PID away in %edx, and then negate the TCB - field. But if it's zero, set it to 0x80000000 instead. See - raise.c for the logic that relies on this value. */ - movl %gs:PID, %edx - movl %edx, %eax - negl %eax - jne 1f - movl $0x80000000, %eax -1: movl %eax, %gs:PID - - /* Stuff the syscall number in EAX and enter into the kernel. */ movl $SYS_ify (vfork), %eax int $0x80 @@ -55,14 +44,6 @@ ENTRY (__vfork) pushl %ecx cfi_adjust_cfa_offset (4) - /* Restore the original value of the TCB cache of the PID, if we're - the parent. But in the child (syscall return value equals zero), - leave things as they are. */ - testl %eax, %eax - je 1f - movl %edx, %gs:PID -1: - cmpl $-4095, %eax /* Branch forward if it failed. */ jae SYSCALL_ERROR_LABEL |