[U-Boot] [PATCHv2 2/3] buildman: support newer gcc versions from kernel.org

Tom Rini trini at konsulko.com
Thu May 10 11:51:34 UTC 2018


On Wed, May 09, 2018 at 06:35:13PM -0400, Tom Rini wrote:
> On Wed, May 09, 2018 at 07:16:34AM -0400, Tom Rini wrote:
> > On Wed, May 09, 2018 at 12:27:38PM +0200, Daniel Schwierzeck wrote:
> > > 
> > > 
> > > On 08.05.2018 02:50, Tom Rini wrote:
> > > > From: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
> > > > 
> > > > Add support for gcc versions 7.3.0, 6.4.0 and 4.9.4.
> > > > 
> > > > Also use a regex for matching the tarball names. Some gcc versions
> > > > use '-ARCH-' instead of '_ARCH-'.
> > > > 
> > > > As part of this, we switch TravisCI to also using these toolchains for
> > > > all platforms.
> > > > 
> > > > Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
> > > > Signed-off-by: Tom Rini <trini at konsulko.com>
> > > > ---
> > > > Changes in v2:
> > > > - Change to only 7.3.0 / 6.4.0 / 4.9.4 for gcc versions.  Update
> > > >   .travis.yml for x86_64 toolchain and fetch all toolchains.
> > > > - Fold in the old patch I had to expand and update SH builds as we
> > > >   cannot build without those changes.
> > > > ---
> > > >  .travis.yml                 | 38 ++++++++++++++++++++++++++------------
> > > >  tools/buildman/toolchain.py |  6 +++---
> > > >  2 files changed, 29 insertions(+), 15 deletions(-)
> > > > 
> > > > diff --git a/.travis.yml b/.travis.yml
> > > > index 57f38e11698b..b07ce9b8ceb4 100644
> > > > --- a/.travis.yml
> > > > +++ b/.travis.yml
> > > > @@ -21,7 +21,6 @@ addons:
> > > >      - python-virtualenv
> > > >      - swig
> > > >      - libpython-dev
> > > > -    - gcc-powerpc-linux-gnu
> > > >      - iasl
> > > >      - grub-efi-ia32-bin
> > > >      - rpm2cpio
> > > > @@ -29,6 +28,11 @@ addons:
> > > >      - device-tree-compiler
> > > >      - lzop
> > > >  
> > > > +before_install:
> > > > + - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
> > > > + - sudo apt-get update -q
> > > > + - sudo apt-get install libisl15 -y
> > > > +
> > > >  install:
> > > >   # Clone uboot-test-hooks
> > > >   - git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
> > > > @@ -36,10 +40,8 @@ install:
> > > >   - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
> > > >   # prepare buildman environment
> > > >   - echo -e "[toolchain]\nroot = /usr" > ~/.buildman
> > > > - - echo -e "aarch64 = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu" >> ~/.buildman
> > > > - - echo -e "arm = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf" >> ~/.buildman
> > > >   - echo -e "arc = /tmp/arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
> > > > - - echo -e "\n[toolchain-alias]\nsh = sh4\nopenrisc = or32" >> ~/.buildman
> > > > + - echo -e "\n[toolchain-alias]\nsh = sh2" >> ~/.buildman
> > > >   - cat ~/.buildman
> > > >   - virtualenv /tmp/venv
> > > >   - . /tmp/venv/bin/activate
> > > > @@ -64,10 +66,10 @@ before_script:
> > > >    - if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi
> > > >    - if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi
> > > >    - if [[ "${TOOLCHAIN}" == *or32* ]]; then ./tools/buildman/buildman --fetch-arch or32 ; fi
> > > > -  - if [[ "${TOOLCHAIN}" == *sh4* ]]; then ./tools/buildman/buildman --fetch-arch sh4 ; fi
> > > > +  - if [[ "${TOOLCHAIN}" == *sh* ]]; then ./tools/buildman/buildman --fetch-arch sh2 ; fi
> > > >    - if [[ "${TOOLCHAIN}" == *x86_64* ]]; then
> > > >        ./tools/buildman/buildman --fetch-arch x86_64;
> > > > -      echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
> > > > +      echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-7.3.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
> > > 
> > > you could add "x86 = x86_64" to section [toolchain-alias] to avoid
> > > hard-coding this
> > 
> > There's some amount of "fun" going on in order to build all of
> > arch/{sandbox,x86} with the same toolchain.  I'll double check what we
> > can get away with in terms of toolchain-prefix vs toolchain-alias.
> > Thanks!
> 
> Building 32bit x86 with the toolchain this way _seems_ to be what
> triggers https://travis-ci.org/trini/u-boot/jobs/376853382#L916 which is
> pretty odd.  I'm confirming right now what I suspect...

Yeah, going back to the other way of building x86 via buildman and that
problem goes away.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180510/7b05a664/attachment.sig>


More information about the U-Boot mailing list