tests/mlock2.c: fix test failure on mips64

* tests/mlock2.c (main): Pass unsigned long arguments to mlock2 syscall
explicitly, to avoid unwanted sign extension issues.

Based on patch by James Cowgill <james410@cowgill.org.uk>
This commit is contained in:
Дмитрий Левин 2016-08-10 22:59:28 +00:00
parent 6a2f43ce64
commit 0bc735e5aa

View File

@ -36,9 +36,12 @@
int
main(void)
{
long rc = syscall(__NR_mlock2, 0xdeadbeef, 0xdefaced, 0xffff);
printf("mlock2(0xdeadbeef, 233811181, MLOCK_ONFAULT|0xfffe)"
" = %ld %s (%m)\n", rc, errno2name());
const unsigned long addr = (unsigned long) 0xfacefeeddeadbeefULL;
const unsigned long len = (unsigned long) 0xcafef00dbadc0dedULL;
long rc = syscall(__NR_mlock2, addr, len, -1UL);
printf("mlock2(%#lx, %lu, MLOCK_ONFAULT|0xfffffffe)"
" = %ld %s (%m)\n", addr, len, rc, errno2name());
puts("+++ exited with 0 +++");
return 0;