summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwoglinde <heinold@inf.fu-berlin.de>2008-10-15 23:57:09 +0200
committerwoglinde <heinold@inf.fu-berlin.de>2008-10-15 23:57:09 +0200
commitaaed254a21282fe80388beca41bf682d84e10811 (patch)
tree6d0b7c3574a58b9b59336b977a1ec1114e2fef91
parent8f676f4eb8bc13b2a97b35da1d7a62e91d96680b (diff)
gmp: update to version 4.2.4
* noexecstack and gnuinline patch were merged upstream * configure patch was refreshed
-rw-r--r--conf/checksums.ini5
-rw-r--r--packages/gmp/gmp-4.2.4/amd64.patch14
-rw-r--r--packages/gmp/gmp-4.2.4/configure.patch195
-rw-r--r--packages/gmp/gmp-native_4.2.4.bb2
-rw-r--r--packages/gmp/gmp_4.2.4.bb5
5 files changed, 221 insertions, 0 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index e89bc6b28c..83093bb1c9 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -4575,6 +4575,7 @@ md5=0aa7d3b3f5b5ec5951e7dddd6f65e891
sha256=1a6ed0ea17b24ea8864c4df516d20c41fac97a448559ddee5a8477aeeecca1a3
[ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.1.tar.bz2]
+sha256=2b2c0aacafa2dc41f4604b381349d49596921e38a58bf782b0d70b33f548657b
md5=091c56e0e1cca6b09b17b69d47ef18e3
sha256=d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941
@@ -4582,6 +4583,10 @@ sha256=d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941
md5=7ce52531644e6d12f16911b7e3151f3f
sha256=2b2c0aacafa2dc41f4604b381349d49596921e38a58bf782b0d70b33f548657b
+[ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.4.tar.bz2]
+md5=fc1e3b3a2a5038d4d74138d0b9cf8dbe
+sha256=5420b0e558a69a53b36f2b2c70a69f547e075d98366a585fc80cbbcce1efe368
+
[http://mercury.chem.pitt.edu/~shank/gmpc-0.11.2.tar.gz]
md5=a7cc8c0734fef9e0b05be76cea3c0a20
sha256=cacf881ccdbc3fe5568636bf279392b5d339a481a5fb2c03d5c70a2de58f7407
diff --git a/packages/gmp/gmp-4.2.4/amd64.patch b/packages/gmp/gmp-4.2.4/amd64.patch
new file mode 100644
index 0000000000..67be9dd350
--- /dev/null
+++ b/packages/gmp/gmp-4.2.4/amd64.patch
@@ -0,0 +1,14 @@
+--- gmp-4.1.4/longlong.h.orig 2004-04-22 00:34:28.000000000 +0200
++++ gmp-4.1.4/longlong.h 2005-07-18 01:13:06.000000000 +0200
+@@ -738,8 +738,10 @@
+ count is only an int. */
+ #define count_trailing_zeros(count, x) \
+ do { \
++ UDItype __cbtmp; \
+ ASSERT ((x) != 0); \
+- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \
++ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
++ (count) = __cbtmp; \
+ } while (0)
+ #endif /* x86_64 */
+
diff --git a/packages/gmp/gmp-4.2.4/configure.patch b/packages/gmp/gmp-4.2.4/configure.patch
new file mode 100644
index 0000000000..8056953230
--- /dev/null
+++ b/packages/gmp/gmp-4.2.4/configure.patch
@@ -0,0 +1,195 @@
+ acinclude.m4 | 26 ++++++++++++++------------
+ configure.in | 24 +++++++++---------------
+ 2 files changed, 23 insertions(+), 27 deletions(-)
+
+Index: gmp-4.2.4/acinclude.m4
+===================================================================
+--- gmp-4.2.4.orig/acinclude.m4 2008-09-05 14:21:12.000000000 +0200
++++ gmp-4.2.4/acinclude.m4 2008-10-15 23:37:38.062976613 +0200
+@@ -30,20 +30,20 @@
+ dnl conftest.exe - various DOS compilers
+
+
+-define(IA64_PATTERN,
++define([IA64_PATTERN],
+ [[ia64*-*-* | itanium-*-* | itanium2-*-*]])
+
+ dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all
+ dnl of which config.sub accepts. (Though none of which are likely to work
+ dnl with GMP.)
+ dnl
+-define(M68K_PATTERN,
++define([M68K_PATTERN],
+ [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]])
+
+-define(POWERPC64_PATTERN,
++define([POWERPC64_PATTERN],
+ [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]])
+
+-define(X86_PATTERN,
++define([X86_PATTERN],
+ [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-*]])
+
+
+@@ -62,7 +62,7 @@
+ dnl x86/k6 -> k6
+ dnl x86/k6/mmx -> k6_mmx
+
+-define(GMP_FAT_SUFFIX,
++define([GMP_FAT_SUFFIX],
+ [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]])
+
+
+@@ -71,7 +71,7 @@
+ dnl Emit code to remove any occurance of ITEM from $LISTVAR. ITEM can be a
+ dnl shell expression like $foo if desired.
+
+-define(GMP_REMOVE_FROM_LIST,
++define([GMP_REMOVE_FROM_LIST],
+ [remove_from_list_tmp=
+ for remove_from_list_i in $[][$1]; do
+ if test $remove_from_list_i = [$2]; then :;
+@@ -87,12 +87,12 @@
+ dnl ----------------------
+ dnl Strip entries */subdir from $path and $fat_path.
+
+-define(GMP_STRIP_PATH,
++define([GMP_STRIP_PATH],
+ [GMP_STRIP_PATH_VAR(path, [$1])
+ GMP_STRIP_PATH_VAR(fat_path, [$1])
+ ])
+
+-define(GMP_STRIP_PATH_VAR,
++define([GMP_STRIP_PATH_VAR],
+ [tmp_path=
+ for i in $[][$1]; do
+ case $i in
+@@ -113,7 +113,7 @@
+ dnl Dummy values for __GMP_BITS_PER_MP_LIMB and GMP_LIMB_BITS are enough
+ dnl for all current configure-time uses of gmp.h.
+
+-define(GMP_INCLUDE_GMP_H,
++define([GMP_INCLUDE_GMP_H],
+ [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */
+ #define GMP_NAIL_BITS $GMP_NAIL_BITS
+ #define __GMP_BITS_PER_MP_LIMB 123 /* dummy for GMP_NUMB_BITS etc */
+@@ -129,7 +129,7 @@
+ dnl FILE. The regexps here aren't very rugged, but are enough for gmp.
+ dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
+
+-define(GMP_HEADER_GETVAL,
++define([GMP_HEADER_GETVAL],
+ [patsubst(patsubst(
+ esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
+ [^.*$1[ ]+],[]),
+@@ -143,7 +143,7 @@
+ dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits
+ dnl like 3.0.1 if patchlevel > 0.
+
+-define(GMP_VERSION,
++define([GMP_VERSION],
+ [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
+ .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
+ ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in) > 0),1,
+@@ -1506,7 +1506,9 @@
+ echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
+
+ # All CPUs use asm-defs.m4
+-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
++echo -n ["include("] >>$gmp_tmpconfigm4i
++echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
++echo [")"] >>$gmp_tmpconfigm4i
+ ])
+
+
+Index: gmp-4.2.4/configure.in
+===================================================================
+--- gmp-4.2.4.orig/configure.in 2008-08-01 19:24:04.000000000 +0200
++++ gmp-4.2.4/configure.in 2008-10-15 23:35:03.466325346 +0200
+@@ -29,12 +29,6 @@
+ AC_PREREQ(2.59)
+ AC_INIT(GNU MP, GMP_VERSION, gmp-bugs@swox.com, gmp)
+ AC_CONFIG_SRCDIR(gmp-impl.h)
+-m4_pattern_forbid([^[ \t]*GMP_])
+-m4_pattern_allow(GMP_LDFLAGS)
+-m4_pattern_allow(GMP_LIMB_BITS)
+-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
+-m4_pattern_allow(GMP_NAIL_BITS)
+-m4_pattern_allow(GMP_NUMB_BITS)
+
+ # If --target is not used then $target_alias is empty, but if say
+ # "./configure athlon-pc-freebsd3.5" is used, then all three of
+@@ -278,7 +272,7 @@
+ # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
+ # called. User selections of CC etc are respected.
+ #
+-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
++# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
+ # pre-testing, since they of course depend on AC_PROG_CC, and also some of
+ # them cache their results, which is not wanted.
+ #
+@@ -370,7 +364,7 @@
+ # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
+ # c89 over cc here. But note that on HP-UX c89 provides a castrated
+ # environment, and would want to be excluded somehow. Maybe
+-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
++# already does enough to stick cc into ANSI mode and
+ # we don't need to worry.
+ #
+ cclist="gcc cc"
+@@ -1525,7 +1519,7 @@
+ CFLAGS_or_unset=${CFLAGS-'(unset)'}
+ CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ User:
+ ABI=$ABI
+ CC=$CC
+@@ -1896,7 +1890,6 @@
+
+ # The C compiler and preprocessor, put into ANSI mode if possible.
+ AC_PROG_CC
+-AC_PROG_CC_STDC
+ AC_PROG_CPP
+ GMP_H_ANSI
+
+@@ -1919,11 +1912,11 @@
+
+ # The C++ compiler, if desired.
+ want_cxx=no
++AC_PROG_CXX
+ if test $enable_cxx != no; then
+ test_CXXFLAGS=${CXXFLAGS+set}
+- AC_PROG_CXX
+
+- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
++ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
+ cxxflags_ac_prog_cxx=$CXXFLAGS
+ cxxflags_list=ac_prog_cxx
+
+@@ -2029,7 +2022,7 @@
+ esac
+
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ Decided:
+ ABI=$ABI
+ CC=$CC
+@@ -3208,7 +3201,7 @@
+ # FIXME: Upcoming version of autoconf/automake may not like broken lines.
+ # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
+
+-AC_OUTPUT(Makefile \
++AC_CONFIG_FILES([Makefile \
+ mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \
+ mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \
+ tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \
+@@ -3217,4 +3210,5 @@
+ tests/cxx/Makefile \
+ doc/Makefile tune/Makefile \
+ demos/Makefile demos/calc/Makefile demos/expr/Makefile \
+- gmp.h:gmp-h.in mp.h:mp-h.in)
++ gmp.h:gmp-h.in mp.h:mp-h.in])
++AC_OUTPUT
diff --git a/packages/gmp/gmp-native_4.2.4.bb b/packages/gmp/gmp-native_4.2.4.bb
new file mode 100644
index 0000000000..1e0ffb4bed
--- /dev/null
+++ b/packages/gmp/gmp-native_4.2.4.bb
@@ -0,0 +1,2 @@
+PV = "4.2.4"
+require gmp-native.inc
diff --git a/packages/gmp/gmp_4.2.4.bb b/packages/gmp/gmp_4.2.4.bb
new file mode 100644
index 0000000000..f447087c5e
--- /dev/null
+++ b/packages/gmp/gmp_4.2.4.bb
@@ -0,0 +1,5 @@
+FILE_PR = "r0"
+
+SRC_URI_append += "file://sh4-asmfix.patch;patch=1 \
+ "
+require gmp.inc