OSDN Git Service

PR target/23250
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Aug 2005 14:20:23 +0000 (14:20 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Aug 2005 14:20:23 +0000 (14:20 +0000)
* arm.c (arm_override_options): If the user has selected callee-super-
interworking, then enable normal interworking.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102993 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index 1e1f0dc..f2f72f5 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       PR target/23250
+       * arm.c (arm_override_options): If the user has selected callee-super-
+       interworking, then enable normal interworking.
+
 2005-08-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
index 289fb00..d391a52 100644 (file)
@@ -1010,6 +1010,11 @@ arm_override_options (void)
       target_flags &= ~MASK_APCS_FRAME;
     }
 
+  /* Callee super interworking implies thumb interworking.  Adding
+     this to the flags here simplifies the logic elsewhere.  */
+  if (TARGET_THUMB && TARGET_CALLEE_INTERWORKING)
+      target_flags |= MASK_INTERWORK;
+
   /* TARGET_BACKTRACE calls leaf_function_p, which causes a crash if done
      from here where no function is being compiled currently.  */
   if ((TARGET_TPCS_FRAME || TARGET_TPCS_LEAF_FRAME) && TARGET_ARM)