From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeroen Hofstee Date: Mon, 04 Aug 2014 22:56:20 +0200 Subject: [U-Boot] [PATCH v2 0/3] Add some missing buildman features and deprecate MAKEALL In-Reply-To: References: <1406613210-22428-1-git-send-email-sjg@chromium.org> <20140804132304.GC19374@bill-the-cat> Message-ID: <53DFF374.2060406@myspectrum.nl> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Simon, On 04-08-14 22:41, Simon Glass wrote: > Hi Tom, > > On 4 August 2014 07:23, Tom Rini 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. Like Tom, I tried this a bit. (and ended up faking clang is gcc). There are at least some assumptions cc = gcc and strlen(cc) == 3. >> (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 ../// but if you want to keep > the binaries, you need -k also. Like Tom, I saw fancy output, like merged not being a property or something. I like to see the warnings and errors directly, but -e? failed to do so. (or at least I didn't spend enough time to get it to work) >> 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? > I would like this as well. For serious changing I typically build with MAKEALL with clang and gcc (for ARM) + gcc for powerpc if it is a overall change. But since clang always warns it is actually not a viable target for buildman at all. Regards, Jeroen