The fix is to annotate syscall description with correct number of parameters.
--- kfreebsd/syscalls.list +++ kfreebsd/syscalls.list -sys_ktimer_settime - ktimer_settime i:ip __syscall_ktimer_settime +sys_ktimer_settime - ktimer_settime i:iipp __syscall_ktimer_settime It is problem only on kfreebsd-amd64. In functions with 4 and more parameters is necessary to do "movq %rcx, %r10" before "syscall". Test program: ************************************************************** #include <signal.h> #include <time.h> struct itimerspec nv, ov; int main() { timer_t tm; nv.it_value.tv_sec = 100; timer_create(CLOCK_MONOTONIC, NULL, &tm); printf("should be zero: %ld\n", ov.it_value.tv_sec); timer_settime(tm, 0, &nv, &ov); printf("should be zero: %ld\n", ov.it_value.tv_sec); timer_settime(tm, 0, &nv, &ov); printf("should be 99 or 100: %ld\n", ov.it_value.tv_sec); sleep (5); timer_settime(tm, 0, &nv, &ov); printf("should be 94 or 95: %ld\n", ov.it_value.tv_sec); } ************************************************************** -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org