diff mbox

[1/1] Autobuilder: add powerpc64 and powerpc64le

Message ID 955cacaf56560ef6d27555e5e969a576187daba3.1477975719.git.sam.bobroff@au1.ibm.com
State Changes Requested
Headers show

Commit Message

Sam Bobroff Nov. 1, 2016, 4:53 a.m. UTC
Add autobuilder configuration for powerpc64le, with a Power8 CPU.
Add autobuilder configuration for powerpc64 (big endian), with a
generic PowerPC CPU.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
---
Hello Buildroot,

Here are autobuilder configurations for powerpc64le and powerpc64
(big endian).

The powerpc64le configuration is set up for Power8 CPUs, because
that's where little endian support starts.

The powerpc64 configuration is set up for a generic PowerPC CPU, as
that makes it as widely usable as possible but Power7 would be another
reasonable choice.

I tried to follow the same style as the other configurations but I
should point out that:
* I did not prefix the name with "br-". I'm not sure what it means.
* For the actual configuration (.config files) I cut and trimmed the
  "Target options" section of a working Buildroot configuration.
* I haven't inlcuded a pre-built tool chain. I'd like to have one
  but I assume it can be set up separately.
* I wasn't sure if I needed to put anything in the commit message so
  it's pretty bare.

I've run the autobuilder locally on my configurations and it seems to
work (I produced some successful builds), although I did hack the
autobuilder script a bit so that it would use the local configuration.

Anyway, I hope this is pretty close :-)

Cheers,
Sam.

 web/toolchains/configs/powerpc64.config          | 6 ++++++
 web/toolchains/configs/powerpc64le-power8.config | 5 +++++
 web/toolchains/configs/toolchain-configs.csv     | 2 ++
 3 files changed, 13 insertions(+)
 create mode 100644 web/toolchains/configs/powerpc64.config
 create mode 100644 web/toolchains/configs/powerpc64le-power8.config

Comments

Thomas Petazzoni Nov. 1, 2016, 2:48 p.m. UTC | #1
Hello,

On Tue,  1 Nov 2016 15:53:04 +1100, Sam Bobroff wrote:
> Add autobuilder configuration for powerpc64le, with a Power8 CPU.
> Add autobuilder configuration for powerpc64 (big endian), with a
> generic PowerPC CPU.
> 
> Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>

Thanks for this initial proposal. I'm replying to some of your
questions, and asking some more below.

> The powerpc64le configuration is set up for Power8 CPUs, because
> that's where little endian support starts.
> 
> The powerpc64 configuration is set up for a generic PowerPC CPU, as
> that makes it as widely usable as possible but Power7 would be another
> reasonable choice.

Using a "reasonable" choice is probably better, i.e if you think Power7
is kind of the usually minimal machine to run PowerPC64 stuff, then the
powerpc64 config should be using power7 IMO.

> 
> I tried to follow the same style as the other configurations but I
> should point out that:
> * I did not prefix the name with "br-". I'm not sure what it means.

It means "toolchain built by Buildroot", which is your case here. This
is opposed to "Linaro toolchain", "Sourcery toolchain", etc.

> * For the actual configuration (.config files) I cut and trimmed the
>   "Target options" section of a working Buildroot configuration.

You should have used "make savedefconfig", which produces a file named
defconfig that is automatically trimmed down.

> * I haven't inlcuded a pre-built tool chain. I'd like to have one
>   but I assume it can be set up separately.

That's the point I wanted to discuss. I think I'd prefer to have
pre-built toolchains. Pre-built toolchains mean that people can much
more quickly reproduce build failures, as they can re-use the
pre-existing toolchain and just build the failing package. It *saves* a
lot of time. Also, using pre-built toolchains means that our
autobuilders CPU time is more dedicated into building packages than
building the toolchain.

The only drawback of pre-built toolchains is that they are not
automatically rebuilt when the toolchains components are
updated/patches. But I very regularly trigger a rebuild of the
pre-built toolchains, at least whenever I see some gcc/binutils/libc
changes, or when one of the person interested in a specific
architecture/toolchain asks me to do so.

So I think I'll just add a powerpc64/power7 pre-built toolchain and a
powerpc64le/power8 pre-built toolchain, if that's OK with you.

Thanks!

Thomas
Thomas Petazzoni Nov. 1, 2016, 8:32 p.m. UTC | #2
Hello,

