tags 428190 + patch
thanks

I have got a patch from upstream, please get the source package of mono
1.2.4-4 and apply it and run at least: gfax banshee and monodevelop.

When all 3 applications run normally, I will include the patch in a -5
upload.

-- 
Regards,

Mirco 'meebey' Bauer

PGP-Key ID: 0xEEF946C8

FOSS Developer    [EMAIL PROTECTED]  http://www.meebey.net/
PEAR Developer    [EMAIL PROTECTED]     http://pear.php.net/
Debian Developer  [EMAIL PROTECTED]  http://www.debian.org/
--- trunk/mono/mono/mini/mini-ppc.c	2007/05/09 11:15:39	76997
+++ trunk/mono/mono/mini/mini-ppc.c	2007/07/05 18:01:50	81413
@@ -2560,8 +2560,12 @@
 			ppc_rlwinm (code, ppc_r11, ppc_r11, 0, 0, 27);
 			/* use ctr to store the number of words to 0 if needed */
 			if (ins->flags & MONO_INST_INIT) {
-				/* we zero 4 bytes at a time */
-				ppc_addi (code, ppc_r0, ins->sreg1, 3);
+				/* we zero 4 bytes at a time:
+				 * we add 7 instead of 3 so that we set the counter to
+				 * at least 1, otherwise the bdnz instruction will make
+				 * it negative and iterate billions of times.
+				 */
+				ppc_addi (code, ppc_r0, ins->sreg1, 7);
 				ppc_srawi (code, ppc_r0, ppc_r0, 2);
 				ppc_mtctr (code, ppc_r0);
 			}
@@ -2571,7 +2575,10 @@
 			
 			if (ins->flags & MONO_INST_INIT) {
 				/* adjust the dest reg by -4 so we can use stwu */
-				ppc_addi (code, ins->dreg, ppc_sp, (area_offset - 4));
+				/* we actually adjust -8 because we let the loop
+				 * run at least once
+				 */
+				ppc_addi (code, ins->dreg, ppc_sp, (area_offset - 8));
 				ppc_li (code, ppc_r11, 0);
 				zero_loop_start = code;
 				ppc_stwu (code, ppc_r11, 4, ins->dreg);

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to