X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Flinux-os.c;h=222f0affec3d6d694ae6e7ab15aa2a07ad7d881f;hb=6ddaf294e5a7e3b1792ed1d9c342894c38538773;hp=5bed73a665205ad10e6f59281a341570c78fbcd1;hpb=426bde0954ef91387b8ab0d4528fad9ec02fa24c;p=sbcl.git diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c index 5bed73a..222f0af 100644 --- a/src/runtime/linux-os.c +++ b/src/runtime/linux-os.c @@ -55,7 +55,8 @@ size_t os_vm_page_size; #ifdef LISP_FEATURE_SB_THREAD -#include +#include +#include #include /* values taken from the kernel's linux/futex.h. This header file @@ -66,13 +67,11 @@ size_t os_vm_page_size; #define FUTEX_FD (2) #define FUTEX_REQUEUE (3) -#define __NR_sys_futex __NR_futex - -_syscall4(int,sys_futex, - int *, futex, - int, op, - int, val, - struct timespec *, rel); +#define sys_futex sbcl_sys_futex +static inline int sys_futex (void *futex, int op, int val, struct timespec *rel) +{ + return syscall (SYS_futex, futex, op, val, rel); +} int futex_wait(int *lock_word, int oldval) @@ -142,13 +141,10 @@ os_vm_address_t os_validate(os_vm_address_t addr, os_vm_size_t len) { int flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE; - os_vm_address_t actual ; + os_vm_address_t actual; - if (addr) - flags |= MAP_FIXED; #ifdef LISP_FEATURE_ALPHA - else { - flags |= MAP_FIXED; + if (!addr) { addr=under_2gb_free_pointer; } #endif