On Tue, 1 Nov 2016 15:48:27 +0100, Thomas Petazzoni wrote:
> > * I haven't inlcuded a pre-built tool chain. I'd like to have one
> >   but I assume it can be set up separately.  
> 
> That's the point I wanted to discuss. I think I'd prefer to have
> pre-built toolchains. Pre-built toolchains mean that people can much
> more quickly reproduce build failures, as they can re-use the
> pre-existing toolchain and just build the failing package. It *saves* a
> lot of time. Also, using pre-built toolchains means that our
> autobuilders CPU time is more dedicated into building packages than
> building the toolchain.
> 
> The only drawback of pre-built toolchains is that they are not
> automatically rebuilt when the toolchains components are
> updated/patches. But I very regularly trigger a rebuild of the
> pre-built toolchains, at least whenever I see some gcc/binutils/libc
> changes, or when one of the person interested in a specific
> architecture/toolchain asks me to do so.
> 
> So I think I'll just add a powerpc64/power7 pre-built toolchain and a
> powerpc64le/power8 pre-built toolchain, if that's OK with you.

I just added those toolchains in the autobuilder infrastructure:

  https://git.buildroot.org/buildroot-test/commit/

So you should see the first build results for powerpc64(le) appear on
http://autobuild.buildroot.org within the next few hours.

I've also added you in the DEVELOPERS file as a developer for the
PowerPC architecture (which includes powerpc64/powerpc64le):

  https://git.buildroot.org/buildroot/commit/?id=adec13992ce2ee333353bac71faef18ea22f7974

This way starting tomorrow morning, you will receive every day a
summary of the build failures that took place on powerpc.

Thanks!

Thomas
Sam Bobroff Nov. 2, 2016, 12:20 a.m. UTC | #3
On Tue, Nov 01, 2016 at 03:48:27PM +0100, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue,  1 Nov 2016 15:53:04 +1100, Sam Bobroff wrote:
> > Add autobuilder configuration for powerpc64le, with a Power8 CPU.
> > Add autobuilder configuration for powerpc64 (big endian), with a
> > generic PowerPC CPU.
> > 
> > Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
> 
> Thanks for this initial proposal. I'm replying to some of your
> questions, and asking some more below.
> 
> > The powerpc64le configuration is set up for Power8 CPUs, because
> > that's where little endian support starts.
> > 
> > The powerpc64 configuration is set up for a generic PowerPC CPU, as
> > that makes it as widely usable as possible but Power7 would be another
> > reasonable choice.
> 
> Using a "reasonable" choice is probably better, i.e if you think Power7
> is kind of the usually minimal machine to run PowerPC64 stuff, then the
> powerpc64 config should be using power7 IMO.

That's fine. Let's make it Power7.

> > I tried to follow the same style as the other configurations but I
> > should point out that:
> > * I did not prefix the name with "br-". I'm not sure what it means.
> 
> It means "toolchain built by Buildroot", which is your case here. This
> is opposed to "Linaro toolchain", "Sourcery toolchain", etc.

Thanks.

> > * For the actual configuration (.config files) I cut and trimmed the
> >   "Target options" section of a working Buildroot configuration.
> 
> You should have used "make savedefconfig", which produces a file named
> defconfig that is automatically trimmed down.

Ah, of course :-)

> > * I haven't inlcuded a pre-built tool chain. I'd like to have one
> >   but I assume it can be set up separately.
> 
> That's the point I wanted to discuss. I think I'd prefer to have
> pre-built toolchains. Pre-built toolchains mean that people can much
> more quickly reproduce build failures, as they can re-use the
> pre-existing toolchain and just build the failing package. It *saves* a
> lot of time. Also, using pre-built toolchains means that our
> autobuilders CPU time is more dedicated into building packages than
> building the toolchain.
> 
> The only drawback of pre-built toolchains is that they are not
> automatically rebuilt when the toolchains components are
> updated/patches. But I very regularly trigger a rebuild of the
> pre-built toolchains, at least whenever I see some gcc/binutils/libc
> changes, or when one of the person interested in a specific
> architecture/toolchain asks me to do so.
> 
> So I think I'll just add a powerpc64/power7 pre-built toolchain and a
> powerpc64le/power8 pre-built toolchain, if that's OK with you.

It is, thanks very much! :-)

