> Unless I'm mistaken, their semantics imply executable stacks, You are mistaken. Only certain kinds of uses require that. There are no such uses in libc, for example.