mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
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:
parent
6b970dd62c
commit
d4f6e58fcb
102 changed files with 0 additions and 0 deletions
48
tests/tcg/cris/libc/check_mmap1.c
Normal file
48
tests/tcg/cris/libc/check_mmap1.c
Normal 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);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue