linux compat: define macros for syscalls

There is a lot of boilerplate we need to write whenever we want a syscall to be
reachable through the syscall function. This patch reduces that by only having
the implementer to specify the name and its arguments.

We can probably do slightly better than this, but I believe this is simple enough
already.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
libc: add pthread_attr_getguardsize() for porting CRuby

Signed-off-by: KANATSU Minoru <icc.pot.tyew272@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
vfs: fix namei() and friends

Add 'const' to function prototype of namei() and friends
to allow passing of a C++ converted string using c_str() which
return a const char*

Signed-off-by: Jaspal Singh Dhillon <jaspal.iiith@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
mempool: add malloc_usable_size() to C linkage for porting CRuby

Signed-off-by: KANATSU Minoru <icc.pot.tyew272@gmail.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
Update external/x64/misc.bin for yaml-cpp

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
external: update x64 openjdk.bin

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
vfs: implement utimensat() and futimens()

Add utimensat() and futimens() which can update file timestamps with
nanosecond precision.

Implementation to handle AT_SYMLINK_NOFOLLOW flag is enabled by default
as namei currently does not follow symbolic links.

Signed-off-by: Jaspal Singh Dhillon <jaspal.iiith@gmail.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
tests: add test for utimensat()

Add tests for utimensat() and add it to build.mk

Signed-off-by: Jaspal Singh Dhillon <jaspal.iiith@gmail.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
Merge branch 'master' of https://github.com/cloudius-systems/osv
update external