Re: CONFIG_TINY

Tom Rini
2002-10-31T17:17:49Z

On Thu, Oct 31, 2002 at 12:12:40PM -0500, Mark Mielke wrote:

> On Thu, Oct 31, 2002 at 10:04:20AM -0700, Tom Rini wrote:
> > On Thu, Oct 31, 2002 at 11:51:13AM -0500, Mark Mielke wrote:
> > > Or specified more clearly: If the compiler optimization flag is
> > > configurable, choosing CONFIG_TINY should default the optimization flag
> > > to -Os before it defaults the optimization flag to -O2.
> > You're still missing the point of flexibility remark. Changing the
> > optimization level has nothing to do with CONFIG_TINY, and is a
> > generally useful option, and should be done seperate from CONFIG_TINY.
> > In fact people seem to be getting the wrong idea about CONFIG_TINY. We
> > ...
>
> Please read it again... even if the optimization flag was
> configurable, choosing CONFIG_TINY should *default* the optimization
> flag to -Os before it defaults the optimization flag to -O2.

Yes, and I'm saying that CONFIG_TINY shouldn't exist. It should be
CONFIG_FINE_TUNE (or so), to allow anyone to fine tune the optimization
level. Changing optimization levels is a speed / size tradeoff (if it
wasn't, there wouldn't be -O2 / -Os, they would do the same thing) which
you cannot pick a sane default for.

> In the case where CONFIG_TINY is an option on its own, it means using -Os
> instead of -O2. In the case where CONFIG_TINY is a template *not an option*,
> the configurable "optimization flag" gets initialized to -Os. You could
> still override -Os to be -O2 if you wanted to, or if CONFIG_TINY was not
> specified, you could still override -O2 to be -Os... the default is -Os for
> CONFIG_TINY.

You're still falling into the 'embedded must mean small!' trap. The
template should default to the well tested -O2, not the less tested
-Os.

--
Tom Rini (TR1265)