Date: Fri, 02 Aug 2002 10:45:10 -0700 From: Terry Lambert <tlambert2@mindspring.com> To: Dmitry Morozovsky <marck@rinet.ru> Cc: hackers@freebsd.org Subject: Re: -fomit-frame-pointer for the world build Message-ID: <3D4AC526.4CD399B3@mindspring.com> References: <20020802212841.R58905-100000@woozle.rinet.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Dmitry Morozovsky wrote:
> What are the drawbacks of building FreeBSD with -fomit-frame-pointer? As
> far as I can see, it saves both space (which is not as worth as disk space
> got cheaper and cheaper) and execution time (which is, AFAICC, more
> important).
>
> I'd already done some tests, but not really deep.
>
> Would you please clarify this issue abit, or point me to any articles
> describing exact -fomit-frame-pointer behaviour?
The frame pointer is used for debugging, specifically for the
stack traceback function to know arguments. Removing it means
losing some debugging functionality. Next time try "info gcc":
`-fomit-frame-pointer'
Don't keep the frame pointer in a register for functions that
don't need one. This avoids the instructions to save, set up and
restore frame pointers; it also makes an extra register available
in many functions. *It also makes debugging impossible on some
machines.*
On some machines, such as the Vax, this flag has no effect, because
the standard calling sequence automatically handles the frame
pointer and nothing is saved by pretending it doesn't exist. The
machine-description macro `FRAME_POINTER_REQUIRED' controls
whether a target machine supports this flag. *Note Registers::.
-- 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?3D4AC526.4CD399B3>
