From: Alan Modra Date: Fri, 6 Aug 2010 02:46:44 +0000 (+0930) Subject: invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable and -mrelocatable... X-Git-Tag: releases/gcc-4.6.0~5215 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4942323e5d6448127ced7c509ef4179bd509961d;p=thirdparty%2Fgcc.git invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable and -mrelocatable-lib description. * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable and -mrelocatable-lib description. From-SVN: r162929 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f6b5099cbe48..664079203b95 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-08-06 Alan Modra + + * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable + and -mrelocatable-lib description. + 2010-08-05 Bernd Schmidt From Martin Thuresson diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index fb33b728e93d..08d5f5f61323 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -15418,20 +15418,25 @@ unaligned memory references will be handled by the system. @itemx -mno-relocatable @opindex mrelocatable @opindex mno-relocatable -On embedded PowerPC systems generate code that allows (does not allow) -the program to be relocated to a different address at runtime. If you -use @option{-mrelocatable} on any module, all objects linked together must -be compiled with @option{-mrelocatable} or @option{-mrelocatable-lib}. +Generate code that allows (does not allow) a static executable to be +relocated to a different address at runtime. A simple embedded +PowerPC system loader should relocate the entire contents of +@code{.got2} and 4-byte locations listed in the @code{.fixup} section, +a table of 32-bit addresses generated by this option. For this to +work, all objects linked together must be compiled with +@option{-mrelocatable} or @option{-mrelocatable-lib}. +@option{-mrelocatable} code aligns the stack to an 8 byte boundary. @item -mrelocatable-lib @itemx -mno-relocatable-lib @opindex mrelocatable-lib @opindex mno-relocatable-lib -On embedded PowerPC systems generate code that allows (does not allow) -the program to be relocated to a different address at runtime. Modules -compiled with @option{-mrelocatable-lib} can be linked with either modules -compiled without @option{-mrelocatable} and @option{-mrelocatable-lib} or -with modules compiled with the @option{-mrelocatable} options. +Like @option{-mrelocatable}, @option{-mrelocatable-lib} generates a +@code{.fixup} section to allow static executables to be relocated at +runtime, but @option{-mrelocatable-lib} does not use the smaller stack +alignment of @option{-mrelocatable}. Objects compiled with +@option{-mrelocatable-lib} may be linked with objects compiled with +any combination of the @option{-mrelocatable} options. @item -mno-toc @itemx -mtoc