2018-04-16 06:27:29

by Guenter Roeck

[permalink] [raw]
Subject: nds32 build failures

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 ?

Guenter




2018-04-16 09:09:15

by Greentime Hu

[permalink] [raw]
Subject: Re: nds32 build failures

2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
> 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

2018-04-16 13:25:06

by Guenter Roeck

[permalink] [raw]
Subject: Re: nds32 build failures

On 04/16/2018 02:06 AM, Greentime Hu wrote:
> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
>> 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 ?

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



2018-04-16 14:01:13

by Guenter Roeck

[permalink] [raw]
Subject: Re: nds32 build failures

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 <[email protected]>:
>>> 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
>
>


2018-04-17 12:49:37

by Arnd Bergmann

[permalink] [raw]
Subject: Re: nds32 build failures

On Mon, Apr 16, 2018 at 11:06 AM, Greentime Hu <[email protected]> wrote:
> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
>
> 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

I've taken the gcc-6.3 sources from there, and updated them to gcc-6.4.0
in order to build a nds32le-linux toolchain based on the same version as
the other ones.

Unfortunately neither the usual binutils-2.29.1 nor your binutils worked
for me, but I eventually managed to get a build using the binutils-2.30
release.

With this, I could build a mainline kernel with a couple of warnings,
but an 'allmodconfig' build still failed.

Guenter, can you try my binary from
http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/6.4.0/x86_64-gcc-6.4.0-nolibc-nds32le-linux.tar.xz
?

If that works for you, I'll update the front-page and remove the nds32-elf
toolchains.

Greentime, do you have a patch set for gcc-7.3 as well, or are 6.3 and 8.0 the
only working compilers for nds32le-linux?

Arnd

2018-04-17 13:14:55

by Guenter Roeck

[permalink] [raw]
Subject: Re: nds32 build failures

On 04/17/2018 05:47 AM, Arnd Bergmann wrote:
> On Mon, Apr 16, 2018 at 11:06 AM, Greentime Hu <[email protected]> wrote:
>> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
>>
>> 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
> I've taken the gcc-6.3 sources from there, and updated them to gcc-6.4.0
> in order to build a nds32le-linux toolchain based on the same version as
> the other ones.
>
> Unfortunately neither the usual binutils-2.29.1 nor your binutils worked
> for me, but I eventually managed to get a build using the binutils-2.30
> release.
>
> With this, I could build a mainline kernel with a couple of warnings,
> but an 'allmodconfig' build still failed.
>
> Guenter, can you try my binary from
> http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/6.4.0/x86_64-gcc-6.4.0-nolibc-nds32le-linux.tar.xz
> ?
defconfig and allnoconfig are ok. allyesconfig results in a linker core dump,
unrecognized instruction warnings from the assembler, and various vdso
related build errors.

Guenter


2018-04-18 07:22:01

by Greentime Hu

[permalink] [raw]
Subject: Re: nds32 build failures

2018-04-17 20:47 GMT+08:00 Arnd Bergmann <[email protected]>:
> On Mon, Apr 16, 2018 at 11:06 AM, Greentime Hu <[email protected]> wrote:
>> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
>>
>> 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
>
> I've taken the gcc-6.3 sources from there, and updated them to gcc-6.4.0
> in order to build a nds32le-linux toolchain based on the same version as
> the other ones.
>
> Unfortunately neither the usual binutils-2.29.1 nor your binutils worked
> for me, but I eventually managed to get a build using the binutils-2.30
> release.
>
> With this, I could build a mainline kernel with a couple of warnings,
> but an 'allmodconfig' build still failed.
>
> Guenter, can you try my binary from
> http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/6.4.0/x86_64-gcc-6.4.0-nolibc-nds32le-linux.tar.xz
> ?
>
> If that works for you, I'll update the front-page and remove the nds32-elf
> toolchains.
>
> Greentime, do you have a patch set for gcc-7.3 as well, or are 6.3 and 8.0 the
> only working compilers for nds32le-linux?
>

Hi, all:

