invoke.texi: In the MIPS options section...

* doc/invoke.texi: In the MIPS options section, remove the passage
	saying that -mexplicit-relocs is usually disabled for -mabicalls
	-fno-unit-at-a-time.
	* config/mips/mips.c (override_options): Remove the code that enforced
	this rule.

From-SVN: r85406
This commit is contained in:
Richard Sandiford 2004-08-01 11:36:25 +00:00 committed by Richard Sandiford
parent b8b044f117
commit 12e4afe4e1
3 changed files with 10 additions and 30 deletions

View File

@ -1,3 +1,11 @@
2004-08-01 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi: In the MIPS options section, remove the passage
saying that -mexplicit-relocs is usually disabled for -mabicalls
-fno-unit-at-a-time.
* config/mips/mips.c (override_options): Remove the code that enforced
this rule.
2004-08-01 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.md (cprestore): Provide two alternatives, one for

View File

@ -4476,28 +4476,6 @@ override_options (void)
&& (target_flags_explicit & MASK_EXPLICIT_RELOCS) == 0)
target_flags &= ~MASK_EXPLICIT_RELOCS;
/* Make -mabicalls -fno-unit-at-a-time imply -mno-explicit-relocs
unless the user says otherwise.
There are two problems here:
(1) The value of an R_MIPS_GOT16 relocation depends on whether
the symbol is local or global. We therefore need to know
a symbol's binding before referring to it using %got().
(2) R_MIPS_CALL16 can only be applied to global symbols.
When not using -funit-at-a-time, a symbol's binding may change
after it has been used. For example, the C++ front-end will
initially assume that the typeinfo for an incomplete type will be
comdat, on the basis that the type could be completed later in the
file. But if the type never is completed, the typeinfo will become
local instead. */
if (!flag_unit_at_a_time
&& TARGET_ABICALLS
&& (target_flags_explicit & MASK_EXPLICIT_RELOCS) == 0)
target_flags &= ~MASK_EXPLICIT_RELOCS;
/* -mvr4130-align is a "speed over size" optimization: it usually produces
faster code, but at the expense of more nops. Enable it at -O3 and
above. */

View File

@ -9193,14 +9193,8 @@ 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, 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.
@option{-mexplicit-relocs} is the default if GCC was configured
to use an assembler that supports relocation operators.
@item -mcheck-zero-division
@itemx -mno-check-zero-division