[v3,3/3] upport/config-fragments/autobuild: test the Andes nds32 toolchain
diff mbox series

Message ID 20190307021125.8530-4-nylon7@andestech.com
State Changes Requested
Headers show
Series
  • Add prebuilt nds32 toolchain, ae3xx board and autobuild configs support
Related show

Commit Message

Nylon Chen March 7, 2019, 2:11 a.m. UTC
Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
---
 support/config-fragments/autobuild/br-andes-nds32.config | 9 +++++++++
 support/config-fragments/autobuild/toolchain-configs.csv | 1 +
 2 files changed, 10 insertions(+)
 create mode 100644 support/config-fragments/autobuild/br-andes-nds32.config

Comments

Yann E. MORIN March 14, 2019, 10:42 p.m. UTC | #1
Nylon, All,

On 2019-03-07 10:11 +0800, Nylon Chen spake thusly:
> Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
> Signed-off-by: Greentime Hu <greentime@andestech.com>
> Signed-off-by: Nylon Chen <nylon7@andestech.com>
> ---
>  support/config-fragments/autobuild/br-andes-nds32.config | 9 +++++++++
>  support/config-fragments/autobuild/toolchain-configs.csv | 1 +
>  2 files changed, 10 insertions(+)
>  create mode 100644 support/config-fragments/autobuild/br-andes-nds32.config
> 
> diff --git a/support/config-fragments/autobuild/br-andes-nds32.config b/support/config-fragments/autobuild/br-andes-nds32.config
> new file mode 100644
> index 0000000000..cd093a20f9
> --- /dev/null
> +++ b/support/config-fragments/autobuild/br-andes-nds32.config
> @@ -0,0 +1,9 @@
> +BR2_nds32=y
> +BR2_TOOLCHAIN_EXTERNAL=y
> +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"

I was going to add my reviewd-by tag, but then I notice that this
repository does not seem to be affilated with AndesTech, but it
looks like a "random" guy dropped a bunch of stuff.

Yet, there are release notes to explain how to reproduce the toolchain:

    https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases

    1. The source code of each component for this toolchain are located at
    the following path.
    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

    2. User can manually generate this toolchain though build-toochain.sh
    in following git repo.
    https://github.com/andestech/build_script.git

    3. The git commit ID of each component in Andes internel git tree.
    binutils-2.30 : ee457e8114f09c1b4df7c834ad58b02c9f43c139
    gcc-8.1.0: 260e4b4bbb7f32b483482573c92c8caacf5c17ab
    linux-v4.17-rc3: 6da6c0db5316275015e8cc2959f12a17584aeb64
    glibc-2.27: e9f2165793aaf2f033a6cebff389ebbba5d799bd

The instructions in 2. do not seem to deconected from what we do. There
is this one weird trick about build ing libgcc, but maybe it can be
coaxed into working to build with the Buildroot internal toolchain?

Apart from the weird location of the toolchain:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> +BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
> +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17=y
> +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
> +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="nds32le-linux"
> diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
> index 3681bc519f..7a3b91df27 100644
> --- a/support/config-fragments/autobuild/toolchain-configs.csv
> +++ b/support/config-fragments/autobuild/toolchain-configs.csv
> @@ -25,6 +25,7 @@ support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config,x86
>  support/config-fragments/autobuild/arm-aarch64.config,x86_64
>  support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config,x86
>  support/config-fragments/autobuild/br-aarch64-glibc.config,x86_64
> +support/config-fragments/autobuild/br-andes-nds32.config,x86
>  support/config-fragments/autobuild/br-arc-full-internal.config,any
>  support/config-fragments/autobuild/br-arc-internal-glibc.config,any
>  support/config-fragments/autobuild/br-arcle-hs38.config,x86_64
> -- 
> 2.18.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Nylon Chen March 21, 2019, 2:51 a.m. UTC | #2
Yann, All,

Again, Thank you for your comment.
On Fri, Mar 15, 2019 at 06:42:50AM +0800, Yann E. MORIN wrote:
> Nylon, All,
> 
> On 2019-03-07 10:11 +0800, Nylon Chen spake thusly:
> > Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
> > Signed-off-by: Greentime Hu <greentime@andestech.com>
> > Signed-off-by: Nylon Chen <nylon7@andestech.com>
> > ---
> >  support/config-fragments/autobuild/br-andes-nds32.config | 9 +++++++++
> >  support/config-fragments/autobuild/toolchain-configs.csv | 1 +
> >  2 files changed, 10 insertions(+)
> >  create mode 100644 support/config-fragments/autobuild/br-andes-nds32.config
> > 
> > diff --git a/support/config-fragments/autobuild/br-andes-nds32.config b/support/config-fragments/autobuild/br-andes-nds32.config
> > new file mode 100644
> > index 0000000000..cd093a20f9
> > --- /dev/null
> > +++ b/support/config-fragments/autobuild/br-andes-nds32.config
> > @@ -0,0 +1,9 @@
> > +BR2_nds32=y
> > +BR2_TOOLCHAIN_EXTERNAL=y
> > +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> > +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> > +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"
I think I misunderstood the meaning of Thomas Petazzo.

