/*#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>intmain(intargc,char*argv[]){intfd=open(argv[0],O_RDONLY);structstatsb;intsize;void*a;constchar*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_SHARED,fd,0);if(memmem(a,size,str,strlen(str)+1)==NULL)abort();printf("pass\n");exit(0);}