diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2023-02-27 17:49:23 +0100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-02-27 18:56:37 +0100 |
commit | c538ee8d695de053dc9da8965c85997a79fb6cb2 (patch) | |
tree | 1d9b60f0de6cdee47a434cde704dacf91af2a424 | |
parent | b1b75bd73a274128fced668002d0af7ece1a0790 (diff) | |
download | passt-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>
-rw-r--r-- | util.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -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 |