If they need executable stack in a way which is not known to the
compiler,
the programmer has to tell it to the toolchain.
If a program say takes address of a nested function, GCC knows it needs
executable stack and arranges things automatically.
Otherwise, either an object file can be marked as needing executable
stack (with -Wa,--execstack; at least one such object will make the whole
shared library or binary requiring executable stack), or during link
time with -Wl,-z,execstack or after it using execstack(8) utility.
The defaults are such that programs and/or libraries compiled/linked
on <= RHL9 are always assumed to potentially require executable stack,
but if you build a new program on FC1, you really need to tell the toolchain
about it.
Jakub
Thanks for the info. However this seems to be not the only problem.
I tried the execstack method on the mentioned programs without
any success.
Or try to approach it in another way:
The official binary of mit-scheme 7.7.1 (
http://www.gnu.org/software/mit-scheme)
segfaults if called with 'scheme -compiler'. In this case the scheme main
program load a 'band' called
compiler.com, which contains executable code.
Could somebody investigate this issue? I am not that familiar with problems
like this.