pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/devel/allegro Better fix for assembler problem from mrg@.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d47a7634a61d
branches:  trunk
changeset: 515567:d47a7634a61d
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Tue Jul 04 06:27:39 2006 +0000

description:
Better fix for assembler problem from mrg@.

diffstat:

 devel/allegro/distinfo         |   4 ++--
 devel/allegro/patches/patch-ae |  29 ++++++++++++++++++++---------
 2 files changed, 22 insertions(+), 11 deletions(-)

diffs (79 lines):

diff -r 6bd6e519cdae -r d47a7634a61d devel/allegro/distinfo
--- a/devel/allegro/distinfo    Tue Jul 04 06:23:50 2006 +0000
+++ b/devel/allegro/distinfo    Tue Jul 04 06:27:39 2006 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2006/07/01 09:59:49 wiz Exp $
+$NetBSD: distinfo,v 1.12 2006/07/04 06:27:39 wiz Exp $
 
 SHA1 (allegro-4.2.0.tar.gz) = 5b4a542c038ee196564f9107de59fe30a8caeaf5
 RMD160 (allegro-4.2.0.tar.gz) = e1602ea2f8bc1761be0ee34001e9d77d3a6ea3ff
@@ -7,6 +7,6 @@
 SHA1 (patch-ab) = 839ae8fb1544e967be1923fa1d316df339a120bd
 SHA1 (patch-ac) = 78f99723b095f460f20e8367fffb443a8f3d6ab6
 SHA1 (patch-ad) = 52f694e1b0053cff94c53ee10f603d535eba5fa5
-SHA1 (patch-ae) = df0c1228a83ca94ff93cda211b0d1bd6f87546df
+SHA1 (patch-ae) = 32e5ecd77e58bb6926c207c668755043448457f9
 SHA1 (patch-ax) = e01206c35df3b951d686c22f3e0ebf6ec2196e20
 SHA1 (patch-ay) = 66813e0b018db01a34bf014962e9a4630d8aec0d
diff -r 6bd6e519cdae -r d47a7634a61d devel/allegro/patches/patch-ae
--- a/devel/allegro/patches/patch-ae    Tue Jul 04 06:23:50 2006 +0000
+++ b/devel/allegro/patches/patch-ae    Tue Jul 04 06:27:39 2006 +0000
@@ -1,12 +1,13 @@
-$NetBSD: patch-ae,v 1.3 2006/07/01 09:59:49 wiz Exp $
+$NetBSD: patch-ae,v 1.4 2006/07/04 06:27:40 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
+--- include/allegro/platform/al386gcc.h.orig   2005-03-09 13:49:46.000000000 -0800
++++ include/allegro/platform/al386gcc.h        2006-07-01 05:39:49.000000000 -0700
+@@ -208,29 +208,29 @@
   */
  AL_INLINE(fixed, fixmul, (fixed x, fixed y),
  {
 -   fixed edx __attribute__ ((__unused__));
++   long edx;
     fixed result;
  
     __PRECALCULATE_CONSTANTS(x / 65536.0 * y)
@@ -14,13 +15,16 @@
        __asm__ (
 -       "  movl %2, %%eax ; "
 -       "  imull %3 ; "                  /* do the multiply */
+-       "  shrdl $16, %%edx, %%eax ; "
 +       "  movl %1, %%eax ; "
 +       "  imull %2 ; "                  /* do the multiply */
-        "  shrdl $16, %%edx, %%eax ; "
++       "  shrdl $16, %5, %%eax ; "
  
-        "  sarl $15, %%edx ; "           /* check for overflow */
-@@ -223,14 +222,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed
-        "  cmpl $-1, %%edx ; "
+-       "  sarl $15, %%edx ; "           /* check for overflow */
++       "  sarl $15, %5 ; "           /* check for overflow */
+        "  jz 0f ; "
+-       "  cmpl $-1, %%edx ; "
++       "  cmpl $-1, %5 ; "
         "  je 0f ; "
  
 -       "  movl %5, %%eax ; "            /* on overflow, set errno */
@@ -38,7 +42,7 @@
         "  jge 0f ; "
         "  negl %%eax ; "
  
-@@ -238,8 +237,7 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed
+@@ -238,13 +238,13 @@
  
         " 0: "                           /* finished */
  
@@ -48,3 +52,10 @@
  
        : "mr" (x),                         /* x and y can be regs or mem */
        "mr" (y),
+       "i" (ERANGE),
+-      "m" (allegro_errno)
++      "m" (allegro_errno),
++      "d" (edx)
+ 
+       : "%cc", "memory"                   /* clobbers flags and errno */
+       );



Home | Main Index | Thread Index | Old Index