[AD] Patch for fdiv

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


This patch fixes bug in fdiv:

--- new/allegro/include/allegro/al386gcc.h	Sun Oct  3 17:03:50 1999
+++ tmp/allegro/include/allegro/al386gcc.h	Sat Nov  6 17:19:53 1999
@@ -241,7 +241,7 @@
       : "mr" (x),                         /* x and y can be regs or mem */
 	"mr" (y),
 	"i" (ERANGE),
-	"m" (&errno)
+	"m" (allegro_errno)
 
       : "%cc", "memory"                   /* clobbers flags and errno */
       );
@@ -311,7 +311,8 @@
 	 "  jns 6f ; "
 
 	 " 5: "
-	 "  movl %5, %6 ; "               /* on overflow, set errno */
+	 "  movl %6, %%eax ; "            /* on overflow, set errno */
+	 "  movl %5, (%%eax) ; "
 	 "  movl $0x7FFFFFFF, %%eax ; "   /* and return MAXINT */
 
 	 " 6: "                           /* finished */
@@ -323,7 +324,7 @@
       : "0" (x),                          /* x in eax */
 	"2" (y),                          /* y in register */
 	"i" (ERANGE),
-	"m" (&errno)
+	"m" (allegro_errno)
 
       : "%cc", "memory"                   /* clobbers flags and memory  */
       );


-- 
Michael Bukin



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/