1 #include <sys/mman.h>
2 
3 #include <stdlib.h>
4 #include <unistd.h>
5 #include <err.h>
6 
7 int
main(int argc,char ** argv)8 main(int argc, char **argv)
9 {
10 	int stack = 0;
11 	void *heap = NULL;
12 	void *mapping = NULL;
13 
14 	if ((heap = malloc(10)) == NULL)
15 		err(1, "couldn't allocate");
16 
17 	if ((mapping = mmap((caddr_t)0, 10, (PROT_READ | PROT_WRITE),
18 	    MAP_ANON|MAP_PRIVATE, -1, 0)) == (void*)-1)
19 		err(1, "couldn't map");
20 
21 	printf("  stack: 0x%p\n", &stack);
22 	printf("   heap: 0x%p\n", heap);
23 	printf("mapping: 0x%p\n", mapping);
24 	printf("   text: 0x%p\n", &main);
25 	return (0);
26 }
27