diff options
| -rw-r--r-- | meta/recipes-support/gmp/gmp/gmp_bugfix.patch | 94 | ||||
| -rw-r--r-- | meta/recipes-support/gmp/gmp_5.0.4.bb (renamed from meta/recipes-support/gmp/gmp_5.0.3.bb) | 7 |
2 files changed, 3 insertions, 98 deletions
diff --git a/meta/recipes-support/gmp/gmp/gmp_bugfix.patch b/meta/recipes-support/gmp/gmp/gmp_bugfix.patch deleted file mode 100644 index 329c8804a6..0000000000 --- a/meta/recipes-support/gmp/gmp/gmp_bugfix.patch +++ /dev/null | |||
| @@ -1,94 +0,0 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | When LONG_MIN is passed to val, -val is undefined. This patch fixes | ||
| 4 | it. See for details: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50066 | ||
| 5 | |||
| 6 | Received this patch from H.J. Lu <hjl.tools@gmail.com> | ||
| 7 | |||
| 8 | Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01 | ||
| 9 | |||
| 10 | --- gmp-4.3.2/mpf/iset_si.c.ll 2010-01-07 12:09:03.000000000 -0800 | ||
| 11 | +++ gmp-4.3.2/mpf/iset_si.c 2011-11-30 16:42:35.827944358 -0800 | ||
| 12 | @@ -31,7 +31,7 @@ mpf_init_set_si (mpf_ptr r, long int val | ||
| 13 | r->_mp_prec = prec; | ||
| 14 | r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB); | ||
| 15 | |||
| 16 | - vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val); | ||
| 17 | + vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val); | ||
| 18 | |||
| 19 | r->_mp_d[0] = vl & GMP_NUMB_MASK; | ||
| 20 | size = vl != 0; | ||
| 21 | --- gmp-4.3.2/mpf/set_si.c.ll 2010-01-07 12:09:03.000000000 -0800 | ||
| 22 | +++ gmp-4.3.2/mpf/set_si.c 2011-11-30 16:42:47.823878367 -0800 | ||
| 23 | @@ -27,7 +27,7 @@ mpf_set_si (mpf_ptr dest, long val) | ||
| 24 | mp_size_t size; | ||
| 25 | mp_limb_t vl; | ||
| 26 | |||
| 27 | - vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val); | ||
| 28 | + vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val); | ||
| 29 | |||
| 30 | dest->_mp_d[0] = vl & GMP_NUMB_MASK; | ||
| 31 | size = vl != 0; | ||
| 32 | --- gmp-4.3.2/mpz/cmp_si.c.ll 2010-01-07 12:09:03.000000000 -0800 | ||
| 33 | +++ gmp-4.3.2/mpz/cmp_si.c 2011-11-30 13:44:25.923319700 -0800 | ||
| 34 | @@ -27,7 +27,7 @@ _mpz_cmp_si (mpz_srcptr u, signed long i | ||
| 35 | { | ||
| 36 | mp_size_t usize = u->_mp_size; | ||
| 37 | mp_size_t vsize; | ||
| 38 | - mp_limb_t u_digit; | ||
| 39 | + mp_limb_t u_digit, vl_digit; | ||
| 40 | |||
| 41 | #if GMP_NAIL_BITS != 0 | ||
| 42 | /* FIXME. This isn't very pretty. */ | ||
| 43 | @@ -41,11 +41,14 @@ _mpz_cmp_si (mpz_srcptr u, signed long i | ||
| 44 | |||
| 45 | vsize = 0; | ||
| 46 | if (v_digit > 0) | ||
| 47 | - vsize = 1; | ||
| 48 | + { | ||
| 49 | + vsize = 1; | ||
| 50 | + vl_digit = (mp_limb_t) (unsigned long) v_digit; | ||
| 51 | + } | ||
| 52 | else if (v_digit < 0) | ||
| 53 | { | ||
| 54 | vsize = -1; | ||
| 55 | - v_digit = -v_digit; | ||
| 56 | + vl_digit = (mp_limb_t) -(unsigned long) v_digit; | ||
| 57 | } | ||
| 58 | |||
| 59 | if (usize != vsize) | ||
| 60 | @@ -56,10 +59,10 @@ _mpz_cmp_si (mpz_srcptr u, signed long i | ||
| 61 | |||
| 62 | u_digit = u->_mp_d[0]; | ||
| 63 | |||
| 64 | - if (u_digit == (mp_limb_t) (unsigned long) v_digit) | ||
| 65 | + if (u_digit == vl_digit) | ||
| 66 | return 0; | ||
| 67 | |||
| 68 | - if (u_digit > (mp_limb_t) (unsigned long) v_digit) | ||
| 69 | + if (u_digit > vl_digit) | ||
| 70 | return usize; | ||
| 71 | else | ||
| 72 | return -usize; | ||
| 73 | --- gmp-4.3.2/mpz/iset_si.c.ll 2010-01-07 12:09:03.000000000 -0800 | ||
| 74 | +++ gmp-4.3.2/mpz/iset_si.c 2011-11-30 13:44:25.924319695 -0800 | ||
| 75 | @@ -31,7 +31,7 @@ mpz_init_set_si (mpz_ptr dest, signed lo | ||
| 76 | dest->_mp_alloc = 1; | ||
| 77 | dest->_mp_d = (mp_ptr) (*__gmp_allocate_func) (BYTES_PER_MP_LIMB); | ||
| 78 | |||
| 79 | - vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val); | ||
| 80 | + vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val); | ||
| 81 | |||
| 82 | dest->_mp_d[0] = vl & GMP_NUMB_MASK; | ||
| 83 | size = vl != 0; | ||
| 84 | --- gmp-4.3.2/mpz/set_si.c.ll 2010-01-07 12:09:03.000000000 -0800 | ||
| 85 | +++ gmp-4.3.2/mpz/set_si.c 2011-11-30 13:44:25.947319574 -0800 | ||
| 86 | @@ -27,7 +27,7 @@ mpz_set_si (mpz_ptr dest, signed long in | ||
| 87 | mp_size_t size; | ||
| 88 | mp_limb_t vl; | ||
| 89 | |||
| 90 | - vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val); | ||
| 91 | + vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val); | ||
| 92 | |||
| 93 | dest->_mp_d[0] = vl & GMP_NUMB_MASK; | ||
| 94 | size = vl != 0; | ||
diff --git a/meta/recipes-support/gmp/gmp_5.0.3.bb b/meta/recipes-support/gmp/gmp_5.0.4.bb index 9f37943e84..9adcc3f445 100644 --- a/meta/recipes-support/gmp/gmp_5.0.3.bb +++ b/meta/recipes-support/gmp/gmp_5.0.4.bb | |||
| @@ -4,11 +4,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ | |||
| 4 | file://version.c;endline=18;md5=d8c56b52b9092346b9f93b4da65ef790" | 4 | file://version.c;endline=18;md5=d8c56b52b9092346b9f93b4da65ef790" |
| 5 | PR = "r0" | 5 | PR = "r0" |
| 6 | 6 | ||
| 7 | SRC_URI_append += "file://gmp_bugfix.patch \ | 7 | SRC_URI_append += "file://use-includedir.patch \ |
| 8 | file://use-includedir.patch \ | ||
| 9 | file://gmp_fix_for_x32.patch" | 8 | file://gmp_fix_for_x32.patch" |
| 10 | 9 | ||
| 11 | export CC_FOR_BUILD = "${BUILD_CC}" | 10 | export CC_FOR_BUILD = "${BUILD_CC}" |
| 12 | 11 | ||
| 13 | SRC_URI[md5sum] = "8061f765cc86b9765921a0c800615804" | 12 | SRC_URI[md5sum] = "50c3edcb7c9438e04377ee9a1a061b79" |
| 14 | SRC_URI[sha256sum] = "dcafe9989c7f332b373e1f766af8e9cd790fc802fdec422a1910a6ef783480e3" | 13 | SRC_URI[sha256sum] = "35d4aade3e4bdf0915c944599b10d23f108ffedf6c3188aeec52221c5cf9a06f" |
