From owner-freebsd-hackers Fri Aug 2 10:46:12 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A2CDF37B400 for ; Fri, 2 Aug 2002 10:46:09 -0700 (PDT) Received: from goose.mail.pas.earthlink.net (goose.mail.pas.earthlink.net [207.217.120.18]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1EA1443E3B for ; Fri, 2 Aug 2002 10:46:09 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from pool0929.cvx21-bradley.dialup.earthlink.net ([209.179.195.164] helo=mindspring.com) by goose.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 17agUx-0000vg-00; Fri, 02 Aug 2002 10:46:00 -0700 Message-ID: <3D4AC526.4CD399B3@mindspring.com> Date: Fri, 02 Aug 2002 10:45:10 -0700 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Dmitry Morozovsky Cc: hackers@freebsd.org Subject: Re: -fomit-frame-pointer for the world build References: <20020802212841.R58905-100000@woozle.rinet.ru> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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