Statistics
| Branch: | Revision:

root / tests / cris / check_mmap3.c @ dd43edf4

History | View | Annotate | Download (668 Bytes)

1
/*
2
#notarget: cris*-*-elf
3
*/
4

    
5
#define _GNU_SOURCE
6
#include <string.h>
7
#include <stdlib.h>
8
#include <stdio.h>
9
#include <sys/types.h>
10
#include <sys/stat.h>
11
#include <unistd.h>
12
#include <sys/mman.h>
13

    
14
int main (int argc, char *argv[])
15
{
16
  volatile unsigned char *a;
17

    
18
  /* Check that we can map a non-multiple of a page and still get a full page.  */
19
  a = mmap (NULL, 0x4c, PROT_READ | PROT_WRITE | PROT_EXEC,
20
            MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
21
  if (a == NULL || a == (unsigned char *) -1)
22
    abort ();
23

    
24
  a[0] = 0xbe;
25
  a[8191] = 0xef;
26
  memset ((char *) a + 1, 0, 8190);
27

    
28
  if (a[0] != 0xbe || a[8191] != 0xef)
29
    abort ();
30

    
31
  printf ("pass\n");
32
  exit (0);
33
}