I just discuss with our toolchain colleagues. We have only gcc6.3 and
gcc8.0 for nds32le-linux.
I have the ld segmentation fault issue too when building kernel with
'allmodconfig'. We are dealing with it.

2018-05-11 02:40:47

by Arnd Bergmann

[permalink] [raw]
Subject: Re: nds32 build failures

On Wed, Apr 18, 2018 at 3:19 AM, Greentime Hu <[email protected]> wrote:
> 2018-04-17 20:47 GMT+08:00 Arnd Bergmann <[email protected]>:
>> On Mon, Apr 16, 2018 at 11:06 AM, Greentime Hu <[email protected]> wrote:
>>> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
>>>
>>> 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
>>
>> I've taken the gcc-6.3 sources from there, and updated them to gcc-6.4.0
>> in order to build a nds32le-linux toolchain based on the same version as
>> the other ones.
>>
>> Unfortunately neither the usual binutils-2.29.1 nor your binutils worked
>> for me, but I eventually managed to get a build using the binutils-2.30
>> release.
>>
>> With this, I could build a mainline kernel with a couple of warnings,
>> but an 'allmodconfig' build still failed.
>>
>> Guenter, can you try my binary from
>> http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/6.4.0/x86_64-gcc-6.4.0-nolibc-nds32le-linux.tar.xz
>> ?
>>
>> If that works for you, I'll update the front-page and remove the nds32-elf
>> toolchains.
>>
>> Greentime, do you have a patch set for gcc-7.3 as well, or are 6.3 and 8.0 the
>> only working compilers for nds32le-linux?
>>
>
> Hi, all:
>
> I just discuss with our toolchain colleagues. We have only gcc6.3 and
> gcc8.0 for nds32le-linux.
> I have the ld segmentation fault issue too when building kernel with
> 'allmodconfig'. We are dealing with it.

I've tried building the mainline gcc-8.1 sources for nds32le-linux and
still got a failure with those (building gcc), building a nds32le-elf gcc-8.1.0
worked fine, but that fails to build the vdso (no support for -fPIC), so
it's again unusable for building kernels. Any other ideas?

Arnd

2018-05-11 04:32:32

by Guenter Roeck

[permalink] [raw]
Subject: Re: nds32 build failures

On 05/10/2018 07:40 PM, Arnd Bergmann wrote:
> On Wed, Apr 18, 2018 at 3:19 AM, Greentime Hu <[email protected]> wrote:
>> 2018-04-17 20:47 GMT+08:00 Arnd Bergmann <[email protected]>:
>>> On Mon, Apr 16, 2018 at 11:06 AM, Greentime Hu <[email protected]> wrote:
>>>> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
>>>>
>>>> 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
>>> I've taken the gcc-6.3 sources from there, and updated them to gcc-6.4.0
>>> in order to build a nds32le-linux toolchain based on the same version as
>>> the other ones.
>>>
>>> Unfortunately neither the usual binutils-2.29.1 nor your binutils worked
>>> for me, but I eventually managed to get a build using the binutils-2.30
>>> release.
>>>
>>> With this, I could build a mainline kernel with a couple of warnings,
>>> but an 'allmodconfig' build still failed.
>>>
>>> Guenter, can you try my binary from
>>> http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/6.4.0/x86_64-gcc-6.4.0-nolibc-nds32le-linux.tar.xz
>>> ?
>>>
>>> If that works for you, I'll update the front-page and remove the nds32-elf
>>> toolchains.
>>>
>>> Greentime, do you have a patch set for gcc-7.3 as well, or are 6.3 and 8.0 the
>>> only working compilers for nds32le-linux?
>>>
>> Hi, all:
>>
>> I just discuss with our toolchain colleagues. We have only gcc6.3 and
>> gcc8.0 for nds32le-linux.
>> I have the ld segmentation fault issue too when building kernel with
>> 'allmodconfig'. We are dealing with it.
> I've tried building the mainline gcc-8.1 sources for nds32le-linux and
> still got a failure with those (building gcc), building a nds32le-elf gcc-8.1.0
> worked fine, but that fails to build the vdso (no support for -fPIC), so
> it's again unusable for building kernels. Any other ideas?
FWIW, nds32 in linux-next doesn't build for me at all, at least not with
nds32le-linux-gcc (GCC) 6.4.0 from kernel.org. I have not tried any
other versions.

