|
|
1.1 ! root 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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.