|
From: Schmidt, A. <adr...@si...> - 2016-06-20 08:56:57
|
Hi all, I'm running Valgrind 3.11.0 on arm32 (linux-3.18.16). My application executes code (a) in memory it dynamically allocates (pages are mapped with PROT_READ|PROT_WRITE), and (b) in its .data section. In both cases, running in Valgrind (--tool=none) results in a segfault because the memory pages in question are not executable. I figured out that in native execution, my application only works because it states in its ELF header that it needs executable stacks, and Linux' way of providing this is with the READ_IMPLIES_EXEC property in the process personality, i.e., by simply making all readable memory also executable. Valgrind is more strict, and does not implement READ_IMPLIES_EXEC. Is this a bug, so should Valgrind show the same behavior as in native execution? Thanks, Adriaan |