From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from pegase1.c-s.fr (pegase1.c-s.fr [93.17.236.30]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 42887c4XYPzF0gL for ; Mon, 10 Sep 2018 23:30:50 +1000 (AEST) Subject: Re: Conflict between sparse and commit cafa0010cd51f ("Raise the minimum required gcc version to 4.6") To: Luc Van Oostenryck Cc: Nick Desaulniers , joe@perches.com, Kees Cook , LKML , linux-sparse@vger.kernel.org, sparse@chrisli.org, linuxppc-dev@lists.ozlabs.org References: <81a5fd11-366c-0897-4143-d8d041420a41@c-s.fr> <1324e7d6-83f8-f40f-ad34-c46e4ad3139b@c-s.fr> <20180907181337.peyfq7yvhahduvmq@ltop.local> <20180910092835.v5nex5nzfgtl475m@ltop.local> <061b3056-1a9a-af6b-de2a-49fea394320d@c-s.fr> <20180910113448.dxnfvznyimtj3tkv@ltop.local> From: Christophe Leroy Message-ID: <9409138a-dc14-2b12-edc0-cfa0b471da6e@c-s.fr> Date: Mon, 10 Sep 2018 13:19:07 +0000 MIME-Version: 1.0 In-Reply-To: <20180910113448.dxnfvznyimtj3tkv@ltop.local> Content-Type: text/plain; charset=utf-8; format=flowed List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 09/10/2018 11:34 AM, Luc Van Oostenryck wrote: > On Mon, Sep 10, 2018 at 09:56:33AM +0000, Christophe Leroy wrote: >> >> # export REAL_CC=ppc-linux-gcc >> # make CHECK="cgcc -target=ppc -D_CALL_ELF=2 -D__GCC__=5 >> -D__GCC_MINOR__=4" C=2 arch/powerpc/kernel/process.o >> scripts/kconfig/conf --syncconfig Kconfig >> # >> # configuration written to .config >> # >> UPD include/config/kernel.release >> UPD include/generated/utsrelease.h >> CC kernel/bounds.s >> CC arch/powerpc/kernel/asm-offsets.s >> CALL scripts/checksyscalls.sh >> CHECK scripts/mod/empty.c >> Can't exec "/bin/sh": Argument list too long at /usr/local/bin/cgcc line 86. >> make[2]: *** [scripts/mod/empty.o] Error 1 >> make[1]: *** [scripts/mod] Error 2 >> make: *** [scripts] Error 2 > > OK. Clearly nobody has ever used it so :( > There is an infinite loop because cgcc use the env var CHECK > to call sparse while kbuild use CHECK to call cgcc here. > > The following seems to work here. > $ export REAL_CC=ppc-linux-gcc > $ make CHECK="CHECK=sparse cgcc -target=ppc ... Not yet ... [root@pc16082vm linux-powerpc]# export REAL_CC=ppc-linux-gcc [root@pc16082vm linux-powerpc]# make CHECK="CHECK=sparse cgcc -target=ppc -D_CALL_ELF=2 -D__GNUC__=5 -D__GNUC_MINOR__=4" C=2 arch/powerpc/kernel/process.o CALL scripts/checksyscalls.sh CHECK scripts/mod/empty.c :0:0: warning: "__STDC__" redefined : note: this is the location of the previous definition /opt/cldk-1.4.0/lib/gcc/ppc-linux/5.4.0/../../../../ppc-linux/lib/crt1.o:(.rodata+0x4): undefined reference to `main' collect2: error: ld returned 1 exit status make[2]: *** [scripts/mod/empty.o] Error 1 make[1]: *** [scripts/mod] Error 2 make: *** [scripts] Error 2 Christophe > > It's a bit kludgy, I admit. > > -- Luc >