diff options
author | 2005-10-19 04:33:36 +0000 | |
---|---|---|
committer | 2005-10-19 04:33:36 +0000 | |
commit | 2ca37d215c8bc7bfb7c70cf14b49150462f11e40 (patch) | |
tree | 1b7c208b2843535a2580f6d1cd30654604e855dd /dev-libs | |
parent | added ~mips keywod (diff) | |
download | historical-2ca37d215c8bc7bfb7c70cf14b49150462f11e40.tar.gz historical-2ca37d215c8bc7bfb7c70cf14b49150462f11e40.tar.bz2 historical-2ca37d215c8bc7bfb7c70cf14b49150462f11e40.zip |
Add more patches from upstream, track down the hppa issues, and fork mpfr into a sep package like upstream suggests.
Package-Manager: portage-2.0.53_rc5
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/gmp/ChangeLog | 14 | ||||
-rw-r--r-- | dev-libs/gmp/Manifest | 27 | ||||
-rw-r--r-- | dev-libs/gmp/files/4.1.4/gmp-impl.h.MPF_SIGNIFICANT_DIGITS.diff | 25 | ||||
-rw-r--r-- | dev-libs/gmp/files/4.1.4/gmp-impl.h.MPN_SIZEINBASE.diff | 25 | ||||
-rw-r--r-- | dev-libs/gmp/files/4.1.4/gmp-impl.h.x86.ULONG_PARITY.diff | 35 | ||||
-rw-r--r-- | dev-libs/gmp/files/4.1.4/mpn_rootrem.c.diff | 25 | ||||
-rw-r--r-- | dev-libs/gmp/files/digest-gmp-4.1.4-r2 | 2 | ||||
-rw-r--r-- | dev-libs/gmp/files/gmp-hppa-2.0.patch | 738 | ||||
-rw-r--r-- | dev-libs/gmp/gmp-4.1.4-r2.ebuild | 65 |
9 files changed, 949 insertions, 7 deletions
diff --git a/dev-libs/gmp/ChangeLog b/dev-libs/gmp/ChangeLog index a62d7e87f253..876ada7cb759 100644 --- a/dev-libs/gmp/ChangeLog +++ b/dev-libs/gmp/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for dev-libs/gmp -# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/ChangeLog,v 1.55 2005/10/18 12:02:52 gmsoft Exp $ +# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/ChangeLog,v 1.56 2005/10/19 04:33:36 vapier Exp $ + +*gmp-4.1.4-r2 (19 Oct 2005) + + 19 Oct 2005; Mike Frysinger <vapier@gentoo.org> +files/gmp-hppa-2.0.patch, + +files/4.1.4/gmp-impl.h.MPF_SIGNIFICANT_DIGITS.diff, + +files/4.1.4/gmp-impl.h.x86.ULONG_PARITY.diff, + +files/4.1.4/gmp-impl.h.MPN_SIZEINBASE.diff, + +files/4.1.4/mpn_rootrem.c.diff, +gmp-4.1.4-r2.ebuild: + Add more patches from upstream, track down the hppa issues, and fork mpfr + into a sep package like upstream suggests. 18 Oct 2005; Guy Martin <gmsoft@gentoo.org> gmp-4.1.4.ebuild, gmp-4.1.4-r1.ebuild: diff --git a/dev-libs/gmp/Manifest b/dev-libs/gmp/Manifest index eb397485b7fd..6a9b77ebb272 100644 --- a/dev-libs/gmp/Manifest +++ b/dev-libs/gmp/Manifest @@ -1,9 +1,26 @@ -MD5 b4dd3c83d4a7beb03fe81545e8b96ab4 gmp-4.1.4.ebuild 1904 -MD5 e91d07c7bf0c88bbcb85e8767369581c ChangeLog 7498 -MD5 b09c48dc9a2b0af55284315d91caae96 gmp-4.1.4-r1.ebuild 1941 -MD5 dffd46174e78b327c834fc3e4b1cf848 metadata.xml 160 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +MD5 0de20b97afd948ce922ae181d21ee171 ChangeLog 7934 +MD5 3ffd372397aa4b63f5a08f711df8e02c files/4.1.4/gmp-impl.h.MPF_SIGNIFICANT_DIGITS.diff 1182 +MD5 62a1429c81d8b2631590acf519385b7c files/4.1.4/gmp-impl.h.MPN_SIZEINBASE.diff 1315 +MD5 9ed7fdde964f92400549a7a4bc2d1982 files/4.1.4/gmp-impl.h.x86.ULONG_PARITY.diff 1357 +MD5 4083cba7bced11f16a6672b2bbcbb364 files/4.1.4/mpn_rootrem.c.diff 813 MD5 1dbc1772df649dae89ad8e00042c5b46 files/amd64.patch 1166 MD5 8c7f521cf77fb56ab019223cf92a6bca files/digest-gmp-4.1.4 62 +MD5 406c6cb8cc162ea7baec4e4d5115c708 files/digest-gmp-4.1.4-r1 124 +MD5 e9d24618243d8e46e39eebb5b35b16d9 files/digest-gmp-4.1.4-r2 125 MD5 ee91d8f397ce79dd0ff7e4ae48a47b21 files/gmp-4.1.4-multilib.patch 2864 +MD5 b52419c7a4ccb630ec3e44cc7ea926c9 files/gmp-hppa-2.0.patch 16826 MD5 d70b080c2f0efd82a800ba8a1af7b305 files/ppc64-gmp-acinclude.patch 474 -MD5 406c6cb8cc162ea7baec4e4d5115c708 files/digest-gmp-4.1.4-r1 124 +MD5 b09c48dc9a2b0af55284315d91caae96 gmp-4.1.4-r1.ebuild 1941 +MD5 2a6d693d10caa19c95cbc9a388d77318 gmp-4.1.4-r2.ebuild 1868 +MD5 b4dd3c83d4a7beb03fe81545e8b96ab4 gmp-4.1.4.ebuild 1904 +MD5 dffd46174e78b327c834fc3e4b1cf848 metadata.xml 160 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.2 (GNU/Linux) + +iD8DBQFDVc04gIKl8Uu19MoRAvEmAJ0Sf9aOsbFf65RLuLd4dzE18t6ZTgCfR7wW +2iPYSAPyNE1grFmS+ZwYNpA= +=iktP +-----END PGP SIGNATURE----- diff --git a/dev-libs/gmp/files/4.1.4/gmp-impl.h.MPF_SIGNIFICANT_DIGITS.diff b/dev-libs/gmp/files/4.1.4/gmp-impl.h.MPF_SIGNIFICANT_DIGITS.diff new file mode 100644 index 000000000000..3e4716e4a7f9 --- /dev/null +++ b/dev-libs/gmp/files/4.1.4/gmp-impl.h.MPF_SIGNIFICANT_DIGITS.diff @@ -0,0 +1,25 @@ +Index: gmp-impl.h +=================================================================== +RCS file: /home/cvsfiles/gmp/gmp-impl.h,v +retrieving revision 1.281.2.14 +retrieving revision 1.281.2.15 +diff -c -r1.281.2.14 -r1.281.2.15 +*** gmp-impl.h 13 Jan 2005 01:32:36 -0000 1.281.2.14 +--- gmp-impl.h 23 May 2005 17:54:15 -0000 1.281.2.15 +*************** +*** 2783,2789 **** + #define MPF_SIGNIFICANT_DIGITS(n, base, prec) \ + do { \ + ASSERT (base >= 2 && base < numberof (mp_bases)); \ +! (n) = 2 + (size_t) ((((prec) - 1) * BITS_PER_MP_LIMB) \ + * mp_bases[(base)].chars_per_bit_exactly); \ + } while (0) + +--- 2783,2789 ---- + #define MPF_SIGNIFICANT_DIGITS(n, base, prec) \ + do { \ + ASSERT (base >= 2 && base < numberof (mp_bases)); \ +! (n) = 2 + (size_t) ((((size_t) (prec) - 1) * GMP_NUMB_BITS) \ + * mp_bases[(base)].chars_per_bit_exactly); \ + } while (0) + diff --git a/dev-libs/gmp/files/4.1.4/gmp-impl.h.MPN_SIZEINBASE.diff b/dev-libs/gmp/files/4.1.4/gmp-impl.h.MPN_SIZEINBASE.diff new file mode 100644 index 000000000000..3a5e93fd3619 --- /dev/null +++ b/dev-libs/gmp/files/4.1.4/gmp-impl.h.MPN_SIZEINBASE.diff @@ -0,0 +1,25 @@ +Index: gmp-impl.h +=================================================================== +RCS file: /home/cvsfiles/gmp/gmp-impl.h,v +retrieving revision 1.281.2.13 +diff -c -1 -r1.281.2.13 gmp-impl.h +*** gmp-impl.h 29 Sep 2004 20:04:54 -0000 1.281.2.13 +--- gmp-impl.h 13 Jan 2005 01:08:01 -0000 +*************** +*** 1844,1846 **** + int __lb_base, __cnt; \ +! mp_size_t __totbits; \ + \ +--- 1844,1846 ---- + int __lb_base, __cnt; \ +! size_t __totbits; \ + \ +*************** +*** 1857,1859 **** + count_leading_zeros (__cnt, (ptr)[(size)-1]); \ +! __totbits = (size) * GMP_NUMB_BITS - (__cnt - GMP_NAIL_BITS); \ + \ +--- 1857,1859 ---- + count_leading_zeros (__cnt, (ptr)[(size)-1]); \ +! __totbits = (size_t) (size) * GMP_NUMB_BITS - (__cnt - GMP_NAIL_BITS);\ + \ diff --git a/dev-libs/gmp/files/4.1.4/gmp-impl.h.x86.ULONG_PARITY.diff b/dev-libs/gmp/files/4.1.4/gmp-impl.h.x86.ULONG_PARITY.diff new file mode 100644 index 000000000000..40d97fa01bab --- /dev/null +++ b/dev-libs/gmp/files/4.1.4/gmp-impl.h.x86.ULONG_PARITY.diff @@ -0,0 +1,35 @@ +Index: gmp-impl.h +=================================================================== +RCS file: /home/cvsfiles/gmp/gmp-impl.h,v +retrieving revision 1.281.2.12 +diff -u -r1.281.2.12 gmp-impl.h +--- gmp-impl.h 22 Apr 2004 23:59:53 -0000 1.281.2.12 ++++ gmp-impl.h 29 Sep 2004 19:22:23 -0000 +@@ -2188,14 +2188,24 @@ + there's an even number. */ + + #if defined (__GNUC__) && ! defined (NO_ASM) && HAVE_HOST_CPU_FAMILY_x86 ++/* Some clever GCC maintainer decided to change the meaning of the q register ++ flag with GCC version 3.1. He added a Q flag with the old meaning at the ++ same time. This forces us to use a conditional on GCC version. */ ++#if __GMP_GNUC_PREREQ (3,1) ++#define __GMP_qm "=Qm" ++#define __GMP_q "=Q" ++#else ++#define __GMP_qm "=qm" ++#define __GMP_q "=q" ++#endif + #define ULONG_PARITY(p, n) \ + do { \ + char __p; \ + unsigned long __n = (n); \ + __n ^= (__n >> 16); \ +- asm ("xorb %h1, %b1\n" \ +- "setpo %0\n" \ +- : "=qm" (__p), "=q" (__n) \ ++ asm ("xorb %h1, %b1\n\t" \ ++ "setpo %0" \ ++ : __GMP_qm (__p), __GMP_q (__n)\ + : "1" (__n)); \ + (p) = __p; \ + } while (0) diff --git a/dev-libs/gmp/files/4.1.4/mpn_rootrem.c.diff b/dev-libs/gmp/files/4.1.4/mpn_rootrem.c.diff new file mode 100644 index 000000000000..aabdf9fd9c46 --- /dev/null +++ b/dev-libs/gmp/files/4.1.4/mpn_rootrem.c.diff @@ -0,0 +1,25 @@ +Index: mpn/generic/rootrem.c +=================================================================== +RCS file: /home/cvsfiles/gmp/mpn/generic/rootrem.c,v +retrieving revision 1.10 +retrieving revision 1.11 +diff -c -r1.10 -r1.11 +*** mpn/generic/rootrem.c 12 Jan 2003 02:23:05 -0000 1.10 +--- mpn/generic/rootrem.c 8 Apr 2005 09:30:42 -0000 1.11 +*************** +*** 94,100 **** + + xn = (xnb + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; + +! qp = TMP_ALLOC_LIMBS (un + 1); + xp = TMP_ALLOC_LIMBS (xn + 1); + + /* Set initial root to only ones. This is an overestimate of the actual root +--- 94,100 ---- + + xn = (xnb + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; + +! qp = TMP_ALLOC_LIMBS (PP_ALLOC); + xp = TMP_ALLOC_LIMBS (xn + 1); + + /* Set initial root to only ones. This is an overestimate of the actual root diff --git a/dev-libs/gmp/files/digest-gmp-4.1.4-r2 b/dev-libs/gmp/files/digest-gmp-4.1.4-r2 new file mode 100644 index 000000000000..245d5e4d9c07 --- /dev/null +++ b/dev-libs/gmp/files/digest-gmp-4.1.4-r2 @@ -0,0 +1,2 @@ +MD5 0aa7d3b3f5b5ec5951e7dddd6f65e891 gmp-4.1.4.tar.bz2 1681267 +MD5 9f534278bbe3f66fe99b0e3496ac6cca gmp-man-4.1.4.pdf 652184 diff --git a/dev-libs/gmp/files/gmp-hppa-2.0.patch b/dev-libs/gmp/files/gmp-hppa-2.0.patch new file mode 100644 index 000000000000..c3ccf60428af --- /dev/null +++ b/dev-libs/gmp/files/gmp-hppa-2.0.patch @@ -0,0 +1,738 @@ +--- gmp/mpn/pa64/mul_1.asm ++++ gmp/mpn/pa64/mul_1.asm +@@ -139,14 +139,14 @@ + fstd %fr24, -0x80(%r30) C low product to -0x80..-0x79 + addib,<> -1, %r5, L(two_or_more) + fstd %fr25, -0x68(%r30) C high product to -0x68..-0x61 +-L(one) ++.label L(one) + ldd -0x78(%r30), p032a1 + ldd -0x70(%r30), p032a2 + ldd -0x80(%r30), p000a + b L(0_one_out) + ldd -0x68(%r30), p064a + +-L(two_or_more) ++.label L(two_or_more) + fldd 0(up), %fr4 + ldo 8(up), up + xmpyu %fr8R, %fr4L, %fr22 +@@ -162,7 +162,7 @@ + ldd -0x68(%r30), p064a + addib,<> -1, %r5, L(three_or_more) + fstd %fr25, -0x68(%r30) C high product to -0x68..-0x61 +-L(two) ++.label L(two) + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 + depd,z m032, 31, 32, ma000 +@@ -170,7 +170,7 @@ + b L(0_two_out) + depd m096, 31, 32, ma064 + +-L(three_or_more) ++.label L(three_or_more) + fldd 0(up), %fr4 + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 +@@ -178,7 +178,7 @@ + extrd,u m032, 31, 32, ma064 + dnl addib,= -1, %r5, L(0_out) + depd m096, 31, 32, ma064 +-L(oop0) ++.label L(oop0) + dnl xmpyu %fr8R, %fr4L, %fr22 + dnl xmpyu %fr8L, %fr4R, %fr23 + dnl ldd -0x78(%r30), p032a1 +@@ -212,7 +212,7 @@ + dnl extrd,u m032, 31, 32, ma064 + dnl addib,<> -1, %r5, L(oop0) + dnl depd m096, 31, 32, ma064 +-L(0_out) ++.label L(0_out) + ldo 8(up), up + xmpyu %fr8R, %fr4L, %fr22 + xmpyu %fr8L, %fr4R, %fr23 +@@ -237,7 +237,7 @@ + depd,z m032, 31, 32, ma000 + extrd,u m032, 31, 32, ma064 + depd m096, 31, 32, ma064 +-L(0_two_out) ++.label L(0_two_out) + ldd -0x78(%r30), p032a1 + ldd -0x70(%r30), p032a2 + ldo 8(rp), rp +@@ -248,7 +248,7 @@ + add ma000, s000, s000 + add,dc ma064, climb, climb + std s000, -8(rp) +-L(0_one_out) ++.label L(0_one_out) + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 + depd,z m032, 31, 32, ma000 +@@ -266,7 +266,7 @@ + + dnl 4-way unrolled code. + +-L(BIG) ++.label L(BIG) + + define(`p032a1',`%r1') dnl + define(`p032a2',`%r19') dnl +@@ -317,7 +317,7 @@ + ',` extrd,u n, 61, 30, n C right shift 2, zero extend + ') + +-L(4_or_more) ++.label L(4_or_more) + fldd 0(up), %fr4 + fldd 8(up), %fr5 + fldd 16(up), %fr6 +@@ -366,7 +366,7 @@ + b L(end1) + nop + +-L(8_or_more) ++.label L(8_or_more) + fstd %fr28, -0x18(%r30) C mid product to -0x18..-0x11 + fstd %fr29, -0x10(%r30) C mid product to -0x10..-0x09 + ldo 32(up), up +@@ -413,7 +413,7 @@ + fstd %fr27, -0x50(%r30) C mid product to -0x50..-0x49 + addib,= -1, n, L(end2) + xmpyu %fr8L, %fr7L, %fr27 +-L(oop) ++.label L(oop) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -519,7 +519,7 @@ + addib,<> -1, n, L(oop) + ldo 32(rp), rp + +-L(end2) ++.label L(end2) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -576,7 +576,7 @@ + ldd -0x10(%r30), p224d2 + ldo 32(rp), rp + +-L(end1) ++.label L(end1) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -622,7 +622,7 @@ + ldd -0xd8(%r30), %r8 + ldd -0xe0(%r30), %r7 + ldd -0xe8(%r30), %r6 +-L(done) ++.label L(done) + ifdef(`HAVE_ABI_2_0w', + ` copy climb, %r28 + ',` extrd,u climb, 63, 32, %r29 +--- gmp/mpn/pa64/sqr_diagonal.asm ++++ gmp/mpn/pa64/sqr_diagonal.asm +@@ -57,7 +57,8 @@ + addib,= -1,n,L(end2) + ldo 16(rp),rp + +-L(loop) fldds,ma 8(up),%fr8 C load next up limb ++.label L(loop) ++ fldds,ma 8(up),%fr8 C load next up limb + xmpyu %fr4l,%fr4r,%fr6 + fstd %fr6,-128(%r30) + xmpyu %fr4r,%fr4r,%fr5 C multiply in fp regs +@@ -95,7 +96,8 @@ + addib,<> -1,n,L(loop) + ldo 16(rp),rp + +-L(end2) xmpyu %fr4l,%fr4r,%fr6 ++.label L(end2) ++ xmpyu %fr4l,%fr4r,%fr6 + fstd %fr6,-128(%r30) + xmpyu %fr4r,%fr4r,%fr5 + fstd %fr5,0(rp) +@@ -123,7 +125,8 @@ + bve (%r2) + ldo -128(%r30),%r30 + +-L(exit) xmpyu %fr8l,%fr8r,%fr10 ++.label L(exit) ++ xmpyu %fr8l,%fr8r,%fr10 + fstd %fr10,-120(%r30) + xmpyu %fr8r,%fr8r,%fr9 + fstd %fr9,0(rp) +@@ -155,7 +158,8 @@ + bve (%r2) + ldo -128(%r30),%r30 + +-L(end1) xmpyu %fr8l,%fr8r,%fr10 ++.label L(end1) ++ xmpyu %fr8l,%fr8r,%fr10 + fstd %fr10,-128(%r30) + xmpyu %fr8r,%fr8r,%fr9 + fstd %fr9,0(rp) +--- gmp/mpn/pa64/lshift.asm ++++ gmp/mpn/pa64/lshift.asm +@@ -65,36 +65,45 @@ + b L(7) + copy %r21, %r20 + +-L(loop) +-L(0) ldd -16(up), %r20 ++.label L(loop) ++.label L(0) ++ ldd -16(up), %r20 + shrpd %r21, %r20, %sar, %r21 + std %r21, -8(rp) +-L(7) ldd -24(up), %r21 ++.label L(7) ++ ldd -24(up), %r21 + shrpd %r20, %r21, %sar, %r20 + std %r20, -16(rp) +-L(6) ldd -32(up), %r20 ++.label L(6) ++ ldd -32(up), %r20 + shrpd %r21, %r20, %sar, %r21 + std %r21, -24(rp) +-L(5) ldd -40(up), %r21 ++.label L(5) ++ ldd -40(up), %r21 + shrpd %r20, %r21, %sar, %r20 + std %r20, -32(rp) +-L(4) ldd -48(up), %r20 ++.label L(4) ++ ldd -48(up), %r20 + shrpd %r21, %r20, %sar, %r21 + std %r21, -40(rp) +-L(3) ldd -56(up), %r21 ++.label L(3) ++ ldd -56(up), %r21 + shrpd %r20, %r21, %sar, %r20 + std %r20, -48(rp) +-L(2) ldd -64(up), %r20 ++.label L(2) ++ ldd -64(up), %r20 + shrpd %r21, %r20, %sar, %r21 + std %r21, -56(rp) +-L(1) ldd -72(up), %r21 ++.label L(1) ++ ldd -72(up), %r21 + ldo -64(up), up + shrpd %r20, %r21, %sar, %r20 + std %r20, -64(rp) + addib,> -8, n, L(loop) + ldo -64(rp), rp + +-L(end) shrpd %r21, %r0, %sar, %r21 ++.label L(end) ++ shrpd %r21, %r0, %sar, %r21 + std %r21, -8(rp) + bve (%r2) + ifdef(`HAVE_ABI_2_0w', +--- gmp/mpn/pa64/add_n.asm ++++ gmp/mpn/pa64/add_n.asm +@@ -48,35 +48,43 @@ + blr %r28, %r0 C branch into loop + add %r0, %r0, %r0 C reset carry + +-L(loop) ldd 0(up), %r20 ++.label L(loop) ++ ldd 0(up), %r20 + ldd 0(vp), %r31 + add,dc %r20, %r31, %r20 + std %r20, 0(rp) +-L(7) ldd 8(up), %r21 ++.label L(7) ++ ldd 8(up), %r21 + ldd 8(vp), %r19 + add,dc %r21, %r19, %r21 + std %r21, 8(rp) +-L(6) ldd 16(up), %r20 ++.label L(6) ++ ldd 16(up), %r20 + ldd 16(vp), %r31 + add,dc %r20, %r31, %r20 + std %r20, 16(rp) +-L(5) ldd 24(up), %r21 ++.label L(5) ++ ldd 24(up), %r21 + ldd 24(vp), %r19 + add,dc %r21, %r19, %r21 + std %r21, 24(rp) +-L(4) ldd 32(up), %r20 ++.label L(4) ++ ldd 32(up), %r20 + ldd 32(vp), %r31 + add,dc %r20, %r31, %r20 + std %r20, 32(rp) +-L(3) ldd 40(up), %r21 ++.label L(3) ++ ldd 40(up), %r21 + ldd 40(vp), %r19 + add,dc %r21, %r19, %r21 + std %r21, 40(rp) +-L(2) ldd 48(up), %r20 ++.label L(2) ++ ldd 48(up), %r20 + ldd 48(vp), %r31 + add,dc %r20, %r31, %r20 + std %r20, 48(rp) +-L(1) ldd 56(up), %r21 ++.label L(1) ++ ldd 56(up), %r21 + ldd 56(vp), %r19 + add,dc %r21, %r19, %r21 + ldo 64(up), up +--- gmp/mpn/pa64/rshift.asm ++++ gmp/mpn/pa64/rshift.asm +@@ -62,36 +62,45 @@ + b L(7) + copy %r21, %r20 + +-L(loop) +-L(0) ldd 8(up), %r20 ++.label L(loop) ++.label L(0) ++ ldd 8(up), %r20 + shrpd %r20, %r21, %sar, %r21 + std %r21, 0(rp) +-L(7) ldd 16(up), %r21 ++.label L(7) ++ ldd 16(up), %r21 + shrpd %r21, %r20, %sar, %r20 + std %r20, 8(rp) +-L(6) ldd 24(up), %r20 ++.label L(6) ++ ldd 24(up), %r20 + shrpd %r20, %r21, %sar, %r21 + std %r21, 16(rp) +-L(5) ldd 32(up), %r21 ++.label L(5) ++ ldd 32(up), %r21 + shrpd %r21, %r20, %sar, %r20 + std %r20, 24(rp) +-L(4) ldd 40(up), %r20 ++.label L(4) ++ ldd 40(up), %r20 + shrpd %r20, %r21, %sar, %r21 + std %r21, 32(rp) +-L(3) ldd 48(up), %r21 ++.label L(3) ++ ldd 48(up), %r21 + shrpd %r21, %r20, %sar, %r20 + std %r20, 40(rp) +-L(2) ldd 56(up), %r20 ++.label L(2) ++ ldd 56(up), %r20 + shrpd %r20, %r21, %sar, %r21 + std %r21, 48(rp) +-L(1) ldd 64(up), %r21 ++.label L(1) ++ ldd 64(up), %r21 + ldo 64(up), up + shrpd %r21, %r20, %sar, %r20 + std %r20, 56(rp) + addib,> -8, n, L(loop) + ldo 64(rp), rp + +-L(end) shrpd %r0, %r21, %sar, %r21 ++.label L(end) ++ shrpd %r0, %r21, %sar, %r21 + std %r21, 0(rp) + bve (%r2) + ifdef(`HAVE_ABI_2_0w', +--- gmp/mpn/pa64/addmul_1.asm ++++ gmp/mpn/pa64/addmul_1.asm +@@ -141,14 +141,14 @@ + fstd %fr24, -0x80(%r30) C low product to -0x80..-0x79 + addib,<> -1, %r5, L(two_or_more) + fstd %fr25, -0x68(%r30) C high product to -0x68..-0x61 +-L(one) ++.label L(one) + ldd -0x78(%r30), p032a1 + ldd -0x70(%r30), p032a2 + ldd -0x80(%r30), p000a + b L(0_one_out) + ldd -0x68(%r30), p064a + +-L(two_or_more) ++.label L(two_or_more) + fldd 0(up), %fr4 + ldo 8(up), up + xmpyu %fr8R, %fr4L, %fr22 +@@ -164,7 +164,7 @@ + ldd -0x68(%r30), p064a + addib,<> -1, %r5, L(three_or_more) + fstd %fr25, -0x68(%r30) C high product to -0x68..-0x61 +-L(two) ++.label L(two) + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 + depd,z m032, 31, 32, ma000 +@@ -173,7 +173,7 @@ + b L(0_two_out) + depd m096, 31, 32, ma064 + +-L(three_or_more) ++.label L(three_or_more) + fldd 0(up), %fr4 + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 +@@ -182,7 +182,7 @@ + ldd 0(rp), r000 + dnl addib,= -1, %r5, L(0_out) + depd m096, 31, 32, ma064 +-L(oop0) ++.label L(oop0) + dnl xmpyu %fr8R, %fr4L, %fr22 + dnl xmpyu %fr8L, %fr4R, %fr23 + dnl ldd -0x78(%r30), p032a1 +@@ -219,7 +219,7 @@ + dnl ldd 0(rp), r000 + dnl addib,<> -1, %r5, L(oop0) + dnl depd m096, 31, 32, ma064 +-L(0_out) ++.label L(0_out) + ldo 8(up), up + xmpyu %fr8R, %fr4L, %fr22 + xmpyu %fr8L, %fr4R, %fr23 +@@ -247,7 +247,7 @@ + extrd,u m032, 31, 32, ma064 + ldd 0(rp), r000 + depd m096, 31, 32, ma064 +-L(0_two_out) ++.label L(0_two_out) + ldd -0x78(%r30), p032a1 + ldd -0x70(%r30), p032a2 + ldo 8(rp), rp +@@ -260,7 +260,7 @@ + add r000, s000, s000 + add,dc %r0, climb, climb + std s000, -8(rp) +-L(0_one_out) ++.label L(0_one_out) + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 + depd,z m032, 31, 32, ma000 +@@ -281,7 +281,7 @@ + + dnl 4-way unrolled code. + +-L(BIG) ++.label L(BIG) + + define(`p032a1',`%r1') dnl + define(`p032a2',`%r19') dnl +@@ -337,7 +337,7 @@ + ',` extrd,u n, 61, 30, n C right shift 2, zero extend + ') + +-L(4_or_more) ++.label L(4_or_more) + fldd 0(up), %fr4 + fldd 8(up), %fr5 + fldd 16(up), %fr6 +@@ -386,7 +386,7 @@ + b L(end1) + nop + +-L(8_or_more) ++.label L(8_or_more) + fstd %fr28, -0x18(%r30) C mid product to -0x18..-0x11 + fstd %fr29, -0x10(%r30) C mid product to -0x10..-0x09 + ldo 32(up), up +@@ -433,7 +433,7 @@ + fstd %fr27, -0x50(%r30) C mid product to -0x50..-0x49 + addib,= -1, n, L(end2) + xmpyu %fr8L, %fr7L, %fr27 +-L(oop) ++.label L(oop) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -550,7 +550,7 @@ + addib,<> -1, n, L(oop) + ldo 32(rp), rp + +-L(end2) ++.label L(end2) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -616,7 +616,7 @@ + ldd -0x10(%r30), p224d2 + ldo 32(rp), rp + +-L(end1) ++.label L(end1) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -671,7 +671,7 @@ + ldd -0xd8(%r30), %r8 + ldd -0xe0(%r30), %r7 + ldd -0xe8(%r30), %r6 +-L(done) ++.label L(done) + ifdef(`HAVE_ABI_2_0w', + ` copy climb, %r28 + ',` extrd,u climb, 63, 32, %r29 +--- gmp/mpn/pa64/submul_1.asm ++++ gmp/mpn/pa64/submul_1.asm +@@ -139,14 +139,14 @@ + fstd %fr24, -0x80(%r30) C low product to -0x80..-0x79 + addib,<> -1, %r5, L(two_or_more) + fstd %fr25, -0x68(%r30) C high product to -0x68..-0x61 +-L(one) ++.label L(one) + ldd -0x78(%r30), p032a1 + ldd -0x70(%r30), p032a2 + ldd -0x80(%r30), p000a + b L(0_one_out) + ldd -0x68(%r30), p064a + +-L(two_or_more) ++.label L(two_or_more) + fldd 0(up), %fr4 + ldo 8(up), up + xmpyu %fr8R, %fr4L, %fr22 +@@ -162,7 +162,7 @@ + ldd -0x68(%r30), p064a + addib,<> -1, %r5, L(three_or_more) + fstd %fr25, -0x68(%r30) C high product to -0x68..-0x61 +-L(two) ++.label L(two) + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 + depd,z m032, 31, 32, ma000 +@@ -171,7 +171,7 @@ + b L(0_two_out) + depd m096, 31, 32, ma064 + +-L(three_or_more) ++.label L(three_or_more) + fldd 0(up), %fr4 + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 +@@ -180,7 +180,7 @@ + ldd 0(rp), r000 + dnl addib,= -1, %r5, L(0_out) + depd m096, 31, 32, ma064 +-L(oop0) ++.label L(oop0) + dnl xmpyu %fr8R, %fr4L, %fr22 + dnl xmpyu %fr8L, %fr4R, %fr23 + dnl ldd -0x78(%r30), p032a1 +@@ -218,7 +218,7 @@ + dnl ldd 0(rp), r000 + dnl addib,<> -1, %r5, L(oop0) + dnl depd m096, 31, 32, ma064 +-L(0_out) ++.label L(0_out) + ldo 8(up), up + xmpyu %fr8R, %fr4L, %fr22 + xmpyu %fr8L, %fr4R, %fr23 +@@ -247,7 +247,7 @@ + extrd,u m032, 31, 32, ma064 + ldd 0(rp), r000 + depd m096, 31, 32, ma064 +-L(0_two_out) ++.label L(0_two_out) + ldd -0x78(%r30), p032a1 + ldd -0x70(%r30), p032a2 + ldo 8(rp), rp +@@ -261,7 +261,7 @@ + sub,db %r0, climb, climb + sub %r0, climb, climb + std s000, -8(rp) +-L(0_one_out) ++.label L(0_one_out) + add p032a1, p032a2, m032 + add,dc %r0, %r0, m096 + depd,z m032, 31, 32, ma000 +@@ -283,7 +283,7 @@ + + dnl 4-way unrolled code. + +-L(BIG) ++.label L(BIG) + + define(`p032a1',`%r1') dnl + define(`p032a2',`%r19') dnl +@@ -339,7 +339,7 @@ + ',` extrd,u n, 61, 30, n C right shift 2, zero extend + ') + +-L(4_or_more) ++.label L(4_or_more) + fldd 0(up), %fr4 + fldd 8(up), %fr5 + fldd 16(up), %fr6 +@@ -388,7 +388,7 @@ + b L(end1) + nop + +-L(8_or_more) ++.label L(8_or_more) + fstd %fr28, -0x18(%r30) C mid product to -0x18..-0x11 + fstd %fr29, -0x10(%r30) C mid product to -0x10..-0x09 + ldo 32(up), up +@@ -435,7 +435,7 @@ + fstd %fr27, -0x50(%r30) C mid product to -0x50..-0x49 + addib,= -1, n, L(end2) + xmpyu %fr8L, %fr7L, %fr27 +-L(oop) ++.label L(oop) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -553,7 +553,7 @@ + addib,<> -1, n, L(oop) + ldo 32(rp), rp + +-L(end2) ++.label L(end2) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -620,7 +620,7 @@ + ldd -0x10(%r30), p224d2 + ldo 32(rp), rp + +-L(end1) ++.label L(end1) + add p032a1, p032a2, m032 + ldd -0x80(%r30), p000a + add,dc p096b1, p096b2, m096 +@@ -676,7 +676,7 @@ + ldd -0xd8(%r30), %r8 + ldd -0xe0(%r30), %r7 + ldd -0xe8(%r30), %r6 +-L(done) ++.label L(done) + ifdef(`HAVE_ABI_2_0w', + ` copy climb, %r28 + ',` extrd,u climb, 63, 32, %r29 +--- gmp/mpn/pa64/udiv_qrnnd.asm ++++ gmp/mpn/pa64/udiv_qrnnd.asm +@@ -62,12 +62,13 @@ + ldw -60(%r30),%r23 + ') + ldi 0,q +- cmpib,*>= 0,d,large_divisor ++ cmpib,*>= 0,d,L(large_divisor) + ldi 8,%r31 C setup loop counter + + sub %r0,d,dn +-Loop divstep divstep divstep divstep divstep divstep divstep divstep +- addib,<> -1,%r31,Loop ++.label L(Loop) ++ divstep divstep divstep divstep divstep divstep divstep divstep ++ addib,<> -1,%r31,L(Loop) + nop + + ifdef(`HAVE_ABI_2_0n', +@@ -77,7 +78,7 @@ + bve (%r2) + std n1,0(remptr) C store remainder + +-large_divisor ++.label L(large_divisor) + extrd,u n0,63,1,%r19 C save lsb of dividend + shrpd n1,n0,1,n0 C n0 = lo(n1n0 >> 1) + shrpd %r0,n1,1,n1 C n1 = hi(n1n0 >> 1) +@@ -86,11 +87,12 @@ + add,l %r20,d,d C d = ceil(orig_d / 2) + + sub %r0,d,dn +-Loop2 divstep divstep divstep divstep divstep divstep divstep divstep +- addib,<> -1,%r31,Loop2 ++.label L(Loop2) ++ divstep divstep divstep divstep divstep divstep divstep divstep ++ addib,<> -1,%r31,L(Loop2) + nop + +- cmpib,*= 0,%r20,even_divisor ++ cmpib,*= 0,%r20,L(even_divisor) + shladd n1,1,%r19,n1 C shift in omitted dividend lsb + + add d,d,d C restore orig... +@@ -105,7 +107,7 @@ + add,l n1,dn,n1 C adjust remainder + add,dc %r0,q,q C adjust quotient + +-even_divisor ++.label L(even_divisor) + ifdef(`HAVE_ABI_2_0n', + ` copy %r28,%r29 + extrd,u %r28,31,32,%r28 +--- gmp/mpn/pa64/sub_n.asm ++++ gmp/mpn/pa64/sub_n.asm +@@ -47,35 +47,43 @@ + blr %r28, %r0 C branch into loop + sub rp, %r22, rp C offset rp and set carry + +-L(loop) ldd 0(up), %r20 ++.label L(loop) ++ ldd 0(up), %r20 + ldd 0(vp), %r31 + sub,db %r20, %r31, %r20 + std %r20, 0(rp) +-L(7) ldd 8(up), %r21 ++.label L(7) ++ ldd 8(up), %r21 + ldd 8(vp), %r19 + sub,db %r21, %r19, %r21 + std %r21, 8(rp) +-L(6) ldd 16(up), %r20 ++.label L(6) ++ ldd 16(up), %r20 + ldd 16(vp), %r31 + sub,db %r20, %r31, %r20 + std %r20, 16(rp) +-L(5) ldd 24(up), %r21 ++.label L(5) ++ ldd 24(up), %r21 + ldd 24(vp), %r19 + sub,db %r21, %r19, %r21 + std %r21, 24(rp) +-L(4) ldd 32(up), %r20 ++.label L(4) ++ ldd 32(up), %r20 + ldd 32(vp), %r31 + sub,db %r20, %r31, %r20 + std %r20, 32(rp) +-L(3) ldd 40(up), %r21 ++.label L(3) ++ ldd 40(up), %r21 + ldd 40(vp), %r19 + sub,db %r21, %r19, %r21 + std %r21, 40(rp) +-L(2) ldd 48(up), %r20 ++.label L(2) ++ ldd 48(up), %r20 + ldd 48(vp), %r31 + sub,db %r20, %r31, %r20 + std %r20, 48(rp) +-L(1) ldd 56(up), %r21 ++.label L(1) ++ ldd 56(up), %r21 + ldd 56(vp),%r19 + sub,db %r21, %r19, %r21 + ldo 64(up), up +--- gmp/longlong.h ++++ gmp/longlong.h +@@ -204,7 +204,7 @@ + /* These macros are for ABI=2.0w. In ABI=2.0n they can't be used, since GCC + (3.2) puts longlong into two adjacent 32-bit registers. Presumably this + is just a case of no direct support for 2.0n but treating it like 1.0. */ +-#if defined (__GNUC__) && ! defined (_LONG_LONG_LIMB) ++#if defined (__GNUC__) && ! defined (_LONG_LONG_LIMB) && ! defined (__linux__) + #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add %4,%5,%1\n\tadd,dc %2,%3,%0" \ + : "=r" (sh), "=&r" (sl) \ diff --git a/dev-libs/gmp/gmp-4.1.4-r2.ebuild b/dev-libs/gmp/gmp-4.1.4-r2.ebuild new file mode 100644 index 000000000000..2a7784057da2 --- /dev/null +++ b/dev-libs/gmp/gmp-4.1.4-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-4.1.4-r2.ebuild,v 1.1 2005/10/19 04:33:36 vapier Exp $ + +inherit flag-o-matic eutils + +DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers" +HOMEPAGE="http://www.swox.com/gmp/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2 + doc? ( http://www.swox.se/${PN}/${PN}-man-${PV}.pdf )" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="doc nocxx" + +RDEPEND="" +DEPEND="sys-devel/libtool" + +src_unpack () { + unpack ${A} + cd "${S}" + + # This patch will actually be somewhat short lived as it's really + # somewhat of a hack. The toolchain folks (alanm) have a set of patches + # to remove the use of the '.' form in ppc64 assembler + if use ppc64 ; then + epatch "${FILESDIR}"/ppc64-gmp-acinclude.patch + fi + + epatch "${FILESDIR}"/${PV}/*.diff + epatch "${FILESDIR}"/${PN}-4.1.4-multilib.patch + epatch "${FILESDIR}"/${PN}-hppa-2.0.patch + + export WANT_AUTOCONF=2.5 + export WANT_AUTOMAKE=1.5 + libtoolize --copy --force || die "libtoolize --copy --force failed" + autoreconf || die "autoconf failed" +} + +src_compile() { + filter-flags -ffast-math + + # We need to force 1.0 ABI as 2.0w requires 64bit userland + use hppa && export GMPABI="1.0" + + # FreeBSD libc already have bsdmp + econf \ + --localstatedir=/var/state/gmp \ + --disable-mpfr \ + $(use_enable !nocxx cxx) \ + $(use_enable !elibc_FreeBSD mpbsd) \ + || die "configure failed" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + dodoc AUTHORS ChangeLog NEWS README + dodoc doc/configuration doc/isa_abi_headache + dohtml -r doc + + use doc && cp "${DISTDIR}"/gmp-man-${PV}.pdf "${D}"/usr/share/doc/${PF}/ +} |