|
From: Tom H. <th...@cy...> - 2004-12-19 13:03:11
|
In message <200...@ge...>
Christian Parpart <tr...@ge...> wrote:
> On Saturday 18 December 2004 7:23 pm, Tom Hughes wrote:
>
> > I have to say I;m not sure offhand why the linker has decided
> > that libpthread.so needs an executable stack so I'll have to
> > look at that - it may just be that it pulls in some assembly
> > code that hasn't been properly tagged.
>
> Have a look at [1], but griffon26 should have already sent this to your dev
> list already.
He did.
> What duo think about it?
It's completely wrong. It just asserts that the library doesn't need
an executable stack without trying to work out why the linker thinks
it does - if the linker is right then you're going to wind up dying
when something tries to execute on the stack.
This is all supposed to be automatic - if the compiler generates code
that needs an executable stack (such as nested functions) then it marks
the object file. The linker then marks the resulting libraries and
executables based on the object files that are linked in. The dynamic
loaded then does the necessary at run time based on the code that you
are trying to run.
So there are two questions here - why does the linker think an
executable stack is needed, and why is the system refusing to
provide one when it is asked for.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|