tests/tcg: split cris tests into bare and libc directories

Bare tests are standalone assembly tests that don't require linking to
any libc and hence can be built with kernel only compilers. The libc
tests need a compiler capable of building properly linked userspace
binaries. As we don't have such a cross compiler at the moment we
won't be building those tests.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
This commit is contained in:
Alex Bennée 2018-12-07 10:28:31 +00:00
parent 6b970dd62c
commit d4f6e58fcb
102 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,48 @@
/*
#notarget: cris*-*-elf
*/
#define _GNU_SOURCE
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
int main (int argc, char *argv[])
{
int fd = open (argv[0], O_RDONLY);
struct stat sb;
int size;
void *a;
const char *str = "a string you'll only find in the program";
if (fd == -1)
{
perror ("open");
abort ();
}
if (fstat (fd, &sb) < 0)
{
perror ("fstat");
abort ();
}
size = sb.st_size;
/* We want to test mmapping a size that isn't exactly a page. */
if ((size & 8191) == 0)
size--;
a = mmap (NULL, size, PROT_READ, MAP_PRIVATE, fd, 0);
if (memmem (a, size, str, strlen (str) + 1) == NULL)
abort ();
printf ("pass\n");
exit (0);
}