Re: PowerPC paxtest results w/ gcc-4.1
From: Alan Modra <hidden>
Date: 2006-08-13 04:17:02
On Sun, Aug 13, 2006 at 09:54:14AM +1000, Paul Mackerras wrote:
To get the full benefit of -msecure-plt, every object file in your executable has to be compiled with it
Yes. In particular, glibc startup files need to be compiled with -msecure-plt. If ld links any object file that uses the old scheme requiring an executable .got into the executable, then the old layout is forced.
, and I think every shared library the program uses has to be compiled with it too.
No, this isn't necessary.
On a system where everything has been compiled with -msecure-plt, I believe the heap and stack will automatically be made non-executable.
Exec stack is a separate issue from the plt/got layout. You need a kernel that sets non-exec stack by default and respects PT_GNU_STACK program header. -- Alan Modra IBM OzLabs - Linux Technology Centre