aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>2009-06-22 12:40:37 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2009-06-22 12:40:37 +0000
commit3ce14752802766f1ec13cdf98672b78888229554 (patch)
treed79ab89e16f3218d338e2b12e6aa60d56ce7957e /gcc
parentd88a51b1ca66baac89d59b5e379ef1b4f3f78eb4 (diff)
downloadgcc-3ce14752802766f1ec13cdf98672b78888229554.zip
gcc-3ce14752802766f1ec13cdf98672b78888229554.tar.gz
gcc-3ce14752802766f1ec13cdf98672b78888229554.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c8
-rw-r--r--gcc/doc/invoke.texi7
3 files changed, 19 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4804cfa..ad04c15 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 7a11d52c..7922edf 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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. */
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 5df3513..ffd4050 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -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