Subject: Re: CVS commit: src/sys/arch/i386/include
To: Christos Zoulas <christos@netbsd.org>
From: Valeriy E. Ushakov <uwe@stderr.spb.ru>
List: port-i386
Date: 04/16/2007 12:45:40
On Mon, Apr 16, 2007 at 03:49:54 +0000, Christos Zoulas wrote:
> Module Name: src
> Committed By: christos
> Date: Mon Apr 16 03:49:54 UTC 2007
>
> Modified Files:
> src/sys/arch/i386/include: profile.h
>
> Log Message:
> save and restore %eax, %ecx, otherwise profiling does not work properly.
> >From Anon Ymous. Example program that fails:
>
> int
> main(int argc, char *argv[])
> {
> return argc;
> }
>
>
> To generate a diff of this commit:
> cvs rdiff -r1.26 -r1.27 src/sys/arch/i386/include/profile.h
This was also reported as port-i386/34497
IIRC, this fix is not complete b/c the trampoline still doesn't save
%edx, which can be used with regparm calling convention.
As I've noted in previous mail, the C trampoline should just die and
be replaced with assembly version.
PS: Joerg, what was the related gcc pr you've mentioned the other day?
SY, Uwe
--
uwe@stderr.spb.ru | Zu Grunde kommen
http://snark.ptc.spbu.ru/~uwe/ | Ist zu Grunde gehen