diff options
author | dbj <dbj> | 2005-11-04 21:10:42 +0000 |
---|---|---|
committer | dbj <dbj> | 2005-11-04 21:10:42 +0000 |
commit | 1746ded044efa18b690a73c39699892858492627 (patch) | |
tree | 92c18d0d207934ffb33b18d9ec99b057f9e71641 | |
parent | f2475c12e1415bbe82fcb577dcd0cd2fe06eeeb5 (diff) | |
download | pkgsrc-1746ded044efa18b690a73c39699892858492627.tar.gz |
fix to i386 div64 taken from qemu cvs
bump PKGREVISION
-rw-r--r-- | emulators/qemu/Makefile | 4 | ||||
-rw-r--r-- | emulators/qemu/distinfo | 3 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-ay | 24 |
3 files changed, 28 insertions, 3 deletions
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile index b5425d9d751..0b1ac7747e4 100644 --- a/emulators/qemu/Makefile +++ b/emulators/qemu/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.19 2005/11/04 21:05:51 dbj Exp $ +# $NetBSD: Makefile,v 1.20 2005/11/04 21:10:42 dbj Exp $ # DISTNAME= qemu-0.7.2 -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= emulators MASTER_SITES= http://fabrice.bellard.free.fr/qemu/ diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo index e6fe1368eee..30d49c7e2ce 100644 --- a/emulators/qemu/distinfo +++ b/emulators/qemu/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.13 2005/11/04 21:09:15 dbj Exp $ +$NetBSD: distinfo,v 1.14 2005/11/04 21:10:42 dbj Exp $ SHA1 (qemu-0.7.2.tar.gz) = 4daeccb57448eacc444152f30b5d84dfcca89dfe RMD160 (qemu-0.7.2.tar.gz) = 1d2dcc8f43ff4b4b9aa045c64e38c9a10140b13e @@ -21,3 +21,4 @@ SHA1 (patch-au) = aa2712c382a67beef9225e710e7735ba15995a41 SHA1 (patch-av) = bd88088f41b6b3c256eec933e5f267fc432e58fa SHA1 (patch-aw) = 6299964fb3a747e8f5dfe4354e66722030ee9a75 SHA1 (patch-ax) = b6eb66859e3ab318ec388d9f33201c27f34677ca +SHA1 (patch-ay) = 2f2393dbc706b490e3faf05a243a9aa21e634af6 diff --git a/emulators/qemu/patches/patch-ay b/emulators/qemu/patches/patch-ay new file mode 100644 index 00000000000..d50ab3d4136 --- /dev/null +++ b/emulators/qemu/patches/patch-ay @@ -0,0 +1,24 @@ +$NetBSD: patch-ay,v 1.1 2005/11/04 21:10:42 dbj Exp $ + +--- target-i386/helper.c.orig 2005-09-04 13:11:31.000000000 -0400 ++++ target-i386/helper.c +@@ -3261,7 +3261,7 @@ static void imul64(uint64_t *plow, uint6 + static int div64(uint64_t *plow, uint64_t *phigh, uint64_t b) + { + uint64_t q, r, a1, a0; +- int i, qb; ++ int i, qb, ab; + + a0 = *plow; + a1 = *phigh; +@@ -3275,8 +3275,9 @@ static int div64(uint64_t *plow, uint64_ + return 1; + /* XXX: use a better algorithm */ + for(i = 0; i < 64; i++) { ++ ab = a1 >> 63; + a1 = (a1 << 1) | (a0 >> 63); +- if (a1 >= b) { ++ if (ab || a1 >= b) { + a1 -= b; + qb = 1; + } else { |