Re: CONFIG_TINY

From: Mark Mielke (mark@mark.mielke.cc)
Date: Thu Oct 31 2002 - 11:51:13 EST


On Thu, Oct 31, 2002 at 07:33:01AM -0700, Tom Rini wrote:
> > If gcc regularly generates larger code with -Os the answer is to talk to
> > the gcc people, not to avoid using -Os...
> It's not that it does regularly, it's that it can, and if it does, it's
> not really a gcc bug from what I recall. So I don't think CONFIG_TINY
> should prefer -Os over -O2 but instead we should just ask the user what
> level of optimization they want. Remember, one of the real important
> parts of embedded systems is flexibility.

Not to stretch this point too long, but turning off inlined functions 'can'
make code bigger too. It usually doesn't.

I have no problem with the other suggestion that CONFIG_TINY specify a
template for a set of build options, but if CONFIG_TINY is used (either
as an option, or a template of options) -Os should always be preferred
over -O2. Whether the user can still override this or not is a different
issue from whether -Os should be preferred over -O2 when CONFIG_TINY is
specified.

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.

mark

-- 
mark@mielke.cc/markm@ncf.ca/markm@nortelnetworks.com __________________________
.  .  _  ._  . .   .__    .  . ._. .__ .   . . .__  | Neighbourhood Coder
|\/| |_| |_| |/    |_     |\/|  |  |_  |   |/  |_   | 
|  | | | | \ | \   |__ .  |  | .|. |__ |__ | \ |__  | Ottawa, Ontario, Canada

One ring to rule them all, one ring to find them, one ring to bring them all and in the darkness bind them...

http://mark.mielke.cc/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Oct 31 2002 - 22:00:54 EST