configure.ac (mipsisa*-*-elfoabi*): New stanza.

* configure.ac (mipsisa*-*-elfoabi*): New stanza.
	* configure: Regenerate.

config/
	* mt-mips-elfoabi: New file.

gcc/
	* doc/invoke.texi (-minterlink-mips16): Document.
	* config/mips/mips.opt (minterlink-mips16): New option.
	* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
	-minterlink-mips16

From-SVN: r128625
This commit is contained in:
Richard Sandiford 2007-09-20 20:01:34 +00:00 committed by Richard Sandiford
parent f25bf34f06
commit 1ec3b87bb2
9 changed files with 56 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* configure.ac (mipsisa*-*-elfoabi*): New stanza.
* configure: Regenerate.
2007-09-20 Paul Jarc <prj-bugzilla-gcc@multivac.cwru.edu>
PR bootstrap/31906

View File

@ -1,3 +1,7 @@
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* mt-mips-elfoabi: New file.
2007-09-07 Richard Sandiford <richard@codesourcery.com>
* mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.

6
config/mt-mips-elfoabi Normal file
View File

@ -0,0 +1,6 @@
# The *-elfoabi configurations are intended to be usable for both
# MIPS16 and non-MIPS16 code, but the libraries are all non-MIPS16.
# Add -minterlink-mips16 so that the libraries can be used with both
# ISA modes.
CFLAGS_FOR_TARGET = -minterlink-mips16
CXXFLAGS_FOR_TARGET = -minterlink-mips16

3
configure vendored
View File

@ -5279,6 +5279,9 @@ case "${target}" in
mips*-sde-elf*)
target_makefile_frag="config/mt-sde"
;;
mipsisa*-*-elfoabi*)
target_makefile_frag="config/mt-mips-elfoabi"
;;
*-*-netware*)
target_makefile_frag="config/mt-netware"
;;

View File

@ -1798,6 +1798,9 @@ case "${target}" in
mips*-sde-elf*)
target_makefile_frag="config/mt-sde"
;;
mipsisa*-*-elfoabi*)
target_makefile_frag="config/mt-mips-elfoabi"
;;
*-*-netware*)
target_makefile_frag="config/mt-netware"
;;

View File

@ -1,3 +1,10 @@
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* doc/invoke.texi (-minterlink-mips16): Document.
* config/mips/mips.opt (minterlink-mips16): New option.
* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
-minterlink-mips16
2007-09-20 Joseph Myers <joseph@codesourcery.com>
* doc/extend.texi (Attribute Syntax): Remove old speculative

View File

@ -4256,6 +4256,17 @@ mips_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
if (mips_use_mips16_mode_p (decl))
return false;
/* ...and when -minterlink-mips16 is in effect, assume that external
functions could be MIPS16 ones unless an attribute explicitly
tells us otherwise. We only care about cases where the sibling
and normal calls would both be direct. */
if (TARGET_INTERLINK_MIPS16
&& decl
&& DECL_EXTERNAL (decl)
&& !mips_nomips16_decl_p (decl)
&& const_call_insn_operand (XEXP (DECL_RTL (decl), 0), VOIDmode))
return false;
/* Otherwise OK. */
return true;
}

View File

@ -164,6 +164,10 @@ mhard-float
Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI)
Allow the use of hardware floating-point ABI and instructions
minterlink-mips16
Target Report Var(TARGET_INTERLINK_MIPS16) Init(0)
Generate code that can be safely linked with MIPS16 code.
mips
Target RejectNegative Joined
-mipsN Generate code for ISA level N

View File

@ -623,6 +623,7 @@ Objective-C and Objective-C++ Dialects}.
@gccoptlist{-EL -EB -march=@var{arch} -mtune=@var{arch} @gol
-mips1 -mips2 -mips3 -mips4 -mips32 -mips32r2 -mips64 @gol
-mips16 -mno-mips16 -mflip-mips16 @gol
-minterlink-mips16 -mno-interlink-mips16 @gol
-mabi=@var{abi} -mabicalls -mno-abicalls @gol
-mshared -mno-shared -mxgot -mno-xgot -mgp32 -mgp64 @gol
-mfp32 -mfp64 -mhard-float -msoft-float @gol
@ -11684,6 +11685,18 @@ Generate MIPS16 code on alternating functions. This option is provided
for regression testing of mixed MIPS16/non-MIPS16 code generation, and is
not intended for ordinary use in compiling user code.
@item -minterlink-mips16
@itemx -mno-interlink-mips16
@opindex minterlink-mips16
@opindex mno-interlink-mips16
Require (do not require) that non-MIPS16 code be link-compatible with
MIPS16 code.
For example, non-MIPS16 code cannot jump directly to MIPS16 code;
it must either use a call or an indirect jump. @option{-minterlink-mips16}
therefore disables direct jumps unless GCC knows that the target of the
jump is not MIPS16.
@item -mabi=32
@itemx -mabi=o64
@itemx -mabi=n32