[U-Boot] help on using buildman

Masahiro Yamada
2014-11-21T06:00:00Z

Hi York,

I have not been able to reproduce this issue on my box,
but the cause surely resides on Kbuild itself.
It is not related to buildman at all.

> /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c:
> In function ?et_symbol_str?
> /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c:551:
> warning: ?ump?may be used uninitialized in this function
> HOSTLD scripts/kconfig/conf
> #
> # configuration written to .config
> #
> GEN ./Makefile
> scripts/kconfig/conf --silentoldconfig Kconfig
> CHK include/config.h
> UPD include/config.h
> GEN include/autoconf.mk
> GEN include/autoconf.mk.dep
> CHK include/config/uboot.release
> GEN ./Makefile
> CHK include/generated/timestamp_autogenerated.h
> make[2]: *** No rule to make target
> `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/arch//cpu/u-boot.lds',
> needed by `u-boot.lds'. Stop.

According to this fail log, "ARCH" has not been defined yet when LDSCRIPT is evaluated.

# If there is no specified link script, we look in a number of places for it
ifndef LDSCRIPT
ifeq ($(wildcard $(LDSCRIPT)),)
LDSCRIPT := $(srctree)/board/$(BOARDDIR)/u-boot.lds
endif
ifeq ($(wildcard $(LDSCRIPT)),)
LDSCRIPT := $(srctree)/$(CPUDIR)/u-boot.lds
endif
ifeq ($(wildcard $(LDSCRIPT)),)
LDSCRIPT := $(srctree)/arch/$(ARCH)/cpu/u-boot.lds
endif
endif

I am not sure the real cause but it looks like the following code does not
work on *some* situation.

autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find . \
-path ./include/config/auto.conf -newer $(KCONFIG_CONFIG)))
ifneq ($(autoconf_is_current),)
include $(srctree)/config.mk
endif

Now I have realized that it is the problem I am responsible to fix,
but it might not be easy enough to change LDSCRIPT stuff.

So, my question is, how much time can you give me to fix it?
Can you bare with it one month or so?

Best Regards
Masahiro Yamada