[PATCH 05/25] treewide: Correct use of long help

Simon Glass sjg at chromium.org
Fri Oct 6 03:41:49 CEST 2023


Hi Tom,

On Thu, 5 Oct 2023 at 08:53, Tom Rini <trini at konsulko.com> wrote:
>
> On Wed, Oct 04, 2023 at 07:23:47PM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Sun, 24 Sept 2023 at 17:27, Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Sun, Sep 24, 2023 at 02:39:23PM -0600, Simon Glass wrote:
> > > > Some commands assume that CONFIG_SYS_LONGHELP is always defined.
> > > > Declaration of long help should be bracketed by an #ifdef to avoid an
> > > > 'unused variable' warning.
> > > >
> > > > Fix this treewide.
> > > >
> > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > [snip]
> > > > diff --git a/arch/arm/mach-imx/cmd_dek.c b/arch/arm/mach-imx/cmd_dek.c
> > > > index 6fa5b41fcd38..25ea7d3b37da 100644
> > > > --- a/arch/arm/mach-imx/cmd_dek.c
> > > > +++ b/arch/arm/mach-imx/cmd_dek.c
> > > > @@ -393,11 +393,12 @@ static int do_dek_blob(struct cmd_tbl *cmdtp, int flag, int argc,
> > > >       return blob_encap_dek(src_addr, dst_addr, len);
> > > >  }
> > > >
> > > > -/***************************************************/
> > > > +#if IS_ENABLED(CONFIG_SYS_LONGHELP)
> > > >  static char dek_blob_help_text[] =
> > > >       "src dst len            - Encapsulate and create blob of data\n"
> > > >       "                         $len bits long at address $src and\n"
> > > >       "                         store the result at address $dst.\n";
> > > > +#endif
> > > >
> > > >  U_BOOT_CMD(
> > > >       dek_blob, 4, 1, do_dek_blob,
> > >
> > > This really doesn't read nicely.  I would rather (globally and fix
> > > existing users) __maybe_unused this instead.  I think there's just one
> > > example today that isn't "foo_help_text".
> >
> > Hmm, what do you think about adding a __longhelp symbol to cause the
> > linker to discard it when not needed?
>
> Well, I don't think we need linker list magic when __maybe_unused will
> just have them be discarded normally.

Yes, perhaps things are in a better state than they used to be, but
there is a linker discard for commands at present.

SECTIONS
{
#ifndef CONFIG_CMDLINE
        /DISCARD/ : { *(__u_boot_list_2_cmd_*) }
#endif
...

from:

c1352119fd0 arm: x86: Drop command-line code when CONFIG_CMDLINE is disabled

I wonder if we can remove it? I suppose once this series is sorted out
we could have a test to make sure no command is making it into the
image when ~CMDLINE

Regards,
Simon


More information about the U-Boot mailing list