summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/allegro/distinfo4
-rw-r--r--devel/allegro/patches/patch-ae29
2 files changed, 22 insertions, 11 deletions
diff --git a/devel/allegro/distinfo b/devel/allegro/distinfo
index 60f9ae2630f..3cfc6c714d7 100644
--- a/devel/allegro/distinfo
+++ b/devel/allegro/distinfo
@@ -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-aa) = 9d821fdcb556c67c70aba0714b7756c54a3861d7
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 --git a/devel/allegro/patches/patch-ae b/devel/allegro/patches/patch-ae
index 67b22da5de3..c44dabb4e1e 100644
--- a/devel/allegro/patches/patch-ae
+++ b/devel/allegro/patches/patch-ae
@@ -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 @@ $NetBSD: patch-ae,v 1.3 2006/07/01 09:59:49 wiz Exp $
__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 @@ $NetBSD: patch-ae,v 1.3 2006/07/01 09:59:49 wiz Exp $
" 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 @@ $NetBSD: patch-ae,v 1.3 2006/07/01 09:59:49 wiz Exp $
: "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 */
+ );