Skip to content

RFC Remove CONFIG_SYS_MAXARGS

John Schmoller u-boot 3 versions – New

Get series with b4
b4 am 1270850432.4458.36.camel@johns

Versions newest first · linked by author and title

  1. v2 RFC Latest posting 2/20 of 2 patches 0 repliesNew
  2. v2 RFC posting 1/22 patches 0 repliesSuperseded
  3. v1 RFC1 of 2 patches 0 repliesSuperseded

Patches in v2 posting 2/2 No applies recorded yet

None of the 2 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [U-Boot] [RFC 0/2 v2] Remove CONFIG_SYS_MAXARGS
Quoted 18 lines · Wolfgang Denk

Dear John Schmoller,

Quoted 15 lines · In message <[email protected]> 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.

Quoted 9 lines
Quoted 3 lines

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