and -mrelocatable-lib description.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162929
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-08-06 Alan Modra <amodra@gmail.com>
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
+ and -mrelocatable-lib description.
+
2010-08-05 Bernd Schmidt <bernds@codesourcery.com>
From Martin Thuresson <martint@google.com>
2010-08-05 Bernd Schmidt <bernds@codesourcery.com>
From Martin Thuresson <martint@google.com>
@itemx -mno-relocatable
@opindex mrelocatable
@opindex mno-relocatable
@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
@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
@item -mno-toc
@itemx -mtoc