aboutgitcodebugslistschat
path: root/util.c
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2023-02-27 17:49:23 +0100
committerStefano Brivio <sbrivio@redhat.com>2023-02-27 18:56:37 +0100
commitc538ee8d695de053dc9da8965c85997a79fb6cb2 (patch)
tree1d9b60f0de6cdee47a434cde704dacf91af2a424 /util.c
parentb1b75bd73a274128fced668002d0af7ece1a0790 (diff)
downloadpasst-c538ee8d695de053dc9da8965c85997a79fb6cb2.tar
passt-c538ee8d695de053dc9da8965c85997a79fb6cb2.tar.gz
passt-c538ee8d695de053dc9da8965c85997a79fb6cb2.tar.bz2
passt-c538ee8d695de053dc9da8965c85997a79fb6cb2.tar.lz
passt-c538ee8d695de053dc9da8965c85997a79fb6cb2.tar.xz
passt-c538ee8d695de053dc9da8965c85997a79fb6cb2.tar.zst
passt-c538ee8d695de053dc9da8965c85997a79fb6cb2.zip
util: Add own prototype for __clone2() on ia642023_02_27.c538ee8
ia64 needs to use __clone2() as clone() is not available, but glibc doesn't export the prototype. Take it from clone(2) to avoid an implicit declaration: util.c: In function ‘do_clone’: util.c:512:16: warning: implicit declaration of function ‘__clone2’ [-Wimplicit-function-declaration] 512 | return __clone2(fn, stack_area + stack_size / 2, stack_size / 2, | ^~~~~~~~ Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'util.c')
-rw-r--r--util.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/util.c b/util.c
index c5ee1c0..799173f 100644
--- a/util.c
+++ b/util.c
@@ -495,6 +495,15 @@ int write_file(const char *path, const char *buf)
return len == 0 ? 0 : -1;
}
+#ifdef __ia64__
+/* Needed by do_clone() below: glibc doesn't export the prototype of __clone2(),
+ * use the description from clone(2).
+ */
+int __clone2(int (*fn)(void *), void *stack_base, size_t stack_size, int flags,
+ void *arg, ... /* pid_t *parent_tid, struct user_desc *tls,
+ pid_t *child_tid */ );
+#endif
+
/**
* do_clone() - Wrapper of __clone2() for ia64, clone() for other architectures
* @fn: Entry point for child