Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Aug 2002 00:05:02 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Darren Pilgrim <dmp@pantherdragon.org>
Cc:        Jason Andresen <jandrese@mitre.org>, Dmitry Morozovsky <marck@rinet.ru>, hackers@freebsd.org
Subject:   Re: -fomit-frame-pointer for the world build
Message-ID:  <3D4F751E.1A5C1327@mindspring.com>
References:  <20020802212841.R58905-100000@woozle.rinet.ru> <3D4AC526.4CD399B3@mindspring.com> <3D4C8464.A2F4775A@pantherdragon.org> <3D4CC81F.94526C8A@mindspring.com> <3D4EA466.C1289F0F@mitre.org> <3D4EF091.EA1C91D3@pantherdragon.org> <3D4F0A5F.9B76573F@mindspring.com> <3D4F58B2.E58C2865@pantherdragon.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Darren Pilgrim wrote:
> > If you attamept to mix code that does callee pop or tail call
> > optimization (e.g. in a library) with code that omits the
> > frame pointer, or vice versa, then either the caller is going
> > to push something that is never popped, or the callee is going
> > to pop something that is never pushed.  For hand coded assembly
> > functions, it's not possible to make it obey the options which
> > control this (e.g when it is not the caller which does both
> > the pushing and popping of arguments).
> 
> Are there any such known instances in the FreeBSD base code or any of
> the (more popular) ports?

I don't know.  I don't think anyone has spent the effort on an
audit, just so they could turn on an optimization that is only
going to impact function call overhead, mostly in poorly written
programs that have a high "calling functions vs. doing real work"
ratio.  8-).

So the answer is "use at your own risk" and the meta answer is
"don't ask for it to be turned on by default unless you are
willing to do a full audit of the code, thanks".

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D4F751E.1A5C1327>