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