Am 10.12.2012 07:59, schrieb John Spencer:
on glibc, this header is getting pulled in automatically via
another header, however on musl we need to include it explicitly.
linux-user/mmap.c:705:9: warning: implicit declaration of function 'syscall'
linux-user/mmap.c:705:9: warning: nested extern declaration of 'syscall'
Signed-off-by: John Spencer<maillist-q...@barfooze.de>
---
linux-user/mmap.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index b412e3f..171b449 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -25,6 +25,7 @@
#include<sys/types.h>
#include<sys/stat.h>
#include<sys/mman.h>
+#include<sys/syscall.h>
#include<linux/mman.h>
#include<linux/unistd.h>
According to the Linux man-page SYSCALL(2), syscall
is declared in unistd.h. On my Debian Linux with glibc,
this information is correct. Here is the result of grep:
/usr/include/unistd.h:extern long int syscall (long int __sysno, ...)
__THROW;
unistd.h is included implicitly via qemu-common.h,
so if you don't get the declaration, there is a buggy
implementation of the header files in musl:
http://git.musl-libc.org/cgit/musl/plain/include/unistd.h
does not match the Linux documentation.
Please report this to the musl developers.
Regards
Stefan Weil