about summary refs log tree commit diff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-10-16 04:42:33 +0000
committerUlrich Drepper <drepper@redhat.com>2002-10-16 04:42:33 +0000
commit885bc0246bfef6d3f9337c33d240e120ef1e5889 (patch)
treedf083ecdb809c43ebd1ad193aa33a439fc3ca7b1 /sysdeps/unix/sysv
parent708296036c9753b9d08cba905a398f11095101c9 (diff)
downloadglibc-885bc0246bfef6d3f9337c33d240e120ef1e5889.tar.gz
glibc-885bc0246bfef6d3f9337c33d240e120ef1e5889.tar.xz
glibc-885bc0246bfef6d3f9337c33d240e120ef1e5889.zip
Update.
	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
	Define for 2.4+ kernels.

	* sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which
	are known to have the vfork syscall.  Don't confuse the CPUs
	branch prediction unit by jumping to the return address.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index a8145e1590..0796a8a1fd 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -214,6 +214,11 @@
 # define __ASSUME_SET_THREAD_AREA_SYSCALL	1
 #endif
 
+/* The vfork syscall on x86 was definitely available in 2.4.  */
+#if __LINUX_KERNEL_VERSION >= 132097 && defined __i386__
+# define __ASSUME_VFORK_SYSCALL		1
+#endif
+
 /* There are an infinite number of PA-RISC kernel versions numbered
    2.4.0.  But they've not really been released as such.  We require
    and expect the final version here.  */