On 01/16/2014 05:51 AM, Kyrill Tkachov wrote:
> Hi Richard,
> 
> I noticed that Makefile.in in libatomic sets -march=armv7-a when compiling for
> arm linux targets with ifunc support:
> 
> @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a
> -DHAVE_KERNEL64
> 
> Is there any particular reason why it must do that?

Because armv7-a is required to enable the strexb, strexh, and strexd insns.

Then the ifunc selects between the kernel, armv6 and armv7 versions.

> Would there be any fallout I'm not seeing from removing -march=armv7-a from 
> there?

You'd break the build for any configuration where strex[bhd] aren't enabled.

There are extensions to libatomic that could be made for armv8 support,
what with the new load-acquire etc insns.  But merely using -march=armv8
doesn't achieve that.

I.e. it doesn't do you any good to just remove the flag.


r~

Reply via email to