diff options
author | wiz <wiz@pkgsrc.org> | 2006-07-01 09:59:49 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2006-07-01 09:59:49 +0000 |
commit | 2370fcedf2c6380551fc97e0529312a32f0d9c6d (patch) | |
tree | 24301931545d0b068d4e7e0b341049a45a063fb4 /devel | |
parent | a8a113975dbb154b7318632a1fa896545b7b3ed9 (diff) | |
download | pkgsrc-2370fcedf2c6380551fc97e0529312a32f0d9c6d.tar.gz |
Add patch for gcc-4.1, provided by mrg@.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/allegro/distinfo | 3 | ||||
-rw-r--r-- | devel/allegro/patches/patch-ae | 50 |
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), |