pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/allegro Add patch for gcc-4.1, provided by mrg@.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/16b4981a3464
branches:  trunk
changeset: 515340:16b4981a3464
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Sat Jul 01 09:59:49 2006 +0000

description:
Add patch for gcc-4.1, provided by mrg@.

diffstat:

 devel/allegro/distinfo         |   3 +-
 devel/allegro/patches/patch-ae |  50 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 1 deletions(-)

diffs (70 lines):

diff -r 3d98d2d4984d -r 16b4981a3464 devel/allegro/distinfo
--- a/devel/allegro/distinfo    Sat Jul 01 09:26:41 2006 +0000
+++ b/devel/allegro/distinfo    Sat Jul 01 09:59:49 2006 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.10 2006/03/22 23:53:33 jlam Exp $
+$NetBSD: distinfo,v 1.11 2006/07/01 09:59:49 wiz Exp $
 
 SHA1 (allegro-4.2.0.tar.gz) = 5b4a542c038ee196564f9107de59fe30a8caeaf5
 RMD160 (allegro-4.2.0.tar.gz) = e1602ea2f8bc1761be0ee34001e9d77d3a6ea3ff
@@ -7,5 +7,6 @@
 SHA1 (patch-ab) = 839ae8fb1544e967be1923fa1d316df339a120bd
 SHA1 (patch-ac) = 78f99723b095f460f20e8367fffb443a8f3d6ab6
 SHA1 (patch-ad) = 52f694e1b0053cff94c53ee10f603d535eba5fa5
+SHA1 (patch-ae) = df0c1228a83ca94ff93cda211b0d1bd6f87546df
 SHA1 (patch-ax) = e01206c35df3b951d686c22f3e0ebf6ec2196e20
 SHA1 (patch-ay) = 66813e0b018db01a34bf014962e9a4630d8aec0d
diff -r 3d98d2d4984d -r 16b4981a3464 devel/allegro/patches/patch-ae
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/allegro/patches/patch-ae    Sat Jul 01 09:59:49 2006 +0000
@@ -0,0 +1,50 @@
+$NetBSD: patch-ae,v 1.3 2006/07/01 09:59:49 wiz Exp $
+
+--- include/allegro/platform/al386gcc.h.orig   2005-03-09 21:49:46.000000000 +0000
++++ include/allegro/platform/al386gcc.h
+@@ -208,14 +208,13 @@ AL_INLINE(fixed, fixsub, (fixed x, fixed
+  */
+ AL_INLINE(fixed, fixmul, (fixed x, fixed y),
+ {
+-   fixed edx __attribute__ ((__unused__));
+    fixed result;
+ 
+    __PRECALCULATE_CONSTANTS(x / 65536.0 * y)
+    {
+       __asm__ (
+-       "  movl %2, %%eax ; "
+-       "  imull %3 ; "                  /* do the multiply */
++       "  movl %1, %%eax ; "
++       "  imull %2 ; "                  /* do the multiply */
+        "  shrdl $16, %%edx, %%eax ; "
+ 
+        "  sarl $15, %%edx ; "           /* check for overflow */
+@@ -223,14 +222,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed
+        "  cmpl $-1, %%edx ; "
+        "  je 0f ; "
+ 
+-       "  movl %5, %%eax ; "            /* on overflow, set errno */
+-       "  movl %4, (%%eax) ; "
++       "  movl %4, %%eax ; "            /* on overflow, set errno */
++       "  movl %3, (%%eax) ; "
+        "  movl $0x7FFFFFFF, %%eax ; "   /* and return MAXINT */
+-       "  cmpl $0, %2 ; "
++       "  cmpl $0, %1 ; "
+        "  jge 1f ; "
+        "  negl %%eax ; "
+        " 1: "
+-       "  cmpl $0, %3 ; "
++       "  cmpl $0, %2 ; "
+        "  jge 0f ; "
+        "  negl %%eax ; "
+ 
+@@ -238,8 +237,7 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed
+ 
+        " 0: "                           /* finished */
+ 
+-      : "=&a" (result),                   /* the result has to go in eax */
+-      "=&d" (edx)                       /* reliably reserve edx */
++      : "=&a" (result)                    /* the result has to go in eax */
+ 
+       : "mr" (x),                         /* x and y can be regs or mem */
+       "mr" (y),



Home | Main Index | Thread Index | Old Index