[U-Boot] [PATCH] If CONFIG_SANDBOX isn't defined the build fails in fw_env.c

Simon Glass sjg at chromium.org
Wed Jun 17 17:06:44 CEST 2015


Hi Peter,

On 17 June 2015 at 05:29, Masahiro Yamada <yamada.masahiro at socionext.com> wrote:
> Hi.
>
>
> 2015-06-17 3:24 GMT+09:00 Simon Glass <sjg at chromium.org>:
>> Hi Peter,
>>
>> On 15 June 2015 at 13:40, Peter Robinson <pbrobinson at gmail.com> wrote:
>>> In our Fedora builds we get the below errors if we build the following using
>>> a vanilla u-boot 2015.07rc2. I'm not sure if it's the best fix but it fixes
>>> the build for rc2.
>>>
>>> make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" defconfig V=1 O=builds/
>>> make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all V=1 O=builds/
>>>
>>> gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -Wp,-MD,tools/env/.fw_env.o.d -Itools/env -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafterinclude -idirafter../include -idirafter../arch/sandbox/include -idirafter ../tools/env -DUSE_HOSTCC -DTEXT_BASE= -c -o tools/env/fw_env.o ../tools/env/fw_env.c
>>> In file included from ../include/configs/sandbox.h:130:0,
>>>                  from include/config.h:5,
>>>                  from ../tools/env/fw_env.h:11,
>>>                  from ../tools/env/fw_env.c:34:
>>> ../include/env_default.h:104:2: error: expected '}' before 'BOOT_TARGET_DEVICES_references_HOST_without_CONFIG_SANDBOX'
>>>   CONFIG_EXTRA_ENV_SETTINGS
>>>   ^
>>> scripts/Makefile.host:108: recipe for target 'tools/env/fw_env.o' failed
>>> make[2]: *** [tools/env/fw_env.o] Error 1
>>
>> Thanks for the report. I can't seem to repeat this. The build
>> completes OK for me.
>>
>> CONFIG_SANDBOX is defined in arch/Kconfig. It ends up in your build
>> directory in these files.
>>
>> b/sandbox/include/config/auto.conf:CONFIG_SANDBOX=y
>> b/sandbox/include/generated/autoconf.h:#define CONFIG_SANDBOX 1
>>
>> autoconf.h is the one that matters. I wonder why this is not included
>> in your case?
>>
>> I notice that fw_env.h starts like this:
>>
>> /* Pull in the current config to define the default environment */
>> #ifndef __ASSEMBLY__
>> #define __ASSEMBLY__ /* get only #defines from config.h */
>> #include <config.h>
>> #undef __ASSEMBLY__
>> #else
>> #include <config.h>
>> #endif
>> #include <generated/autoconf.h>
>>
>> Should the inclusion of autoconf.h go above the inclusion of config.h, perhaps?
>
>
> Right.
>
> autoconf.h should be included earlier than any other headers.
> Besides, linux/kconfig.h is preferred to generated/autoconf.h
>
>
> I posted a patch for this problem last year.  See
> http://patchwork.ozlabs.org/patch/417192/
>
> I do not know why it was dismissed long.
>
>
> And then, another patch was posted and picked up.
>
> http://patchwork.ozlabs.org/patch/461411/
>
> But, it was not good...

With Masahiro's comments are you able to update your patch?

Regards,
Simon


More information about the U-Boot mailing list