> -----Original Message-----
> From: Richard Earnshaw
> Sent: Tuesday, October 09, 2012 10:01 PM
> To: Terry Guo
> Cc: gcc-patches@gcc.gnu.org
> Subject: Re: [Patch ARM] Fix that miss DMB instruction for ARMv6-M
> 
> On 08/10/12 08:29, Terry Guo wrote:
> > Hi,
> >
> > When running libstdc++ regression test on Cortex-M0, the case
> 49445.cc fails
> > with error message:
> >
> > /tmp/ccMqZdgc.o: In function
> `std::atomic<float>::load(std::memory_order)
> > const':^M
> > /home/build/work/GCC-4-7-build/build-native/gcc-final/arm-none-
> eabi/armv6-m/
> > libstdc++-v3/include/atomic:202: undefined reference to
> > `__sync_synchronize'^M
> > /home/build/work/GCC-4-7-build/build-native/gcc-final/arm-none-
> eabi/armv6-m/
> > libstdc++-v3/include/atomic:202: undefined reference to
> > `__sync_synchronize'^M
> > /tmp/ccMqZdgc.o: In function
> `std::atomic<tacos>::load(std::memory_order)
> > const':^M
> > /home/build/work/GCC-4-7-build/build-native/gcc-final/arm-none-
> eabi/armv6-m/
> > libstdc++-v3/include/atomic:202: undefined reference to
> > `__sync_synchronize'^M
> > /home/build/work/GCC-4-7-build/build-native/gcc-final/arm-none-
> eabi/armv6-m/
> > libstdc++-v3/include/atomic:202: undefined reference to
> > `__sync_synchronize'^M
> > collect2: error: ld returned 1 exit status^M
> > compiler exited with status 1
> >
> > After investigation, the reason is current gcc doesn't think armv6-m
> has DMB
> > instruction. While according to ARM manuals, it has. With this wrong
> > assumption, the expand_mem_thread_fence will generate a call to
> library
> > function __sync_synchronize rather than DMB instruction. While no
> code to
> > implement this library function, so the error generates.
> >
> > The attached patch intends to fix this issue by letting gcc also
> think
> > armv6-m has DMB instruction. Is it OK to trunk?
> >
> > BR,
> > Terry
> >
> > 2012-10-08  Terry Guo  <terry....@arm.com>
> >
> >          * config/arm/arm.c (arm_arch6m): New variable to denote
> armv6-m
> > architecture.
> >          * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has
> DMB
> > instruction.
> >
> >
> 
> Ok.
> 
> R.

Thanks Richard. Is it OK to 4.7?

BR,
Terry



Reply via email to