Cheers,
Sam.
Sam Bobroff Nov. 2, 2016, 12:21 a.m. UTC | #4
On Tue, Nov 01, 2016 at 09:32:57PM +0100, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue, 1 Nov 2016 15:48:27 +0100, Thomas Petazzoni wrote:
> > > * I haven't inlcuded a pre-built tool chain. I'd like to have one
> > >   but I assume it can be set up separately.  
> > 
> > That's the point I wanted to discuss. I think I'd prefer to have
> > pre-built toolchains. Pre-built toolchains mean that people can much
> > more quickly reproduce build failures, as they can re-use the
> > pre-existing toolchain and just build the failing package. It *saves* a
> > lot of time. Also, using pre-built toolchains means that our
> > autobuilders CPU time is more dedicated into building packages than
> > building the toolchain.
> > 
> > The only drawback of pre-built toolchains is that they are not
> > automatically rebuilt when the toolchains components are
> > updated/patches. But I very regularly trigger a rebuild of the
> > pre-built toolchains, at least whenever I see some gcc/binutils/libc
> > changes, or when one of the person interested in a specific
> > architecture/toolchain asks me to do so.
> > 
> > So I think I'll just add a powerpc64/power7 pre-built toolchain and a
> > powerpc64le/power8 pre-built toolchain, if that's OK with you.
> 
> I just added those toolchains in the autobuilder infrastructure:
> 
>   https://git.buildroot.org/buildroot-test/commit/
> 
> So you should see the first build results for powerpc64(le) appear on
> http://autobuild.buildroot.org within the next few hours.
> 
> I've also added you in the DEVELOPERS file as a developer for the
> PowerPC architecture (which includes powerpc64/powerpc64le):
> 
>   https://git.buildroot.org/buildroot/commit/?id=adec13992ce2ee333353bac71faef18ea22f7974
> 
> This way starting tomorrow morning, you will receive every day a
> summary of the build failures that took place on powerpc.

Excellent, I, uh, look forward to build failures ;-)

Cheers,
Sam.
diff mbox

Patch

diff --git a/web/toolchains/configs/powerpc64.config b/web/toolchains/configs/powerpc64.config
new file mode 100644
index 0000000..13986b1
--- /dev/null
+++ b/web/toolchains/configs/powerpc64.config
@@ -0,0 +1,6 @@ 
+BR2_ARCH_IS_64=y
+BR2_powerpc64=y
+BR2_ARCH="powerpc64"
+BR2_ENDIAN="BIG"
+BR2_generic_powerpc=y
+BR2_powerpc_CLASSIC=y
diff --git a/web/toolchains/configs/powerpc64le-power8.config b/web/toolchains/configs/powerpc64le-power8.config
new file mode 100644
index 0000000..d35c579
--- /dev/null
+++ b/web/toolchains/configs/powerpc64le-power8.config
@@ -0,0 +1,5 @@ 
+BR2_ARCH_IS_64=y
+BR2_powerpc64le=y
+BR2_ARCH="powerpc64le"
+BR2_ENDIAN="LITTLE"
+BR2_powerpc_power8=y
diff --git a/web/toolchains/configs/toolchain-configs.csv b/web/toolchains/configs/toolchain-configs.csv
index 0bb0741..2389743 100644
--- a/web/toolchains/configs/toolchain-configs.csv
+++ b/web/toolchains/configs/toolchain-configs.csv
@@ -40,6 +40,8 @@  http://autobuild.buildroot.org/toolchains/configs/linaro-aarch64.config,x86,glib
 http://autobuild.buildroot.org/toolchains/configs/linaro-arm.config,x86,glibc
 http://autobuild.buildroot.org/toolchains/configs/mips64el-ctng_n32-linux-gnu.config,x86,glibc
 http://autobuild.buildroot.org/toolchains/configs/mips64el-ctng_n64-linux-gnu.config,x86,glibc
+http://autobuild.buildroot.org/toolchains/configs/powerpc64.config,x86_64,glibc
+http://autobuild.buildroot.org/toolchains/configs/powerpc64le-power8.config,x86_64,glibc
 http://autobuild.buildroot.org/toolchains/configs/powerpc-ctng_e500v2-linux-gnuspe.config,x86,glibc
 http://autobuild.buildroot.org/toolchains/configs/sourcery-arm-armv4t.config,x86,glibc
 http://autobuild.buildroot.org/toolchains/configs/sourcery-arm.config,x86,glibc