[U-Boot] [PATCH v2 0/3] Add some missing buildman features and deprecate MAKEALL

Simon Glass sjg at chromium.org
Mon Aug 4 22:41:45 CEST 2014


Hi Tom,

On 4 August 2014 07:23, Tom Rini <trini at ti.com> wrote:
> On Mon, Jul 28, 2014 at 11:53:27PM -0600, Simon Glass wrote:
>
>> Buildman has been around for a little over a year and is used by a fair
>> number of U-Boot developers. However quite a few people still use MAKEALL.
>>
>> Buildman was intended to replace MAKEALL, so perhaps now is a good time to
>> start that process.
>
> OK, lets start.  First, I had to make up a special directory with
> symlinks to the various toolchains, in order to get them to work with
> buildman, due to the various layouts:
>
> $ ls -l ~/work/u-boot/toolchain-links/
> total 4
> lrwxrwxrwx 1 trini trini 38 Aug  1 17:09 arc_gnu_4.8-R2_prebuilt_uclibc_be -> /opt/arc_gnu_4.8-R2_prebuilt_uclibc_be
> lrwxrwxrwx 1 trini trini 38 Aug  1 17:09 arc_gnu_4.8-R2_prebuilt_uclibc_le -> /opt/arc_gnu_4.8-R2_prebuilt_uclibc_le
> lrwxrwxrwx 1 trini trini 24 Aug  1 17:10 bfin-elf -> /opt/uClinux-45/bfin-elf
> lrwxrwxrwx 1 trini trini 32 Aug  1 17:09 m68k-linux -> /opt/gcc-4.9.0-nolibc/m68k-linux
> lrwxrwxrwx 1 trini trini 34 Aug  1 17:09 microblazeel-xilinx-linux-gnu -> /opt/microblazeel-xilinx-linux-gnu
> lrwxrwxrwx 1 trini trini 32 Aug  1 17:09 microblaze-xilinx-linux-gnu -> /opt/microblaze-xilinx-linux-gnu
> lrwxrwxrwx 1 trini trini 66 Aug  1 17:15 mips32-linux -> /opt/eldk-5.2.1/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux
> lrwxrwxrwx 1 trini trini 36 Aug  1 17:09 nds32le-linux-glibc-v1f -> /opt/nds32le/nds32le-linux-glibc-v1f
> lrwxrwxrwx 1 trini trini 20 Aug  1 17:09 sparc-elf-3.4.4 -> /opt/sparc-elf-3.4.4
>
> I tried a few things but I couldn't get a toolchain section setup that
> found all of those.  Second:

OK, can you give me a trace of the output of 'buildman
--list-tool-chains' - I should be able to figure out what is wrong.

> (testing the MMC pull request)
> $ ./tools/buildman/buildman -b master
> 'arc|blackfin|m68k|microblaze|nds32|sparc|mips'
> No section: 'make-flags'
> Building 11 commits for 121 boards (6 threads, 1 job per thread)
> Cloning repo for thread 0
> Cloning repo for thread 1
> Cloning repo for thread 2
> Cloning repo for thread 3
> Cloning repo for thread 4
> Cloning repo for thread 5
>  1155   88   88 /1331   axs101
>
> So it's nice that it spit out a thread per commit, but I really only
> care right now if master builds right.  And I've gone blind and can't
> find the end result logs of what failed to build (88 failures doesn't
> quite match the warning/errors I get for my wrapper around
> toolchains+MAKEALL).

You can use the -s flag to see the broken builds, and -se to see
errors also. Is that what you mean?

The output is in ../<branch>/<commit>/<board> but if you want to keep
the binaries, you need -k also.

>
> I also didn't quite see how to plugin an arm64 toolchain.

I haven't tried - can you please point me to one and I'll give it a go.

>
> Next up, is there some way to have multiple toolchains for an arch
> available?  On some compute resources I have at work I throw
> arm/eldk4.2, arm/eldk5.2, arm/linaro-2013.03 (since we've pinned to that
> for some projects) and some various combos for powerpc as well.  I
> didn't see how to do that with buildman aside from different ~/.buildman
> files per invocation.

Yes I remember you talking about this before. One option would be to
add toolchain as a new dimension in the matrix. It might be painful
though. So to be clear, you want to define multiple toolchains for an
arch, and have buildman always build with all of them?

Regards,
Simon


More information about the U-Boot mailing list