2002-11-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/vfork.S: Don't trash the CPU's
branch prediction buffers by using unpaired call/ret.
+2002-11-28 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/vfork.S: Don't trash the CPU's
+ branch prediction buffers by using unpaired call/ret.
+
2002-11-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Fix typo in
/* Pop the return PC value into RDI. We need a register that
is preserved by the syscall and that we're allowed to destroy. */
- popq %rdi
+ popq %rdi
/* Stuff the syscall number in RAX and enter into the kernel. */
movl $SYS_ify (vfork), %eax
syscall
- cmpl $-4095, %eax
- jae .Lerror /* Branch forward if it failed. */
-
- /* Jump to the return PC. */
- jmp *%rdi
-.Lerror:
/* Push back the return PC. */
pushq %rdi
- jmp SYSCALL_ERROR_LABEL
+ cmpl $-4095, %eax
+ jae SYSCALL_ERROR_LABEL /* Branch forward if it failed. */
+
+ /* Normal return. */
.Lpseudo_end:
ret