Commit 1ec3b87b by Richard Sandiford Committed by Richard Sandiford

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
parent f25bf34f
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> 2007-09-20 Paul Jarc <prj-bugzilla-gcc@multivac.cwru.edu>
PR bootstrap/31906 PR bootstrap/31906
......
2007-09-20 Richard Sandiford <rsandifo@nildram.co.uk>
* mt-mips-elfoabi: New file.
2007-09-07 Richard Sandiford <richard@codesourcery.com> 2007-09-07 Richard Sandiford <richard@codesourcery.com>
* mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt. * mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
......
# 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
...@@ -5279,6 +5279,9 @@ case "${target}" in ...@@ -5279,6 +5279,9 @@ case "${target}" in
mips*-sde-elf*) mips*-sde-elf*)
target_makefile_frag="config/mt-sde" target_makefile_frag="config/mt-sde"
;; ;;
mipsisa*-*-elfoabi*)
target_makefile_frag="config/mt-mips-elfoabi"
;;
*-*-netware*) *-*-netware*)
target_makefile_frag="config/mt-netware" target_makefile_frag="config/mt-netware"
;; ;;
......
...@@ -1798,6 +1798,9 @@ case "${target}" in ...@@ -1798,6 +1798,9 @@ case "${target}" in
mips*-sde-elf*) mips*-sde-elf*)
target_makefile_frag="config/mt-sde" target_makefile_frag="config/mt-sde"
;; ;;
mipsisa*-*-elfoabi*)
target_makefile_frag="config/mt-mips-elfoabi"
;;
*-*-netware*) *-*-netware*)
target_makefile_frag="config/mt-netware" target_makefile_frag="config/mt-netware"
;; ;;
......
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> 2007-09-20 Joseph Myers <joseph@codesourcery.com>
* doc/extend.texi (Attribute Syntax): Remove old speculative * doc/extend.texi (Attribute Syntax): Remove old speculative
...@@ -4256,6 +4256,17 @@ mips_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED) ...@@ -4256,6 +4256,17 @@ mips_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
if (mips_use_mips16_mode_p (decl)) if (mips_use_mips16_mode_p (decl))
return false; 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. */ /* Otherwise OK. */
return true; return true;
} }
......
...@@ -164,6 +164,10 @@ mhard-float ...@@ -164,6 +164,10 @@ mhard-float
Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI) Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI)
Allow the use of hardware floating-point ABI and instructions 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 mips
Target RejectNegative Joined Target RejectNegative Joined
-mipsN Generate code for ISA level N -mipsN Generate code for ISA level N
......
...@@ -623,6 +623,7 @@ Objective-C and Objective-C++ Dialects}. ...@@ -623,6 +623,7 @@ Objective-C and Objective-C++ Dialects}.
@gccoptlist{-EL -EB -march=@var{arch} -mtune=@var{arch} @gol @gccoptlist{-EL -EB -march=@var{arch} -mtune=@var{arch} @gol
-mips1 -mips2 -mips3 -mips4 -mips32 -mips32r2 -mips64 @gol -mips1 -mips2 -mips3 -mips4 -mips32 -mips32r2 -mips64 @gol
-mips16 -mno-mips16 -mflip-mips16 @gol -mips16 -mno-mips16 -mflip-mips16 @gol
-minterlink-mips16 -mno-interlink-mips16 @gol
-mabi=@var{abi} -mabicalls -mno-abicalls @gol -mabi=@var{abi} -mabicalls -mno-abicalls @gol
-mshared -mno-shared -mxgot -mno-xgot -mgp32 -mgp64 @gol -mshared -mno-shared -mxgot -mno-xgot -mgp32 -mgp64 @gol
-mfp32 -mfp64 -mhard-float -msoft-float @gol -mfp32 -mfp64 -mhard-float -msoft-float @gol
...@@ -11684,6 +11685,18 @@ Generate MIPS16 code on alternating functions. This option is provided ...@@ -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 for regression testing of mixed MIPS16/non-MIPS16 code generation, and is
not intended for ordinary use in compiling user code. 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 @item -mabi=32
@itemx -mabi=o64 @itemx -mabi=o64
@itemx -mabi=n32 @itemx -mabi=n32
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment