summaryrefslogtreecommitdiff
path: root/devel/allegro
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2006-07-01 09:59:49 +0000
committerwiz <wiz@pkgsrc.org>2006-07-01 09:59:49 +0000
commit2370fcedf2c6380551fc97e0529312a32f0d9c6d (patch)
tree24301931545d0b068d4e7e0b341049a45a063fb4 /devel/allegro
parenta8a113975dbb154b7318632a1fa896545b7b3ed9 (diff)
downloadpkgsrc-2370fcedf2c6380551fc97e0529312a32f0d9c6d.tar.gz
Add patch for gcc-4.1, provided by mrg@.
Diffstat (limited to 'devel/allegro')
-rw-r--r--devel/allegro/distinfo3
-rw-r--r--devel/allegro/patches/patch-ae50
2 files changed, 52 insertions, 1 deletions
diff --git a/devel/allegro/distinfo b/devel/allegro/distinfo
index 07b56c048d6..60f9ae2630f 100644
--- a/devel/allegro/distinfo
+++ b/devel/allegro/distinfo
@@ -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-aa) = 9d821fdcb556c67c70aba0714b7756c54a3861d7
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 --git a/devel/allegro/patches/patch-ae b/devel/allegro/patches/patch-ae
new file mode 100644
index 00000000000..67b22da5de3
--- /dev/null
+++ b/devel/allegro/patches/patch-ae
@@ -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),