mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-08 00:16:11 +00:00
50 lines
1016 B
C
50 lines
1016 B
C
/* Test for utimesys() syscall which is available on illumos
|
|
and older Solaris.
|
|
*/
|
|
|
|
#include "scalar.h"
|
|
|
|
__attribute__((noinline))
|
|
static void sys_utimesys(void)
|
|
{
|
|
GO(SYS_utimesys, "(FUTIMENS) 3s 1m");
|
|
SY(SYS_utimesys, x0 + 0, x0 - 1, x0 + 1); FAIL;
|
|
}
|
|
|
|
__attribute__((noinline))
|
|
static void sys_utimesys2(void)
|
|
{
|
|
GO(SYS_utimesys, "(FUTIMENS) 3s 0m");
|
|
SY(SYS_utimesys, x0 + 0, x0 - 1, x0 + NULL); FAIL;
|
|
}
|
|
|
|
__attribute__((noinline))
|
|
static void sys_utimesys3(void)
|
|
{
|
|
GO(SYS_utimesys, "(UTIMENSAT) 5s 2m");
|
|
SY(SYS_utimesys, x0 + 1, x0 - 1, x0 + 1, x0 + 1, x0); FAIL;
|
|
}
|
|
|
|
__attribute__((noinline))
|
|
static void sys_utimesys4(void)
|
|
{
|
|
GO(SYS_utimesys, "(UTIMENSAT) 5s 0m");
|
|
SY(SYS_utimesys, x0 + 1, x0 - 1, x0 + NULL, x0 + NULL, x0); FAIL;
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
/* Uninitialised, but we know px[0] is 0x0. */
|
|
long *px = malloc(sizeof(long));
|
|
x0 = px[0];
|
|
|
|
/* SYS_utimesys 110 */
|
|
sys_utimesys();
|
|
sys_utimesys2();
|
|
sys_utimesys3();
|
|
sys_utimesys4();
|
|
|
|
return 0;
|
|
}
|
|
|