Re: nds32 build failures

From: Guenter Roeck
Date: Mon Apr 16 2018 - 09:59:50 EST


On 04/16/2018 06:22 AM, Guenter Roeck wrote:
On 04/16/2018 02:06 AM, Greentime Hu wrote:
2018-04-16 11:58 GMT+08:00 Guenter Roeck <private@xxxxxxxxxxxx>:
I thought I should give the brand new architecture a try. Unfortunately,
that was not very successful.

Build reference: v4.17-rc1
gcc version: nds32le-elf-gcc (GCC) 7.3.0

Building nds32:defconfig ... failed

arch/nds32/include/asm/nds32.h: In function 'GIE_ENABLE':
arch/nds32/include/asm/nds32.h:25:2: error: implicit declaration of function
'__nds32__gie_en'; did you mean '__nds32__'?

arch/nds32/include/asm/nds32.h: In function 'CACHE_SET':
arch/nds32/include/asm/nds32.h:38:18: error: implicit declaration of
function '__nds32__mfsr'; did you mean '__nds32__'?

arch/nds32/include/asm/nds32.h:38:32: error: 'NDS32_SR_ICM_CFG' undeclared

arch/nds32/include/asm/nds32.h:41:32: error: 'NDS32_SR_DCM_CFG'

Am I missing something ?

Hi, Guenter:

This built failure is because the toolchain version you used is not
supported the latest intrinsic function/macro.
We are sending the latest patchset now and we expect the whole new
features will be supported in gcc8.0.0 and binutil2.31+.

If you'd like to get these new features of toolchain, you may use the
github version.
This is the built-script repo. https://github.com/andestech/build_script.git

Hmm. How comes that the defines are not there ? Also, is nds32_intrinsic.h supposed to be auto-generated ?

Answering my own question. This file is part of gcc. Presumably, the missing defines
are declared in that file ?
Interesting, I always thought that the Linux kernel is supposed not to include compiler
include files, to avoid issues such as license poisoning. One lives and learns.

Guenter

The toolchain as provided isn't usable for me since it is not position independent.

Arnd, it might make sense to drop the nds32 toolchain from kernel.org; its presence is at best misleading.

Guenter