[U-Boot] [PATCH 0/34] Switch over to real Kbuild

Simon Glass sjg at chromium.org
Wed Dec 18 17:21:03 CET 2013


Hi Masahiro,


On 16 December 2013 02:42, Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
> Hello Simon
>
>
>> Further to this one - here is my full buildman output. There are a few
>> PPC problems also:
>
> Your close check is highly appreciated.
> Thanks!
>
>> 29: Makefile: move more flags to the top Makefile
>>    powerpc: +   rainier_nand glacier_nand canyonlands_nand
>> sequoia_nand haleakala_nand kilauea_nand acadia_nand bamboo_nand
>> 30: Makefile: refactor include path settings
>> 31: Makefile: move more stuff to top Makefile
>>    powerpc:    rainier_nand glacier_nand canyonlands_nand sequoia_nand
>> haleakala_nand kilauea_nand acadia_nand bamboo_nand
>
> It looks like nand_spl boards are
> broken at 29 and fixed at 31.
>
> I will fix this problem at v2.
>
>
>> 34: Kbuild: change out-of-tree building
>>    sandbox: +   sandbox
>>   blackfin:    bf561-acvilon cm-bf537u
>> 35: Kbuild: add dummy obj-y to create built-in.o
>> 36: Makefile: rename scripts/Makefile.build to scripts/Makefile.build.tmp
>> 37: Kbuild: import more build scripts from Linux v3.12 tag
>> 38: Kbuild: use Linux Kernel build scripts
>>    sandbox:    sandbox
>>   blackfin: +   bf561-acvilon cm-bf537u
>
> Sandbox is broken at 34 and fixed at 38.
>
> I will fix this problem too at v2.
>
>
> buildman is also reporting something about bf561-acvilon and cm-bf537u.
> But as long as I tested, I believe it is unrelated to Kbuild.
>
> Sonic Zhang posted some patches to fix errors/warnings of Blackfin
> boards.
> Please check this again after u-boot-blackfin/mater is merged.
>
>
>
>> > What will happen with the 'FIX ME's that are generated? e.g.:
>
> I mentioned about My Next Plan in this covor letter.
> I want to refactor more makefiles lator including such as
> "FIX ME" or "TODO" items.
>
>> > +# FIX ME
>> > +ifneq ($(filter lib lib/lzma lib/zlib, $(obj)),)
>> > +ccflags-y := -O2
>> > +endif
>
> I was thinking to do something about this after Kconfig.
>
> Some Blackfin, M68K boards want to compile lib, lib/lzma, lib/zlib
> with -O2 option and other sources with -Os option.
>
> I think this feature is WANT, not MUST.
>
> If this feature deserves maintainance,
> how about adding new CONFIG macro like this?
>
> config CC_OPTIMIZE_LIBS_FOR_SPEED
>         bool "Optimize libraries for speed"
>         help
>           Enabling this option will pass "-O2" when compiling C sources
>            under lib/ directory even if -Os is given to the whole sources.
>           If unsure, say N.

Sounds reasonable to me.

>
>
> And add the following line to lib/Makefile.
>
> subdir-ccflags-$(CONFIG_OPTIMIZE_LIBS_FOR_SPEED) += -O2
>
>
>
>> Have you done any comparison on build times?
>
> Do you mean Kbuild is slower than U-Boot conventional build system?

No, faster. It could just be that it works better in parallel.

upstream/master:
real 0m4.012s
user 0m18.760s
sys 0m2.270s

kbuild/kbuild2:
real 0m3.192s
user 0m18.220s
sys 0m2.030s


Regards,
Simon


More information about the U-Boot mailing list