I thought that as long as the pre-build remote toolcahin is given.(So I used our own pre-build remote toolchain)

It may take a few more days, we will contribute glibc back to upstream, and then we can compile it internally using buildroot.

So in the next version(v4), I will remove this patch first.
> 
> I was going to add my reviewd-by tag, but then I notice that this
> repository does not seem to be affilated with AndesTech, but it
> looks like a "random" guy dropped a bunch of stuff.
> 
> Yet, there are release notes to explain how to reproduce the toolchain:
> 
>     https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases
> 
>     1. The source code of each component for this toolchain are located at
>     the following path.
>     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
> 
>     2. User can manually generate this toolchain though build-toochain.sh
>     in following git repo.
>     https://github.com/andestech/build_script.git
> 
>     3. The git commit ID of each component in Andes internel git tree.
>     binutils-2.30 : ee457e8114f09c1b4df7c834ad58b02c9f43c139
>     gcc-8.1.0: 260e4b4bbb7f32b483482573c92c8caacf5c17ab
>     linux-v4.17-rc3: 6da6c0db5316275015e8cc2959f12a17584aeb64
>     glibc-2.27: e9f2165793aaf2f033a6cebff389ebbba5d799bd
> 
> The instructions in 2. do not seem to deconected from what we do. There
> is this one weird trick about build ing libgcc, but maybe it can be
> coaxed into working to build with the Buildroot internal toolchain?
> 
> Apart from the weird location of the toolchain:
> 
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> Regards,
> Yann E. MORIN.
> 
> > +BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
> > +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17=y
> > +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
> > +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="nds32le-linux"
> > diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
> > index 3681bc519f..7a3b91df27 100644
> > --- a/support/config-fragments/autobuild/toolchain-configs.csv
> > +++ b/support/config-fragments/autobuild/toolchain-configs.csv
> > @@ -25,6 +25,7 @@ support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config,x86
> >  support/config-fragments/autobuild/arm-aarch64.config,x86_64
> >  support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config,x86
> >  support/config-fragments/autobuild/br-aarch64-glibc.config,x86_64
> > +support/config-fragments/autobuild/br-andes-nds32.config,x86
> >  support/config-fragments/autobuild/br-arc-full-internal.config,any
> >  support/config-fragments/autobuild/br-arc-internal-glibc.config,any
> >  support/config-fragments/autobuild/br-arcle-hs38.config,x86_64
> > -- 
> > 2.18.0
> > 
> > _______________________________________________
> > buildroot mailing list
> > buildroot@busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
Thomas Petazzoni March 21, 2019, 7:51 a.m. UTC | #3
Hello Nylon,

On Thu, 21 Mar 2019 10:51:03 +0800
Nylon Chen <nylon7@andestech.com> wrote:

> > > diff --git a/support/config-fragments/autobuild/br-andes-nds32.config b/support/config-fragments/autobuild/br-andes-nds32.config
> > > new file mode 100644
> > > index 0000000000..cd093a20f9
> > > --- /dev/null
> > > +++ b/support/config-fragments/autobuild/br-andes-nds32.config
> > > @@ -0,0 +1,9 @@
> > > +BR2_nds32=y
> > > +BR2_TOOLCHAIN_EXTERNAL=y
> > > +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> > > +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> > > +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"  
> I think I misunderstood the meaning of Thomas Petazzo.
> 
> I thought that as long as the pre-build remote toolcahin is given.(So I used our own pre-build remote toolchain)
> 
> It may take a few more days, we will contribute glibc back to upstream, and then we can compile it internally using buildroot.

It is perfectly fine to use a pre-built toolchain, I think what Yann
explained is that since the source code of gcc/binutils/glibc/linux is
available, it makes sense to *also* support building the toolchain with
Buildroot.

Also, it is not mandatory for the glibc support to be in upstream
glibc. We support architectures for which the gcc, binutils or libc
support is not yet fully upstreamed. For example, for RISC-V 32-bit,
we're using a non-upstream glibc.

Best regards,

Thomas
Yann E. MORIN March 21, 2019, 11:12 a.m. UTC | #4
Nylon, Thomas, All,

