[U-Boot] [RFC 0/2 v2] Remove CONFIG_SYS_MAXARGS

John Schmoller jschmoller at xes-inc.com
Sat Apr 10 00:00:32 CEST 2010


On Fri, 2010-04-09 at 23:04 +0200, Wolfgang Denk wrote:
> Dear John Schmoller,
> 
> In message <cover.1268416692.git.jschmoller at xes-inc.com> you wrote:
> > The first patch removes CONFIG_SYS_MAXARGS, replacing the staticly defined
> > array with a malloc'd array of the appropriate size. When a function has no
> > upper argument limit (ie, was set to CONFIG_SYS_MAXARGS), it is now set to 0
> > to indicate this fact.  Argument count is now unlimited, within reason and
> > malloc buffer size.
> > 
> > The second patch removes cmdtp->maxargs and moves the checks to the individual
> > command functions.  Since most functions do bounds checking anyway, it's a
> > a fairly cheap task (sometimes free) to remove this bounds check in
> > common/main.c.  In addition, it's more intuitive (in my opinion) if all bounds
> > checking is done in only one place for each function.  The second patch also
> > creates a CMD_ERR_USAGE return value, which prints usage when returned.  The
> > overall effect of this patch is to reduce code size by an average of 200-250
> > bytes and, I feel, make things a bit cleaner.
> > 
> > I'm looking for comments on these two patches as they are quite invasive, and
> > will definitly cause problems for those people who maintain their own code
> > out-of-tree.  They may also require an additional amount of testing.
> 
> Did you actually run MAKEALL after applying the patches?
> 
> I tried to get a feeling for the impact on the memory footprint, but
> it doesn't work for me. I get tons of error messages like these:
> 

I did run MAKEALL on ppc and arm. So, either something must have changed
or you're seeing these errors on an arch I don't have a compiler set up
for.  Are you seeing these errors on all arches or just on a specific
arch?  I'll try to get to this as soon as I can.

John



More information about the U-Boot mailing list