Menu

#147 sync_file_range01 fails on MIPSEL32

System Calls
open
nobody
Testcases (113)
5
2009-05-04
2009-05-04
No

It probably fails because the testcase is doing a syscall directly (without using glibc). For MIPS32, it is important that the 64-bit arguments are 64-bit aligned. Glibc solves this by adding a dummy variable after the 'fd' argument:

int sync_file_range (int fd, __off64_t from, __off64_t to, unsigned int flags)
{
return INLINE_SYSCALL (sync_file_range, 7, fd, 0,
__LONG_LONG_PAIR ((long) (from >> 32), (long) from),
__LONG_LONG_PAIR ((long) (to >> 32), (long) to),
flags);
}

<<<test_start>>>
tag=sync_file_range01 stime=1240582190
cmdline="sync_file_range01"
contacts=""
analysis=exit
initiation_status="ok"
<<<test_output>>>
sync_file_range01 1 PASS : expected failure - errno = 9 : Bad file descrip
sync_file_range01 2 PASS : expected failure - errno = 29 : Illegal seek
sync_file_range01 3 FAIL : call succeeded unexpectedly
sync_file_range01 4 PASS : expected failure - errno = 22 : Invalid argumen
sync_file_range01 5 FAIL : call succeeded unexpectedly
<<<execution_status>>>
duration=0 termination_type=exited termination_id=1 corefile=no
cutime=0 cstime=1
<<<test_end>>>

Discussion


Log in to post a comment.