File mdmon-ia64-clone.patch of Package mdadm

ia64 has __clone2 instead of clone()
---
 mdmon.c |   12 ++++++++++++
 1 file changed, 12 insertions(+)

Index: mdmon.c
===================================================================
--- mdmon.c.orig
+++ mdmon.c
@@ -79,13 +79,25 @@ int run_child(void *v)
 	return 0;
 }
 
+#ifdef __ia64__
+int __clone2(int (*fn)(void *),
+	    void *child_stack_base, size_t stack_size,
+	    int flags, void *arg, ...
+	 /* pid_t *pid, struct user_desc *tls, pid_t *ctid */ );
+#endif
 int clone_monitor(struct supertype *container)
 {
 	static char stack[4096];
 
+#ifdef __ia64__
+	mon_tid = __clone2(run_child, stack, sizeof(stack),
+		   CLONE_FS|CLONE_FILES|CLONE_VM|CLONE_SIGHAND|CLONE_THREAD,
+		   container);
+#else
 	mon_tid = clone(run_child, stack+4096-64,
 		   CLONE_FS|CLONE_FILES|CLONE_VM|CLONE_SIGHAND|CLONE_THREAD,
 		   container);
+#endif
 
 	mgr_tid = syscall(SYS_gettid);
 
openSUSE Build Service is sponsored by