[U-Boot] [PATCH] CRITICAL error in v2013.04-rc2 (true and false not working)

Pali Rohár pali.rohar at gmail.com
Thu Apr 4 23:26:30 CEST 2013


On Thursday 04 April 2013 23:21:22 York Sun wrote:
> On 04/04/2013 02:19 PM, Pali Rohár wrote:
> > On Thursday 04 April 2013 23:05:18 York Sun wrote:
> >> On 04/04/2013 01:33 PM, Wolfgang Denk wrote:
> >>> Dear Pali Rohár,
> >>> 
> >>> In message <201304041946.55455 at pali> you wrote:
> >>>> u-boot "true" and "false" hush commands are copiled
> >>>> incorrectly in uboot v2013.04-rc2
> >>>> (c8142633e169665b246352918df5b76fd243bb71)
> >>>> 
> >>>> when I run help in u-boot it show:
> >>>> 
> >>>> # help
> >>>> 0       - do nothing, unsuccessfully
> >>>> 1       - do nothing, successfully
> >>>> ?       - alias for 'help'
> >>>> base    - print or set address offset
> >>>> ...
> >>>> 
> >>>> Instead "0" and "1" there should be "false" and "true"
> >>>> command.
> >>> 
> >>> I confirm the problem.
> >>> 
> >>> York, your commit 472d546 "Consolidate bool type" is
> >>> causing this issue, so I suggest you send a fix, please.
> >>> 
> >>> Please check for other, similar use cases.
> >> 
> >> I found the cause but I don't know the best fix. Please
> >> help.
> >> 
> >> This is cause by common/cmd_test.c. It has command "true"
> >> and "false". Shall I undef true and false before the
> >> U_BOOT_CMD in this file, or use True and False as the
> >> names? If there is a better way to do that, please
> >> enlighten me.
> >> 
> >> York
> > 
> > If you rename commands "true" and "false" to "True" and
> > "False" you will break all code which using it. Now RX-51
> > board do not booting due to missing "true" and "false"
> > commands...
> 
> Would this fix be acceptable?
> 
> diff --git a/common/cmd_test.c b/common/cmd_test.c
> index d4ec186..2ce3d3d 100644
> --- a/common/cmd_test.c
> +++ b/common/cmd_test.c
> @@ -155,6 +155,10 @@ static int do_false(cmd_tbl_t *cmdtp, int
> flag, int argc, char * const argv[])
>         return 1;
>  }
> 
> +#ifdef true
> +#undef true
> +#undef false
> +
>  U_BOOT_CMD(
>         false,  CONFIG_SYS_MAXARGS,     1,      do_false,
>         "do nothing, unsuccessfully",
> @@ -171,3 +175,5 @@ U_BOOT_CMD(
>         "do nothing, successfully",
>         NULL
>  );
> +
> +#endif
> 
> York

I already proposed patch in first email:
http://lists.denx.de/pipermail/u-boot/2013-April/151009.html

Adding #undef true and #undef false fixing this problem.

-- 
Pali Rohár
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130404/4d23e139/attachment.pgp>


More information about the U-Boot mailing list