diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/gmp/gmp-4.2.2 | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/gmp/gmp-4.2.2')
-rw-r--r-- | recipes/gmp/gmp-4.2.2/02_noexec-stack.diff | 74 | ||||
-rw-r--r-- | recipes/gmp/gmp-4.2.2/03_gnu89-inline.diff | 23 | ||||
-rw-r--r-- | recipes/gmp/gmp-4.2.2/amd64.patch | 14 | ||||
-rw-r--r-- | recipes/gmp/gmp-4.2.2/configure.patch | 207 | ||||
-rw-r--r-- | recipes/gmp/gmp-4.2.2/mpf_set_str_c.diff | 38 |
5 files changed, 356 insertions, 0 deletions
diff --git a/recipes/gmp/gmp-4.2.2/02_noexec-stack.diff b/recipes/gmp/gmp-4.2.2/02_noexec-stack.diff new file mode 100644 index 0000000000..613589e347 --- /dev/null +++ b/recipes/gmp/gmp-4.2.2/02_noexec-stack.diff @@ -0,0 +1,74 @@ +Index: acinclude.m4 +=================================================================== +RCS file: /cvsroot/pkg-gmp/gmp/acinclude.m4,v +retrieving revision 1.3 +diff -u -b -B -r1.3 acinclude.m4 +--- gmp-4.2.2.orig/acinclude.m4 14 Apr 2006 22:48:55 -0000 1.3 ++++ gmp-4.2.2/acinclude.m4 15 Apr 2006 06:11:48 -0000 +@@ -1613,6 +1613,34 @@ + ]) + + ++dnl Checks whether the stack can be marked nonexecutable by passing an option ++dnl to the C-compiler when acting on .s files. Appends that option to ASFLAGS. ++dnl This macro is adapted from one found in GLIBC-2.3.5. ++AC_DEFUN([CL_AS_NOEXECSTACK],[ ++dnl AC_REQUIRE([AC_PROG_CC]) GMP uses something else ++AC_CACHE_CHECK([whether assembler supports --noexecstack option], ++cl_cv_as_noexecstack, [dnl ++ cat > conftest.c <<EOF ++void foo() {} ++EOF ++ if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS ++ -S -o conftest.s conftest.c >/dev/null]) \ ++ && grep -q .note.GNU-stack conftest.s \ ++ && AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -Wa,--noexecstack ++ -c -o conftest.o conftest.s >/dev/null]) ++ then ++ cl_cv_as_noexecstack=yes ++ else ++ cl_cv_as_noexecstack=no ++ fi ++ rm -f conftest*]) ++ if test "$cl_cv_as_noexecstack" = yes; then ++ ASMFLAGS="$ASMFLAGS -Wa,--noexecstack" ++ fi ++ AC_SUBST(ASMFLAGS) ++]) ++ ++ + dnl GMP_ASM_LABEL_SUFFIX + dnl -------------------- + dnl : - is usual. +Index: configure.in +=================================================================== +RCS file: /cvsroot/pkg-gmp/gmp/configure.in,v +retrieving revision 1.3 +diff -u -b -B -r1.3 configure.in +--- gmp-4.2.2.orig/configure.in 14 Apr 2006 22:48:55 -0000 1.3 ++++ gmp-4.2.2/configure.in 15 Apr 2006 06:11:49 -0000 +@@ -2024,6 +2024,8 @@ + # Automake ansi2knr support. + AM_C_PROTOTYPES + ++CL_AS_NOEXECSTACK ++ + GMP_PROG_AR + GMP_PROG_NM + +Index: mpn/Makeasm.am +=================================================================== +RCS file: /cvsroot/pkg-gmp/gmp/mpn/Makeasm.am,v +retrieving revision 1.5 +diff -u -b -B -r1.5 Makeasm.am +--- gmp-4.2.2.orig/mpn/Makeasm.am 14 Apr 2006 22:48:59 -0000 1.5 ++++ gmp-4.2.2/mpn/Makeasm.am 15 Apr 2006 06:11:49 -0000 +@@ -24,7 +24,7 @@ + # COMPILE minus CC. + # + COMPILE_FLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(ASMFLAGS) + + # Flags used for preprocessing (in ansi2knr rules). + # diff --git a/recipes/gmp/gmp-4.2.2/03_gnu89-inline.diff b/recipes/gmp/gmp-4.2.2/03_gnu89-inline.diff new file mode 100644 index 0000000000..17e8915fbb --- /dev/null +++ b/recipes/gmp/gmp-4.2.2/03_gnu89-inline.diff @@ -0,0 +1,23 @@ +Index: gmp-h.in +=================================================================== +RCS file: /cvsroot/pkg-gmp/gmp/gmp-h.in,v +retrieving revision 1.4 +diff -u -b -B -r1.4 gmp-h.in +--- gmp-4.2.2.orig/gmp-h.in 15 Sep 2007 23:05:28 -0000 1.4 ++++ gmp-4.2.2/gmp-h.in 9 Apr 2008 05:30:42 -0000 +@@ -418,9 +418,13 @@ + for an inline too, so as to correctly specify "dllimport" on windows, in + case the function is called rather than inlined. + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 +- inline semantics, unless -fgnu89-inline is used. */ ++ inline semantics, unless -fgnu89-inline is used. ++ ++ With GCC 4.2, `__GNUC_STDC_INLINE__' is never defined (because C99 inline ++ semantics are not supported), but a warning is issued in C99 mode if ++ `__gnu_inline__' is not used. */ + #ifdef __GNUC__ +-#ifdef __GNUC_STDC_INLINE__ ++#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) + #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) + #else + #define __GMP_EXTERN_INLINE extern __inline__ diff --git a/recipes/gmp/gmp-4.2.2/amd64.patch b/recipes/gmp/gmp-4.2.2/amd64.patch new file mode 100644 index 0000000000..67be9dd350 --- /dev/null +++ b/recipes/gmp/gmp-4.2.2/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/recipes/gmp/gmp-4.2.2/configure.patch b/recipes/gmp/gmp-4.2.2/configure.patch new file mode 100644 index 0000000000..2a3b0e6fc1 --- /dev/null +++ b/recipes/gmp/gmp-4.2.2/configure.patch @@ -0,0 +1,207 @@ + acinclude.m4 | 26 ++++++++++++++------------ + configure.in | 24 +++++++++--------------- + 2 files changed, 23 insertions(+), 27 deletions(-) + +Index: gmp-4.2.2/acinclude.m4 +=================================================================== +--- gmp-4.2.2.orig/acinclude.m4 2008-05-01 11:07:43.000000000 +0200 ++++ gmp-4.2.2/acinclude.m4 2008-05-01 11:07:48.000000000 +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*-*-*]]) + + +@@ -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, +@@ -1489,7 +1489,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.2/configure.in +=================================================================== +--- gmp-4.2.2.orig/configure.in 2008-05-01 11:07:43.000000000 +0200 ++++ gmp-4.2.2/configure.in 2008-05-01 11:07:48.000000000 +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 +@@ -275,7 +269,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. + # +@@ -367,7 +361,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" +@@ -1518,7 +1512,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 +@@ -1889,7 +1883,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 + +@@ -1912,11 +1905,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 + +@@ -2022,7 +2015,7 @@ + esac + + +-cat >&AC_FD_CC <<EOF ++cat >&AS_MESSAGE_LOG_FD() <<EOF + Decided: + ABI=$ABI + CC=$CC +@@ -3199,7 +3192,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 \ +@@ -3208,4 +3201,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 +Index: gmp-4.2.2/gmp-h.in +=================================================================== +--- gmp-4.2.2.orig/gmp-h.in 2007-09-03 18:05:40.000000000 +0200 ++++ gmp-4.2.2/gmp-h.in 2008-05-01 11:10:42.000000000 +0200 +@@ -516,6 +516,7 @@ + + #if defined (__cplusplus) + extern "C" { ++#include <cstdio> + #ifdef _GMP_H_HAVE_FILE + using std::FILE; + #endif diff --git a/recipes/gmp/gmp-4.2.2/mpf_set_str_c.diff b/recipes/gmp/gmp-4.2.2/mpf_set_str_c.diff new file mode 100644 index 0000000000..1924611640 --- /dev/null +++ b/recipes/gmp/gmp-4.2.2/mpf_set_str_c.diff @@ -0,0 +1,38 @@ +*** gmp-4.2.2.orig/mpf/set_str.c 30 Aug 2007 18:19:41 -0000 +--- gmp-4.2.2/mpf/set_str.c 10 Dec 2007 04:47:18 -0000 +*************** mpf_set_str (mpf_ptr x, const char *str, +*** 272,277 **** + + if (expptr != 0) +! /* FIXME: Should do some error checking here. */ +! exp_in_base = strtol (expptr, (char **) 0, exp_base); + else + exp_in_base = 0; +--- 272,298 ---- + + if (expptr != 0) +! { +! /* Scan and convert the exponent, in base exp_base. */ +! long dig, neg = -(long) ('-' == expptr[0]); +! expptr -= neg; /* conditional increment */ +! c = (unsigned char) *expptr++; +! dig = digit_value[c]; +! if (dig >= exp_base) +! { +! TMP_FREE; +! return -1; +! } +! exp_in_base = dig; +! c = (unsigned char) *expptr++; +! dig = digit_value[c]; +! while (dig < exp_base) +! { +! exp_in_base = exp_in_base * exp_base; +! exp_in_base += dig; +! c = (unsigned char) *expptr++; +! dig = digit_value[c]; +! } +! exp_in_base = (exp_in_base ^ neg) - neg; /* conditional negation */ +! } + else + exp_in_base = 0; |