diff options
author | Jamie Lenehan <lenehan@twibble.org> | 2007-03-14 19:22:34 +0000 |
---|---|---|
committer | Jamie Lenehan <lenehan@twibble.org> | 2007-03-14 19:22:34 +0000 |
commit | e0f2cc91afabdb5da2b1c03ff0f4b201f1a5ed17 (patch) | |
tree | 622b3ee9d09b93dc01a4cd9ea03af86f7edd9134 | |
parent | f6b13d904d5100bda78a808359caac6e401a2104 (diff) |
gmp 4.2.1: Allow gmp 4.2.1 to work for sh arch by apply a patch from
the gmp home page which ensure the gmpn_add_nc and gmpn_sub_nc
functions are included when they are required. Closes #1605.
-rw-r--r-- | packages/gmp/gmp-4.2.1/x86-fat.diff | 122 | ||||
-rw-r--r-- | packages/gmp/gmp_4.2.1.bb | 9 |
2 files changed, 125 insertions, 6 deletions
diff --git a/packages/gmp/gmp-4.2.1/x86-fat.diff b/packages/gmp/gmp-4.2.1/x86-fat.diff new file mode 100644 index 0000000000..2a54622a26 --- /dev/null +++ b/packages/gmp/gmp-4.2.1/x86-fat.diff @@ -0,0 +1,122 @@ +See: + + http://gmplib.org/patches/x86-fat.diff + http://gmplib.org/list-archives/gmp-bugs/2006-October/000579.html + http://gmplib.org/#BUGREPORTS + +Removed the configure part of the patch since we patch configure.in. It was +only needed for FAT binaries anyway and this is being included to fix +linking errors. + +Index: mpn/generic/addsub_n.c +=================================================================== +RCS file: /home/cvsfiles/gmp42/mpn/generic/addsub_n.c,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -p -2 -r1.1 -r1.2 +*** mpn/generic/addsub_n.c 14 Mar 2006 15:57:54 -0000 1.1 +--- mpn/generic/addsub_n.c 15 May 2006 22:38:42 -0000 1.2 +*************** +*** 1,5 **** + /* mpn_addsub_n -- Add and Subtract two limb vectors of equal, non-zero length. + +! Copyright 1999, 2000, 2001 Free Software Foundation, Inc. + + This file is part of the GNU MP Library. +--- 1,5 ---- + /* mpn_addsub_n -- Add and Subtract two limb vectors of equal, non-zero length. + +! Copyright 1999, 2000, 2001, 2006 Free Software Foundation, Inc. + + This file is part of the GNU MP Library. +*************** mpn_addsub_n (mp_ptr r1p, mp_ptr r2p, mp +*** 59,63 **** + { + this_n = MIN (n - off, PART_SIZE); +! #if HAVE_NATIVE_mpn_add_nc || !HAVE_NATIVE_mpn_add_n + acyo = mpn_add_nc (r1p + off, s1p + off, s2p + off, this_n, acyo); + #else +--- 59,63 ---- + { + this_n = MIN (n - off, PART_SIZE); +! #if HAVE_NATIVE_mpn_add_nc + acyo = mpn_add_nc (r1p + off, s1p + off, s2p + off, this_n, acyo); + #else +*************** mpn_addsub_n (mp_ptr r1p, mp_ptr r2p, mp +*** 65,69 **** + acyo = acyn + mpn_add_1 (r1p + off, r1p + off, this_n, acyo); + #endif +! #if HAVE_NATIVE_mpn_sub_nc || !HAVE_NATIVE_mpn_sub_n + scyo = mpn_sub_nc (r2p + off, s1p + off, s2p + off, this_n, scyo); + #else +--- 65,69 ---- + acyo = acyn + mpn_add_1 (r1p + off, r1p + off, this_n, acyo); + #endif +! #if HAVE_NATIVE_mpn_sub_nc + scyo = mpn_sub_nc (r2p + off, s1p + off, s2p + off, this_n, scyo); + #else +*************** mpn_addsub_n (mp_ptr r1p, mp_ptr r2p, mp +*** 82,86 **** + { + this_n = MIN (n - off, PART_SIZE); +! #if HAVE_NATIVE_mpn_sub_nc || !HAVE_NATIVE_mpn_sub_n + scyo = mpn_sub_nc (r2p + off, s1p + off, s2p + off, this_n, scyo); + #else +--- 82,86 ---- + { + this_n = MIN (n - off, PART_SIZE); +! #if HAVE_NATIVE_mpn_sub_nc + scyo = mpn_sub_nc (r2p + off, s1p + off, s2p + off, this_n, scyo); + #else +*************** mpn_addsub_n (mp_ptr r1p, mp_ptr r2p, mp +*** 88,92 **** + scyo = scyn + mpn_sub_1 (r2p + off, r2p + off, this_n, scyo); + #endif +! #if HAVE_NATIVE_mpn_add_nc || !HAVE_NATIVE_mpn_add_n + acyo = mpn_add_nc (r1p + off, s1p + off, s2p + off, this_n, acyo); + #else +--- 88,92 ---- + scyo = scyn + mpn_sub_1 (r2p + off, r2p + off, this_n, scyo); + #endif +! #if HAVE_NATIVE_mpn_add_nc + acyo = mpn_add_nc (r1p + off, s1p + off, s2p + off, this_n, acyo); + #else +*************** mpn_addsub_n (mp_ptr r1p, mp_ptr r2p, mp +*** 98,102 **** + else + { +! /* r1 and r2 are identical to s1 and s2 (r1==s1 and r2=s2 or vice versa) + Need temporary storage. */ + mp_limb_t tp[PART_SIZE]; +--- 98,102 ---- + else + { +! /* r1 and r2 are identical to s1 and s2 (r1==s1 and r2==s2 or vice versa) + Need temporary storage. */ + mp_limb_t tp[PART_SIZE]; +*************** mpn_addsub_n (mp_ptr r1p, mp_ptr r2p, mp +*** 106,110 **** + { + this_n = MIN (n - off, PART_SIZE); +! #if HAVE_NATIVE_mpn_add_nc || !HAVE_NATIVE_mpn_add_n + acyo = mpn_add_nc (tp, s1p + off, s2p + off, this_n, acyo); + #else +--- 106,110 ---- + { + this_n = MIN (n - off, PART_SIZE); +! #if HAVE_NATIVE_mpn_add_nc + acyo = mpn_add_nc (tp, s1p + off, s2p + off, this_n, acyo); + #else +*************** mpn_addsub_n (mp_ptr r1p, mp_ptr r2p, mp +*** 112,116 **** + acyo = acyn + mpn_add_1 (tp, tp, this_n, acyo); + #endif +! #if HAVE_NATIVE_mpn_sub_nc || !HAVE_NATIVE_mpn_sub_n + scyo = mpn_sub_nc (r2p + off, s1p + off, s2p + off, this_n, scyo); + #else +--- 112,116 ---- + acyo = acyn + mpn_add_1 (tp, tp, this_n, acyo); + #endif +! #if HAVE_NATIVE_mpn_sub_nc + scyo = mpn_sub_nc (r2p + off, s1p + off, s2p + off, this_n, scyo); + #else diff --git a/packages/gmp/gmp_4.2.1.bb b/packages/gmp/gmp_4.2.1.bb index 8ad8e29ad1..452553beda 100644 --- a/packages/gmp/gmp_4.2.1.bb +++ b/packages/gmp/gmp_4.2.1.bb @@ -1,9 +1,6 @@ -PR = "r1" +PR = "r2" -SRC_URI += "file://sh4-asmfix.patch;patch=1" +SRC_URI_append += "file://sh4-asmfix.patch;patch=1 \ + file://x86-fat.diff;patch=1;pnum=0 " require gmp.inc - -# Builds on sh but can't be used due to not compiling in some functions -DEFAULT_PREFERENCE_sh3 = "-1" -DEFAULT_PREFERENCE_sh4 = "-1" |