Subject: Re: arc build failures in -next due to ARCv2 patch

From: Guenter Roeck <[email-masked]>
Date: Sat, 27 Jun 2015 07:16:23 -0700

Hi Vineet,

On 06/27/2015 04:42 AM, Vineet Gupta wrote:
> hi,
>
> Sorry for top posting / html - web client access from home.
Another Microsoft victim ? That is why I dislike sending e-mail
from my company account.

> Thx for reporting the issue - I have pushed a fix (also attached) which shd cure it (don't have exactly similar oldish gcc at hand).

Not that old, really, it just isn't configured for ARCv2. Question is if I need two
separate compilers or if I can configure it to support both v1 and v2.

> This slipped thru the cracks as newer gcc for legacy ARCompact can still tolerate the new toggles.

Something like the following would avoid the ifdef in the Makefile and also check if the option
is supported by the compiler.

config ARC_NO_LL64
     default y
     depends on !ARC_HAS_LL64 && ISA_ARCV2

...

cflags-$(CONFIG_ARC_NO_LL64) += $(call cc-option, -mno-ll64)

Your patch uses ${} instead of $() - does the make command accept/understand that ?

> I will get back to you on Monday about how to go about including support for a newer gcc for ARCv2 build test as well.
Looking forward to it, though I hope I can just built a toolchain for HS38.

After applying your patch, I get

arch/arc/kernel/process.c: In function ‘arch_cpu_idle’:
arch/arc/kernel/process.c:51:26: error: ‘ARCV2_IRQ_DEF_PRIO’ undeclared (first use in this function)
    const int arg = 0x10 | ARCV2_IRQ_DEF_PRIO;
                                       ^

Thanks,
Guenter

> Thx,
> -Vineet
> ________________________________________
> From: Guenter Roeck [[email-masked]]
> Sent: Saturday, June 27, 2015 5:28 AM
> To: [email-masked]
> Cc: Vineet Gupta
> Subject: arc build failures in -next due to ARCv2 patch
>
> Hi,
>
> my arc test builds in -next now fail with
>
> cc1: error: unrecognized command line option "-mno-ll64"
> make[2]: *** [scripts/mod/empty.o] Error 1
> make[1]: *** [scripts/mod] Error 2
> make[1]: *** Waiting for unfinished jobs....
> cc1: error: unrecognized command line option "-mno-ll64"
> make[1]: *** [kernel/bounds.s] Error 1
>
> due to commit 'ARCv2: Support for ARCv2 ISA and HS38x cores'.
>
> This is with gcc 4.8.3 built from buildroot.
>
> Do I now need a new compiler / toolchain to build the kernel ?
> Any chance to make this change compatible to work with older
> compilers ?
>
> Thanks,
> Guenter
>