aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-01-05 09:39:06 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2004-01-05 09:39:06 +0000
commit1cf959cb491bd030d10155d3d59361f6d2efd341 (patch)
tree1ffe7c84196383ca07a8feee4adde4d07e62afcb /gcc
parentf614987783f01c11da3c9ea09311404a18f4a6c6 (diff)
downloadgcc-1cf959cb491bd030d10155d3d59361f6d2efd341.zip
gcc-1cf959cb491bd030d10155d3d59361f6d2efd341.tar.gz
gcc-1cf959cb491bd030d10155d3d59361f6d2efd341.tar.bz2
invoke.texi: Add documentation for the MIPS -mexplicit-relocs option.
* doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs option. From-SVN: r75423
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/invoke.texi34
2 files changed, 37 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index be96172..4628ef4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2004-01-05 Richard Sandiford <rsandifo@redhat.com>
+ * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
+ option.
+
+2004-01-05 Richard Sandiford <rsandifo@redhat.com>
+
PR target/12945
* coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
for counter labels.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b875145..f630d56 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -492,7 +492,9 @@ in the following sections.
-msingle-float -mdouble-float -mint64 -mlong64 -mlong32 @gol
-G@var{num} -membedded-data -mno-embedded-data @gol
-muninit-const-in-rodata -mno-uninit-const-in-rodata @gol
--msplit-addresses -mno-split-addresses -mrnames -mno-rnames @gol
+-msplit-addresses -mno-split-addresses @gol
+-mexplicit-relocs -mno-explicit-relocs @gol
+-mrnames -mno-rnames @gol
-mcheck-zero-division -mno-check-zero-division @gol
-mmemcpy -mno-memcpy -mlong-calls -mno-long-calls @gol
-mmad -mno-mad -mfused-madd -mno-fused-madd -nocpp @gol
@@ -8275,7 +8277,35 @@ This option is only meaningful in conjunction with @option{-membedded-data}.
@opindex msplit-addresses
@opindex mno-split-addresses
Enable (disable) use of the @code{%hi()} and @code{%lo()} assembler
-relocation operators.
+relocation operators. This option has been superceded by
+@option{-mexplicit-relocs} but is retained for backwards compatibility.
+
+@item -mexplicit-relocs
+@itemx -mno-explicit-relocs
+@opindex mexplicit-relocs
+@opindex mno-explicit-relocs
+Use (do not use) assembler relocation operators when dealing with symbolic
+addresses. The alternative, selected by @option{-mno-explicit-relocs},
+is to use assembler macros instead.
+
+@option{-mexplicit-relocs} is usually the default if GCC was
+configured to use an assembler that supports relocation operators.
+However, there are two exceptions:
+
+@itemize @bullet
+@item
+GCC is not yet able to generate explicit relocations for the combination
+of @option{-mabi=64} and @option{-mno-abicalls}. This will be addressed
+in a future release.
+
+@item
+The combination of @option{-mabicalls} and @option{-fno-unit-at-a-time}
+implies @option{-mno-explicit-relocs} unless explicitly overridden.
+This is because, when generating abicalls, the choice of relocation
+depends on whether a symbol is local or global. In some rare cases,
+GCC will not be able to decide this until the whole compilation unit
+has been read.
+@end itemize
@item -mrnames
@itemx -mno-rnames