Lines Matching +full:foss +full:- +full:xtensa
1 # SPDX-License-Identifier: GPL-2.0+
6 Quick-start
12 cd /path/to/u-boot
14 buildman --fetch-arch arm
15 buildman -k rpi_2
17 # u-boot.bin is the output image
23 This tool handles building U-Boot to check that you have not broken it
26 to make full use of multi-processor machines.
38 where it left off. This should happen cleanly and without side-effects.
42 You may need to press Ctrl-C several times to quit it. Also it will print
44 Ctrl-C handling is somewhat broken.
54 progress information (except with -v, see below). All the output (errors,
63 for another board. If you want buildman to re-build a commit it has already
64 built (e.g. because of a toolchain update), use the -f flag.
69 case it is de-duped and displayed against the commit that introduced the
84 Buildman works in an entirely separate place from your U-Boot repository.
87 name, in a two-level hierarchy.
89 Buildman is invoked in your U-Boot directory, the one with the .git
98 Buildman generally builds a branch (with the -b flag), and in this case
103 actions. Use -n to check what the random actions might be.
105 If you just want to build the current source tree, leave off the -b flag
106 and add -e. This will display results and errors as they happen. You can
107 still look at them later using -se. Note that buildman will assume that the
111 On multi-core machines, Buildman is fast because it uses most of the
114 plan to use your machine for anything else, you can use -T to increase the
122 command-line arguments that list the desired board name, architecture name,
138 You can also use -x to specifically exclude some boards. For example:
140 buildmand arm -x nvidia,freescale,.*ball$
145 For building specific boards you can use the --boards option, which takes a
146 comma-separated list of board target names and be used multiple times on
149 buidman --boards sandbox,snow --boards
151 It is convenient to use the -n option to see what will be built based on
152 the subset given. Use -v as well to get an actual list of boards.
155 the binary output into a directory when a build is successful (-k). Size
163 1. Get the U-Boot source. You probably already have it, but if not these
166 $ cd /path/to/u-boot
167 $ git clone git://git.denx.de/u-boot.git .
168 $ git checkout -b my-branch origin/master
179 eldk: /opt/eldk-4.2
180 arm: /opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.08_linux
181 aarch64: /opt/linaro/gcc-linaro-aarch64-none-elf-4.8-2013.10_linux
183 [toolchain-alias]
196 The toolchain-alias section indicates that the i386 toolchain should be used
201 [toolchain-prefix]
202 arm: /opt/arm-eabi-4.6/bin/arm-eabi-
206 [toolchain-prefix]
207 arm: /opt/arm-eabi-4.6/bin/arm-eabi-gcc
217 [toolchain-prefix]
218 arm: arm-none-eabi-
220 and buildman will find arm-none-eabi-gcc in /usr/bin if you have it installed.
222 [toolchain-wrapper]
231 3. Make sure you have the require Python pre-requisites
244 $ ./tools/buildman/buildman --list-tool-chains
246 - scanning prefix '/opt/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux-'
248 - scanning prefix '/opt/arm-eabi-4.6/bin/arm-eabi-'
250 - scanning path '/toolchains/gcc-4.9.0-nolibc/i386-linux'
251 - looking in '/toolchains/gcc-4.9.0-nolibc/i386-linux/.'
252 - looking in '/toolchains/gcc-4.9.0-nolibc/i386-linux/bin'
253 - found '/toolchains/gcc-4.9.0-nolibc/i386-linux/bin/i386-linux-gcc'
254 - looking in '/toolchains/gcc-4.9.0-nolibc/i386-linux/usr/bin'
256 - scanning path '/toolchains/gcc-4.9.0-nolibc/aarch64-linux'
257 - looking in '/toolchains/gcc-4.9.0-nolibc/aarch64-linux/.'
258 - looking in '/toolchains/gcc-4.9.0-nolibc/aarch64-linux/bin'
259 - found '/toolchains/gcc-4.9.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc'
260 - looking in '/toolchains/gcc-4.9.0-nolibc/aarch64-linux/usr/bin'
262 - scanning path '/toolchains/gcc-4.9.0-nolibc/microblaze-linux'
263 - looking in '/toolchains/gcc-4.9.0-nolibc/microblaze-linux/.'
264 - looking in '/toolchains/gcc-4.9.0-nolibc/microblaze-linux/bin'
265 - found '/toolchains/gcc-4.9.0-nolibc/microblaze-linux/bin/microblaze-linux-gcc'
266 - looking in '/toolchains/gcc-4.9.0-nolibc/microblaze-linux/usr/bin'
268 - scanning path '/toolchains/gcc-4.9.0-nolibc/mips64-linux'
269 - looking in '/toolchains/gcc-4.9.0-nolibc/mips64-linux/.'
270 - looking in '/toolchains/gcc-4.9.0-nolibc/mips64-linux/bin'
271 - found '/toolchains/gcc-4.9.0-nolibc/mips64-linux/bin/mips64-linux-gcc'
272 - looking in '/toolchains/gcc-4.9.0-nolibc/mips64-linux/usr/bin'
274 - scanning path '/toolchains/gcc-4.9.0-nolibc/sparc64-linux'
275 - looking in '/toolchains/gcc-4.9.0-nolibc/sparc64-linux/.'
276 - looking in '/toolchains/gcc-4.9.0-nolibc/sparc64-linux/bin'
277 - found '/toolchains/gcc-4.9.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc'
278 - looking in '/toolchains/gcc-4.9.0-nolibc/sparc64-linux/usr/bin'
280 - scanning path '/toolchains/gcc-4.9.0-nolibc/arm-unknown-linux-gnueabi'
281 - looking in '/toolchains/gcc-4.9.0-nolibc/arm-unknown-linux-gnueabi/.'
282 - looking in '/toolchains/gcc-4.9.0-nolibc/arm-unknown-linux-gnueabi/bin'
283 … - found '/toolchains/gcc-4.9.0-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc'
284 - looking in '/toolchains/gcc-4.9.0-nolibc/arm-unknown-linux-gnueabi/usr/bin'
286 Toolchain '/toolchains/gcc-4.9.0-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc…
287 - scanning path '/toolchains/gcc-4.9.0-nolibc/sparc-linux'
288 - looking in '/toolchains/gcc-4.9.0-nolibc/sparc-linux/.'
289 - looking in '/toolchains/gcc-4.9.0-nolibc/sparc-linux/bin'
290 - found '/toolchains/gcc-4.9.0-nolibc/sparc-linux/bin/sparc-linux-gcc'
291 - looking in '/toolchains/gcc-4.9.0-nolibc/sparc-linux/usr/bin'
293 - scanning path '/toolchains/gcc-4.9.0-nolibc/mips-linux'
294 - looking in '/toolchains/gcc-4.9.0-nolibc/mips-linux/.'
295 - looking in '/toolchains/gcc-4.9.0-nolibc/mips-linux/bin'
296 - found '/toolchains/gcc-4.9.0-nolibc/mips-linux/bin/mips-linux-gcc'
297 - looking in '/toolchains/gcc-4.9.0-nolibc/mips-linux/usr/bin'
299 - scanning path '/toolchains/gcc-4.9.0-nolibc/x86_64-linux'
300 - looking in '/toolchains/gcc-4.9.0-nolibc/x86_64-linux/.'
301 - looking in '/toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin'
302 - found '/toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc'
303 - found '/toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-x86_64-linux-gcc'
304 - looking in '/toolchains/gcc-4.9.0-nolibc/x86_64-linux/usr/bin'
307 Toolchain '/toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-x86_64-linux-gcc' at priority…
308 - scanning path '/toolchains/gcc-4.9.0-nolibc/m68k-linux'
309 - looking in '/toolchains/gcc-4.9.0-nolibc/m68k-linux/.'
310 - looking in '/toolchains/gcc-4.9.0-nolibc/m68k-linux/bin'
311 - found '/toolchains/gcc-4.9.0-nolibc/m68k-linux/bin/m68k-linux-gcc'
312 - looking in '/toolchains/gcc-4.9.0-nolibc/m68k-linux/usr/bin'
314 - scanning path '/toolchains/gcc-4.9.0-nolibc/powerpc-linux'
315 - looking in '/toolchains/gcc-4.9.0-nolibc/powerpc-linux/.'
316 - looking in '/toolchains/gcc-4.9.0-nolibc/powerpc-linux/bin'
317 - found '/toolchains/gcc-4.9.0-nolibc/powerpc-linux/bin/powerpc-linux-gcc'
318 - looking in '/toolchains/gcc-4.9.0-nolibc/powerpc-linux/usr/bin'
320 - scanning path '/toolchains/gcc-4.6.3-nolibc/bfin-uclinux'
321 - looking in '/toolchains/gcc-4.6.3-nolibc/bfin-uclinux/.'
322 - looking in '/toolchains/gcc-4.6.3-nolibc/bfin-uclinux/bin'
323 - found '/toolchains/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux-gcc'
324 - looking in '/toolchains/gcc-4.6.3-nolibc/bfin-uclinux/usr/bin'
326 - scanning path '/toolchains/gcc-4.6.3-nolibc/sparc-linux'
327 - looking in '/toolchains/gcc-4.6.3-nolibc/sparc-linux/.'
328 - looking in '/toolchains/gcc-4.6.3-nolibc/sparc-linux/bin'
329 - found '/toolchains/gcc-4.6.3-nolibc/sparc-linux/bin/sparc-linux-gcc'
330 - looking in '/toolchains/gcc-4.6.3-nolibc/sparc-linux/usr/bin'
332 Toolchain '/toolchains/gcc-4.6.3-nolibc/sparc-linux/bin/sparc-linux-gcc' at priority 4 will be igno…
333 - scanning path '/toolchains/gcc-4.6.3-nolibc/mips-linux'
334 - looking in '/toolchains/gcc-4.6.3-nolibc/mips-linux/.'
335 - looking in '/toolchains/gcc-4.6.3-nolibc/mips-linux/bin'
336 - found '/toolchains/gcc-4.6.3-nolibc/mips-linux/bin/mips-linux-gcc'
337 - looking in '/toolchains/gcc-4.6.3-nolibc/mips-linux/usr/bin'
339 Toolchain '/toolchains/gcc-4.6.3-nolibc/mips-linux/bin/mips-linux-gcc' at priority 4 will be ignore…
340 - scanning path '/toolchains/gcc-4.6.3-nolibc/m68k-linux'
341 - looking in '/toolchains/gcc-4.6.3-nolibc/m68k-linux/.'
342 - looking in '/toolchains/gcc-4.6.3-nolibc/m68k-linux/bin'
343 - found '/toolchains/gcc-4.6.3-nolibc/m68k-linux/bin/m68k-linux-gcc'
344 - looking in '/toolchains/gcc-4.6.3-nolibc/m68k-linux/usr/bin'
346 Toolchain '/toolchains/gcc-4.6.3-nolibc/m68k-linux/bin/m68k-linux-gcc' at priority 4 will be ignore…
347 - scanning path '/toolchains/gcc-4.6.3-nolibc/powerpc-linux'
348 - looking in '/toolchains/gcc-4.6.3-nolibc/powerpc-linux/.'
349 - looking in '/toolchains/gcc-4.6.3-nolibc/powerpc-linux/bin'
350 - found '/toolchains/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc'
351 - looking in '/toolchains/gcc-4.6.3-nolibc/powerpc-linux/usr/bin'
354 - scanning path '/'
355 - looking in '/.'
356 - looking in '/bin'
357 - looking in '/usr/bin'
358 - found '/usr/bin/i586-mingw32msvc-gcc'
359 - found '/usr/bin/c89-gcc'
360 - found '/usr/bin/x86_64-linux-gnu-gcc'
361 - found '/usr/bin/gcc'
362 - found '/usr/bin/c99-gcc'
363 - found '/usr/bin/arm-linux-gnueabi-gcc'
364 - found '/usr/bin/aarch64-linux-gnu-gcc'
365 - found '/usr/bin/winegcc'
366 - found '/usr/bin/arm-linux-gnueabihf-gcc'
370 Toolchain '/usr/bin/x86_64-linux-gnu-gcc' at priority 4 will be ignored because another toolchain f…
374 Toolchain '/usr/bin/arm-linux-gnueabi-gcc' at priority 4 will be ignored because another toolchain …
376 Toolchain '/usr/bin/aarch64-linux-gnu-gcc' at priority 4 will be ignored because another toolchain …
380 Toolchain '/usr/bin/arm-linux-gnueabihf-gcc' at priority 4 will be ignored because another toolchai…
382 aarch64 : /toolchains/gcc-4.9.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc
383 alpha : /toolchains/gcc-4.9.0-nolibc/alpha-linux/bin/alpha-linux-gcc
384 am33_2.0 : /toolchains/gcc-4.9.0-nolibc/am33_2.0-linux/bin/am33_2.0-linux-gcc
385 arm : /opt/arm-eabi-4.6/bin/arm-eabi-gcc
386 bfin : /toolchains/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux-gcc
387 c89 : /usr/bin/c89-gcc
388 c99 : /usr/bin/c99-gcc
389 frv : /toolchains/gcc-4.9.0-nolibc/frv-linux/bin/frv-linux-gcc
390 h8300 : /toolchains/gcc-4.9.0-nolibc/h8300-elf/bin/h8300-elf-gcc
391 hppa : /toolchains/gcc-4.9.0-nolibc/hppa-linux/bin/hppa-linux-gcc
392 hppa64 : /toolchains/gcc-4.9.0-nolibc/hppa64-linux/bin/hppa64-linux-gcc
393 i386 : /toolchains/gcc-4.9.0-nolibc/i386-linux/bin/i386-linux-gcc
394 i586 : /usr/bin/i586-mingw32msvc-gcc
395 ia64 : /toolchains/gcc-4.9.0-nolibc/ia64-linux/bin/ia64-linux-gcc
396 m32r : /toolchains/gcc-4.9.0-nolibc/m32r-linux/bin/m32r-linux-gcc
397 m68k : /toolchains/gcc-4.9.0-nolibc/m68k-linux/bin/m68k-linux-gcc
398 microblaze: /toolchains/gcc-4.9.0-nolibc/microblaze-linux/bin/microblaze-linux-gcc
399 mips : /toolchains/gcc-4.9.0-nolibc/mips-linux/bin/mips-linux-gcc
400 mips64 : /toolchains/gcc-4.9.0-nolibc/mips64-linux/bin/mips64-linux-gcc
401 or32 : /toolchains/gcc-4.5.1-nolibc/or32-linux/bin/or32-linux-gcc
402 powerpc : /toolchains/gcc-4.9.0-nolibc/powerpc-linux/bin/powerpc-linux-gcc
403 powerpc64 : /toolchains/gcc-4.9.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc
404 ppc64le : /toolchains/gcc-4.9.0-nolibc/ppc64le-linux/bin/ppc64le-linux-gcc
405 s390x : /toolchains/gcc-4.9.0-nolibc/s390x-linux/bin/s390x-linux-gcc
407 sh4 : /toolchains/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux-gcc
408 sparc : /toolchains/gcc-4.9.0-nolibc/sparc-linux/bin/sparc-linux-gcc
409 sparc64 : /toolchains/gcc-4.9.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc
410 tilegx : /toolchains/gcc-4.6.2-nolibc/tilegx-linux/bin/tilegx-linux-gcc
411 x86 : /opt/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux-gcc
412 x86_64 : /toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc
427 $ ./tools/buildman/buildman --fetch-arch list
434 sparc sparc64 tilegx x86_64 xtensa
438 $ ./tools/buildman/buildman --fetch-arch or32
442 …www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.5.1//x86_64-gcc-4.5.1-nolibc_or32-linux.tar.…
443 Unpacking to: /home/sjg/.buildman-toolchains
445 - looking in '/home/sjg/.buildman-toolchains/gcc-4.5.1-nolibc/or32-linux/.'
446 - looking in '/home/sjg/.buildman-toolchains/gcc-4.5.1-nolibc/or32-linux/bin'
447 - found '/home/sjg/.buildman-toolchains/gcc-4.5.1-nolibc/or32-linux/bin/or32-linux-gcc'
452 $ ./tools/buildman/buildman --fetch-arch all
453 $ sudo mkdir -p /toolchains
454 $ sudo mv ~/.buildman-toolchains/*/* /toolchains/
458 arc: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/
459 download/arc-2016.09-release/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz
460 blackfin: http://sourceforge.net/projects/adi-toolchain/files/
461 blackfin-toolchain-elf-gcc-4.5-2014R1_45-RC2.x86_64.tar.bz2
463 nds32le-linux-glibc-v1.tgz
464 nios2: http://sourcery.mentor.com/public/gnu_toolchain/nios2-linux-gnu/
465 sourceryg++-2015.11-27-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2
466 sh: http://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu/
467 renesas-4.4-200-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2
470 http://opencores.org/or1k/OpenRISC_GNU_tool_chain#Prebuilt_versions - eg:
471 ftp://ocuser:ocuser@openrisc.opencores.org/toolchain/gcc-or1k-elf-4.8.1-x86.tar.bz2.
475 At the time of writing, U-Boot has these architectures:
486 First do a dry run using the -n flag: (replace <branch> with a real, local
489 $ ./tools/buildman/buildman -b <branch> -n
492 doing something like 'git branch --set-upstream-to upstream/master'
502 5bb3505 Merge branch 'master' of git://git.denx.de/u-boot-arm
524 we have a 4-core CPU). Each thread will run with -j1, meaning that each
537 To run the build for real, take off the -n:
539 $ ./tools/buildman/buildman -b <branch>
553 To find out how the build went, ask for a summary with -s. You can do this
557 $ ./tools/buildman/buildman -b lcd9b -s
559 01: Merge branch 'master' of git://git.denx.de/u-boot-arm
581 the build is still in progress so many boards are not built yet (use -u to
594 $ ./tools/buildman/buildman -b <branch> -se lubbock
599 +/u-boot/lcd9b/.bm-work/00/common/lcd.c:120: undefined reference to `flush_dcache_range'
600 …-none-linux-gnueabi-ld: BFD (Sourcery G++ Lite 2010q1-202) 2.19.51.20090709 assertion fail /scratc…
601 +make: *** [/u-boot/lcd9b/.bm-work/00/build/u-boot] Error 139
606 -/u-boot/lcd9b/.bm-work/00/common/lcd.c:120: undefined reference to `flush_dcache_range'
607 +/u-boot/lcd9b/.bm-work/00/common/lcd.c:125: undefined reference to `flush_dcache_range'
615 If you see error lines marked with '-', that means that the errors were fixed
625 If many boards have the same error, then -e will display the error only
627 each error, use -l. So it is safe to omit the board name - you will not get
635 ../lcd9b/12_of_18_gd92aff7_lcd--Add-support-for/lubbock/
643 in silent mode. Use -V to force a verbose build (this passes V=1
650 It is possible to get the build binary output there also. Use the -k option
653 System.map toolchain u-boot u-boot.bin u-boot.map autoconf.mk
654 (also SPL versions u-boot-spl and u-boot-spl.bin if available)
660 A key requirement for U-Boot is that you keep code/data size to a minimum.
665 To check the impact of your commits on image size, use -S. For example:
667 $ ./tools/buildman/buildman -b us-x86 -sS
671 x86: (for 1/3 boards) text -272.0 rodata +41.0
675 05: x86: Add an __end symbol to signal the end of the U-Boot binary
678 x86: (for 1/3 boards) bss -2140.0
679 07: x86: Support relocation of FDT on start-up
680 x86: + coreboot-x86
694 two together to get the total read-only size (reported as the first column
697 A useful option is --step which lets you skip some commits. For example
698 --step 2 will show the image sizes for only every 2nd commit (so it will
700 --step 0 which will compare only the first and last commits. This is useful
704 You can also use -d to see a detailed size breakdown for each board. This
707 It is even possible to go a little further with the -B option (--bloat). This
708 shows where U-Boot has bloated, breaking the size change down to the function
711 $ ./tools/buildman/buildman -b us-mem4 -sSdB
714 arm: (for 10/10 boards) all -143.4 bss +1.2 data -4.8 rodata -48.2 text -91.6
715 paz00 : all +23 bss -4 rodata -29 text +56
716 u-boot: add: 1/0, grow: 3/-2 bytes: 168/-104 (64)
719 crc32_wd_buf - 56 +56
722 run_list_real 1996 1992 -4
723 do_mem_crc 168 68 -100
724 trimslice : all -9 bss +16 rodata -29 text +4
725 u-boot: add: 1/0, grow: 1/-3 bytes: 136/-124 (12)
728 crc32_wd_buf - 56 +56
729 ext4fs_iterate_dir 672 668 -4
730 ext4fs_read_file 568 548 -20
731 do_mem_crc 168 68 -100
732 whistler : all -9 bss +16 rodata -29 text +4
733 u-boot: add: 1/0, grow: 1/-3 bytes: 136/-124 (12)
736 crc32_wd_buf - 56 +56
737 ext4fs_iterate_dir 672 668 -4
738 ext4fs_read_file 568 548 -20
739 do_mem_crc 168 68 -100
740 seaboard : all -9 bss -28 rodata -29 text +48
741 u-boot: add: 1/0, grow: 3/-2 bytes: 160/-104 (56)
744 crc32_wd_buf - 56 +56
747 do_nandboot 760 756 -4
748 do_mem_crc 168 68 -100
749 colibri_t20 : all -9 rodata -29 text +20
750 u-boot: add: 1/0, grow: 2/-3 bytes: 140/-112 (28)
753 crc32_wd_buf - 56 +56
755 do_nandboot 760 756 -4
756 ext4fs_read_file 576 568 -8
757 do_mem_crc 168 68 -100
758 ventana : all -37 bss -12 rodata -29 text +4
759 u-boot: add: 1/0, grow: 1/-3 bytes: 136/-124 (12)
762 crc32_wd_buf - 56 +56
763 ext4fs_iterate_dir 672 668 -4
764 ext4fs_read_file 568 548 -20
765 do_mem_crc 168 68 -100
766 harmony : all -37 bss -16 rodata -29 text +8
767 u-boot: add: 1/0, grow: 2/-3 bytes: 140/-124 (16)
770 crc32_wd_buf - 56 +56
772 ext4fs_iterate_dir 672 668 -4
773 ext4fs_read_file 568 548 -20
774 do_mem_crc 168 68 -100
775 medcom-wide : all -417 bss +28 data -16 rodata -93 text -336
776 u-boot: add: 1/-1, grow: 1/-2 bytes: 88/-376 (-288)
778 crc32_wd_buf - 56 +56
780 hash_algo 16 - -16
781 do_mem_crc 168 68 -100
782 hash_command 420 160 -260
783 tec : all -449 bss -4 data -16 rodata -93 text -336
784 u-boot: add: 1/-1, grow: 1/-2 bytes: 88/-376 (-288)
786 crc32_wd_buf - 56 +56
788 hash_algo 16 - -16
789 do_mem_crc 168 68 -100
790 hash_command 420 160 -260
791 plutux : all -481 bss +16 data -16 rodata -93 text -388
792 u-boot: add: 1/-1, grow: 1/-3 bytes: 68/-408 (-340)
794 crc32_wd_buf - 56 +56
796 hash_algo 16 - -16
797 do_fat_read_at 2904 2872 -32
798 do_mem_crc 168 68 -100
799 hash_command 420 160 -260
800 powerpc: (for 5/5 boards) all +37.4 data -3.2 rodata -41.8 text +82.4
801 MPC8610HPCD : all +55 rodata -29 text +84
802 u-boot: add: 1/0, grow: 0/-1 bytes: 176/-96 (80)
804 hash_command - 176 +176
805 do_mem_crc 184 88 -96
806 MPC8641HPCN : all +55 rodata -29 text +84
807 u-boot: add: 1/0, grow: 0/-1 bytes: 176/-96 (80)
809 hash_command - 176 +176
810 do_mem_crc 184 88 -96
811 MPC8641HPCN_36BIT: all +55 rodata -29 text +84
812 u-boot: add: 1/0, grow: 0/-1 bytes: 176/-96 (80)
814 hash_command - 176 +176
815 do_mem_crc 184 88 -96
816 sbc8641d : all +55 rodata -29 text +84
817 u-boot: add: 1/0, grow: 0/-1 bytes: 176/-96 (80)
819 hash_command - 176 +176
820 do_mem_crc 184 88 -96
821 xpedite517x : all -33 data -16 rodata -93 text +76
822 u-boot: add: 1/-1, grow: 0/-1 bytes: 176/-112 (64)
824 hash_command - 176 +176
825 hash_algo 16 - -16
826 do_mem_crc 184 88 -96
837 add - number of functions added / removed
838 grow - number of functions which grew / shrunk
839 bytes - number of bytes of code added to / removed from all functions,
844 roughly the text area size, but note that every read-only section except
865 it to check that it is a C compiler, passing only the --version flag to
871 For example powerpc-linux-gcc will be noted as a toolchain for 'powerpc'
872 and CROSS_COMPILE will be set to powerpc-linux- when using it.
874 '[toolchain-alias]' section
876 This converts toolchain architecture names to U-Boot names. For example,
877 if an x86 toolchains is called i386-linux-gcc it will not normally be
882 '[make-flags]' section
884 U-Boot's build system supports a few flags (such as BUILD_TAG) which
886 settings file. They can also be useful when building U-Boot against other
889 [make-flags]
890 at91-boards=ENABLE_AT91_TEST=1
891 snapper9260=${at91-boards} BUILD_TAG=442
892 snapper9g45=${at91-boards} BUILD_TAG=443
898 that variables can only contain the characters A-Z, a-z, 0-9, hyphen (-)
901 It is expected that any variables added are dealt with in U-Boot's
904 Note that you can pass ad-hoc options to the build using environment
914 currently checked-out source, run buildman without the -b flag. This will
915 build the selected boards and display build status as it runs (i.e. -v is
916 enabled automatically). Use -e to see errors/warnings as well.
923 when using the -b flag. For example:
925 upstream/master..us-buildman
927 will build commits in us-buildman that are not in upstream/master.
935 trust the build system's incremental build capabilities, you can pass the -I
951 files when a thread switches between boards. Ideally, such buildman-induced
953 the build system and source changes allow. buildman's -P flag may be used to
954 enable this; -P causes each board to be built in a separate (board-specific)
955 directory, thus avoiding any buildman-induced configuration changes in any
958 U-Boot's build system embeds information such as a build timestamp into the
959 final binary. This information varies each time U-Boot is built. This causes
961 requires that the final U-Boot binary be re-linked. This unnecessary work can
965 Combining all of these options together yields the command-line shown below.
969 SOURCE_DATE_EPOCH=0 ./tools/buildman/buildman -I -P tegra
977 Buildman supports this with the -K option, used after a build. This shows
982 $ buildman -b kc4 -sK
986 + u-boot.cfg: CONFIG_SPL_ENV_SUPPORT=1 CONFIG_SPL_NET_SUPPORT=1
987 + u-boot-spl.cfg: CONFIG_SPL_MMC_SUPPORT=1 CONFIG_SPL_NAND_SUPPORT=1
990 + u-boot.cfg: CONFIG_SPL_ENV_SUPPORT=1 CONFIG_SPL_NET_SUPPORT=1
991 + u-boot-spl.cfg: CONFIG_SPL_MMC_SUPPORT=1 CONFIG_SPL_NAND_SUPPORT=1
1002 The -K option uses the u-boot.cfg, spl/u-boot-spl.cfg and tpl/u-boot-tpl.cfg
1004 configuration you can in fact avoid doing a full build, using -D. This tells
1005 buildman to configuration U-Boot and create the .cfg files, but not actually
1006 build the source. This is 5-10 times faster than doing a full build.
1018 option to Kconfig. To disable this behaviour, use --squash-config-y.
1026 changed due to the conversion. Buildman supports this with the -U option,
1032 $ buildman -b squash brppt1 -sU
1037 c brppt1_mmc: altbootcmd=mmc dev 1; run mmcboot0; -> mmc dev 1; run mmcboot0
1038 c brppt1_spi: altbootcmd=mmc dev 1; run mmcboot0; -> mmc dev 1; run mmcboot0
1040 - brppt1_nand: altbootcmd=run usbscript
1047 The -U option uses the u-boot.env files which are produced by a build.
1053 To build with clang (sandbox only), use the -O option to override the
1056 buildman -O clang-7 --board sandbox
1062 Buildman has various other command line options. Try --help to see them.
1080 - We don't want to maintain two build systems
1081 - Buildman is typically faster
1082 - Buildman has a lot more features
1087 First you need to set up your tool chains - see the 'Setting up' section
1091 To build the current source tree, run buildman without a -b flag:
1101 ./tools/buildman/buildman -b <branch_name> <list of things to build>
1105 ./tools/buildman/buildman -b <branch_name> -s <list of things to build>
1109 an error and green indicating that a commit fixed an error. Use the -e
1110 flag to see the full errors and -l to see which boards caused which errors.
1112 If you really want to see build results as they happen, use -v when doing a
1113 build (and -e to see the errors/warnings too).
1124 - build all Power Architecture boards:
1125 MAKEALL -a powerpc
1126 MAKEALL --arch powerpc
1128 ** buildman -b <branch> powerpc
1129 - build all PowerPC boards manufactured by vendor "esd":
1130 MAKEALL -a powerpc -v esd
1131 ** buildman -b <branch> esd
1132 - build all PowerPC boards manufactured either by "keymile" or "siemens":
1133 MAKEALL -a powerpc -v keymile -v siemens
1134 ** buildman -b <branch> keymile siemens
1135 - build all Freescale boards with MPC83xx CPUs, plus all 4xx boards:
1136 MAKEALL -c mpc83xx -v freescale 4xx
1137 ** buildman -b <branch> mpc83xx freescale 4xx
1142 You can use the -T flag to change the number of threads. If you are only
1143 building a few boards, buildman will automatically run make with the -j
1146 option in MAKEALL then -j is the equivalent in buildman.
1149 this with the -o option. Buildman normally does out-of-tree builds: use -i
1151 used -i you pollute buildman's copies of the source tree, and you will need
1153 in normal mode (without -i).
1155 Buildman doesn't keep the output result normally, but use the -k option to
1163 -B shows which functions are growing/shrinking in which commit - great
1165 -S shows image sizes for each commit (just an overall summary)
1166 -u shows boards that you haven't built yet
1167 --step 0 will build just the upstream commit and the last commit of your
1194 Updated 12-12-12
1195 Updated 23-02-13