1 /* Test program for executable stacks in an executable itself. */ 2 3 #include <dlfcn.h> 4 #include <stdio.h> 5 #include <string.h> 6 #include <unistd.h> 7 #include <error.h> 8 9 #include "tst-execstack-mod.c" /* This defines the `tryme' test function. */ 10 11 static void deeper (void (*f) (void)); 12 13 static int do_test(void)14do_test (void) 15 { 16 tryme (); 17 18 /* Test that growing the stack region gets new executable pages too. */ 19 deeper (&tryme); 20 21 return 0; 22 } 23 24 static void deeper(void (* f)(void))25deeper (void (*f) (void)) 26 { 27 char stack[1100 * 1024]; 28 explicit_bzero (stack, sizeof stack); 29 (*f) (); 30 memfrob (stack, sizeof stack); 31 } 32 33 #include <support/test-driver.c> 34