about summary refs log tree commit diff
path: root/ports
diff options
context:
space:
mode:
Diffstat (limited to 'ports')
-rw-r--r--ports/ChangeLog.arm5
-rw-r--r--ports/ChangeLog.m68k9
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/kernel-features.h3
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h1
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/vfork.S23
5 files changed, 15 insertions, 26 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index bbf9c68127..d7d9f4ce51 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,8 @@
+2012-08-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/arm/kernel-features.h
+	(__ASSUME_VFORK_SYSCALL): Remove.
+
 2012-08-01  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/arm/dl-machine.h (CLEAR_CACHE): Don't define it.
diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k
index 84260c0d6b..993ba7fd28 100644
--- a/ports/ChangeLog.m68k
+++ b/ports/ChangeLog.m68k
@@ -1,3 +1,12 @@
+2012-08-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/m68k/kernel-features.h
+	(__ASSUME_VFORK_SYSCALL): Remove.
+	* sysdeps/unix/sysv/linux/m68k/vfork.S (__vfork) [__NR_vfork]:
+	Make code unconditional.
+	(__vfork) [__ASSUME_VFORK_SYSCALL]: Likewise.
+	(__vfork) [!__ASSUME_VFORK_SYSCALL]: Remove conditional code.
+
 2012-08-01  Roland McGrath  <roland@hack.frob.com>
 
 	[BZ #14138]
diff --git a/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h b/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
index 9092df7192..0ab5df094e 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
@@ -30,9 +30,6 @@
 /* Arm got fcntl64 in 2.4.4.  */
 #define __ASSUME_FCNTL64		1
 
-/* The vfork syscall on arm was definitely available in 2.4.  */
-#define __ASSUME_VFORK_SYSCALL		1
-
 /* The signal frame layout changed in 2.6.18.  */
 #if __LINUX_KERNEL_VERSION >= 132626
 # define __ASSUME_SIGFRAME_V2	1
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
index 3b0b441aa4..05d06b2555 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
+++ b/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
@@ -21,7 +21,6 @@
 #define __ASSUME_MMAP2_SYSCALL		1
 #define __ASSUME_STAT64_SYSCALL	1
 #define __ASSUME_FCNTL64		1
-#define __ASSUME_VFORK_SYSCALL		1
 
 /* Many syscalls were added in 2.6.10 for m68k.  */
 #if __LINUX_KERNEL_VERSION >= 132618
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/vfork.S b/ports/sysdeps/unix/sysv/linux/m68k/vfork.S
index 24e0c9037c..d3e20d4067 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/vfork.S
+++ b/ports/sysdeps/unix/sysv/linux/m68k/vfork.S
@@ -36,8 +36,6 @@
 
 ENTRY (__vfork)
 
-#ifdef __NR_vfork
-
 	/* SAVE_PID clobbers call-clobbered registers and
 	   saves data in D1 and A1.  */
 
@@ -66,27 +64,8 @@ ENTRY (__vfork)
 	cfi_adjust_cfa_offset (4)
 	cfi_rel_offset (%pc, 0)
 
-# ifdef __ASSUME_VFORK_SYSCALL
-#  ifndef PIC
+#ifndef PIC
 	jbra	SYSCALL_ERROR_LABEL
-#  endif
-# else
-	/* Check if vfork syscall is known at all.  */
-	movel	#-ENOSYS,%d1
-	cmpl	%d0,%d1
-	jne	SYSCALL_ERROR_LABEL
-
-# endif
-#endif
-
-#ifndef __ASSUME_VFORK_SYSCALL
-	/* If we don't have vfork, fork is close enough.  */
-
-	movel	#SYS_ify (fork), %d0
-	trap	#0
-	tstl	%d0
-	jmi	SYSCALL_ERROR_LABEL
-	rts
 #endif
 
 PSEUDO_END (__vfork)