linux-mips
[Top] [All Lists]

Re: Saving arguments on the stack

To: "Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: Saving arguments on the stack
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 22 Nov 2005 12:27:03 +0000
Cc: Nigel Stephens <nigel@mips.com>, "Kevin D. Kissell" <kevink@mips.com>, "Knittel, Brian" <Brian.Knittel@powertv.com>, linux-mips@linux-mips.org
In-reply-to: <Pine.LNX.4.64N.0511221128150.14593@blysk.ds.pg.gda.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <762C0A863A7674478671627FEAF5848105AF92D2@hqmail01.powertv.com> <4382DC76.60506@mips.com> <4382FF29.2020605@mips.com> <20051122112417.GB2706@linux-mips.org> <Pine.LNX.4.64N.0511221128150.14593@blysk.ds.pg.gda.pl>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.2.1i
On Tue, Nov 22, 2005 at 11:39:28AM +0000, Maciej W. Rozycki wrote:

> > > 'Fraid not: the -g option only adds debug info to the object file, it 
> > > shouldn't alter the generated code. Using -O0 will certainly store 
> > > everything on the stack, but it also won't be "with otherwise optimized 
> > > code".
> > 
> > And the kernel won't build without optimization - but that's FAQ since
> > 10 years.
> 
>  Well, with "__attribute__((always_inline))" available and actually used 
> already, perhaps this requirement could be relaxed nowadays...

There were functions in the network stack that intensionally were
declared extern inline to make sure the compiler won't be able to outline
that function unnoticed.  I just grepped for it and can't find it
anymore, must be a relativly recent improvment.

We also rely on the compiler eleminating calls to certain functions
entirely, for example to __xchg_called_with_bad_pointer().

  Ralf

<Prev in Thread] Current Thread [Next in Thread>