summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h5
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5283a65c66..95c80382d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -70,6 +70,13 @@
 
 2002-10-15  Ulrich Drepper  <drepper@redhat.com>
 
+	* 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.
+
 	* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__fpathconf): Add
 	support for reiserfs and xfs.
 
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.  */