[U-Boot] [PATCH] buildman: Add GCC 8.1.0 version to tools from kernel.org

Alexey Brodkin Alexey.Brodkin at synopsys.com
Fri May 25 09:37:03 UTC 2018


Since May 22th toolchains built from GCC 8.1.0 are available at
https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.1.0/

Unfortunately that pretty trivial bump disclosed a few build
issues, see CI job [1] for all the details.

That's a brief analysis if of any interest:
 1) Wrong use of ARRAY_SIZE in drivers/mtd/nand/atmel_nand.c,
    see [2].

    |       arm:  +   wb45n
    |+In file included from include/linux/delay.h:6,
    |+                 from include/common.h:26,
    |+                 from drivers/mtd/nand/atmel_nand.c:13:
    |+drivers/mtd/nand/atmel_nand.c: In function 'pmecc_get_sigma':
    |+include/linux/kernel.h:46:34: error: division 'sizeof (int16_t * {aka short int *}) / sizeof (int16_t {aka short int})' does not compute the number of array elements [-Werror=sizeof-pointer-div]
    |+ #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
    |+                                  ^
    |+drivers/mtd/nand/atmel_nand.c:252:35: note: in expansion of macro 'ARRAY_SIZE'
    |+  memset(smu, 0, sizeof(int16_t) * ARRAY_SIZE(smu));
    |+                                   ^~~~~~~~~~
    |+drivers/mtd/nand/atmel_nand.c:244:11: note: first 'sizeof' operand was declared here
    |+  int16_t *smu = host->pmecc_smu;
    |+           ^~~

    I guess that's because of 'smu' variable not being an array or a
    pointer to array. Should be trivial to fix.

 2) Issues with .dts on some ARM boards, see [3]:
    |       arm:  +   vinco
    |+arch/arm/dts/at91-vinco.dtb: Warning (reg_format): "reg" property in /ahb/apb/timer at fc024000/timer at 0 has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
    ...and a couple of more of the similar type.

 3) Assembler issues on efi-x86, see [4]:
    |       x86:  +   efi-x86
    |+{standard input}: Assembler messages:
    |+{standard input}:21624: Error: junk at end of line, first unrecognized character is `@'
    |+{standard input}:21669: Error: junk at end of line, first unrecognized character is `@'
    |+{standard input}:21624: Error: can't resolve `end.6766' {.u_boot_list_2_fit_loadable_3 section} - `start.6763' {.u_boot_list_2_fit_loadable_1 section}
    |+{standard input}:21669: Error: can't resolve `end.6766' {.u_boot_list_2_fit_loadable_3 section} - `start.6763' {.u_boot_list_2_fit_loadable_1 section}

 4) -Werror=tautological-compare on some PowerPC boards, see [5]:
    |   powerpc:  +   T1040D4RDB_SPIFLASH
    |+drivers/net/fm/t1040.c: In function 'fman_port_enet_if':
    |+drivers/net/fm/t1040.c:19:53: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
    |+      ((rcwsr13 & FSL_CORENET_RCWSR13_MAC2_GMII_SEL) ==
    |+                                                     ^~
    |+drivers/net/fm/t1040.c:44:48: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
    |+   else if ((rcwsr13 & FSL_CORENET_RCWSR13_EC2) ==
    |+

 5) Missing property '#phy-cells' in node in
arch/arm/dts/am335x-boneblack.dts, see [6]:
    |       arm:  +   rastaban pxm2 smartweb etamin thuban draco rut
    |+arch/arm/dts/am335x-boneblack.dtb: Warning (phys_property): Missing property '#phy-cells' in node /ocp/usb at 47400000/usb-phy at 47401300 or bad phandle (referred from /ocp/usb at 47400000/usb at 47401000:phys[0])

[1] https://travis-ci.org/abrodkin/u-boot/builds/383423675
[2] https://travis-ci.org/abrodkin/u-boot/jobs/383423678
[3] https://travis-ci.org/abrodkin/u-boot/jobs/383423695
[4] https://travis-ci.org/abrodkin/u-boot/jobs/383423696
[5] https://travis-ci.org/abrodkin/u-boot/jobs/383423714
[6] https://travis-ci.org/abrodkin/u-boot/jobs/383423717

Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
Cc: Simon Goldschmidt <sgoldschmidt at de.pepperl-fuchs.com>
Cc: Joe Hershberger <joe.hershberger at ni.com>
Cc: Patrice Chotard <patrice.chotard at st.com>
Cc: Jagan Teki <jagan at amarulasolutions.com>
Cc: Dmitry Korunov <dessel.k at gmail.com>
Cc: Alexander Graf <agraf at suse.de>
Cc: Simon Glass <sjg at chromium.org>
Cc: Jason Rush <jarush at gmail.com>
Cc: Scott Wood <oss at buserror.net>
Cc: Marek Vasut <marex at denx.de>
---
 .travis.yml                 | 2 +-
 tools/buildman/toolchain.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 589ca8982443..d5e517574bf3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -68,7 +68,7 @@ before_script:
   - 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-7.3.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
+      echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
     fi
   - if [[ "${TOOLCHAIN}" == *arc* ]]; then ./tools/buildman/buildman --fetch-arch arc ; fi
   - if [[ "${TOOLCHAIN}" == *xtensa* ]]; then
diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
index 4b35f400e97d..0e9f43fd3fcc 100644
--- a/tools/buildman/toolchain.py
+++ b/tools/buildman/toolchain.py
@@ -430,7 +430,7 @@ class Toolchains:
         """
         arch = command.OutputOneLine('uname', '-m')
         base = 'https://www.kernel.org/pub/tools/crosstool/files/bin'
-        versions = ['7.3.0', '6.4.0', '4.9.4']
+        versions = ['8.1.0', '7.3.0', '6.4.0', '4.9.4']
         links = []
         for version in versions:
             url = '%s/%s/%s/' % (base, arch, version)
-- 
2.17.0



More information about the U-Boot mailing list