Lines Matching refs:uaddr
60 void futex_error(int *uaddr, int op, unsigned long val, unsigned long timeout, in futex_error() argument
64 uaddr, op, (unsigned) val, timeout, uaddr, (unsigned) val3, rc); in futex_error()
67 # define CHECK_FUTEX_GENERIC(uaddr, op, val, timeout, uaddr2, val3, check, \ argument
70 rc = syscall(__NR_futex, (uaddr), (op), (val), (timeout), \
78 futex_error((uaddr), (op), (val), \
83 # define CHECK_FUTEX_ENOSYS(uaddr, op, val, timeout, uaddr2, val3, check) \ argument
84 CHECK_FUTEX_GENERIC(uaddr, op, val, timeout, uaddr2, val3, check, 1)
86 # define CHECK_FUTEX(uaddr, op, val, timeout, uaddr2, val3, check) \ argument
87 CHECK_FUTEX_GENERIC(uaddr, op, val, timeout, uaddr2, val3, check, 0)
148 invalid_op(uaddr, FUTEX_CLOCK_REALTIME | (op), __VA_ARGS__); \
149 invalid_op(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | \
166 int *uaddr = tail_alloc(sizeof(*uaddr)); in main() local
172 uaddr[0] = 0x1deadead; in main()
197 CHECK_FUTEX(uaddr + 1, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3, in main()
200 uaddr + 1, VAL_PR, (intmax_t) tmout->tv_sec, in main()
204 CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout + 1, uaddr2, VAL3, in main()
207 uaddr, 0xfacefeed, tmout + 1, sprintrc(rc)); in main()
210 CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2 + 1, VAL3, in main()
213 uaddr, VAL_PR, (intmax_t) tmout->tv_sec, in main()
217 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAIT, VAL, tmout, in main()
221 uaddr, VAL_PR, (intmax_t) tmout->tv_sec, in main()
227 CHECK_FUTEX_ENOSYS(uaddr, in main()
231 "{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR, in main()
235 CHECK_FUTEX_ENOSYS(uaddr, in main()
239 "{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR, in main()
255 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1, in main()
259 uaddr, VAL_PR, (intmax_t) tmout->tv_sec, in main()
263 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1, 0, in main()
267 uaddr, VAL_PR, (intmax_t) tmout->tv_sec, in main()
270 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAIT_BITSET, VAL, in main()
274 uaddr, VAL_PR, (intmax_t) tmout->tv_sec, in main()
279 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_WAIT_BITSET, VAL, in main()
282 "{tv_sec=%jd, tv_nsec=%jd}, %#x) = %s\n", uaddr, VAL_PR, in main()
287 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_WAIT_BITSET, VAL, in main()
290 "{tv_sec=%jd, tv_nsec=%jd}, %#x) = %s\n", uaddr, VAL_PR, in main()
294 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | in main()
298 "{tv_sec=%jd, tv_nsec=%jd}, %#x) = %s\n", uaddr, VAL_PR, in main()
313 CHECK_FUTEX(uaddr, FUTEX_WAKE, 0, NULL, NULL, 0, (rc == 0)); in main()
314 printf("futex(%p, FUTEX_WAKE, %u) = %s\n", uaddr, 0, sprintrc(rc)); in main()
317 CHECK_FUTEX(uaddr, FUTEX_WAKE, 10, NULL, NULL, 0, (rc == 0)); in main()
318 printf("futex(%p, FUTEX_WAKE, %u) = %s\n", uaddr, 10, sprintrc(rc)); in main()
321 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAKE, 10, NULL, in main()
323 printf("futex(%p, FUTEX_WAKE_PRIVATE, %u) = %s\n", uaddr, 10, in main()
341 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAKE_BITSET, 10, NULL, NULL, in main()
343 printf("futex(%p, FUTEX_WAKE_BITSET, %u, %#x) = %s\n", uaddr, 10, in main()
347 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAKE_BITSET, 10, NULL, NULL, 0, in main()
349 printf("futex(%p, FUTEX_WAKE_BITSET, %u, %#x) = %s\n", uaddr, 10, 0, in main()
353 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAKE_BITSET, 10, in main()
355 printf("futex(%p, FUTEX_WAKE_BITSET_PRIVATE, %u, %#x) = %s\n", uaddr, in main()
371 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_FD, VAL, NULL, NULL, VAL3, in main()
373 printf("futex(%p, FUTEX_FD, %u) = %s\n", uaddr, VAL_PR, sprintrc(rc)); in main()
376 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_FD, VAL, NULL, in main()
378 printf("futex(%p, FUTEX_FD|FUTEX_PRIVATE_FLAG, %u) = %s\n", uaddr, in main()
394 CHECK_FUTEX(uaddr, FUTEX_REQUEUE, VAL, VAL2, uaddr2, VAL3, in main()
397 uaddr, VAL_PR, VAL2_PR, uaddr2, sprintrc(rc)); in main()
400 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_REQUEUE, VAL, VAL2, in main()
403 uaddr, VAL_PR, VAL2_PR, uaddr2, sprintrc(rc)); in main()
420 CHECK_FUTEX(uaddr, FUTEX_CMP_REQUEUE, VAL, VAL2, uaddr2, VAL3, in main()
423 uaddr, VAL_PR, VAL2_PR, uaddr2, VAL3_PR, sprintrc(rc)); in main()
426 CHECK_FUTEX(uaddr, FUTEX_CMP_REQUEUE, VAL, VAL2, uaddr2, *uaddr, in main()
429 uaddr, VAL_PR, VAL2_PR, uaddr2, *uaddr, sprintrc(rc)); in main()
432 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_CMP_REQUEUE, VAL, in main()
433 VAL2, uaddr2, *uaddr, (rc == 0)); in main()
435 uaddr, VAL_PR, VAL2_PR, uaddr2, *uaddr, sprintrc(rc)); in main()
522 CHECK_FUTEX_ENOSYS(uaddr, in main()
526 "%s\n", uaddr, j ? "_PRIVATE" : "", VAL_PR, i, in main()
551 *uaddr = getpid(); in main()
553 CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_LOCK_PI, VAL, tmout, uaddr2 + 1, in main()
556 uaddr + 1, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec, in main()
559 CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_PRIVATE_FLAG | FUTEX_LOCK_PI, VAL, in main()
563 uaddr + 1, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec, in main()
584 CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_UNLOCK_PI, VAL, tmout, uaddr2 + 1, in main()
586 printf("futex(%p, FUTEX_UNLOCK_PI) = %s\n", uaddr + 1, sprintrc(rc)); in main()
588 CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_PRIVATE_FLAG | FUTEX_UNLOCK_PI, VAL, in main()
590 printf("futex(%p, FUTEX_UNLOCK_PI_PRIVATE) = %s\n", uaddr +1, in main()
606 CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_TRYLOCK_PI, VAL, tmout, uaddr2 + 1, in main()
608 printf("futex(%p, FUTEX_TRYLOCK_PI) = %s\n", uaddr + 1, sprintrc(rc)); in main()
610 CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_PRIVATE_FLAG | FUTEX_TRYLOCK_PI, in main()
612 printf("futex(%p, FUTEX_TRYLOCK_PI_PRIVATE) = %s\n", uaddr + 1, in main()
634 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2, in main()
638 uaddr, VAL_PR, (intmax_t) tmout->tv_sec, in main()
641 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAIT_REQUEUE_PI, in main()
645 "= %s\n", uaddr, VAL_PR, (intmax_t) tmout->tv_sec, in main()
648 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_WAIT_REQUEUE_PI, in main()
651 "{tv_sec=%jd, tv_nsec=%jd}, %p) = %s\n", uaddr, VAL_PR, in main()
655 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | in main()
659 "%u, {tv_sec=%jd, tv_nsec=%jd}, %p) = %s\n", uaddr, VAL_PR, in main()
679 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CMP_REQUEUE_PI, VAL, VAL2, uaddr2, VAL3, in main()
682 uaddr, VAL_PR, VAL2_PR, uaddr2, VAL3_PR, sprintrc(rc)); in main()
684 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CMP_REQUEUE_PI, VAL, VAL2, uaddr2, in main()
685 *uaddr, (rc == -1) && (errno == EINVAL)); in main()
687 uaddr, VAL_PR, VAL2_PR, uaddr2, *uaddr, sprintrc(rc)); in main()
689 CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_CMP_REQUEUE_PI, in main()
690 VAL, VAL2, uaddr2, *uaddr, (rc == -1) && (errno == EINVAL)); in main()
692 uaddr, VAL_PR, VAL2_PR, uaddr2, *uaddr, sprintrc(rc)); in main()
701 CHECK_FUTEX(uaddr, 0xd, VAL, tmout + 1, uaddr2 + 1, VAL3, in main()
704 uaddr, VAL_PR, tmout + 1, uaddr2 + 1, VAL3_PR, sprintrc(rc)); in main()
706 CHECK_FUTEX(uaddr, 0xbefeeded, VAL, tmout + 1, uaddr2, VAL3, in main()
709 uaddr, VAL_PR, tmout + 1, uaddr2, VAL3_PR, sprintrc(rc)); in main()