Disable caller and callee super interworking.

2009-06-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/arm.c (arm_override_options): Disable -mcaller-super-interworking
	and -mcallee-super-interworking.
	* doc/invoke.texi (ARM Options): Document this.

From-SVN: r148790
This commit is contained in:
Ramana Radhakrishnan 2009-06-22 12:40:37 +00:00 committed by Ramana Radhakrishnan
parent d88a51b1ca
commit 3ce1475280
3 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2009-06-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/arm.c (arm_override_options): Disable -mcaller-super-interworking
and -mcallee-super-interworking.
* doc/invoke.texi (ARM Options): Document this.
2009-06-22 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm.c (arm_print_operand): Deal with HIGH.

View File

@ -1613,6 +1613,14 @@ arm_override_options (void)
&& (arm_fp_model == ARM_FP_MODEL_FPA))
error ("FPA is unsupported in the AAPCS");
if (TARGET_AAPCS_BASED)
if (TARGET_CALLER_INTERWORKING)
error ("AAPCS doesn't support -mcaller-super-interworking");
else
if (TARGET_CALLEE_INTERWORKING)
error ("AAPCS doesn't support -mcallee-super-interworking");
/* FPA and iWMMXt are incompatible because the insn encodings overlap.
VFP and iWMMXt can theoretically coexist, but it's unlikely such silicon
will ever exist. GCC makes no attempt to support this combination. */

View File

@ -9439,14 +9439,17 @@ not call any other functions.) The default is @option{-mno-apcs-leaf-frame}.
Gives all externally visible functions in the file being compiled an ARM
instruction set header which switches to Thumb mode before executing the
rest of the function. This allows these functions to be called from
non-interworking code.
non-interworking code. This option is not valid in AAPCS configurations
because interworking is enabled by default.
@item -mcaller-super-interworking
@opindex mcaller-super-interworking
Allows calls via function pointers (including virtual functions) to
execute correctly regardless of whether the target code has been
compiled for interworking or not. There is a small overhead in the cost
of executing a function pointer if this option is enabled.
of executing a function pointer if this option is enabled. This option
is not valid in AAPCS configurations because interworking is enabled
by default.
@item -mtp=@var{name}
@opindex mtp