On Saturday 27 June 2015 07:46 PM, Guenter Roeck wrote: > 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. Now trying personal email - hopefully this comes out ok. >> 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. The compiler itself can support both - however issue is multilib'ing / libgcc. The elf32 compiler is multilib'ed - but we've been using the uclibc compiler (with just the right toggles) to build the kernel as well (to avoid having to use 2 toolchains for kernel / user etc). long story short - ATM, we need 2 different compilers to build legacy ARCompact, and newer ARCv2. >> 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) OK - we can do a future sweep of makefile to change other such ifdefs. For now please use a simpler fix. > > > Your patch uses ${} instead of $() - does the make command accept/understand that ? /me slaps myself - I mindlessly applied an existing broken pattern to fix this. That is now fixed as well 2 other makefile constructs which were broken in similar way. > >> 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; > Yep, sorry for lousy work, there are bits n pieces moved from our internal 3.18 to 4.1-X for upstreaming - hence the wreckage of transition. Fixed that and 2 commits pushed after verifying both configs build and boot on simulator. Thx, -Vineet ^ > > Thanks, > Guenter > >> Thx, >> -Vineet >> ________________________________________ >> From: Guenter Roeck [private@xxxxxxxxxxxx] >> Sent: Saturday, June 27, 2015 5:28 AM >> To: linux-next@xxxxxxxxxxxxxxx >> 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 >> > -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html