[U-Boot] [PATCH 5/7] dfu:cmd: Support for DFU u-boot command

Marek Vasut
2012-07-20T11:35:21Z

Dear Mike Frysinger,

> On Tuesday 03 July 2012 17:32:54 Marek Vasut wrote:
> > > +int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> > > +{
> > > + char *str_env = NULL, *env_bkp = NULL;
> > > + static char *s = "dfu";
> > > + int ret = 0;
> > > +
> > > + if (argc < 3)
> > > + return CMD_RET_USAGE;
> > > +
> > > + str_env = getenv("dfu_alt_info");
> > > + if (str_env == NULL) {
> > > + printf("%s: \"dfu_alt_info\" env variable not defined!\n",
> > > + __func__);
> >
> > I was always curious if it's not possible to do something like
> >
> > puts(__func__ "rest of string");
> >
> > Maybe it'd help the overhead a bit? Certainly, it's beyond the scope of
> > this patchset, I'm just curious :)
>
> not anymore -- gcc disabled support for that sometime ago. and it's good
> they did as it causes more bloat than good. as soon as you do more than
> one statement, you get duplication. the string table will have:
> "some_func: rest of string"
> "some_func: boo"
> "some_func: another message"
> which takes up more space than:
> "some_func"
> "%s: rest of string"
> "%s: boo"
> "%s: another message"

Good knowing this. I'd expect gcc would build some trie in there to optimize the
size.

> -mike

Best regards,
Marek Vasut