]> git.ipfire.org Git - thirdparty/glibc.git/blame - elf/tst-execstack-needed.c
install.texi: Build was tested with binutils 2.41 (just released)
[thirdparty/glibc.git] / elf / tst-execstack-needed.c
CommitLineData
2abf9ff1
RM
1/* Test program for making nonexecutable stacks executable
2 on DT_NEEDED load of a DSO that requires executable stacks. */
3
4#include <dlfcn.h>
5#include <stdio.h>
6#include <string.h>
7#include <unistd.h>
8#include <error.h>
9
10extern void tryme (void); /* from tst-execstack-mod.so */
11
12static void deeper (void (*f) (void));
13
14static int
15do_test (void)
16{
17 tryme ();
18
19 /* Test that growing the stack region gets new executable pages too. */
20 deeper (&tryme);
21
22 return 0;
23}
24
25static void
26deeper (void (*f) (void))
27{
28 char stack[1100 * 1024];
2c6cabb3 29 explicit_bzero (stack, sizeof stack);
2abf9ff1
RM
30 (*f) ();
31 memfrob (stack, sizeof stack);
32}
33
36fe25fd 34#include <support/test-driver.c>