From owner-freebsd-hackers Fri Aug 24 13:48:20 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from earth.backplane.com (earth-nat-cw.backplane.com [208.161.114.67]) by hub.freebsd.org (Postfix) with ESMTP id EA47137B409; Fri, 24 Aug 2001 13:48:16 -0700 (PDT) (envelope-from dillon@earth.backplane.com) Received: (from dillon@localhost) by earth.backplane.com (8.11.6/8.11.2) id f7OKmBu00154; Fri, 24 Aug 2001 13:48:11 -0700 (PDT) (envelope-from dillon) Date: Fri, 24 Aug 2001 13:48:11 -0700 (PDT) From: Matt Dillon Message-Id: <200108242048.f7OKmBu00154@earth.backplane.com> To: Dan Nelson Cc: John Baldwin , Leo Bicknell , "David O'Brien" , freebsd-hackers@freebsd.org, Steve Roome Subject: Re: function calls/rets in assembly References: <20010824161024.A45122@ussenterprise.ufp.org> <20010824153622.A17762@dan.emsphone.com> 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 You guys are forgetting about the stack-boundry crap some idiot added to GCC to optimize floating point ops, which gets stuffed in there even if there are no floating point ops. I really wish someone would rip it out. It is SOOO fraggin annoying. -Matt cc -S -O -fomit-frame-pointer -mpreferred-stack-boundary=2 x.c printasint: pushl 4(%esp) pushl $.LC0 call printf addl $8,%esp ret cc -S -fomit-frame-pointer -mpreferred-stack-boundary=2 x.c printasint: movl 4(%esp),%eax pushl %eax pushl $.LC0 call printf addl $8,%esp .L2: ret To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message