PowerPC paxtest results w/ gcc-4.1

Alan Modra amodra at bigpond.net.au
Sun Aug 13 13:29:57 EST 2006

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

>, 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

More information about the Linuxppc-dev mailing list