Guenter


2018-05-11 05:17:51

by Kito Cheng

[permalink] [raw]
Subject: Re: nds32 build failures

Hi Arnd:

I am GCC guy from Andes, we've missed the release schedule for GCC 8,
we didn't upstream the Linux support on time.

Our plan is put our GCC 8 on github and continue commit rest patches
to upstream.
And we'll put our source on github after our internal testing done.

Thanks.

On Fri, May 11, 2018 at 10:40 AM, Arnd Bergmann <[email protected]> wrote:
> On Wed, Apr 18, 2018 at 3:19 AM, Greentime Hu <[email protected]> wrote:
>> 2018-04-17 20:47 GMT+08:00 Arnd Bergmann <[email protected]>:
>>> On Mon, Apr 16, 2018 at 11:06 AM, Greentime Hu <[email protected]> wrote:
>>>> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
>>>>
>>>> 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
>>>
>>> I've taken the gcc-6.3 sources from there, and updated them to gcc-6.4.0
>>> in order to build a nds32le-linux toolchain based on the same version as
>>> the other ones.
>>>
>>> Unfortunately neither the usual binutils-2.29.1 nor your binutils worked
>>> for me, but I eventually managed to get a build using the binutils-2.30
>>> release.
>>>
>>> With this, I could build a mainline kernel with a couple of warnings,
>>> but an 'allmodconfig' build still failed.
>>>
>>> Guenter, can you try my binary from
>>> http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/6.4.0/x86_64-gcc-6.4.0-nolibc-nds32le-linux.tar.xz
>>> ?
>>>
>>> If that works for you, I'll update the front-page and remove the nds32-elf
>>> toolchains.
>>>
>>> Greentime, do you have a patch set for gcc-7.3 as well, or are 6.3 and 8.0 the
>>> only working compilers for nds32le-linux?
>>>
>>
>> Hi, all:
>>
>> I just discuss with our toolchain colleagues. We have only gcc6.3 and
>> gcc8.0 for nds32le-linux.
>> I have the ld segmentation fault issue too when building kernel with
>> 'allmodconfig'. We are dealing with it.
>
> I've tried building the mainline gcc-8.1 sources for nds32le-linux and
> still got a failure with those (building gcc), building a nds32le-elf gcc-8.1.0
> worked fine, but that fails to build the vdso (no support for -fPIC), so
> it's again unusable for building kernels. Any other ideas?
>
> Arnd

2018-05-22 02:18:21

by Vincent Chen

[permalink] [raw]
Subject: Re: nds32 build failures

On Fri, May 11, 2018 at 01:17:05PM +0800, Kito Cheng wrote:
> Hi Arnd:
>
> I am GCC guy from Andes, we've missed the release schedule for GCC 8,
> we didn't upstream the Linux support on time.
>
> Our plan is put our GCC 8 on github and continue commit rest patches
> to upstream.
> And we'll put our source on github after our internal testing done.
>
> Thanks.
>
Dear Arnd:

The prebuilt nds32 toochain with gcc 8 is placed here
https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases

The source code of each component for this toolchain is placed here.
a. gcc:
path: https://github.com/andestech/gcc.git
branch: nds32-8.1.0-upstream
b. binutils
path: https://github.com/andestech/binutils.git
branch: nds32-binutils-2.30-branch-open
c. glibc
path: https://github.com/andestech/glibc.git
branch: nds32-glibc-2.27-v0
d. Linux
path: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
branch: master

This toolchain also can be manually generated by the following script
https://github.com/andestech/build_script/blob/master/build_toolchain.sh

We successfully generate a bootable kernel image with nds32 defconfig by this
toolchain. However, we find a new compiler warning, Wstringop-overflow, when
building arch/nds32/kernel/vdso.o. We have sent a patch to fix it.


Best regards
Vincent

