10 Feb, 2019

2 commits


15 Jan, 2019

4 commits


05 Dec, 2018

2 commits

  • Unfortunately, for some releases the kernel.org toolchain tarball names adhere
    to the following pattern:

    -gcc--nolib--.tar.xz

    e.g.:
    x86_64-gcc-8.1.0-nolibc-aarch64-linux.tar.xz

    while others use the following pattern:

    -gcc--nolib_-.tar.xz

    e.g.:

    x86_64-gcc-7.3.0-nolibc_aarch64-linux.tar.xz

    Notice that the first pattern has dashes throughout, while the second has
    dashes throughout except just before the target architecture which has an
    underscore.

    The "dash throughout" versions from kernel.org are:

    8.1.0, 6.4.0, 5.5.0, 4.9.4, 4.8.5, 4.6.1

    while the "dash and underscore" versions from kernel.org are:

    7.3.0, 4.9.0, 4.8.0, 4.7.3, 4.6.3, 4.6.2, 4.5.1, 4.2.4

    This tweak allows the code to handle both versions. Note that this tweak also
    causes the architecture parsing to get confused and find the following two
    bogus architectures, "2.0" and "64", which are explicitly checked for, and
    removed.

    Signed-off-by: Trevor Woerner
    Reviewed-by: Simon Glass
    Change single quotes to double quotes:
    Signed-off-by: Simon Glass

    Trevor Woerner
     
  • The hexagon toolchain (4.6.1) from kernel.org, for example, was packaged in
    a way that is different from most toolchains. The first entry when unpacking
    most toolchain tarballs is:

    gcc--nolib/-

    e.g.:

    gcc-8.1.0-nolibc/aarch64-linux/

    The first entry of the hexagon toolchain, however, is:

    gcc-4.6.1-nolibc/

    This causes the buildman logic in toolchain.py::ScanPath() to not be able to
    find the "*gcc" executable since it looks in gcc-4.6.1-nolib/{.|bin|usr/bin}
    instead of gcc-4.6.1/hexagon-linux/{.|bin|usr/bin}. Therefore when buildman
    tries to download a set of toolchains that includes hexagon, the script fails.

    This update takes the second line of the tarball unpacking (which works for
    all the toolchains I've tested from kernel.org) and parses it to take the
    first two elements, separated by '/'. It makes this logic a bit more robust.

    Signed-off-by: Trevor Woerner
    Reviewed-by: Simon Glass

    Trevor Woerner
     

21 Nov, 2018

4 commits

  • At present we should boards with warnings in the same way as those with
    errors. This is not ideal. Add a new 'warn' state and show these listed
    in yellow to match the actual warning lines printing with -e.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present we don't distinguish between errors and warnings when printing
    the architecture summary. Rename the variables to better describe their
    purpose.

    'Worse' at present means we got an error, so use that as the name.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present messages from the device-tree compiler like this:

    arch/arm/dts/socfpga_arria10_socdk_sdmmc.dtb: Warning
    (avoid_unnecessary_addr_size): /clocks: unnecessary
    #address-cells/#size-cells without "ranges" or child "reg" property

    are detected as errors since they don't match the gcc warning regex. Add a
    new one for dtc to fix this.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present --list-tool-chains prints a lot of information about the
    toolchain-probing process. This is generally not very interesting.
    Update buildman to print this only if --list-tool-chains is given
    with -v.

    Signed-off-by: Simon Glass

    Simon Glass
     

15 Nov, 2018

1 commit


08 Oct, 2018

2 commits


30 Sep, 2018

1 commit

  • Something has changed in the last several month such that when buildman
    builds U-Boot incrementally and a new CONFIG option has been added to the
    Kconfig, the build hanges waiting for input:

    Test new config (NEW_CONFIG) [N/y/?] (NEW)

    Since binamn does not connect the build's stdin to anything this waits on
    stdin to the build thread, which never comes. Eventually I suspect all the
    threads end up in this state and the build does not progress.

    Fix this by passing /dev/null as input to the build. That way, if there is
    a new CONFIG, the build will stop (and fail):

    Test new config (NEW_CONFIG) [N/y/?] (NEW)

    Error in reading or end of file.

    Signed-off-by: Simon Glass

    Simon Glass
     

11 Sep, 2018

1 commit

  • You do not need to use the typedefs provided by compiler.

    Our compilers are either IPL32 or LP64. Hence, U-Boot can/should
    always use int-ll64.h typedefs like Linux kernel, whatever the
    typedefs the compiler internally uses.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

08 Jun, 2018

2 commits


23 May, 2018

1 commit


16 May, 2018

1 commit

  • When the U-Boot base directory happens to have the same name as the branch
    that buildman is directed to use via the '-b' option and no output
    directory is specified with '-o', buildman happily starts removing the
    whole U-Boot sources eventually only stopped with the error message:

    OSError: [Errno 20] Not a directory: '..//boards.cfg

    Add a check to avoid this and also deal with the case where '-o' points
    to the source directory, or any subdirectory of it.

    Finally, tidy up the confusing logic for removing the old tree when using
    -b. This is only done when building a branch.

    Signed-off-by: Lothar Waßmann
    Signed-off-by: Simon Glass
    Tested-by: Lothar Waßmann

    Lothar Waßmann
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

05 Feb, 2018

1 commit


29 Jan, 2018

1 commit


17 Jan, 2018

1 commit

  • In some cases when "more" is told to page a given file it will prepend
    the output with:
    ::::::::::::::
    /PATH/TO/THE/FILE
    ::::::::::::::

    And when this happens the output will not match the expected length.
    Further, if we use a different pager we will instead fail the coverage
    tests as we will not have 100% coverage. Update the help test to remove
    the string in question.

    Reviewed-by: Simon Glass
    Signed-off-by: Tom Rini

    Tom Rini
     

23 Nov, 2017

2 commits

  • The tests were broken by two separate commits which adjusted the output
    when boards are listed. Fix this by adding back a PowerPC board and
    putting the name of each board in the test.

    Fixes: b9f7d881 (powerpc, 5xx: remove some "5xx" remains)
    Fixes: 8d7523c5 (buildman: Allow showing the list of boards with -n)

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Accessing the network slows down the test and limits the environment in
    which it can be run. Add an option to disable network tests.

    Signed-off-by: Simon Glass

    Simon Glass
     

30 Sep, 2017

1 commit

  • Corresponds to 375506d (File writing nit) from upstream
    (https://github.com/ulfalizer/Kconfiglib).

    Adds proper 'imply' support and fixes a few minor issues, one of which
    previously triggered the following weird warning:

    configs/taurus_defconfig: /tmp/tmpisI45S:6: warning: assignment to SPL_LDSCRIPT changes mode of containing choice from "arch/$(ARCH)/cpu/u-boot-spl.lds" to "y"

    The change in 8639f69 (genconfig.py: Print defconfig next to warnings)
    was reapplied.

    tools/moveconfig.py previously depended on a hack that merged 'select's
    with 'imply's. It was modified to look at the union of
    Symbol.get_selected_symbols() and Symbol.get_implied_symbols(), which
    should give the same behavior.

    tools/genboardscfg.py was verified to produce identical board.cfg's
    before and after the change.

    Signed-off-by: Ulf Magnusson

    Ulf Magnusson
     

12 Sep, 2017

1 commit

  • At present we sometimes see warnings of the form:

    /tmp/tmpMA89kB:36: warning: overriding the value of CMD_SPL.
    Old value: "y", new value: "y".

    This is not very useful as it does not show whch defconfig file it relates
    to. Update the tool to show this.

    Signed-off-by: Simon Glass

    Simon Glass
     

07 Jul, 2017

1 commit

  • AVR32 is gone. It's already more than two years for no support in Buildroot,
    even longer there is no support in GCC (last version is heavily patched 4.2.4).

    Linux kernel v4.12 got rid of it (and v4.11 didn't build successfully).

    There is no good point to keep this support in U-Boot either.

    Reviewed-by: Simon Glass
    Reviewed-by: Tom Rini
    Reviewed-by: Heiko Schocher
    Signed-off-by: Andy Shevchenko

    Andy Shevchenko
     

16 Jun, 2017

1 commit


10 Jun, 2017

2 commits


09 Jun, 2017

1 commit


18 Apr, 2017

1 commit


15 Apr, 2017

1 commit

  • When writing out some of our results we may now have UTF-8 characters
    in there as well. Translate these to latin-1 and ignore any errors (as
    this is for diagnostic and given the githash anything else can be
    reconstructed by the user.

    Reviewed-by: Simon Glass
    Signed-off-by: Tom Rini

    Tom Rini
     

14 Apr, 2017

1 commit


10 Mar, 2017

1 commit

  • Currently upstream does not yet understand the imply keyword. For what
    we use kconfiglib.py for today, this is OK. We only need to be able to
    evaluate in order to make boards.cfg and none of those choices will
    depend on how imply evaluates out.

    Signed-off-by: Tom Rini

    Tom Rini
     

08 Feb, 2017

1 commit


29 Jan, 2017

1 commit