Re: [PATCH] ARCv2: Add explcit unaligned access support (and ability to disable too)
From: Guenter Roeck
Date: Thu Feb 28 2019 - 13:59:34 EST
On Thu, Feb 28, 2019 at 06:12:33PM +0000, Vineet Gupta wrote:
> On 2/28/19 9:47 AM, Guenter Roeck wrote:
> > On Wed, Jan 30, 2019 at 07:32:41PM +0300, Eugeniy Paltsev wrote:
> >> As of today we enable unaligned access unconditionally on ARCv2.
> >> Do this under a Kconfig option to allow disable it for test, benchmarking
> >> etc. Also while at it
> >> - Select HAVE_EFFICIENT_UNALIGNED_ACCESS
> >> - Although gcc defaults to unaligned access (since GNU 2018.03), add the
> >> right toggles for enabling or disabling as appropriate
> >> - update bootlog to prints both HW feature status (exists, enabled/disabled)
> >> and SW status (used / not used).
> >> - wire up the relaxed memcpy for unaligned access
> >> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>
> >> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
> >> [vgupta: squashed patches, handle gcc -mno-unaligned-access quick]
> > Hi,
> > with my brand-new gcc-8.3.0, built from upstream gcc, this patch
> > results in
> > arch/arc/kernel/setup.c: In function 'arc_cpu_mumbojumbo.constprop':
> > include/linux/compiler.h:348:38: error:
> > call to '__compiletime_assert_326' declared with attribute error: gcc doesn't support -mno-unaligned-access
> Sorry it broke ur build - but it did catch a deficiency in compiler as intended -
> yay !
> > when trying to build allnoconfig or tinyconfig. I get the same results
> > with gcc-8.2.0.
> Unaligned access code gen was enabled by default in 7.x actually, but us OS folks
> were late to find that which led to the recent patch to disable it which was
> broken in gcc.
> Claudiu fixed gcc promptly but that patch didn't make it to upstream, which I've
> posted now.
> > Do I need some special compiler configuration flag when building the
> > arcv2 toolchain ? Or am I simply out of luck for using upstream gcc ?
> Once the patch hits mainline you could use that. In the mean time I'll back out
> the "detector" as it might trip other people too.
Can you possibly use $(cc-option,-mno-unaligned-access), or would that
defeat the purpose ?
> Many Thx for your testing service.