Message ID | 20110726090228.GE6925@davesworkthinkpad |
---|---|
State | Superseded |
Headers | show |
On 26 July 2011 10:02, Dr. David Alan Gilbert <david.gilbert@linaro.org> wrote: > > gcc/ > * config/arm/arm.c (TARGET_HAVE_DMB_MCR) MCR Not available in Thumb1 > but is available on armv6 `:' after (TARGET_HAVE_DMB_MCR) and something like `Disable for Thumb1.' instead of what's on there. > > /* Nonzero if this chip implements a memory barrier via CP15. */ > -#define TARGET_HAVE_DMB_MCR (arm_arch6k && ! TARGET_HAVE_DMB) > +#define TARGET_HAVE_DMB_MCR (arm_arch6 && ! TARGET_HAVE_DMB \ > + && ! TARGET_THUMB1) Otherwise OK for trunk and afflicted release branches since this really is a bug fix. cheers Ramana
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 0d419d5..146b9ad 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -285,7 +285,8 @@ extern void (*arm_lang_output_object_attributes_hook)(void); #define TARGET_HAVE_DMB (arm_arch7) /* Nonzero if this chip implements a memory barrier via CP15. */ -#define TARGET_HAVE_DMB_MCR (arm_arch6k && ! TARGET_HAVE_DMB) +#define TARGET_HAVE_DMB_MCR (arm_arch6 && ! TARGET_HAVE_DMB \ + && ! TARGET_THUMB1) /* Nonzero if this chip implements a memory barrier instruction. */ #define TARGET_HAVE_MEMORY_BARRIER (TARGET_HAVE_DMB || TARGET_HAVE_DMB_MCR)