On 2019-03-21 08:51 +0100, Thomas Petazzoni spake thusly:
> On Thu, 21 Mar 2019 10:51:03 +0800
> Nylon Chen <nylon7@andestech.com> wrote:
> 
> > > > diff --git a/support/config-fragments/autobuild/br-andes-nds32.config b/support/config-fragments/autobuild/br-andes-nds32.config
> > > > new file mode 100644
> > > > index 0000000000..cd093a20f9
> > > > --- /dev/null
> > > > +++ b/support/config-fragments/autobuild/br-andes-nds32.config
> > > > @@ -0,0 +1,9 @@
> > > > +BR2_nds32=y
> > > > +BR2_TOOLCHAIN_EXTERNAL=y
> > > > +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> > > > +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> > > > +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"  
> > I think I misunderstood the meaning of Thomas Petazzo.
> > 
> > I thought that as long as the pre-build remote toolcahin is given.(So I used our own pre-build remote toolchain)
> > 
> > It may take a few more days, we will contribute glibc back to upstream, and then we can compile it internally using buildroot.
> 
> It is perfectly fine to use a pre-built toolchain, I think what Yann
> explained is that since the source code of gcc/binutils/glibc/linux is
> available, it makes sense to *also* support building the toolchain with
> Buildroot.

Exactly, yes.

But that can come later, in a followup series.

Regards,
Yann E. MORIN.

> Also, it is not mandatory for the glibc support to be in upstream
> glibc. We support architectures for which the gcc, binutils or libc
> support is not yet fully upstreamed. For example, for RISC-V 32-bit,
> we're using a non-upstream glibc.
> 
> Best regards,
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Nylon Chen March 22, 2019, 8:45 a.m. UTC | #5
Yann, Thomas, All,

On Thu, Mar 21, 2019 at 12:12:10PM +0100, Yann E. MORIN wrote:
> Nylon, Thomas, All,
> 
> On 2019-03-21 08:51 +0100, Thomas Petazzoni spake thusly:
> > On Thu, 21 Mar 2019 10:51:03 +0800
> > Nylon Chen <nylon7@andestech.com> wrote:
> > 
> > > > > diff --git a/support/config-fragments/autobuild/br-andes-nds32.config b/support/config-fragments/autobuild/br-andes-nds32.config
> > > > > new file mode 100644
> > > > > index 0000000000..cd093a20f9
> > > > > --- /dev/null
> > > > > +++ b/support/config-fragments/autobuild/br-andes-nds32.config
> > > > > @@ -0,0 +1,9 @@
> > > > > +BR2_nds32=y
> > > > > +BR2_TOOLCHAIN_EXTERNAL=y
> > > > > +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> > > > > +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> > > > > +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"  
> > > I think I misunderstood the meaning of Thomas Petazzo.
> > > 
> > > I thought that as long as the pre-build remote toolcahin is given.(So I used our own pre-build remote toolchain)
> > > 
> > > It may take a few more days, we will contribute glibc back to upstream, and then we can compile it internally using buildroot.
> > 
> > It is perfectly fine to use a pre-built toolchain, I think what Yann
> > explained is that since the source code of gcc/binutils/glibc/linux is
> > available, it makes sense to *also* support building the toolchain with
> > Buildroot.
> 
> Exactly, yes.
> 
> But that can come later, in a followup series.
> 
> Regards,
> Yann E. MORIN.
>
In order to get rid of rework.

I prefer to send glibc to upstream and then come to this patch.
> > Also, it is not mandatory for the glibc support to be in upstream
> > glibc. We support architectures for which the gcc, binutils or libc
> > support is not yet fully upstreamed. For example, for RISC-V 32-bit,
> > we're using a non-upstream glibc.
> > 
> > Best regards,
> > 
> > Thomas
> > -- 
> > Thomas Petazzoni, CTO, Bootlin
> > Embedded Linux and Kernel engineering
> > https://bootlin.com
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Patch
diff mbox series

diff --git a/support/config-fragments/autobuild/br-andes-nds32.config b/support/config-fragments/autobuild/br-andes-nds32.config
new file mode 100644
index 0000000000..cd093a20f9
--- /dev/null
+++ b/support/config-fragments/autobuild/br-andes-nds32.config
@@ -0,0 +1,9 @@ 
+BR2_nds32=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"
+BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="nds32le-linux"
diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
index 3681bc519f..7a3b91df27 100644
--- a/support/config-fragments/autobuild/toolchain-configs.csv
+++ b/support/config-fragments/autobuild/toolchain-configs.csv
@@ -25,6 +25,7 @@  support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config,x86
 support/config-fragments/autobuild/arm-aarch64.config,x86_64
 support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config,x86
 support/config-fragments/autobuild/br-aarch64-glibc.config,x86_64
+support/config-fragments/autobuild/br-andes-nds32.config,x86
 support/config-fragments/autobuild/br-arc-full-internal.config,any
 support/config-fragments/autobuild/br-arc-internal-glibc.config,any
 support/config-fragments/autobuild/br-arcle-hs38.config,x86_64