From patchwork Thu May 10 11:15:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Rini X-Patchwork-Id: 911359 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=konsulko.com Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 40hVzh4Sn1z9s0x for ; Thu, 10 May 2018 21:16:48 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 36490C21F89; Thu, 10 May 2018 11:16:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id CB0E5C22250; Thu, 10 May 2018 11:16:04 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 361C7C21F6E; Thu, 10 May 2018 11:16:02 +0000 (UTC) Received: from mail-yw0-f193.google.com (mail-yw0-f193.google.com [209.85.161.193]) by lists.denx.de (Postfix) with ESMTPS id CAFF0C21EC3 for ; Thu, 10 May 2018 11:16:00 +0000 (UTC) Received: by mail-yw0-f193.google.com with SMTP id g9-v6so435105ywb.12 for ; Thu, 10 May 2018 04:16:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=LZw/JM/SQZLAQKfllr1Wmr0M/rYvFQR/5rwt/P0xI5I=; b=lOmawlkaDJHoNC1Q5A9rDvrXsNw0HTMs6Whdez5fxaXKXB1ZBe7+AaVsScTL42k72S 14DVl8C9lcLWjNox8BB2LTEf41OrQgDeSM4ie/S1AYEKXHBxZb57amD6FynAPvpzzT2S G7hN5m3a5qV52VCgcf03cl8SqZHQGU1UAV3PXml/NPYdIxkNpU9vTldQif/tG2R3oCbm CWPRdQCwYQQu79laOE01rhE/C0VAcuvgjJRPHERZIMtzj4Hv2UzlXSDzWT+wp3VKC2A7 MLY9b6+4WVjNR8D45ceM+B2Gb4Ukju6Yje2ar6GM5/KSXrGRGODkxmKV9kwhT8W9XrAw hNpg== X-Gm-Message-State: ALKqPwennaohlGjXn4KwXiMD3NIBClqq1nz9SjDp2493S8HGwwQHJhsV 5jST4xqhoj9+K6HSw/sZAxfr X-Google-Smtp-Source: AB8JxZqsMLOLw3BpRuJ1BJllr0liRbNSvbrppy9zgVeBVgbo5pVG4BIJfRxffAxafS9m5eOCSpQYZQ== X-Received: by 2002:a0d:eec6:: with SMTP id x189-v6mr105462ywe.166.1525950959445; Thu, 10 May 2018 04:15:59 -0700 (PDT) Received: from bill-the-cat.ec.rr.com (cpe-65-184-142-68.ec.res.rr.com. [65.184.142.68]) by smtp.gmail.com with ESMTPSA id a7-v6sm155569ywg.95.2018.05.10.04.15.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 10 May 2018 04:15:58 -0700 (PDT) From: Tom Rini To: u-boot@lists.denx.de Date: Thu, 10 May 2018 07:15:53 -0400 Message-Id: <1525950954-25783-2-git-send-email-trini@konsulko.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1525950954-25783-1-git-send-email-trini@konsulko.com> References: <1525950954-25783-1-git-send-email-trini@konsulko.com> Subject: [U-Boot] [PATCHv3 2/3] buildman: support newer gcc versions from kernel.org X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Daniel Schwierzeck 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 Signed-off-by: Tom Rini --- 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..ca8cdf5dff23 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\nx86 = x86_64\nsandbox = x86_64\n" >> ~/.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; fi - if [[ "${TOOLCHAIN}" == arc ]]; then wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2017.09-release/arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install.tar.gz && @@ -80,11 +82,10 @@ before_script: fi # If TOOLCHAIN is unset, we're on some flavour of ARM. - if [[ "${TOOLCHAIN}" == "" ]]; then - wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz && - wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz && - tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz && - tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz; + ./tools/buildman/buildman --fetch-arch arm && + ./tools/buildman/buildman --fetch-arch aarch64; fi + - if [[ "${TOOLCHAIN}" == "powerpc" ]]; then ./tools/buildman/buildman --fetch-arch powerpc; fi - if [[ "${TOOLCHAIN}" == "riscv" ]]; then wget https://github.com/PkmX/riscv-prebuilt-toolchains/releases/download/20180111/riscv32-unknown-elf-toolchain.tar.gz && tar -C /tmp -xf riscv32-unknown-elf-toolchain.tar.gz && @@ -227,26 +228,37 @@ matrix: TOOLCHAIN="mips" - env: - BUILDMAN="mpc83xx" + TOOLCHAIN="powerpc" - env: - BUILDMAN="mpc85xx -x freescale" + TOOLCHAIN="powerpc" - env: - BUILDMAN="mpc85xx -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x sbc8548 -x bsc91*" + TOOLCHAIN="powerpc" - env: - BUILDMAN="t208xrdb" + TOOLCHAIN="powerpc" - env: - BUILDMAN="t4qds" + TOOLCHAIN="powerpc" - env: - BUILDMAN="t102*" + TOOLCHAIN="powerpc" - env: - BUILDMAN="p1_p2_rdb_pc" + TOOLCHAIN="powerpc" - env: - BUILDMAN="p1010rdb" + TOOLCHAIN="powerpc" - env: - BUILDMAN="corenet_ds b4860qds sbc8548 bsc91*" + TOOLCHAIN="powerpc" - env: - BUILDMAN="mpc86xx" + TOOLCHAIN="powerpc" - env: - BUILDMAN="mpc8xx" + TOOLCHAIN="powerpc" - env: - BUILDMAN="siemens" - env: @@ -269,8 +281,9 @@ matrix: - env: - BUILDMAN="rockchip" - env: - - BUILDMAN="sh4" - TOOLCHAIN="sh4" + - JOB="sh" + BUILDMAN="sh -x arm" + TOOLCHAIN="sh" - env: - JOB="Xilinx (ARM)" BUILDMAN="xilinx -x microblaze" @@ -376,6 +389,7 @@ matrix: TEST_PY_TEST_SPEC="not sleep" QEMU_TARGET="ppc-softmmu" BUILDMAN="^qemu-ppce500$" + TOOLCHAIN="powerpc" - env: - TEST_PY_BD="qemu-x86" TEST_PY_TEST_SPEC="not sleep" diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py index fb3157b2ea8d..4b35f400e97d 100644 --- a/tools/buildman/toolchain.py +++ b/tools/buildman/toolchain.py @@ -32,7 +32,7 @@ class MyHTMLParser(HTMLParser): HTMLParser.__init__(self) self.arch_link = None self.links = [] - self._match = '_%s-' % arch + self.re_arch = re.compile('[-_]%s-' % arch) def handle_starttag(self, tag, attrs): if tag == 'a': @@ -40,7 +40,7 @@ class MyHTMLParser(HTMLParser): if tag == 'href': if value and value.endswith('.xz'): self.links.append(value) - if self._match in value: + if self.re_arch.search(value): self.arch_link = value @@ -430,7 +430,7 @@ class Toolchains: """ arch = command.OutputOneLine('uname', '-m') base = 'https://www.kernel.org/pub/tools/crosstool/files/bin' - versions = ['4.9.0', '4.6.3', '4.6.2', '4.5.1', '4.2.4'] + versions = ['7.3.0', '6.4.0', '4.9.4'] links = [] for version in versions: url = '%s/%s/%s/' % (base, arch, version)