-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 8 jun 2008, om 07:43 heeft Gordon het volgende geschreven:

gmp 4.2.1 has multiple definition problem which bothers gcc 4.3 (#3378). By upgrading gmp to 4.2.2, we at least remove one bump for people insisting in using gcc 4.3 with the stable branch (gcc 4.3 is becoming the default on more and more distros). They will still be bitten by the qemu-native bug, but that's another story.

I suspect you mean "gmp-native" since we don't have gcc 4.3.0 in the stable branch.

Acked-by: Koen Kooi <[EMAIL PROTECTED]>

Regards
Gordon
#
# old_revision [07a690b6cf1993b5b95cc01109613528cb32c5fa]
#
# rename "packages/gmp/gmp-4.1.4/sh4-asmfix.patch"
#     to "packages/gmp/files/sh4-asmfix.patch"
#
# rename "packages/gmp/gmp-4.2.1/x86-fat.diff"
#     to "packages/gmp/files/x86-fat.diff"
#
# add_dir "packages/gmp/files"
#
# add_dir "packages/gmp/gmp-4.2.2"
#
# add_file "packages/gmp/gmp-4.2.2/02_noexec-stack.diff"
#  content [b867a03c687d152e52e5c9be4a32ed58e4b50b8d]
#
# add_file "packages/gmp/gmp-4.2.2/03_gnu89-inline.diff"
#  content [4b5427fb215e9022eb28ebb2b38c2e5e1ea3cbf1]
#
# add_file "packages/gmp/gmp-4.2.2/amd64.patch"
#  content [4b96585a33e8ffe95bc3b84929d67e4bed23a36f]
#
# add_file "packages/gmp/gmp-4.2.2/configure.patch"
#  content [48dbc81c65c119a653e82b5ca6a02d8831d52b4f]
#
# add_file "packages/gmp/gmp-4.2.2/mpf_set_str_c.diff"
#  content [d7b340e228b41803994aeffbb39fa48092dfd945]
#
# add_file "packages/gmp/gmp-4.2.2/sh4-asmfix.patch"
#  content [003be366979f58783858834dc3c70e12f61d89a2]
#
# add_file "packages/gmp/gmp-4.2.2/x86-fat.diff"
#  content [827d248fb5ab34abed2e5fd78b1bcb4b6ba286d5]
#
# add_file "packages/gmp/gmp-native_4.2.2.bb"
#  content [8ee432a77e224c8e0da1d6dfb0b0d5e97c387197]
#
# add_file "packages/gmp/gmp_4.2.2.bb"
#  content [7fb05c91e61ab4d4154c2464138218356fe6c373]
#
============================================================
--- packages/gmp/gmp-4.2.2/02_noexec-stack.diff b867a03c687d152e52e5c9be4a32ed58e4b50b8d +++ packages/gmp/gmp-4.2.2/02_noexec-stack.diff b867a03c687d152e52e5c9be4a32ed58e4b50b8d
@@ -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).
+ #
============================================================
--- packages/gmp/gmp-4.2.2/03_gnu89-inline.diff 4b5427fb215e9022eb28ebb2b38c2e5e1ea3cbf1 +++ packages/gmp/gmp-4.2.2/03_gnu89-inline.diff 4b5427fb215e9022eb28ebb2b38c2e5e1ea3cbf1
@@ -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__
============================================================
--- packages/gmp/gmp-4.2.2/amd64.patch 4b96585a33e8ffe95bc3b84929d67e4bed23a36f +++ packages/gmp/gmp-4.2.2/amd64.patch 4b96585a33e8ffe95bc3b84929d67e4bed23a36f
@@ -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 */
+
============================================================
--- packages/gmp/gmp-4.2.2/configure.patch 48dbc81c65c119a653e82b5ca6a02d8831d52b4f +++ packages/gmp/gmp-4.2.2/configure.patch 48dbc81c65c119a653e82b5ca6a02d8831d52b4f
@@ -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, [EMAIL PROTECTED], 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
============================================================
--- packages/gmp/gmp-4.2.2/mpf_set_str_c.diff d7b340e228b41803994aeffbb39fa48092dfd945 +++ packages/gmp/gmp-4.2.2/mpf_set_str_c.diff d7b340e228b41803994aeffbb39fa48092dfd945
@@ -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;
============================================================
--- packages/gmp/gmp-4.2.2/sh4-asmfix.patch 003be366979f58783858834dc3c70e12f61d89a2 +++ packages/gmp/gmp-4.2.2/sh4-asmfix.patch 003be366979f58783858834dc3c70e12f61d89a2
@@ -0,0 +1,26 @@
+--- gmp-4.1.4/mpn/sh/add_n.s   2005/11/17 08:44:00     1.1
++++ gmp-4.1.4/mpn/sh/add_n.s   2005/11/17 08:18:57
+@@ -29,8 +29,8 @@
+
+       .text
+       .align 2
+-      .global ___gmpn_add_n
+-___gmpn_add_n:
++      .global __gmpn_add_n
++__gmpn_add_n:
+       mov     #0,r3           ! clear cy save reg
+
+ Loop: mov.l   @r5+,r1
+--- gmp-4.1.4/mpn/sh/sub_n.s   2005/11/17 08:44:04     1.1
++++ gmp-4.1.4/mpn/sh/sub_n.s   2005/11/17 08:18:59
+@@ -29,8 +29,8 @@
+
+       .text
+       .align 2
+-      .global ___gmpn_sub_n
+-___gmpn_sub_n:
++      .global __gmpn_sub_n
++__gmpn_sub_n:
+       mov     #0,r3           ! clear cy save reg
+
+ Loop: mov.l   @r5+,r1
============================================================
--- packages/gmp/gmp-4.2.2/x86-fat.diff 827d248fb5ab34abed2e5fd78b1bcb4b6ba286d5 +++ packages/gmp/gmp-4.2.2/x86-fat.diff 827d248fb5ab34abed2e5fd78b1bcb4b6ba286d5
@@ -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
============================================================
--- packages/gmp/gmp-native_4.2.2.bb 8ee432a77e224c8e0da1d6dfb0b0d5e97c387197 +++ packages/gmp/gmp-native_4.2.2.bb 8ee432a77e224c8e0da1d6dfb0b0d5e97c387197
@@ -0,0 +1,2 @@
+PV = "4.2.2"
+require gmp-native.inc
============================================================
--- packages/gmp/gmp_4.2.2.bb   7fb05c91e61ab4d4154c2464138218356fe6c373
+++ packages/gmp/gmp_4.2.2.bb   7fb05c91e61ab4d4154c2464138218356fe6c373
@@ -0,0 +1,8 @@
+PR = "r1"
+
+SRC_URI_append += "file://02_noexec-stack.diff;patch=1 \
+                  file://03_gnu89-inline.diff;patch=1 \
+                  file://mpf_set_str_c.diff;patch=1 \
+                  file://sh4-asmfix.patch;patch=1 \
+                 "
+require gmp.inc
_______________________________________________
Openembedded-stablebranch mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-stablebranch

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFIS5CKMkyGM64RGpERAqmpAJ9ndhDiqfK2nF0vOda/506C5C+TpACdGZh6
bK1lNyqj87yHvnG3kJT0PKk=
=hIu4
-----END PGP SIGNATURE-----

_______________________________________________
Openembedded-stablebranch mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-stablebranch

Reply via email to