Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Jan 2007 19:34:02 GMT
From:      Oleksandr Tymoshenko <gonzo@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 112616 for review
Message-ID:  <200701061934.l06JY2Uv049443@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=112616

Change 112616 by gonzo@gonzo_hq on 2007/01/06 19:33:17

	o Make stack 64-bit aligned: required by ABI to pass 
	    64-bits arguments.

Affected files ...

.. //depot/projects/mips2/src/lib/csu/mips/crt1.c#4 edit

Differences ...

==== //depot/projects/mips2/src/lib/csu/mips/crt1.c#4 (text+ko) ====

@@ -80,15 +80,20 @@
 "	.globl	_start		\n"
 "	_start:			\n"
 "	/* Get argc, argv from stack */	\n"
+"	/* lw	a0, 0(sp)     */\n"
+"	/* move	a1, sp        */\n"
+"	/* addu	a1, 4         */\n"
 "				\n"
-"	/* lw	a0, 0(sp)   */\n"
-"	/* move	a1, sp        */\n"
-"	/* addu	a1, 4    */\n"
+"	/* Stack should 8bytes aligned */\n"
+"	/* required by ABI to pass     */\n"
+"	/* 64-bits arguments           */\n"
+"	/* and	sp, ~8        */\n"
 "				\n"
 "	lw	$4, 0($29)	\n"
 "	move	$5, $29		\n"
 "	addu	$5, 4		\n"
-"	/* TODO: Ensure the stack is properly aligned before calling C code. */\n"
+"				\n"
+"	and	$29, 0xfffffff8	\n"
 "\n"
 "	j	 __start  ");
 /* ARGSUSED */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701061934.l06JY2Uv049443>