On ia64, __clone2() is used instead of clone().
Signed-off-by: Li Zefan <[EMAIL PROTECTED]>
---
nsclone.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff -Nurp ltp-full-20080531.orig/testcases/kernel/fs/fs_bind/bin/nsclone.c
ltp-full-20080531/testcases/kernel/fs/fs_bind/bin/nsclone.c
--- ltp-full-20080531.orig/testcases/kernel/fs/fs_bind/bin/nsclone.c
2008-05-13 18:44:03.000000000 +0800
+++ ltp-full-20080531/testcases/kernel/fs/fs_bind/bin/nsclone.c 2008-06-06
16:24:19.000000000 +0800
@@ -25,6 +25,13 @@
#include <sys/types.h>
#include <sys/wait.h>
+#ifdef __ia64__
+#define clone2 __clone2
+extern int __clone2(int (*fn) (void *arg), void *child_stack_base,
+ size_t child_stack_size, int flags, void *arg,
+ pid_t *parent_tid, void *tls, pid_t *child_tid);
+#endif
+
char somemem[4096];
int myfunc(void *arg){
@@ -52,7 +59,12 @@ int main(int argc, char *argv[])
parent_cmd = (char *)strdup(argv[1]);
printf("1\n");
- if(clone(myfunc, somemem, CLONE_NEWNS|SIGCHLD, child_cmd) != -1) {
+#ifdef __ia64__
+ if (clone2(myfunc, somemem, getpagesize(), CLONE_NEWNS|SIGCHLD,
+ child_cmd, NULL, NULL, NULL) != -1) {
+#else
+ if (clone(myfunc, somemem, CLONE_NEWNS|SIGCHLD, child_cmd) != -1) {
+#endif
system(parent_cmd);
wait(&childret);
} else {
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list