> On Fri, May 11, 2018 at 10:40 AM, Arnd Bergmann <[email protected]> wrote:
> > On Wed, Apr 18, 2018 at 3:19 AM, Greentime Hu <[email protected]> wrote:
> >> 2018-04-17 20:47 GMT+08:00 Arnd Bergmann <[email protected]>:
> >>> On Mon, Apr 16, 2018 at 11:06 AM, Greentime Hu <[email protected]> wrote:
> >>>> 2018-04-16 11:58 GMT+08:00 Guenter Roeck <[email protected]>:
> >>>>
> >>>> 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
> >>>
> >>> I've taken the gcc-6.3 sources from there, and updated them to gcc-6.4.0
> >>> in order to build a nds32le-linux toolchain based on the same version as
> >>> the other ones.
> >>>
> >>> Unfortunately neither the usual binutils-2.29.1 nor your binutils worked
> >>> for me, but I eventually managed to get a build using the binutils-2.30
> >>> release.
> >>>
> >>> With this, I could build a mainline kernel with a couple of warnings,
> >>> but an 'allmodconfig' build still failed.
> >>>
> >>> Guenter, can you try my binary from
> >>> http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/6.4.0/x86_64-gcc-6.4.0-nolibc-nds32le-linux.tar.xz
> >>> ?
> >>>
> >>> If that works for you, I'll update the front-page and remove the nds32-elf
> >>> toolchains.
> >>>
> >>> Greentime, do you have a patch set for gcc-7.3 as well, or are 6.3 and 8.0 the
> >>> only working compilers for nds32le-linux?
> >>>
> >>
> >> Hi, all:
> >>
> >> I just discuss with our toolchain colleagues. We have only gcc6.3 and
> >> gcc8.0 for nds32le-linux.
> >> I have the ld segmentation fault issue too when building kernel with
> >> 'allmodconfig'. We are dealing with it.
> >
> > I've tried building the mainline gcc-8.1 sources for nds32le-linux and
> > still got a failure with those (building gcc), building a nds32le-elf gcc-8.1.0
> > worked fine, but that fails to build the vdso (no support for -fPIC), so
> > it's again unusable for building kernels. Any other ideas?
> >
> > Arnd

2018-05-22 10:40:17

by Arnd Bergmann

[permalink] [raw]
Subject: Re: nds32 build failures

On Tue, May 22, 2018 at 4:15 AM, Vincent Chen <[email protected]> wrote:
> On Fri, May 11, 2018 at 01:17:05PM +0800, Kito Cheng wrote:
>> Hi Arnd:
>>
>> I am GCC guy from Andes, we've missed the release schedule for GCC 8,
>> we didn't upstream the Linux support on time.
>>
>> Our plan is put our GCC 8 on github and continue commit rest patches
>> to upstream.
>> And we'll put our source on github after our internal testing done.
>>
>> Thanks.
>>
> Dear Arnd:
>
> The prebuilt nds32 toochain with gcc 8 is placed here
> https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases
>
> The source code of each component for this toolchain is placed here.
> a. gcc:
> path: https://github.com/andestech/gcc.git
> branch: nds32-8.1.0-upstream
> b. binutils
> path: https://github.com/andestech/binutils.git
> branch: nds32-binutils-2.30-branch-open
> c. glibc
> path: https://github.com/andestech/glibc.git
> branch: nds32-glibc-2.27-v0
> d. Linux
> path: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> branch: master
>
> This toolchain also can be manually generated by the following script
> https://github.com/andestech/build_script/blob/master/build_toolchain.sh
>
> We successfully generate a bootable kernel image with nds32 defconfig by this
> toolchain. However, we find a new compiler warning, Wstringop-overflow, when
> building arch/nds32/kernel/vdso.o. We have sent a patch to fix it.

Ok, very good! I'm back from my travels now and have built a new set
of cross-toolchains that I'm currently uploading to kernel.org, using
your sources for nds32 and the mainline binutils-2.30/gcc-8.1.0 sources
for everything else.

I still see a number of other warnings in architecture independent files,
but none that you need to be worried about. We should be able to get
back a clean build without warnings soon.

Arnd