27 lines
498 B
C
27 lines
498 B
C
|
/* For this test, we need to do the lstat syscall directly, or else
|
||
|
glibc gets a SEGV.
|
||
|
#progos: linux
|
||
|
*/
|
||
|
|
||
|
#include <unistd.h>
|
||
|
#include <sys/syscall.h>
|
||
|
#include <stdio.h>
|
||
|
#include <errno.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
int main (void)
|
||
|
{
|
||
|
int ret;
|
||
|
|
||
|
/* From Linux, we get EFAULT. The simulator sends us EINVAL. */
|
||
|
ret = syscall (SYS_lstat64, ".", NULL);
|
||
|
if (ret != -1 || (errno != EINVAL && errno != EFAULT))
|
||
|
{
|
||
|
perror ("lstat");
|
||
|
abort ();
|
||
|
}
|
||
|
|
||
|
printf ("pass\n");
|
||
|
exit (0);
|
||
|
}
|