diff -Naur gmp-4.1/ChangeLog gmp-4.1.1/ChangeLog --- gmp-4.1/ChangeLog Thu May 23 19:50:44 2002 +++ gmp-4.1.1/ChangeLog Mon Nov 25 10:44:49 2002 @@ -19,6 +19,379 @@ MA 02111-1307, USA. +2002-11-25 Kevin Ryde + + * Version 4.1.1 released. + +2002-11-25 Torbjorn Granlund + + * mpfr/tests/tdiv.c: Decrease number of performed tests. + +2002-11-23 Kevin Ryde + + * tests/misc/t-printf.c, tests/misc/t-scanf.c (check_misc): Suppress + %zd test on glibc prior to 2.1, it's not supported. + +2002-11-19 Kevin Ryde + + * gmpxx.h (__gmp_randinit_lc_2exp_size_t): Return type is int. + +2002-11-17 Torbjorn Granlund + + * mpn/ia64/addmul_1.asm: Don't clobber callee-saves register f16. + * mpn/ia64/mul_1.asm: Likewise. + + * mpn/ia64/addmul_1.asm: Add pred.rel declarations. Resolve RAW + hazards for condition code registers, duplicating code as needed. Add + prediction to all branches. + * mpn/ia64/mul_1.asm: Likewise. + * mpn/ia64/add_n.asm: Likewise. + * mpn/ia64/sub_n.asm: Likewise. + * mpn/ia64/copyi.asm: Likewise. + * mpn/ia64/copyd.asm: Likewise + +2002-11-16 Kevin Ryde + + * configure.in, gmp.texi: Remove powerpc64 ABI=32L, doesn't work and + is unlikely to ever do so. + * configure.in: Allow ABI=32 for powerpc64. + Reported by David Edelsohn. + +2002-11-14 Kevin Ryde + + * gmp-h.in (__GMP_DECLSPEC_EXPORT, __GMP_DECLSPEC_IMPORT) [__GNUC__]: + Use __dllexport__ and __dllimport__ to keep out of application + namespace. + + * Makefile.am (LIBGMPXX_LT_REVISION): Bump for istream changes. + +2002-11-14 Gerardo Ballabio + + * gmpxx.h (__gmp_randinit_default_t, __gmp_randinit_lc_2exp_t, + __gmp_randinit_lc_2exp_size_t): Use extern "C" { typedef ... }, for + the benefit of g++ prior to 3.2. + +2002-11-12 Kevin Ryde + + * mpn/generic/tdiv_qr.c: Add for abort(). + + * gmpxx.h (gmp_randclass constructors): Patch from Roberto Bagnara to + use extern "C" on C function pointer arguments. + +2002-11-07 Gerardo Ballabio + + * cxx/ismpf.cc, cxx/ismpq.cc, cxx/ismpz.cc: Don't skip whitespace + without ios::skipws. + +2002-11-06 Torbjorn Granlund + + * mpn/generic/tdiv_qr.c: Remove a bogus assert. + +2002-11-04 Kevin Ryde + + * mpn/generic/mode1o.c, mpn/alpha/ev5/mode1o.c: Correction to ASSERTs. + Reported by Christoph Ludwig. + +2002-11-02 Kevin Ryde + + * gmp.texi (ABI and ISA): Add powerpc620 and powerpc630 to powerpc64. + +2002-11-01 Kevin Ryde + + * longlong.h: Test __x86_64__ not __x86_64. Reported by Andreas + Jaeger. + + * mpf/urandomb.c: Truncate nbits to precision of rop. + + * gmp.texi (Known Build Problems): Add MacOS X C++ shared libraries. + +2002-10-29 Torbjorn Granlund + + * configure.in (*-cray-unicos*): Pass -hnofastmd again. + +2002-10-28 Kevin Ryde + + * gmp-impl.h (union ieee_double_extract): IEEE little endian for + x86_64. Reported by Andreas Jaeger. + +2002-10-25 Torbjorn Granlund + + * tests/tadd.c: Disable test of denorms. + +2002-10-23 Linus Nordberg + + * gmp.texi (Introduction to GMP): Update section about mailing + lists. + +2002-10-21 Torbjorn Granlund + + * configure.in (*-cray-unicos*): Remove -hscalar0, it causes too much + performance loss. Let's trust Cray to fix their compilers. + + * mpn/cray/ieee/addmul_1.c: Handle overlap as in mul_1.c. + * mpn/cray/ieee/submul_1.c: Likewise. + +2002-10-20 Kevin Ryde + + * mpz/import.c, mpz/export.c: Use char* subtract from NULL to get + pointer alignment, for the benefit of Cray vector systems. + +2002-10-19 Kevin Ryde + + * configure.in (sparc v9 *bsd*): Add NetBSD and OpenBSD sparc64. + (x86 openbsd*): Extra underscore for _GLOBAL_OFFSET_TABLE_. + + * demos/calc/calc.y: Change ={ to {, needed for bison 1.50. + + * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]: + Should be UDItype. + +2002-10-19 Torbjorn Granlund + + * mpn/generic/rootrem.c: Avoid overflow in xnb calculation. + * mpz/root.c: Avoid overflow in rootnb calculation. + +2002-09-20 Gerardo Ballabio + + * gmpxx.h (__gmp_binary_equal, __gmp_binary_not_equal): Fix broken + mpq/double functions. + +2002-09-16 Kevin Ryde + + * gmp.texi (Notes for Particular Systems): Note cl /MD is required for + Microsoft C and MINGW to cooperate on I/O. + (Language Bindings): Add linbox. + +2002-09-14 Kevin Ryde + + * configure.in (GMP_C_RESTRICT): Remove this, currently unused, and + #define restrict causes problems for MS Visual C on win64. Reported + by David Librik. + +2002-09-08 Kevin Ryde + + * acinclude.m4 (GMP_GCC_WA_MCPU): New macro. + * configure.in (alpha*-*-*): Use it to avoid -Wa,-mev67 if gas isn't + new enough to know ev67. Reported by David Bremner. + +2002-09-07 Kevin Ryde + + * gmp.texi (Demonstration Programs): New section, expanding on what + was under "Build Options". + (Converting Floats): Don't need \ for _ in @var within @math. + + * longlong.h: Define COUNT_LEADING_ZEROS_NEED_CLZ_TAB for all alphas, + since mpn/alpha/cntlz.asm always goes into libgmp.so, even for ev67 + and ev68 which don't need it. Reported by David Bremner. + +2002-09-02 Kevin Ryde + + * gmp-h.in (__GNU_MP_VERSION_PATCHLEVEL): Bump to 4.1.1. + * Makefile.am (LIBGMP_LT_REVISION, LIBMP_LT_REVISION): Increment. + +2002-08-26 Torbjorn Granlund + + * gmp.texi (Converting Floats): Fix typo in mpf_get_d_2exp docs, + reported by Paul Zimmermann. + +2002-08-23 Torbjorn Granlund + + * configure.in: Choose powerpc32/aix.m4 or powerpc64/aix.m4 based on + ABI, not configuration triple. + +2002-08-22 Kevin Ryde + + * configfsf.guess: Update to 2002-08-19. + * configfsf.sub: Update to 2002-08-20. + +2002-08-20 Kevin Ryde + + * gmp.texi (Known Build Problems): Binutils 2.12 is ok for libgmp.a. + (Notes for Particular Systems): Remove -march=pentiumpro, now ok. + (Emacs): New section. + (Language Bindings): Update MLton URL, reported by Stephen Weeks. + +2002-08-16 Torbjorn Granlund + + * mpn/m68k/lshift.asm: Fix typo in !scale_available_p code. + * mpn/m68k/rshift.asm: Likewise. + +2002-08-09 Kevin Ryde + + * mpn/ia64/add_n.asm, mpn/ia64/sub_n.asm: Add .body. + * mpn/ia64/add_n.asm, mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm, + mpn/ia64/sub_n.asm: Position .save ar.lc just before relevant + instruction. + * mpn/ia64/addmul_1.asm, mpn/ia64/mul_1.asm: Add .save ar.pfs and pr. + * mpn/ia64/copyd.asm, mpn/ia64/copyi.asm: Correction to .body position. + * mpn/ia64/lorrshift.asm: Add .prologue stuff. + + * mpn/ia64/*.asm [hpux ABI=32]: Extend 32-bit operands to 64-bits, not + optimal and might not be sufficient, but seems to work. + +2002-08-07 Kevin Ryde + + * mpz/remove.c: Make src==0 return 0, not do DIVIDE_BY_ZERO. + +2002-08-05 Kevin Ryde + + * Makefile.am (libgmpxx_la_DEPENDENCIES): libgmp.la should be here, + not libgmpxx_la_LIBADD, for the benefit of "make -j2". + +2002-07-30 Kevin Ryde + + * gmp.texi (Known Build Problems): An easier workaround for DESTDIR, + using LD_LIBRARY_PATH. + +2002-07-27 Kevin Ryde + + * configure.in: Establish CONFIG_SHELL to avoid a problem with + AC_LIBTOOL_SYS_MAX_CMD_LEN, in particular with ia64-*-hpux*. + + * tune/speed.h (SPEED_ROUTINE_MPN_GCD_FINDA): Don't let calls to + mpn_gcd_finda go dead. + +2002-07-21 Kevin Ryde + + * Makefile.am (DISTCLEANFILES): Add configure.lineno. + + * tests/mpz/t-jac.c (try_si_zi): Correction to "a" parameter type. + +2002-07-17 Kevin Ryde + + * gmp.texi (Random State Initialization): Typo in m2exp described for + gmp_randinit_lc_2exp_size. + (Formatted Input Strings): Typo in %n summary. + + * mpfr/acinclude.m4 (MPFR_CONFIGS): Patch by Vincent for an apparent + float rounding gremlin on powerpc. + +2002-07-15 Kevin Ryde + + * Makefile.am (PRINTF_OBJECTS): Avoid ending in a backslash, some hpux + makes don't like that. + + * gmp-impl.h (ieee_double_extract): Test __sparc__, used by gcc 3.1. + Reported by nix@esperi.demon.co.uk. + * mpfr/mpfr-math.h (_MPFR_NAN_BYTES etc): Ditto. + +2002-07-13 Kevin Ryde + + * gmp-h.in (__GMP_EXTERN_INLINE): Don't use this during configure, + ie. __GMP_WITHIN_CONFIGURE, to avoid needing dependent routines. + * acinclude.m4 (GMP_H_EXTERN_INLINE): Consequent changes. + + * gmp.texi (Number Theoretic Functions): Clarify return value. + Reported by Peter Keller. + +2002-07-10 Kevin Ryde + + * gmp-impl.h (DItype): Use HAVE_LONG_LONG to choose long long, + avoiding _LONGLONG which is in gcc but means something unrelated in MS + Visual C 7.0. Reported by David Librik. + +2002-07-06 Kevin Ryde + + * gmp.texi (Low-level Functions): mpn_set_str takes "unsigned char *", + reported by Mark Sofroniou. + (C++ Interface General): Describe linking with libgmpxx and libgmp. + +2002-07-01 Kevin Ryde + + * gmp-h.in (mpz_export): Remove a spurious parameter name. + +2002-06-29 Kevin Ryde + + * mpf/inp_str.c: Fix returned count of chars read, reported by Paul + Zimmermann. Also fix a memory leak for invalid input. + +2002-06-25 Kevin Ryde + + * configure.in (x86-*-*): Remove -march=pentiumpro check, seems ok + with current code. + +2002-06-23 Kevin Ryde + + * acinclude.m4 (GMP_GCC_ARM_UMODSI): Match bad "gcc --version" output + exactly, rather than parsing it with GMP_GCC_VERSION_GE. + +2002-06-22 Kevin Ryde + + * gmp-impl.h (const, signed): Move to near top of file, fixes + --enable-alloca=debug on K&R. + +2002-06-20 Kevin Ryde + + * mpn/ia64/submul_1.c: Add missing TMP_DECL, TMP_MARK, TMP_FREE. + Reported by Paul Zimmermann. + +2002-06-20 Gerardo Ballabio + + * gmpxx.h, mpfrxx.h: Remove mpz_classref, let mpq_class::get_num and + mpq_class::get_den return mpz_class& as per the documentation. + Reported by Roberto Bagnara. + +2002-06-15 Paul Zimmermann + + * mpfr/set_q.c: Allow for 1 bit numerator or denominator. + +2002-06-14 Kevin Ryde + + * tests/misc/t-scanf.c: (fromstring_gmp_fscanf): Add missing va_end. + Don't mix varargs and fixed args functions, not good on x86_64. + Reported by Marcus Meissner. + + * tests/mpz/t-cmp_d.c (check_one_2exp): Use volatile to force to + double, fixes gcc 3.1 with -O4. Reported by Michael Lee. + * configure.in (AC_C_VOLATILE): New macro. + +2002-06-09 Kevin Ryde + + * mpfr/tests/tadd.c, mpfr/tests/tmul.c (check): Apply a hack to the + parameter order to make sparc gcc 2.95.2 happy. + + * gmp.texi (Known Build Problems): Notes on MacOS and GCC. + (Low-level Functions): mpn_get_str accepts base==256. + +2002-06-09 Torbjorn Granlund + + * randraw.c (lc): Remove broken ASSERT_ALWAYS. + +2002-06-08 Kevin Ryde + + * configure.in (alphev56): Fix to use ev5 path. + + * mpfr/tests/tsqrt.c, mpfr/tests/tsqrt_ui.c: Suppress tests if sqrt is + not affected by mpfr_set_machine_rnd_mode. + + * mpfr/mul_2si.c: Workaround a mips gcc 2.95.3 bug under -O2 -mabi=n32. + +2002-06-06 Kevin Ryde + + * configure.in, mpfr/tests/Makefile.am: Add $LIBM to $LIBS for + MPFR_CONFIGS so it detects fesetround, and let it go through to + $MPFR_LIBS. + * mpfr/rnd_mode.c: Use gmp-impl.h to get MPFR_HAVE_FESETROUND. + + * tests/mpz/t-sizeinbase.c: Disable fake bits test, such pointer + setups are bogus and have been seen failing on hppa. + +2002-06-03 Kevin Ryde + + * mpn/sparc32/sparc-defs.m4: New file. + * configure.in (sparc*-*-*): Use it. + * acinclude.m4 (GMP_ASM_SPARC_REGISTER): New macro. + * configure.in (sparc64): Use it. Also, use -Wc,-m64 for linking. + * mpn/sparc64/add_n.asm, mpn/sparc64/addmul_1.asm, + mpn/sparc64/copyd.asm, mpn/sparc64/copyi.asm, mpn/sparc64/lshift.asm, + mpn/sparc64/mul_1.asm, mpn/sparc64/rshift.asm, + mpn/sparc64/sqr_diagonal.asm, mpn/sparc64/sub_n.asm, + mpn/sparc64/submul_1.asm: Use REGISTER for .register. + +2002-06-01 Kevin Ryde + + * mpz/powm_ui.c: Fix for result range in certain circumstances. + 2002-05-23 Torbjorn Granlund * Version 4.1 released. @@ -76,7 +449,7 @@ (gmp_mpn_functions_optional): Add mul_3, mul_4, addmul_2, addmul_3, and addmul_4. * acconfig.h: Add #undefs for new optional mpn functions. - + 2002-05-18 Kevin Ryde * gmp.texi (Integer Import and Export): Mention Cray unfilled words. @@ -126,7 +499,7 @@ before returning. * mpz/root.c: Don't allocate extra limb for root value. * mpz/perfpow.c: Undo last change. - + 2002-05-08 Torbjorn Granlund * gmp-impl.h (powerpc BSWAP_LIMB_FETCH): Rename local variable to make @@ -139,7 +512,7 @@ * gmp-impl.h (mpn_rootrem): Add declaration. * mpz/perfpow.c: Amend allocations for mpn_rootrem requirements. * mpz/root.c: Rewrite to use mpn_rootrem. - + 2002-05-08 Kevin Ryde * gmp-impl.h (MUL_KARATSUBA_THRESHOLD etc): Remove forced nail values. diff -Naur gmp-4.1/Makefile.am gmp-4.1.1/Makefile.am --- gmp-4.1/Makefile.am Tue May 7 02:24:58 2002 +++ gmp-4.1.1/Makefile.am Wed Nov 13 22:45:04 2002 @@ -45,6 +45,7 @@ # 4.0 5:0:2 3:0:0 4:2:1 # 4.0.1 5:1:2 3:1:0 4:3:1 # 4.1 6:0:3 3:2:0 4:4:1 +# 4.1.1 6:1:3 3:3:0 4:5:1 # # Starting at 3:0:0 is a slight abuse of the versioning system, but it # ensures we're past soname libgmp.so.2, which was used on Debian GNU/Linux @@ -52,15 +53,15 @@ # gmp 3 mean 3:0:0 is right. LIBGMP_LT_CURRENT = 6 -LIBGMP_LT_REVISION = 0 +LIBGMP_LT_REVISION = 1 LIBGMP_LT_AGE = 3 LIBGMPXX_LT_CURRENT = 3 -LIBGMPXX_LT_REVISION = 2 +LIBGMPXX_LT_REVISION = 3 LIBGMPXX_LT_AGE = 0 LIBMP_LT_CURRENT = 4 -LIBMP_LT_REVISION = 4 +LIBMP_LT_REVISION = 5 LIBMP_LT_AGE = 1 @@ -99,7 +100,7 @@ configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf libmp.sym \ gmpxx.h mpfrxx.h mpfr/README -DISTCLEANFILES = $(nodist_include_HEADERS) config.m4 @gmp_srclinks@ +DISTCLEANFILES = $(nodist_include_HEADERS) config.m4 configure.lineno @gmp_srclinks@ # Generated by current texinfo.tex when processing gmp.texi. # FIXME: Maybe this should be added to automake. @@ -191,6 +192,7 @@ MPN_OBJECTS = @mpn_objs_in_libgmp@ PRINTF_OBJECTS = \ + @REPL_VSNPRINTF_PRINTF_OBJ@ \ printf/asprintf$U.lo printf/asprntffuns$U.lo \ printf/doprnt$U.lo printf/doprntf$U.lo printf/doprnti$U.lo \ printf/fprintf$U.lo \ @@ -199,8 +201,7 @@ printf/snprintf$U.lo printf/snprntffuns$U.lo \ printf/sprintf$U.lo printf/sprintffuns$U.lo \ printf/vasprintf$U.lo printf/vfprintf$U.lo printf/vprintf$U.lo \ - printf/vsnprintf$U.lo printf/vsprintf$U.lo \ - @REPL_VSNPRINTF_PRINTF_OBJ@ + printf/vsnprintf$U.lo printf/vsprintf$U.lo SCANF_OBJECTS = \ scanf/doscan$U.lo scanf/fscanf$U.lo scanf/fscanffuns$U.lo \ @@ -253,8 +254,8 @@ GMPXX_LTLIBRARIES_OPTION = libgmpxx.la endif libgmpxx_la_SOURCES = dummy.cc -libgmpxx_la_DEPENDENCIES = $(CXX_OBJECTS) -libgmpxx_la_LIBADD = $(libgmpxx_la_DEPENDENCIES) libgmp.la +libgmpxx_la_DEPENDENCIES = $(CXX_OBJECTS) libgmp.la +libgmpxx_la_LIBADD = $(libgmpxx_la_DEPENDENCIES) libgmpxx_la_LDFLAGS = $(GMP_LDFLAGS) \ -version-info $(LIBGMPXX_LT_CURRENT):$(LIBGMPXX_LT_REVISION):$(LIBGMPXX_LT_AGE) diff -Naur gmp-4.1/Makefile.in gmp-4.1.1/Makefile.in --- gmp-4.1/Makefile.in Fri May 24 12:54:40 2002 +++ gmp-4.1.1/Makefile.in Wed Nov 27 23:33:58 2002 @@ -56,6 +56,7 @@ # 4.0 5:0:2 3:0:0 4:2:1 # 4.0.1 5:1:2 3:1:0 4:3:1 # 4.1 6:0:3 3:2:0 4:4:1 +# 4.1.1 6:1:3 3:3:0 4:5:1 # # Starting at 3:0:0 is a slight abuse of the versioning system, but it # ensures we're past soname libgmp.so.2, which was used on Debian GNU/Linux @@ -166,15 +167,15 @@ mpn_objs_in_libmp = @mpn_objs_in_libmp@ LIBGMP_LT_CURRENT = 6 -LIBGMP_LT_REVISION = 0 +LIBGMP_LT_REVISION = 1 LIBGMP_LT_AGE = 3 LIBGMPXX_LT_CURRENT = 3 -LIBGMPXX_LT_REVISION = 2 +LIBGMPXX_LT_REVISION = 3 LIBGMPXX_LT_AGE = 0 LIBMP_LT_CURRENT = 4 -LIBMP_LT_REVISION = 4 +LIBMP_LT_REVISION = 5 LIBMP_LT_AGE = 1 AUTOMAKE_OPTIONS = gnu no-dependencies ansi2knr @@ -203,7 +204,7 @@ gmpxx.h mpfrxx.h mpfr/README -DISTCLEANFILES = $(nodist_include_HEADERS) config.m4 @gmp_srclinks@ +DISTCLEANFILES = $(nodist_include_HEADERS) config.m4 configure.lineno @gmp_srclinks@ # Generated by current texinfo.tex when processing gmp.texi. # FIXME: Maybe this should be added to automake. @@ -297,6 +298,7 @@ MPN_OBJECTS = @mpn_objs_in_libgmp@ PRINTF_OBJECTS = \ + @REPL_VSNPRINTF_PRINTF_OBJ@ \ printf/asprintf$U.lo printf/asprntffuns$U.lo \ printf/doprnt$U.lo printf/doprntf$U.lo printf/doprnti$U.lo \ printf/fprintf$U.lo \ @@ -305,8 +307,7 @@ printf/snprintf$U.lo printf/snprntffuns$U.lo \ printf/sprintf$U.lo printf/sprintffuns$U.lo \ printf/vasprintf$U.lo printf/vfprintf$U.lo printf/vprintf$U.lo \ - printf/vsnprintf$U.lo printf/vsprintf$U.lo \ - @REPL_VSNPRINTF_PRINTF_OBJ@ + printf/vsnprintf$U.lo printf/vsprintf$U.lo SCANF_OBJECTS = \ @@ -362,8 +363,8 @@ # arbitrary choice for that. @WANT_CXX_TRUE@GMPXX_LTLIBRARIES_OPTION = libgmpxx.la libgmpxx_la_SOURCES = dummy.cc -libgmpxx_la_DEPENDENCIES = $(CXX_OBJECTS) -libgmpxx_la_LIBADD = $(libgmpxx_la_DEPENDENCIES) libgmp.la +libgmpxx_la_DEPENDENCIES = $(CXX_OBJECTS) libgmp.la +libgmpxx_la_LIBADD = $(libgmpxx_la_DEPENDENCIES) libgmpxx_la_LDFLAGS = $(GMP_LDFLAGS) \ -version-info $(LIBGMPXX_LT_CURRENT):$(LIBGMPXX_LT_REVISION):$(LIBGMPXX_LT_AGE) diff -Naur gmp-4.1/NEWS gmp-4.1.1/NEWS --- gmp-4.1/NEWS Thu May 23 20:03:51 2002 +++ gmp-4.1.1/NEWS Tue Nov 12 00:05:19 2002 @@ -18,6 +18,11 @@ 02111-1307, USA. +Changes between MP version 4.1 and 4.1.1 + +* Bug fixes. +* New systems supported: NetBSD and OpenBSD sparc64. + Changes between MP version 4.0.1 and 4.1 * Bug fixes. diff -Naur gmp-4.1/acinclude.m4 gmp-4.1.1/acinclude.m4 --- gmp-4.1/acinclude.m4 Tue Apr 16 01:52:24 2002 +++ gmp-4.1.1/acinclude.m4 Sun Sep 8 02:02:19 2002 @@ -609,15 +609,16 @@ dnl tests/mpz/t-jac.c as a wrong result from mpz_kronecker_ui. AC_DEFUN(GMP_GCC_ARM_UMODSI, -[AC_MSG_CHECKING([whether gcc unsigned division works]) -GMP_GCC_VERSION_GE([$1], 2,95,4) -case $gmp_compare_ge in -yes) - ifelse([$2],,:,[$2]) - gmp_gcc_arm_umodsi_result=yes ;; -*) - ifelse([$3],,:,[$3]) - gmp_gcc_arm_umodsi_result="no, gcc <= 2.95.3" ;; +[AC_MSG_CHECKING([whether ARM gcc unsigned division works]) +tmp_version=`$1 --version` +echo "$tmp_version" >&AC_FD_CC +case $tmp_version in + [2.95 | 2.95.[123]]) + ifelse([$3],,:,[$3]) + gmp_gcc_arm_umodsi_result="no, gcc 2.95.[0123]" ;; + *) + ifelse([$2],,:,[$2]) + gmp_gcc_arm_umodsi_result=yes ;; esac AC_MSG_RESULT([$gmp_gcc_arm_umodsi_result]) ]) @@ -741,6 +742,40 @@ ]) +dnl GMP_GCC_WA_MCPU(CC+CFLAGS, NEWFLAG [,ACTION-YES [,ACTION-NO]]) +dnl -------------------------------------------------------------- +dnl Check whether gcc (or gas rather) accepts a flag like "-Wa,-mev67". +dnl +dnl Gas doesn't give an error for an unknown cpu, it only prints a warning +dnl like "Warning: Unknown CPU identifier `ev78'". +dnl +dnl This is intended for use on alpha, since only recent versions of gas +dnl accept -mev67, but there's nothing here that's alpha specific. + +AC_DEFUN(GMP_GCC_WA_MCPU, +[AC_MSG_CHECKING([assembler $1 $2]) +result=no +cat >conftest.c </dev/null; then : ; + else + result=yes + fi +fi +cat conftest.out >&AC_FD_CC +rm -f conftest* +AC_MSG_RESULT($result) +if test "$result" = yes; then + ifelse([$3],,:,[$3]) +else + ifelse([$4],,:,[$4]) +fi +]) + + dnl GMP_PROG_CXX_WORKS(cxx/cxxflags [, ACTION-YES [,ACTION-NO]]) dnl ------------------------------------------------------------ dnl Check whether cxx/cxxflags can compile and link. @@ -1735,6 +1770,28 @@ ]) +dnl GMP_ASM_SPARC_REGISTER +dnl ---------------------- +dnl Determine whether the assembler accepts the ".register" directive. +dnl Old versions of solaris "as" don't. +dnl +dnl See also mpn/sparc32/sparc-defs.m4 which uses the result of this test. + +AC_DEFUN(GMP_ASM_SPARC_REGISTER, +[AC_REQUIRE([GMP_ASM_TEXT]) +AC_CACHE_CHECK([if the assembler accepts ".register"], + gmp_cv_asm_sparc_register, +[GMP_TRY_ASSEMBLE( +[ $gmp_cv_asm_text + .register %g2,#scratch +], +[gmp_cv_asm_sparc_register=yes], +[gmp_cv_asm_sparc_register=no])]) + +GMP_DEFINE_RAW(["define(,<$gmp_cv_asm_sparc_register>)"]) +]) + + dnl GMP_C_ATTRIBUTE_CONST dnl --------------------- @@ -2444,8 +2501,9 @@ no) ;; *) AC_TRY_COMPILE( -GMP_INCLUDE_GMP_H -[#ifndef __GMP_EXTERN_INLINE +[#define __GMP_WITHIN_CONFIGURE_INLINE 1 +]GMP_INCLUDE_GMP_H[ +#ifndef __GMP_EXTERN_INLINE die die die #endif ],,, diff -Naur gmp-4.1/aclocal.m4 gmp-4.1.1/aclocal.m4 --- gmp-4.1/aclocal.m4 Fri May 24 12:54:38 2002 +++ gmp-4.1.1/aclocal.m4 Wed Nov 27 23:33:57 2002 @@ -622,15 +622,16 @@ dnl tests/mpz/t-jac.c as a wrong result from mpz_kronecker_ui. AC_DEFUN(GMP_GCC_ARM_UMODSI, -[AC_MSG_CHECKING([whether gcc unsigned division works]) -GMP_GCC_VERSION_GE([$1], 2,95,4) -case $gmp_compare_ge in -yes) - ifelse([$2],,:,[$2]) - gmp_gcc_arm_umodsi_result=yes ;; -*) - ifelse([$3],,:,[$3]) - gmp_gcc_arm_umodsi_result="no, gcc <= 2.95.3" ;; +[AC_MSG_CHECKING([whether ARM gcc unsigned division works]) +tmp_version=`$1 --version` +echo "$tmp_version" >&AC_FD_CC +case $tmp_version in + [2.95 | 2.95.[123]]) + ifelse([$3],,:,[$3]) + gmp_gcc_arm_umodsi_result="no, gcc 2.95.[0123]" ;; + *) + ifelse([$2],,:,[$2]) + gmp_gcc_arm_umodsi_result=yes ;; esac AC_MSG_RESULT([$gmp_gcc_arm_umodsi_result]) ]) @@ -754,6 +755,40 @@ ]) +dnl GMP_GCC_WA_MCPU(CC+CFLAGS, NEWFLAG [,ACTION-YES [,ACTION-NO]]) +dnl -------------------------------------------------------------- +dnl Check whether gcc (or gas rather) accepts a flag like "-Wa,-mev67". +dnl +dnl Gas doesn't give an error for an unknown cpu, it only prints a warning +dnl like "Warning: Unknown CPU identifier `ev78'". +dnl +dnl This is intended for use on alpha, since only recent versions of gas +dnl accept -mev67, but there's nothing here that's alpha specific. + +AC_DEFUN(GMP_GCC_WA_MCPU, +[AC_MSG_CHECKING([assembler $1 $2]) +result=no +cat >conftest.c </dev/null; then : ; + else + result=yes + fi +fi +cat conftest.out >&AC_FD_CC +rm -f conftest* +AC_MSG_RESULT($result) +if test "$result" = yes; then + ifelse([$3],,:,[$3]) +else + ifelse([$4],,:,[$4]) +fi +]) + + dnl GMP_PROG_CXX_WORKS(cxx/cxxflags [, ACTION-YES [,ACTION-NO]]) dnl ------------------------------------------------------------ dnl Check whether cxx/cxxflags can compile and link. @@ -1748,6 +1783,28 @@ ]) +dnl GMP_ASM_SPARC_REGISTER +dnl ---------------------- +dnl Determine whether the assembler accepts the ".register" directive. +dnl Old versions of solaris "as" don't. +dnl +dnl See also mpn/sparc32/sparc-defs.m4 which uses the result of this test. + +AC_DEFUN(GMP_ASM_SPARC_REGISTER, +[AC_REQUIRE([GMP_ASM_TEXT]) +AC_CACHE_CHECK([if the assembler accepts ".register"], + gmp_cv_asm_sparc_register, +[GMP_TRY_ASSEMBLE( +[ $gmp_cv_asm_text + .register %g2,#scratch +], +[gmp_cv_asm_sparc_register=yes], +[gmp_cv_asm_sparc_register=no])]) + +GMP_DEFINE_RAW(["define(,<$gmp_cv_asm_sparc_register>)"]) +]) + + dnl GMP_C_ATTRIBUTE_CONST dnl --------------------- @@ -2457,8 +2514,9 @@ no) ;; *) AC_TRY_COMPILE( -GMP_INCLUDE_GMP_H -[#ifndef __GMP_EXTERN_INLINE +[#define __GMP_WITHIN_CONFIGURE_INLINE 1 +]GMP_INCLUDE_GMP_H[ +#ifndef __GMP_EXTERN_INLINE die die die #endif ],,, @@ -7921,16 +7979,30 @@ if test -n "$GCC"; then AC_CACHE_CHECK([for gcc float-conversion bug], mpfr_cv_gcc_floatconv_bug, [ AC_TRY_RUN([ +#include +#ifdef MPFR_HAVE_FESETROUND +#include +#endif int main() { double x = 0.5; int i; for (i = 1; i <= 11; i++) x *= x; - return x == 0; + if (x != 0) + return 1; +#ifdef MPFR_HAVE_FESETROUND + /* Useful test for the G4 PowerPC */ + fesetround(FE_TOWARDZERO); + x = DBL_MAX; + x *= 2.0; + if (x != DBL_MAX) + return 1; +#endif + return 0; } - ], [mpfr_cv_gcc_floatconv_bug="yes, use -ffloat-store"], - [mpfr_cv_gcc_floatconv_bug="no"], + ], [mpfr_cv_gcc_floatconv_bug="no"], + [mpfr_cv_gcc_floatconv_bug="yes, use -ffloat-store"], [mpfr_cv_gcc_floatconv_bug="cannot test, use -ffloat-store"]) ]) if test "$mpfr_cv_gcc_floatconv_bug" != "no"; then diff -Naur gmp-4.1/config.in gmp-4.1.1/config.in --- gmp-4.1/config.in Wed May 22 08:28:17 2002 +++ gmp-4.1.1/config.in Wed Nov 13 22:49:16 2002 @@ -489,6 +489,6 @@ if it is not supported. */ #undef inline -/* Define as `__restrict' if that's what the C compiler calls it, or to - nothing if it is not supported. */ -#undef restrict +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +#undef volatile diff -Naur gmp-4.1/configfsf.guess gmp-4.1.1/configfsf.guess --- gmp-4.1/configfsf.guess Tue Sep 4 01:01:39 2001 +++ gmp-4.1.1/configfsf.guess Sat Aug 31 01:18:11 2002 @@ -1,9 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002 Free Software Foundation, Inc. -timestamp='2001-09-04' +timestamp='2002-08-19' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,8 +24,9 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Written by Per Bothner . -# Please send patches to . +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and @@ -87,30 +88,40 @@ exit 1 fi +trap 'exit 1' 1 2 15 -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. -# CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c ; - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; - if test $? = 0 ; then +# This shell variable is my proudest work .. or something. --bje + +set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; +(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) + || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; +dummy=$tmpdir/dummy ; +files="$dummy.c $dummy.o $dummy.rel $dummy" ; +trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $dummy.c $dummy.o $dummy.rel ; + rm -f $files ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac' +esac ; +unset files' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -127,29 +138,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) - # Netbsd (nbsd) targets should (where applicable) match one or + # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - *) machine=${UNAME_MACHINE}-unknown ;; + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null @@ -172,6 +184,45 @@ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -180,6 +231,7 @@ # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. + eval $set_cc_for_build cat <$dummy.s .data \$Lformat: @@ -205,10 +257,9 @@ jsr \$26,exit .end main EOF - eval $set_cc_for_build $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then - case `./$dummy` in + case `$dummy` in 0-0) UNAME_MACHINE="alpha" ;; @@ -230,9 +281,12 @@ 2-1307) UNAME_MACHINE="alphaev68" ;; + 3-1307) + UNAME_MACHINE="alphaev7" + ;; esac fi - rm -f $dummy.s $dummy + rm -f $dummy.s $dummy && rmdir $tmpdir echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) @@ -247,29 +301,11 @@ Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -291,6 +327,10 @@ NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; @@ -319,7 +359,7 @@ echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) @@ -333,12 +373,6 @@ aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; - sparc*:NetBSD:*) - echo `uname -p`-unknown-netbsd${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -365,18 +399,6 @@ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; @@ -416,14 +438,17 @@ } EOF $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS) + echo powerpc-harris-powermax + exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; @@ -496,8 +521,8 @@ exit(0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 @@ -506,7 +531,7 @@ fi exit 0 ;; *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else @@ -546,10 +571,8 @@ 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - case "${HPUX_REV}" in - 11.[0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 @@ -558,13 +581,13 @@ case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac - fi ;; - esac - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include @@ -597,10 +620,10 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; + (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy` + if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi + rm -f $dummy.c $dummy && rmdir $tmpdir + fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; @@ -635,8 +658,8 @@ exit (0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) @@ -664,9 +687,6 @@ parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; - hppa*:OpenBSD:*:*) - echo hppa-unknown-openbsd - exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; @@ -685,9 +705,6 @@ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; @@ -709,18 +726,12 @@ CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; @@ -731,10 +742,19 @@ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Determine whether the default compiler uses glibc. + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #if __GLIBC__ >= 2 + LIBC=gnu + #else + LIBC= + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + rm -f $dummy.c && rmdir $tmpdir + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -745,6 +765,9 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; + x86:Interix*:3*) + echo i386-pc-interix3 + exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -770,16 +793,30 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux + echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) - case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in - big) echo mips-unknown-linux-gnu && exit 0 ;; - little) echo mipsel-unknown-linux-gnu && exit 0 ;; - esac + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + rm -f $dummy.c && rmdir $tmpdir + test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu @@ -828,7 +865,8 @@ # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. - ld_supported_targets=`cd /; ld --help 2>&1 \ + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// @@ -840,7 +878,7 @@ ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; @@ -852,32 +890,29 @@ esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build - cat >$dummy.c < -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-pc-linux-gnu\n", argv[1]); -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-pc-linux-gnuaout\n", argv[1]); -#endif - return 0; -} + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + rm -f $dummy.c && rmdir $tmpdir + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) @@ -915,13 +950,13 @@ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else @@ -956,7 +991,7 @@ exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -1047,6 +1082,9 @@ SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; @@ -1057,15 +1095,17 @@ echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) + NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) @@ -1237,8 +1277,8 @@ } EOF -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy +$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 +rm -f $dummy.c $dummy && rmdir $tmpdir # Apollos put the system type in the environment. diff -Naur gmp-4.1/configfsf.sub gmp-4.1.1/configfsf.sub --- gmp-4.1/configfsf.sub Sun Aug 26 02:00:34 2001 +++ gmp-4.1.1/configfsf.sub Sat Aug 31 01:16:02 2002 @@ -1,9 +1,9 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002 Free Software Foundation, Inc. -timestamp='2001-08-23' +timestamp='2002-08-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -29,7 +29,8 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Please send patches to . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -117,7 +118,7 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) + nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -226,31 +227,42 @@ 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ - | d10v | d30v | dsp16xx \ - | fr30 \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ + | ip2k \ | m32r | m68000 | m68k | m88k | mcore \ - | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el | mips64vr4300 \ - | mips64vr4300el | mips64vr5000 | mips64vr5000el \ - | mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | ns16k | ns32k \ - | openrisc \ + | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | s390 | s390x \ - | sh | sh[34] | sh[34]eb | shbe | shle \ - | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ - | stormy16 | strongarm \ + | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | strongarm \ | tahoe | thumb | tic80 | tron \ - | v850 \ + | v850 | v850e \ | we32k \ - | x86 | xscale \ + | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -277,38 +289,51 @@ 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alphapca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armv*-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c54x-* \ - | clipper-* | cray2-* | cydra-* \ - | d10v-* | d30v-* \ + | clipper-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | fx80-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* \ | m32r-* \ - | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ - | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ - | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \ - | mipsle-* | mipstx39-* | mipstx39el-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39 | mipstx39el \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \ - | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ - | v850-* | vax-* \ + | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ + | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -373,6 +398,10 @@ basic_machine=ns32k-sequent os=-dynix ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -393,16 +422,8 @@ basic_machine=c38-convex os=-bsd ;; - cray | ymp) - basic_machine=ymp-cray - os=-unicos - ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [cjt]90) - basic_machine=${basic_machine}-cray + cray | j90) + basic_machine=j90-cray os=-unicos ;; crds | unos) @@ -417,6 +438,14 @@ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola @@ -597,14 +626,6 @@ basic_machine=m68k-atari os=-mint ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu - ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; @@ -619,6 +640,10 @@ basic_machine=m68k-rom68k os=-coff ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; msdos) basic_machine=i386-pc os=-msdos @@ -698,6 +723,10 @@ basic_machine=hppa1.1-oki os=-proelf ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose @@ -723,16 +752,16 @@ pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pentium | p5 | k5 | k6 | nexgen) + pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; - pentiumpro | p6 | 6x86 | athlon) + pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-pc ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-*) + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) @@ -783,10 +812,22 @@ rtpc | rtpc-*) basic_machine=romp-ibm ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; sa29200) basic_machine=a29k-amd os=-udi ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; sequent) basic_machine=i386-sequent ;; @@ -794,7 +835,7 @@ basic_machine=sh-hitachi os=-hms ;; - sparclite-wrs) + sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; @@ -852,7 +893,7 @@ sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; - sv1) + sv1) basic_machine=sv1-cray os=-unicos ;; @@ -860,8 +901,16 @@ basic_machine=i386-sequent os=-dynix ;; + t3d) + basic_machine=alpha-cray + os=-unicos + ;; t3e) - basic_machine=t3e-cray + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) @@ -874,6 +923,10 @@ tx39el) basic_machine=mipstx39el-unknown ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; tower | tower-32) basic_machine=m68k-ncr ;; @@ -924,13 +977,13 @@ basic_machine=i386-pc os=-windows32-msvcrt ;; - xmp) - basic_machine=xmp-cray - os=-unicos - ;; xps | xps100) basic_machine=xps100-honeywell ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim @@ -951,13 +1004,6 @@ op60c) basic_machine=hppa1.1-oki ;; - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; romp) basic_machine=romp-ibm ;; @@ -977,9 +1023,12 @@ we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh3eb | sh4eb) + sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) basic_machine=sh-unknown ;; + sh64) + basic_machine=sh64-unknown + ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; @@ -1067,7 +1116,8 @@ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos*) + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1119,12 +1169,18 @@ -acis*) os=-aos ;; + -atheos*) + os=-atheos + ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; + -nova*) + os=-rtmk-nova + ;; -ns2 ) os=-nextstep2 ;; @@ -1199,6 +1255,7 @@ arm*-semi) os=-aout ;; + # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; @@ -1229,6 +1286,9 @@ mips*-*) os=-elf ;; + or32-*) + os=-coff + ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; @@ -1376,7 +1436,7 @@ -ptx*) vendor=sequent ;; - -vxsim* | -vxworks*) + -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) diff -Naur gmp-4.1/configure gmp-4.1.1/configure --- gmp-4.1/configure Fri May 24 12:54:44 2002 +++ gmp-4.1.1/configure Wed Nov 27 23:34:02 2002 @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.425 . +# From configure.in Revision: 1.425.2.15 . # # # @@ -1580,7 +1580,7 @@ # Define the identity of the package. PACKAGE=gmp -VERSION=4.1 +VERSION=4.1.1 cat >>confdefs.h <> $gmp_tmpconfigm4i + # FIXME: This should be selected according to the CPU if test x${floating_point} = xno then extra_functions="udiv_nfp" @@ -2503,6 +2495,7 @@ path_64="sparc64" cclist_64="gcc cc" gcc_64_cflags="-g -O2 -m64 -mptr64 -Wa,-xarch=v9 -mcpu=v9" + gcc_64_ldflags="-Wc,-m64" # -fast enables different optimizations depending compiler version # -fns=no and -fsimple=1 disables some transformations that # conflict with IEEE 754, which some compiler versions perform. @@ -2510,6 +2503,14 @@ SPEED_CYCLECOUNTER_OBJ_64=sparcv9.lo cyclecounter_size_64=2 ;; + *-*-*bsd*) + # NetBSD and OpenBSD sparc64 + abilist="64" + extra_functions= + path="sparc64" + gcc_cflags="-g -O2" + cyclecounter_size=2 + ;; esac ;; esac @@ -2673,7 +2674,7 @@ if test $abi = "$ABI"; then found=yes; break; fi done if test $found = no; then - { { echo "$as_me:2676: error: ABI=$ABI is not among the following valid choices: $abilist" >&5 + { { echo "$as_me:2677: error: ABI=$ABI is not among the following valid choices: $abilist" >&5 echo "$as_me: error: ABI=$ABI is not among the following valid choices: $abilist" >&2;} { (exit 1); exit 1; }; } fi @@ -2763,15 +2764,15 @@ #endif EOF gmp_compile="$cc -c conftest.c >&5" -if { (eval echo "$as_me:2766: \"$gmp_compile\"") >&5 +if { (eval echo "$as_me:2767: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:2769: \$? = $ac_status" >&5 + echo "$as_me:2770: \$? = $ac_status" >&5 (exit $ac_status); }; then rm -f conftest* - echo "$as_me:2772: checking whether $cc is gcc" >&5 + echo "$as_me:2773: checking whether $cc is gcc" >&5 echo $ECHO_N "checking whether $cc is gcc... $ECHO_C" >&6 - echo "$as_me:2774: result: yes" >&5 + echo "$as_me:2775: result: yes" >&5 echo "${ECHO_T}yes" >&6 ccbase=gcc else @@ -2785,14 +2786,14 @@ # then change $ccbase and make the default xlc flags available. if test $ccbase != xlc; then gmp_command="$cc 2>&1 | grep xlc >/dev/null" -if { (eval echo "$as_me:2788: \"$gmp_command\"") >&5 +if { (eval echo "$as_me:2789: \"$gmp_command\"") >&5 (eval $gmp_command) 2>&5 ac_status=$? - echo "$as_me:2791: \$? = $ac_status" >&5 + echo "$as_me:2792: \$? = $ac_status" >&5 (exit $ac_status); }; then - echo "$as_me:2793: checking whether $cc is xlc" >&5 + echo "$as_me:2794: checking whether $cc is xlc" >&5 echo $ECHO_N "checking whether $cc is xlc... $ECHO_C" >&6 - echo "$as_me:2795: result: yes" >&5 + echo "$as_me:2796: result: yes" >&5 echo "${ECHO_T}yes" >&6 ccbase=xlc else @@ -2819,7 +2820,7 @@ gprof) cflags="$cflags -pg" ;; esac - echo "$as_me:2822: checking compiler $cc $cflags $cppflags" >&5 + echo "$as_me:2823: checking compiler $cc $cflags $cppflags" >&5 echo $ECHO_N "checking compiler $cc $cflags $cppflags... $ECHO_C" >&6 cat >conftest.c <&5 +if { (eval echo "$as_me:2851: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:2853: \$? = $ac_status" >&5 + echo "$as_me:2854: \$? = $ac_status" >&5 (exit $ac_status); }; then if test "$cross_compiling" = no; then if { ac_try='./a.out || ./a.exe || ./conftest' - { (eval echo "$as_me:2857: \"$ac_try\"") >&5 + { (eval echo "$as_me:2858: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2860: \$? = $ac_status" >&5 + echo "$as_me:2861: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_prog_cc_works=yes fi @@ -2866,7 +2867,7 @@ fi fi rm -f conftest* a.out a.exe -echo "$as_me:2869: result: $gmp_prog_cc_works" >&5 +echo "$as_me:2870: result: $gmp_prog_cc_works" >&5 echo "${ECHO_T}$gmp_prog_cc_works" >&6 if test $gmp_prog_cc_works = yes; then : @@ -2881,7 +2882,7 @@ testlist_pass=yes for tst in $testlist; do case $tst in - hpc-hppa-2-0) echo "$as_me:2884: checking whether HP compiler $cc is good for 64-bits" >&5 + hpc-hppa-2-0) echo "$as_me:2885: checking whether HP compiler $cc is good for 64-bits" >&5 echo $ECHO_N "checking whether HP compiler $cc is good for 64-bits... $ECHO_C" >&6 # Bad compiler output: # ccom: HP92453-01 G.10.32.05 HP C Compiler @@ -2924,7 +2925,7 @@ gmp_hpc_64bit=$gmp_compare_ge fi -echo "$as_me:2927: result: $gmp_hpc_64bit" >&5 +echo "$as_me:2928: result: $gmp_hpc_64bit" >&5 echo "${ECHO_T}$gmp_hpc_64bit" >&6 if test $gmp_hpc_64bit = yes; then : @@ -2932,62 +2933,22 @@ testlist_pass=no fi ;; - gcc-arm-umodsi) echo "$as_me:2935: checking whether gcc unsigned division works" >&5 -echo $ECHO_N "checking whether gcc unsigned division works... $ECHO_C" >&6 -tmp_version=`($cc --version) 2>&5` -echo "$cc --version '$tmp_version'" >&5 - -major=`(echo "$tmp_version" | sed -n 's/^[a-z-]*\([0-9][0-9]*\).*/\1/p') 2>&5` -echo " major '$major'" >&5 - -minor=`(echo "$tmp_version" | sed -n 's/^[a-z-]*[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/p') 2>&5` -echo " minor '$minor'" >&5 - -subminor=`(echo "$tmp_version" | sed -n 's/^[a-z-]*[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/p') 2>&5` -echo " subminor '$subminor'" >&5 - -if test -z "$major"; then - { echo "$as_me:2950: WARNING: unrecognised gcc version string: $tmp_version" >&5 -echo "$as_me: WARNING: unrecognised gcc version string: $tmp_version" >&2;} - gmp_compare_ge=error -else - gmp_compare_ge=no -if test -n "$major"; then - if test "$major" -gt 2; then - gmp_compare_ge=yes - else - if test "$major" -eq 2; then - if test -n "$minor"; then - if test "$minor" -gt 95; then - gmp_compare_ge=yes - else - if test "$minor" -eq 95; then - if test -n "$subminor" && test "$subminor" -ge 4; then - gmp_compare_ge=yes -fi - - fi - fi -fi - - fi - fi -fi - -fi - -case $gmp_compare_ge in -yes) - : - gmp_gcc_arm_umodsi_result=yes ;; -*) - testlist_pass=no - gmp_gcc_arm_umodsi_result="no, gcc <= 2.95.3" ;; + gcc-arm-umodsi) echo "$as_me:2936: checking whether ARM gcc unsigned division works" >&5 +echo $ECHO_N "checking whether ARM gcc unsigned division works... $ECHO_C" >&6 +tmp_version=`$cc --version` +echo "$tmp_version" >&5 +case $tmp_version in + 2.95 | 2.95.[123]) + testlist_pass=no + gmp_gcc_arm_umodsi_result="no, gcc 2.95.0123" ;; + *) + : + gmp_gcc_arm_umodsi_result=yes ;; esac -echo "$as_me:2987: result: $gmp_gcc_arm_umodsi_result" >&5 +echo "$as_me:2948: result: $gmp_gcc_arm_umodsi_result" >&5 echo "${ECHO_T}$gmp_gcc_arm_umodsi_result" >&6 ;; - gcc-mips-o32) echo "$as_me:2990: checking whether gcc supports o32" >&5 + gcc-mips-o32) echo "$as_me:2951: checking whether gcc supports o32" >&5 echo $ECHO_N "checking whether gcc supports o32... $ECHO_C" >&6 echo 'int x;' >conftest.c echo "$cc -mabi=32 -c conftest.c" >&5 @@ -3002,7 +2963,7 @@ fi fi rm -f conftest.* -echo "$as_me:3005: result: $result" >&5 +echo "$as_me:2966: result: $result" >&5 echo "${ECHO_T}$result" >&6 if test $result = yes; then : @@ -3040,7 +3001,7 @@ # C on MS-DOS systems). # if test $found_compiler = no && test -n "$path"; then - { { echo "$as_me:3043: error: could not find a working compiler" >&5 + { { echo "$as_me:3004: error: could not find a working compiler" >&5 echo "$as_me: error: could not find a working compiler" >&2;} { (exit 1); exit 1; }; } fi @@ -3065,69 +3026,6 @@ flag=`echo "$flag" | tr '~' ' '` case $flag in - -march=pentiumpro) - # tickles stack slot bugs on some gcc, exclude as necessary - echo "$as_me:3070: checking whether gcc -march=pentiumpro is good" >&5 -echo $ECHO_N "checking whether gcc -march=pentiumpro is good... $ECHO_C" >&6 -if test "${gmp_cv_gcc_march_pentiumpro+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - tmp_version=`($cc --version) 2>&5` -echo "$cc --version '$tmp_version'" >&5 - -major=`(echo "$tmp_version" | sed -n 's/^[a-z-]*\([0-9][0-9]*\).*/\1/p') 2>&5` -echo " major '$major'" >&5 - -minor=`(echo "$tmp_version" | sed -n 's/^[a-z-]*[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/p') 2>&5` -echo " minor '$minor'" >&5 - -subminor=`(echo "$tmp_version" | sed -n 's/^[a-z-]*[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/p') 2>&5` -echo " subminor '$subminor'" >&5 - -if test -z "$major"; then - { echo "$as_me:3088: WARNING: unrecognised gcc version string: $tmp_version" >&5 -echo "$as_me: WARNING: unrecognised gcc version string: $tmp_version" >&2;} - gmp_compare_ge=error -else - gmp_compare_ge=no -if test -n "$major"; then - if test "$major" -gt 2; then - gmp_compare_ge=yes - else - if test "$major" -eq 2; then - if test -n "$minor"; then - if test "$minor" -gt 95; then - gmp_compare_ge=yes - else - if test "$minor" -eq 95; then - if test -n "$subminor" && test "$subminor" -ge 4; then - gmp_compare_ge=yes -fi - - fi - fi -fi - - fi - fi -fi - -fi - -case $gmp_compare_ge in -yes|no) gmp_cv_gcc_march_pentiumpro=$gmp_compare_ge ;; -error|*) gmp_cv_gcc_march_pentiumpro=no ;; -esac -fi -echo "$as_me:3122: result: $gmp_cv_gcc_march_pentiumpro" >&5 -echo "${ECHO_T}$gmp_cv_gcc_march_pentiumpro" >&6 -if test $gmp_cv_gcc_march_pentiumpro = yes; then - : -else - continue -fi - - ;; -O*) # ease back to just -O on m68k gcc 2.95.x case $host in @@ -3144,17 +3042,17 @@ -no-cpp-precomp) # special check, avoiding a warning if test "$ccbase" = gcc; then - echo "$as_me:3147: checking compiler $cc $cflags -no-cpp-precomp" >&5 + echo "$as_me:3045: checking compiler $cc $cflags -no-cpp-precomp" >&5 echo $ECHO_N "checking compiler $cc $cflags -no-cpp-precomp... $ECHO_C" >&6 result=no cat >conftest.c <&5 + if { (eval echo "$as_me:3052: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:3157: \$? = $ac_status" >&5 + echo "$as_me:3055: \$? = $ac_status" >&5 (exit $ac_status); }; then if grep "unrecognized option.*-no-cpp-precomp" conftest.out >/dev/null; then : ; else @@ -3163,7 +3061,7 @@ fi cat conftest.out >&5 rm -f conftest* a.out - echo "$as_me:3166: result: $result" >&5 + echo "$as_me:3064: result: $result" >&5 echo "${ECHO_T}$result" >&6 if test "$result" = yes; then cflags="$cflags $flag" @@ -3174,9 +3072,42 @@ fi ;; + -Wa,-m*) + case $host in + alpha*-*-*) + echo "$as_me:3078: checking assembler $cc $cflags $flag" >&5 +echo $ECHO_N "checking assembler $cc $cflags $flag... $ECHO_C" >&6 +result=no +cat >conftest.c <&5 + (eval $gmp_compile) 2>&5 + ac_status=$? + echo "$as_me:3088: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if grep "Unknown CPU identifier" conftest.out >/dev/null; then : ; + else + result=yes + fi +fi +cat conftest.out >&5 +rm -f conftest* +echo "$as_me:3097: result: $result" >&5 +echo "${ECHO_T}$result" >&6 +if test "$result" = yes; then + : +else + continue +fi + + ;; + esac + ;; esac - echo "$as_me:3179: checking compiler $cc $cflags $cppflags $flag" >&5 + echo "$as_me:3110: checking compiler $cc $cflags $cppflags $flag" >&5 echo $ECHO_N "checking compiler $cc $cflags $cppflags $flag... $ECHO_C" >&6 cat >conftest.c <&5 +if { (eval echo "$as_me:3138: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:3210: \$? = $ac_status" >&5 + echo "$as_me:3141: \$? = $ac_status" >&5 (exit $ac_status); }; then if test "$cross_compiling" = no; then if { ac_try='./a.out || ./a.exe || ./conftest' - { (eval echo "$as_me:3214: \"$ac_try\"") >&5 + { (eval echo "$as_me:3145: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3217: \$? = $ac_status" >&5 + echo "$as_me:3148: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_prog_cc_works=yes fi @@ -3223,7 +3154,7 @@ fi fi rm -f conftest* a.out a.exe -echo "$as_me:3226: result: $gmp_prog_cc_works" >&5 +echo "$as_me:3157: result: $gmp_prog_cc_works" >&5 echo "${ECHO_T}$gmp_prog_cc_works" >&6 if test $gmp_prog_cc_works = yes; then cflags="$cflags $flag" @@ -3319,7 +3250,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:3322: checking for $ac_word" >&5 +echo "$as_me:3253: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3334,7 +3265,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:3337: found $ac_dir/$ac_word" >&5 +echo "$as_me:3268: found $ac_dir/$ac_word" >&5 break done @@ -3342,10 +3273,10 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:3345: result: $CC" >&5 + echo "$as_me:3276: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:3348: result: no" >&5 + echo "$as_me:3279: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3354,7 +3285,7 @@ ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:3357: checking for $ac_word" >&5 +echo "$as_me:3288: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3369,7 +3300,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:3372: found $ac_dir/$ac_word" >&5 +echo "$as_me:3303: found $ac_dir/$ac_word" >&5 break done @@ -3377,10 +3308,10 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:3380: result: $ac_ct_CC" >&5 + echo "$as_me:3311: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:3383: result: no" >&5 + echo "$as_me:3314: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3393,7 +3324,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:3396: checking for $ac_word" >&5 +echo "$as_me:3327: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3408,7 +3339,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:3411: found $ac_dir/$ac_word" >&5 +echo "$as_me:3342: found $ac_dir/$ac_word" >&5 break done @@ -3416,10 +3347,10 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:3419: result: $CC" >&5 + echo "$as_me:3350: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:3422: result: no" >&5 + echo "$as_me:3353: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3428,7 +3359,7 @@ ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:3431: checking for $ac_word" >&5 +echo "$as_me:3362: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3443,7 +3374,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:3446: found $ac_dir/$ac_word" >&5 +echo "$as_me:3377: found $ac_dir/$ac_word" >&5 break done @@ -3451,10 +3382,10 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:3454: result: $ac_ct_CC" >&5 + echo "$as_me:3385: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:3457: result: no" >&5 + echo "$as_me:3388: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3467,7 +3398,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:3470: checking for $ac_word" >&5 +echo "$as_me:3401: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3487,7 +3418,7 @@ continue fi ac_cv_prog_CC="cc" -echo "$as_me:3490: found $ac_dir/$ac_word" >&5 +echo "$as_me:3421: found $ac_dir/$ac_word" >&5 break done @@ -3509,10 +3440,10 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:3512: result: $CC" >&5 + echo "$as_me:3443: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:3515: result: no" >&5 + echo "$as_me:3446: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3523,7 +3454,7 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:3526: checking for $ac_word" >&5 +echo "$as_me:3457: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3538,7 +3469,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:3541: found $ac_dir/$ac_word" >&5 +echo "$as_me:3472: found $ac_dir/$ac_word" >&5 break done @@ -3546,10 +3477,10 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:3549: result: $CC" >&5 + echo "$as_me:3480: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:3552: result: no" >&5 + echo "$as_me:3483: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3562,7 +3493,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:3565: checking for $ac_word" >&5 +echo "$as_me:3496: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3577,7 +3508,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:3580: found $ac_dir/$ac_word" >&5 +echo "$as_me:3511: found $ac_dir/$ac_word" >&5 break done @@ -3585,10 +3516,10 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:3588: result: $ac_ct_CC" >&5 + echo "$as_me:3519: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:3591: result: no" >&5 + echo "$as_me:3522: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3600,32 +3531,32 @@ fi -test -z "$CC" && { { echo "$as_me:3603: error: no acceptable cc found in \$PATH" >&5 +test -z "$CC" && { { echo "$as_me:3534: error: no acceptable cc found in \$PATH" >&5 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. -echo "$as_me:3608:" \ +echo "$as_me:3539:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:3611: \"$ac_compiler --version &5\"") >&5 +{ (eval echo "$as_me:3542: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? - echo "$as_me:3614: \$? = $ac_status" >&5 + echo "$as_me:3545: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:3616: \"$ac_compiler -v &5\"") >&5 +{ (eval echo "$as_me:3547: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? - echo "$as_me:3619: \$? = $ac_status" >&5 + echo "$as_me:3550: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:3621: \"$ac_compiler -V &5\"") >&5 +{ (eval echo "$as_me:3552: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? - echo "$as_me:3624: \$? = $ac_status" >&5 + echo "$as_me:3555: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line 3628 "configure" +#line 3559 "configure" #include "confdefs.h" int @@ -3641,13 +3572,13 @@ # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:3644: checking for C compiler default output" >&5 +echo "$as_me:3575: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:3647: \"$ac_link_default\"") >&5 +if { (eval echo "$as_me:3578: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? - echo "$as_me:3650: \$? = $ac_status" >&5 + echo "$as_me:3581: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last @@ -3670,34 +3601,34 @@ else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ { echo "$as_me:3673: error: C compiler cannot create executables" >&5 +{ { echo "$as_me:3604: error: C compiler cannot create executables" >&5 echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:3679: result: $ac_file" >&5 +echo "$as_me:3610: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:3684: checking whether the C compiler works" >&5 +echo "$as_me:3615: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' - { (eval echo "$as_me:3690: \"$ac_try\"") >&5 + { (eval echo "$as_me:3621: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3693: \$? = $ac_status" >&5 + echo "$as_me:3624: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:3700: error: cannot run C compiled programs. + { { echo "$as_me:3631: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&2;} @@ -3705,24 +3636,24 @@ fi fi fi -echo "$as_me:3708: result: yes" >&5 +echo "$as_me:3639: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:3715: checking whether we are cross compiling" >&5 +echo "$as_me:3646: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:3717: result: $cross_compiling" >&5 +echo "$as_me:3648: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 -echo "$as_me:3720: checking for executable suffix" >&5 +echo "$as_me:3651: checking for executable suffix" >&5 echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:3722: \"$ac_link\"") >&5 +if { (eval echo "$as_me:3653: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:3725: \$? = $ac_status" >&5 + echo "$as_me:3656: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will @@ -3738,25 +3669,25 @@ esac done else - { { echo "$as_me:3741: error: cannot compute EXEEXT: cannot compile and link" >&5 + { { echo "$as_me:3672: error: cannot compute EXEEXT: cannot compile and link" >&5 echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext -echo "$as_me:3747: result: $ac_cv_exeext" >&5 +echo "$as_me:3678: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:3753: checking for object suffix" >&5 +echo "$as_me:3684: checking for object suffix" >&5 echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 3759 "configure" +#line 3690 "configure" #include "confdefs.h" int @@ -3768,10 +3699,10 @@ } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:3771: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:3702: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3774: \$? = $ac_status" >&5 + echo "$as_me:3705: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in @@ -3783,24 +3714,24 @@ else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ { echo "$as_me:3786: error: cannot compute OBJEXT: cannot compile" >&5 +{ { echo "$as_me:3717: error: cannot compute OBJEXT: cannot compile" >&5 echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:3793: result: $ac_cv_objext" >&5 +echo "$as_me:3724: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:3797: checking whether we are using the GNU C compiler" >&5 +echo "$as_me:3728: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 3803 "configure" +#line 3734 "configure" #include "confdefs.h" int @@ -3815,16 +3746,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3818: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:3749: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3821: \$? = $ac_status" >&5 + echo "$as_me:3752: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3824: \"$ac_try\"") >&5 + { (eval echo "$as_me:3755: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3827: \$? = $ac_status" >&5 + echo "$as_me:3758: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else @@ -3836,19 +3767,19 @@ ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:3839: result: $ac_cv_c_compiler_gnu" >&5 +echo "$as_me:3770: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" -echo "$as_me:3845: checking whether $CC accepts -g" >&5 +echo "$as_me:3776: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 3851 "configure" +#line 3782 "configure" #include "confdefs.h" int @@ -3860,16 +3791,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3863: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:3794: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3866: \$? = $ac_status" >&5 + echo "$as_me:3797: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3869: \"$ac_try\"") >&5 + { (eval echo "$as_me:3800: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3872: \$? = $ac_status" >&5 + echo "$as_me:3803: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else @@ -3879,7 +3810,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:3882: result: $ac_cv_prog_cc_g" >&5 +echo "$as_me:3813: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -3906,16 +3837,16 @@ #endif _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3909: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:3840: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3912: \$? = $ac_status" >&5 + echo "$as_me:3843: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3915: \"$ac_try\"") >&5 + { (eval echo "$as_me:3846: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3918: \$? = $ac_status" >&5 + echo "$as_me:3849: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ @@ -3927,7 +3858,7 @@ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line 3930 "configure" +#line 3861 "configure" #include "confdefs.h" #include $ac_declaration @@ -3940,16 +3871,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3943: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:3874: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3946: \$? = $ac_status" >&5 + echo "$as_me:3877: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3949: \"$ac_try\"") >&5 + { (eval echo "$as_me:3880: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3952: \$? = $ac_status" >&5 + echo "$as_me:3883: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -3959,7 +3890,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 3962 "configure" +#line 3893 "configure" #include "confdefs.h" $ac_declaration int @@ -3971,16 +3902,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3974: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:3905: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3977: \$? = $ac_status" >&5 + echo "$as_me:3908: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3980: \"$ac_try\"") >&5 + { (eval echo "$as_me:3911: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3983: \$? = $ac_status" >&5 + echo "$as_me:3914: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -4015,7 +3946,7 @@ @echo done END # If we don't find an include directive, just comment out the code. -echo "$as_me:4018: checking for style of include used by $am_make" >&5 +echo "$as_me:3949: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 am__include='#' am__quote= @@ -4042,13 +3973,13 @@ fi fi -echo "$as_me:4045: result: $_am_result" >&5 +echo "$as_me:3976: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf depcc="$CC" am_compiler_list= -echo "$as_me:4051: checking dependency style of $depcc" >&5 +echo "$as_me:3982: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4110,11 +4041,11 @@ fi fi -echo "$as_me:4113: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "$as_me:4044: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" -echo "$as_me:4117: checking for $CC option to accept ANSI C" >&5 +echo "$as_me:4048: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4122,7 +4053,7 @@ ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line 4125 "configure" +#line 4056 "configure" #include "confdefs.h" #include #include @@ -4171,16 +4102,16 @@ do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext -if { (eval echo "$as_me:4174: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4105: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4177: \$? = $ac_status" >&5 + echo "$as_me:4108: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4180: \"$ac_try\"") >&5 + { (eval echo "$as_me:4111: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4183: \$? = $ac_status" >&5 + echo "$as_me:4114: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break @@ -4197,10 +4128,10 @@ case "x$ac_cv_prog_cc_stdc" in x|xno) - echo "$as_me:4200: result: none needed" >&5 + echo "$as_me:4131: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) - echo "$as_me:4203: result: $ac_cv_prog_cc_stdc" >&5 + echo "$as_me:4134: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac @@ -4210,7 +4141,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:4213: checking how to run the C preprocessor" >&5 +echo "$as_me:4144: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then @@ -4231,18 +4162,18 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 4234 "configure" +#line 4165 "configure" #include "confdefs.h" #include Syntax error _ACEOF -if { (eval echo "$as_me:4239: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4170: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4245: \$? = $ac_status" >&5 + echo "$as_me:4176: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -4265,17 +4196,17 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 4268 "configure" +#line 4199 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:4272: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4203: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4278: \$? = $ac_status" >&5 + echo "$as_me:4209: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -4312,7 +4243,7 @@ else ac_cv_prog_CPP=$CPP fi -echo "$as_me:4315: result: $CPP" >&5 +echo "$as_me:4246: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -4322,18 +4253,18 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 4325 "configure" +#line 4256 "configure" #include "confdefs.h" #include Syntax error _ACEOF -if { (eval echo "$as_me:4330: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4261: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4336: \$? = $ac_status" >&5 + echo "$as_me:4267: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -4356,17 +4287,17 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 4359 "configure" +#line 4290 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:4363: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4294: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4369: \$? = $ac_status" >&5 + echo "$as_me:4300: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -4394,7 +4325,7 @@ if $ac_preproc_ok; then : else - { { echo "$as_me:4397: error: C preprocessor \"$CPP\" fails sanity check" >&5 + { { echo "$as_me:4328: error: C preprocessor \"$CPP\" fails sanity check" >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi @@ -4410,7 +4341,7 @@ ;; *) cat >conftest.$ac_ext <<_ACEOF -#line 4413 "configure" +#line 4344 "configure" #include "confdefs.h" #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ #define GMP_NAIL_BITS $GMP_NAIL_BITS @@ -4432,22 +4363,22 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4435: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4366: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4438: \$? = $ac_status" >&5 + echo "$as_me:4369: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4441: \"$ac_try\"") >&5 + { (eval echo "$as_me:4372: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4444: \$? = $ac_status" >&5 + echo "$as_me:4375: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ echo "$as_me:4450: WARNING: gmp.h doesnt recognise compiler as ANSI, prototypes and \"const\" will be unavailable" >&5 +{ echo "$as_me:4381: WARNING: gmp.h doesnt recognise compiler as ANSI, prototypes and \"const\" will be unavailable" >&5 echo "$as_me: WARNING: gmp.h doesnt recognise compiler as ANSI, prototypes and \"const\" will be unavailable" >&2;} fi rm -f conftest.$ac_objext conftest.$ac_ext @@ -4468,7 +4399,7 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:4471: checking for $ac_word" >&5 +echo "$as_me:4402: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4483,7 +4414,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" -echo "$as_me:4486: found $ac_dir/$ac_word" >&5 +echo "$as_me:4417: found $ac_dir/$ac_word" >&5 break done @@ -4491,10 +4422,10 @@ fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:4494: result: $CXX" >&5 + echo "$as_me:4425: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else - echo "$as_me:4497: result: no" >&5 + echo "$as_me:4428: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -4507,7 +4438,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:4510: checking for $ac_word" >&5 +echo "$as_me:4441: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4522,7 +4453,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CXX="$ac_prog" -echo "$as_me:4525: found $ac_dir/$ac_word" >&5 +echo "$as_me:4456: found $ac_dir/$ac_word" >&5 break done @@ -4530,10 +4461,10 @@ fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:4533: result: $ac_ct_CXX" >&5 + echo "$as_me:4464: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else - echo "$as_me:4536: result: no" >&5 + echo "$as_me:4467: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -4545,32 +4476,32 @@ fi # Provide some information about the compiler. -echo "$as_me:4548:" \ +echo "$as_me:4479:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:4551: \"$ac_compiler --version &5\"") >&5 +{ (eval echo "$as_me:4482: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? - echo "$as_me:4554: \$? = $ac_status" >&5 + echo "$as_me:4485: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:4556: \"$ac_compiler -v &5\"") >&5 +{ (eval echo "$as_me:4487: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? - echo "$as_me:4559: \$? = $ac_status" >&5 + echo "$as_me:4490: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:4561: \"$ac_compiler -V &5\"") >&5 +{ (eval echo "$as_me:4492: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? - echo "$as_me:4564: \$? = $ac_status" >&5 + echo "$as_me:4495: \$? = $ac_status" >&5 (exit $ac_status); } -echo "$as_me:4567: checking whether we are using the GNU C++ compiler" >&5 +echo "$as_me:4498: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 4573 "configure" +#line 4504 "configure" #include "confdefs.h" int @@ -4585,16 +4516,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4588: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4519: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4591: \$? = $ac_status" >&5 + echo "$as_me:4522: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4594: \"$ac_try\"") >&5 + { (eval echo "$as_me:4525: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4597: \$? = $ac_status" >&5 + echo "$as_me:4528: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else @@ -4606,19 +4537,19 @@ ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:4609: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "$as_me:4540: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" -echo "$as_me:4615: checking whether $CXX accepts -g" >&5 +echo "$as_me:4546: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 4621 "configure" +#line 4552 "configure" #include "confdefs.h" int @@ -4630,16 +4561,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4633: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4564: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4636: \$? = $ac_status" >&5 + echo "$as_me:4567: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4639: \"$ac_try\"") >&5 + { (eval echo "$as_me:4570: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4642: \$? = $ac_status" >&5 + echo "$as_me:4573: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else @@ -4649,7 +4580,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:4652: result: $ac_cv_prog_cxx_g" >&5 +echo "$as_me:4583: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS @@ -4676,7 +4607,7 @@ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line 4679 "configure" +#line 4610 "configure" #include "confdefs.h" #include $ac_declaration @@ -4689,16 +4620,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4692: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4623: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4695: \$? = $ac_status" >&5 + echo "$as_me:4626: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4698: \"$ac_try\"") >&5 + { (eval echo "$as_me:4629: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4701: \$? = $ac_status" >&5 + echo "$as_me:4632: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -4708,7 +4639,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 4711 "configure" +#line 4642 "configure" #include "confdefs.h" $ac_declaration int @@ -4720,16 +4651,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4723: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4654: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4726: \$? = $ac_status" >&5 + echo "$as_me:4657: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4729: \"$ac_try\"") >&5 + { (eval echo "$as_me:4660: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4732: \$? = $ac_status" >&5 + echo "$as_me:4663: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -4753,7 +4684,7 @@ depcc="$CXX" am_compiler_list= -echo "$as_me:4756: checking dependency style of $depcc" >&5 +echo "$as_me:4687: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4815,7 +4746,7 @@ fi fi -echo "$as_me:4818: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "$as_me:4749: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE="depmode=$am_cv_CXX_dependencies_compiler_type" @@ -4843,7 +4774,7 @@ # for cxxflags_choice in $cxxflags_list; do eval CXXFLAGS=\"\$cxxflags_$cxxflags_choice\" - echo "$as_me:4846: checking C++ compiler $CXX $CXXFLAGS" >&5 + echo "$as_me:4777: checking C++ compiler $CXX $CXXFLAGS" >&5 echo $ECHO_N "checking C++ compiler $CXX $CXXFLAGS... $ECHO_C" >&6 cat >conftest.cc < @@ -4858,19 +4789,19 @@ EOF gmp_cxxcompile="$CXX $CXXFLAGS conftest.cc -o conftest >&5" -if { (eval echo "$as_me:4861: \"$gmp_cxxcompile\"") >&5 +if { (eval echo "$as_me:4792: \"$gmp_cxxcompile\"") >&5 (eval $gmp_cxxcompile) 2>&5 ac_status=$? - echo "$as_me:4864: \$? = $ac_status" >&5 + echo "$as_me:4795: \$? = $ac_status" >&5 (exit $ac_status); }; then rm -f conftest* - echo "$as_me:4867: result: yes" >&5 + echo "$as_me:4798: result: yes" >&5 echo "${ECHO_T}yes" >&6 want_cxx=yes break else rm -f conftest* - echo "$as_me:4873: result: no" >&5 + echo "$as_me:4804: result: no" >&5 echo "${ECHO_T}no" >&6 : fi @@ -4879,7 +4810,7 @@ # If --enable-cxx=yes but a C++ compiler can't be found, then abort. if test $want_cxx = no && test $enable_cxx = yes; then - { { echo "$as_me:4882: error: C++ compiler not available" >&5 + { { echo "$as_me:4813: error: C++ compiler not available" >&5 echo "$as_me: error: C++ compiler not available" >&2;} { (exit 1); exit 1; }; } fi @@ -4904,7 +4835,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:4907: checking how to run the C++ preprocessor" >&5 +echo "$as_me:4838: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then @@ -4921,18 +4852,18 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 4924 "configure" +#line 4855 "configure" #include "confdefs.h" #include Syntax error _ACEOF -if { (eval echo "$as_me:4929: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4860: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4935: \$? = $ac_status" >&5 + echo "$as_me:4866: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -4955,17 +4886,17 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 4958 "configure" +#line 4889 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:4962: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4893: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4968: \$? = $ac_status" >&5 + echo "$as_me:4899: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -5002,7 +4933,7 @@ else ac_cv_prog_CXXCPP=$CXXCPP fi -echo "$as_me:5005: result: $CXXCPP" >&5 +echo "$as_me:4936: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes @@ -5012,18 +4943,18 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 5015 "configure" +#line 4946 "configure" #include "confdefs.h" #include Syntax error _ACEOF -if { (eval echo "$as_me:5020: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4951: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:5026: \$? = $ac_status" >&5 + echo "$as_me:4957: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -5046,17 +4977,17 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 5049 "configure" +#line 4980 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:5053: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4984: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:5059: \$? = $ac_status" >&5 + echo "$as_me:4990: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -5084,7 +5015,7 @@ if $ac_preproc_ok; then : else - { { echo "$as_me:5087: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 + { { echo "$as_me:5018: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi @@ -5101,7 +5032,7 @@ c90 | t90) cat >conftest.$ac_ext <<_ACEOF -#line 5104 "configure" +#line 5035 "configure" #include "confdefs.h" #ifdef _CRAYIEEE yes @@ -5137,7 +5068,7 @@ fi cat >&5 <&5 +echo "$as_me:5093: checking for ${CC-cc} option to accept ANSI C" >&5 echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 if test "${am_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5177,7 +5108,7 @@ do CC="$ac_save_CC $ac_arg" cat >conftest.$ac_ext <<_ACEOF -#line 5180 "configure" +#line 5111 "configure" #include "confdefs.h" #include #include @@ -5219,16 +5150,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:5222: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:5153: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:5225: \$? = $ac_status" >&5 + echo "$as_me:5156: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5228: \"$ac_try\"") >&5 + { (eval echo "$as_me:5159: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:5231: \$? = $ac_status" >&5 + echo "$as_me:5162: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_prog_cc_stdc="$ac_arg"; break else @@ -5242,10 +5173,10 @@ fi if test -z "$am_cv_prog_cc_stdc"; then - echo "$as_me:5245: result: none needed" >&5 + echo "$as_me:5176: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 else - echo "$as_me:5248: result: $am_cv_prog_cc_stdc" >&5 + echo "$as_me:5179: result: $am_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6 fi case "x$am_cv_prog_cc_stdc" in @@ -5253,10 +5184,10 @@ *) CC="$CC $am_cv_prog_cc_stdc" ;; esac -echo "$as_me:5256: checking for function prototypes" >&5 +echo "$as_me:5187: checking for function prototypes" >&5 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6 if test "$am_cv_prog_cc_stdc" != no; then - echo "$as_me:5259: result: yes" >&5 + echo "$as_me:5190: result: yes" >&5 echo "${ECHO_T}yes" >&6 cat >>confdefs.h <<\EOF @@ -5265,18 +5196,18 @@ U= ANSI2KNR= else - echo "$as_me:5268: result: no" >&5 + echo "$as_me:5199: result: no" >&5 echo "${ECHO_T}no" >&6 U=_ ANSI2KNR=./ansi2knr fi # Ensure some checks needed by ansi2knr itself. -echo "$as_me:5273: checking for ANSI C header files" >&5 +echo "$as_me:5204: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 5279 "configure" +#line 5210 "configure" #include "confdefs.h" #include #include @@ -5284,13 +5215,13 @@ #include _ACEOF -if { (eval echo "$as_me:5287: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:5218: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:5293: \$? = $ac_status" >&5 + echo "$as_me:5224: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -5312,7 +5243,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 5315 "configure" +#line 5246 "configure" #include "confdefs.h" #include @@ -5330,7 +5261,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 5333 "configure" +#line 5264 "configure" #include "confdefs.h" #include @@ -5351,7 +5282,7 @@ : else cat >conftest.$ac_ext <<_ACEOF -#line 5354 "configure" +#line 5285 "configure" #include "confdefs.h" #include #if ((' ' & 0x0FF) == 0x020) @@ -5377,15 +5308,15 @@ } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:5380: \"$ac_link\"") >&5 +if { (eval echo "$as_me:5311: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:5383: \$? = $ac_status" >&5 + echo "$as_me:5314: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:5385: \"$ac_try\"") >&5 + { (eval echo "$as_me:5316: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:5388: \$? = $ac_status" >&5 + echo "$as_me:5319: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -5398,7 +5329,7 @@ fi fi fi -echo "$as_me:5401: result: $ac_cv_header_stdc" >&5 +echo "$as_me:5332: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then @@ -5411,23 +5342,23 @@ for ac_header in string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:5414: checking for $ac_header" >&5 +echo "$as_me:5345: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 5420 "configure" +#line 5351 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:5424: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:5355: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:5430: \$? = $ac_status" >&5 + echo "$as_me:5361: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -5446,7 +5377,7 @@ fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:5449: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:5380: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:5394: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5475,7 +5406,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_AR="${ac_tool_prefix}ar" -echo "$as_me:5478: found $ac_dir/$ac_word" >&5 +echo "$as_me:5409: found $ac_dir/$ac_word" >&5 break done @@ -5483,10 +5414,10 @@ fi AR=$ac_cv_prog_AR if test -n "$AR"; then - echo "$as_me:5486: result: $AR" >&5 + echo "$as_me:5417: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else - echo "$as_me:5489: result: no" >&5 + echo "$as_me:5420: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -5495,7 +5426,7 @@ ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 -echo "$as_me:5498: checking for $ac_word" >&5 +echo "$as_me:5429: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5510,7 +5441,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_AR="ar" -echo "$as_me:5513: found $ac_dir/$ac_word" >&5 +echo "$as_me:5444: found $ac_dir/$ac_word" >&5 break done @@ -5519,10 +5450,10 @@ fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - echo "$as_me:5522: result: $ac_ct_AR" >&5 + echo "$as_me:5453: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6 else - echo "$as_me:5525: result: no" >&5 + echo "$as_me:5456: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -5535,10 +5466,10 @@ eval arflags=\"\$ar${abi1}_flags\" test -n "$arflags" || eval arflags=\"\$ar${abi2}_flags\" if test -n "$arflags"; then - echo "$as_me:5538: checking for extra ar flags" >&5 + echo "$as_me:5469: checking for extra ar flags" >&5 echo $ECHO_N "checking for extra ar flags... $ECHO_C" >&6 AR="$AR $arflags" - echo "$as_me:5541: result: $arflags" >&5 + echo "$as_me:5472: result: $arflags" >&5 echo "${ECHO_T}$arflags" >&6 fi fi @@ -5547,7 +5478,7 @@ fi gmp_user_NM=$NM -echo "$as_me:5550: checking for BSD-compatible nm" >&5 +echo "$as_me:5481: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5582,7 +5513,7 @@ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi -echo "$as_me:5585: result: $lt_cv_path_NM" >&5 +echo "$as_me:5516: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6 NM="$lt_cv_path_NM" @@ -5598,7 +5529,7 @@ gmp_save_ac_tool_prefix=$ac_tool_prefix ac_tool_prefix= NM= - echo "$as_me:5601: checking for BSD-compatible nm" >&5 + echo "$as_me:5532: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5633,7 +5564,7 @@ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi -echo "$as_me:5636: result: $lt_cv_path_NM" >&5 +echo "$as_me:5567: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6 NM="$lt_cv_path_NM" @@ -5644,10 +5575,10 @@ eval nmflags=\"\$nm${abi1}_flags\" test -n "$nmflags" || eval nmflags=\"\$nm${abi2}_flags\" if test -n "$nmflags"; then - echo "$as_me:5647: checking for extra nm flags" >&5 + echo "$as_me:5578: checking for extra nm flags" >&5 echo $ECHO_N "checking for extra nm flags... $ECHO_C" >&6 NM="$NM $nmflags" - echo "$as_me:5650: result: $nmflags" >&5 + echo "$as_me:5581: result: $nmflags" >&5 echo "${ECHO_T}$nmflags" >&6 fi fi @@ -5721,7 +5652,7 @@ fi # Don't allow both static and DLL. if test "$enable_shared" != no && test "$enable_static" != no; then - { { echo "$as_me:5724: error: cannot build both static and DLL, since gmp.h is different for each. + { { echo "$as_me:5655: error: cannot build both static and DLL, since gmp.h is different for each. Use \"--disable-static --enable-shared\" to build just a DLL." >&5 echo "$as_me: error: cannot build both static and DLL, since gmp.h is different for each. Use \"--disable-static --enable-shared\" to build just a DLL." >&2;} @@ -5745,7 +5676,7 @@ *-*-cygwin* | *-*-mingw* | *-*-pw32*) if test "$cross_compiling" != no && test "$enable_shared" != no; then -echo "$as_me:5748: checking for HOST_CC build system compiler" >&5 +echo "$as_me:5679: checking for HOST_CC build system compiler" >&5 echo $ECHO_N "checking for HOST_CC build system compiler... $ECHO_C" >&6 if test "${gmp_cv_prog_host_cc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5770,7 +5701,7 @@ done rm -f conftest* if test -z "$gmp_cv_prog_host_cc"; then - { { echo "$as_me:5773: error: cannot find a build system compiler" >&5 + { { echo "$as_me:5704: error: cannot find a build system compiler" >&5 echo "$as_me: error: cannot find a build system compiler" >&2;} { (exit 1); exit 1; }; } fi @@ -5778,7 +5709,7 @@ fi fi -echo "$as_me:5781: result: $gmp_cv_prog_host_cc" >&5 +echo "$as_me:5712: result: $gmp_cv_prog_host_cc" >&5 echo "${ECHO_T}$gmp_cv_prog_host_cc" >&6 HOST_CC=$gmp_cv_prog_host_cc @@ -5786,6 +5717,20 @@ ;; esac +# Ensure that $CONFIG_SHELL is available for AC_LIBTOOL_SYS_MAX_CMD_LEN. +# It's often set already by _LT_AC_PROG_ECHO_BACKSLASH or +# _AS_LINENO_PREPARE, but not always. +# +# The symptom of CONFIG_SHELL unset is some "expr" errors during the test, +# and an empty result. This only happens when invoked as "sh configure", +# ie. no path, and can be seen for instance on ia64-*-hpux*. +# +# FIXME: Newer libtool should have it's own fix for this. +# +if test -z "$CONFIG_SHELL"; then + CONFIG_SHELL=$SHELL +fi + # Enable CXX in libtool only if we want it, and never enable GCJ, nor RC on # mingw and cygwin. Under --disable-cxx this avoids some error messages # from libtool arising from the fact we didn't actually run AC_PROG_CXX. @@ -5884,7 +5829,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:5887: checking for ld used by GCC" >&5 + echo "$as_me:5832: checking for ld used by GCC" >&5 echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 case $host in *-*-mingw*) @@ -5914,10 +5859,10 @@ ;; esac elif test "$with_gnu_ld" = yes; then - echo "$as_me:5917: checking for GNU ld" >&5 + echo "$as_me:5862: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 else - echo "$as_me:5920: checking for non-GNU ld" >&5 + echo "$as_me:5865: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 fi if test "${lt_cv_path_LD+set}" = set; then @@ -5948,16 +5893,16 @@ LD="$lt_cv_path_LD" if test -n "$LD"; then - echo "$as_me:5951: result: $LD" >&5 + echo "$as_me:5896: result: $LD" >&5 echo "${ECHO_T}$LD" >&6 else - echo "$as_me:5954: result: no" >&5 + echo "$as_me:5899: result: no" >&5 echo "${ECHO_T}no" >&6 fi -test -z "$LD" && { { echo "$as_me:5957: error: no acceptable ld found in \$PATH" >&5 +test -z "$LD" && { { echo "$as_me:5902: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } -echo "$as_me:5960: checking if the linker ($LD) is GNU ld" >&5 +echo "$as_me:5905: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5969,18 +5914,18 @@ lt_cv_prog_gnu_ld=no fi fi -echo "$as_me:5972: result: $lt_cv_prog_gnu_ld" >&5 +echo "$as_me:5917: result: $lt_cv_prog_gnu_ld" >&5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 with_gnu_ld=$lt_cv_prog_gnu_ld -echo "$as_me:5976: checking for $LD option to reload object files" >&5 +echo "$as_me:5921: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi -echo "$as_me:5983: result: $lt_cv_ld_reload_flag" >&5 +echo "$as_me:5928: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 reload_flag=$lt_cv_ld_reload_flag case $reload_flag in @@ -5989,18 +5934,18 @@ esac reload_cmds='$LD$reload_flag -o $output$reload_objs' -echo "$as_me:5992: checking whether ln -s works" >&5 +echo "$as_me:5937: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - echo "$as_me:5996: result: yes" >&5 + echo "$as_me:5941: result: yes" >&5 echo "${ECHO_T}yes" >&6 else - echo "$as_me:5999: result: no, using $LN_S" >&5 + echo "$as_me:5944: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6 fi -echo "$as_me:6003: checking how to recognise dependant libraries" >&5 +echo "$as_me:5948: checking how to recognise dependant libraries" >&5 echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6 if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6187,7 +6132,7 @@ esac fi -echo "$as_me:6190: result: $lt_cv_deplibs_check_method" >&5 +echo "$as_me:6135: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method @@ -6213,10 +6158,10 @@ ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:6216: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:6161: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6219: \$? = $ac_status" >&5 + echo "$as_me:6164: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) @@ -6231,11 +6176,11 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6234 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:6235: \"$ac_compile\"") >&5 + echo '#line 6179 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:6180: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6238: \$? = $ac_status" >&5 + echo "$as_me:6183: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) @@ -6256,7 +6201,7 @@ # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" - echo "$as_me:6259: checking whether the C compiler needs -belf" >&5 + echo "$as_me:6204: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6268,7 +6213,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF -#line 6271 "configure" +#line 6216 "configure" #include "confdefs.h" int @@ -6280,16 +6225,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6283: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6228: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:6286: \$? = $ac_status" >&5 + echo "$as_me:6231: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6289: \"$ac_try\"") >&5 + { (eval echo "$as_me:6234: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6292: \$? = $ac_status" >&5 + echo "$as_me:6237: \$? = $ac_status" >&5 (exit $ac_status); }; }; then lt_cv_cc_needs_belf=yes else @@ -6305,7 +6250,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -echo "$as_me:6308: result: $lt_cv_cc_needs_belf" >&5 +echo "$as_me:6253: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf @@ -6316,7 +6261,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -echo "$as_me:6319: checking for $ac_word" >&5 +echo "$as_me:6264: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_DLLTOOL+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6331,7 +6276,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" -echo "$as_me:6334: found $ac_dir/$ac_word" >&5 +echo "$as_me:6279: found $ac_dir/$ac_word" >&5 break done @@ -6339,10 +6284,10 @@ fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then - echo "$as_me:6342: result: $DLLTOOL" >&5 + echo "$as_me:6287: result: $DLLTOOL" >&5 echo "${ECHO_T}$DLLTOOL" >&6 else - echo "$as_me:6345: result: no" >&5 + echo "$as_me:6290: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -6351,7 +6296,7 @@ ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 -echo "$as_me:6354: checking for $ac_word" >&5 +echo "$as_me:6299: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6366,7 +6311,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_DLLTOOL="dlltool" -echo "$as_me:6369: found $ac_dir/$ac_word" >&5 +echo "$as_me:6314: found $ac_dir/$ac_word" >&5 break done @@ -6375,10 +6320,10 @@ fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then - echo "$as_me:6378: result: $ac_ct_DLLTOOL" >&5 + echo "$as_me:6323: result: $ac_ct_DLLTOOL" >&5 echo "${ECHO_T}$ac_ct_DLLTOOL" >&6 else - echo "$as_me:6381: result: no" >&5 + echo "$as_me:6326: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -6390,7 +6335,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 -echo "$as_me:6393: checking for $ac_word" >&5 +echo "$as_me:6338: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6405,7 +6350,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_AS="${ac_tool_prefix}as" -echo "$as_me:6408: found $ac_dir/$ac_word" >&5 +echo "$as_me:6353: found $ac_dir/$ac_word" >&5 break done @@ -6413,10 +6358,10 @@ fi AS=$ac_cv_prog_AS if test -n "$AS"; then - echo "$as_me:6416: result: $AS" >&5 + echo "$as_me:6361: result: $AS" >&5 echo "${ECHO_T}$AS" >&6 else - echo "$as_me:6419: result: no" >&5 + echo "$as_me:6364: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -6425,7 +6370,7 @@ ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 -echo "$as_me:6428: checking for $ac_word" >&5 +echo "$as_me:6373: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_AS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6440,7 +6385,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_AS="as" -echo "$as_me:6443: found $ac_dir/$ac_word" >&5 +echo "$as_me:6388: found $ac_dir/$ac_word" >&5 break done @@ -6449,10 +6394,10 @@ fi ac_ct_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then - echo "$as_me:6452: result: $ac_ct_AS" >&5 + echo "$as_me:6397: result: $ac_ct_AS" >&5 echo "${ECHO_T}$ac_ct_AS" >&6 else - echo "$as_me:6455: result: no" >&5 + echo "$as_me:6400: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -6464,7 +6409,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 -echo "$as_me:6467: checking for $ac_word" >&5 +echo "$as_me:6412: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_OBJDUMP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6479,7 +6424,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" -echo "$as_me:6482: found $ac_dir/$ac_word" >&5 +echo "$as_me:6427: found $ac_dir/$ac_word" >&5 break done @@ -6487,10 +6432,10 @@ fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then - echo "$as_me:6490: result: $OBJDUMP" >&5 + echo "$as_me:6435: result: $OBJDUMP" >&5 echo "${ECHO_T}$OBJDUMP" >&6 else - echo "$as_me:6493: result: no" >&5 + echo "$as_me:6438: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -6499,7 +6444,7 @@ ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 -echo "$as_me:6502: checking for $ac_word" >&5 +echo "$as_me:6447: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6514,7 +6459,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_OBJDUMP="objdump" -echo "$as_me:6517: found $ac_dir/$ac_word" >&5 +echo "$as_me:6462: found $ac_dir/$ac_word" >&5 break done @@ -6523,10 +6468,10 @@ fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then - echo "$as_me:6526: result: $ac_ct_OBJDUMP" >&5 + echo "$as_me:6471: result: $ac_ct_OBJDUMP" >&5 echo "${ECHO_T}$ac_ct_OBJDUMP" >&6 else - echo "$as_me:6529: result: no" >&5 + echo "$as_me:6474: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -6537,13 +6482,13 @@ # recent cygwin and mingw systems supply a stub DllMain which the user # can override, but on older systems we have to supply one - echo "$as_me:6540: checking if libtool should supply DllMain function" >&5 + echo "$as_me:6485: checking if libtool should supply DllMain function" >&5 echo $ECHO_N "checking if libtool should supply DllMain function... $ECHO_C" >&6 if test "${lt_cv_need_dllmain+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6546 "configure" +#line 6491 "configure" #include "confdefs.h" int @@ -6556,16 +6501,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6559: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6504: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:6562: \$? = $ac_status" >&5 + echo "$as_me:6507: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6565: \"$ac_try\"") >&5 + { (eval echo "$as_me:6510: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6568: \$? = $ac_status" >&5 + echo "$as_me:6513: \$? = $ac_status" >&5 (exit $ac_status); }; }; then lt_cv_need_dllmain=no else @@ -6575,7 +6520,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:6578: result: $lt_cv_need_dllmain" >&5 +echo "$as_me:6523: result: $lt_cv_need_dllmain" >&5 echo "${ECHO_T}$lt_cv_need_dllmain" >&6 case $host/$CC in @@ -6584,13 +6529,13 @@ # require "-mdll" SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -mdll" - echo "$as_me:6587: checking how to link DLLs" >&5 + echo "$as_me:6532: checking how to link DLLs" >&5 echo $ECHO_N "checking how to link DLLs... $ECHO_C" >&6 if test "${lt_cv_cc_dll_switch+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6593 "configure" +#line 6538 "configure" #include "confdefs.h" int @@ -6602,16 +6547,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6605: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6550: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:6608: \$? = $ac_status" >&5 + echo "$as_me:6553: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6611: \"$ac_try\"") >&5 + { (eval echo "$as_me:6556: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6614: \$? = $ac_status" >&5 + echo "$as_me:6559: \$? = $ac_status" >&5 (exit $ac_status); }; }; then lt_cv_cc_dll_switch=-mdll else @@ -6621,7 +6566,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:6624: result: $lt_cv_cc_dll_switch" >&5 +echo "$as_me:6569: result: $lt_cv_cc_dll_switch" >&5 echo "${ECHO_T}$lt_cv_cc_dll_switch" >&6 CFLAGS="$SAVE_CFLAGS" ;; *-*-cygwin* | *-*-pw32*) @@ -6638,23 +6583,23 @@ for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:6641: checking for $ac_header" >&5 +echo "$as_me:6586: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6647 "configure" +#line 6592 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:6651: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:6596: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:6657: \$? = $ac_status" >&5 + echo "$as_me:6602: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -6673,7 +6618,7 @@ fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:6676: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:6621: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:6634: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6735,15 +6680,15 @@ fi if test -n $lt_cv_sys_max_cmd_len ; then - echo "$as_me:6738: result: $lt_cv_sys_max_cmd_len" >&5 + echo "$as_me:6683: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 else - echo "$as_me:6741: result: none" >&5 + echo "$as_me:6686: result: none" >&5 echo "${ECHO_T}none" >&6 fi # Check for command to grab the raw symbol name followed by C symbol from nm. -echo "$as_me:6746: checking command to parse $NM output from $compiler object" >&5 +echo "$as_me:6691: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6828,17 +6773,17 @@ int main(){nm_test_var='a';nm_test_func();return(0);} EOF - if { (eval echo "$as_me:6831: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:6776: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6834: \$? = $ac_status" >&5 + echo "$as_me:6779: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm - if { (eval echo "$as_me:6838: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + if { (eval echo "$as_me:6783: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? - echo "$as_me:6841: \$? = $ac_status" >&5 + echo "$as_me:6786: \$? = $ac_status" >&5 (exit $ac_status); } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then @@ -6890,10 +6835,10 @@ lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:6893: \"$ac_link\"") >&5 + if { (eval echo "$as_me:6838: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:6896: \$? = $ac_status" >&5 + echo "$as_me:6841: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -6928,14 +6873,14 @@ lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - echo "$as_me:6931: result: failed" >&5 + echo "$as_me:6876: result: failed" >&5 echo "${ECHO_T}failed" >&6 else - echo "$as_me:6934: result: ok" >&5 + echo "$as_me:6879: result: ok" >&5 echo "${ECHO_T}ok" >&6 fi -echo "$as_me:6938: checking for objdir" >&5 +echo "$as_me:6883: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6 if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6950,7 +6895,7 @@ fi rmdir .libs 2>/dev/null fi -echo "$as_me:6953: result: $lt_cv_objdir" >&5 +echo "$as_me:6898: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6 objdir=$lt_cv_objdir @@ -6998,7 +6943,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:7001: checking for $ac_word" >&5 +echo "$as_me:6946: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7013,7 +6958,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -echo "$as_me:7016: found $ac_dir/$ac_word" >&5 +echo "$as_me:6961: found $ac_dir/$ac_word" >&5 break done @@ -7021,10 +6966,10 @@ fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - echo "$as_me:7024: result: $RANLIB" >&5 + echo "$as_me:6969: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else - echo "$as_me:7027: result: no" >&5 + echo "$as_me:6972: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -7033,7 +6978,7 @@ ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -echo "$as_me:7036: checking for $ac_word" >&5 +echo "$as_me:6981: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7048,7 +6993,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_RANLIB="ranlib" -echo "$as_me:7051: found $ac_dir/$ac_word" >&5 +echo "$as_me:6996: found $ac_dir/$ac_word" >&5 break done @@ -7057,10 +7002,10 @@ fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - echo "$as_me:7060: result: $ac_ct_RANLIB" >&5 + echo "$as_me:7005: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else - echo "$as_me:7063: result: no" >&5 + echo "$as_me:7008: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -7072,7 +7017,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -echo "$as_me:7075: checking for $ac_word" >&5 +echo "$as_me:7020: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7087,7 +7032,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_STRIP="${ac_tool_prefix}strip" -echo "$as_me:7090: found $ac_dir/$ac_word" >&5 +echo "$as_me:7035: found $ac_dir/$ac_word" >&5 break done @@ -7095,10 +7040,10 @@ fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - echo "$as_me:7098: result: $STRIP" >&5 + echo "$as_me:7043: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else - echo "$as_me:7101: result: no" >&5 + echo "$as_me:7046: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -7107,7 +7052,7 @@ ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -echo "$as_me:7110: checking for $ac_word" >&5 +echo "$as_me:7055: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7122,7 +7067,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_STRIP="strip" -echo "$as_me:7125: found $ac_dir/$ac_word" >&5 +echo "$as_me:7070: found $ac_dir/$ac_word" >&5 break done @@ -7131,10 +7076,10 @@ fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - echo "$as_me:7134: result: $ac_ct_STRIP" >&5 + echo "$as_me:7079: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else - echo "$as_me:7137: result: no" >&5 + echo "$as_me:7082: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -7183,7 +7128,7 @@ case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - echo "$as_me:7186: checking for ${ac_tool_prefix}file" >&5 + echo "$as_me:7131: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7236,16 +7181,16 @@ MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - echo "$as_me:7239: result: $MAGIC_CMD" >&5 + echo "$as_me:7184: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6 else - echo "$as_me:7242: result: no" >&5 + echo "$as_me:7187: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - echo "$as_me:7248: checking for file" >&5 + echo "$as_me:7193: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7298,10 +7243,10 @@ MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - echo "$as_me:7301: result: $MAGIC_CMD" >&5 + echo "$as_me:7246: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6 else - echo "$as_me:7304: result: no" >&5 + echo "$as_me:7249: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -7374,11 +7319,11 @@ esac fi if test -n "$lt_prog_cc_shlib"; then - { echo "$as_me:7377: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5 + { echo "$as_me:7322: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5 echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;} if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then : else - { echo "$as_me:7381: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 + { echo "$as_me:7326: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} lt_cv_prog_cc_can_build_shared=no fi @@ -7387,7 +7332,7 @@ # # Check to make sure the static flag actually works. # -echo "$as_me:7390: checking if $compiler static flag $lt_prog_compiler_static works" >&5 +echo "$as_me:7335: checking if $compiler static flag $lt_prog_compiler_static works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6 if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7410,7 +7355,7 @@ LDFLAGS="$save_LDFLAGS" fi -echo "$as_me:7413: result: $lt_prog_compiler_static_works" >&5 +echo "$as_me:7358: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6 if test x"$lt_prog_compiler_static_works" = xyes; then @@ -7424,7 +7369,7 @@ if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' - echo "$as_me:7427: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 + echo "$as_me:7372: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7449,7 +7394,7 @@ CFLAGS="$save_CFLAGS" fi -echo "$as_me:7452: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "$as_me:7397: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then @@ -7464,7 +7409,7 @@ lt_prog_compiler_pic= lt_prog_compiler_static= -echo "$as_me:7467: checking for $compiler option to produce PIC" >&5 +echo "$as_me:7412: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 if test "$GCC" = yes; then @@ -7617,14 +7562,14 @@ esac fi -echo "$as_me:7620: result: $lt_prog_compiler_pic" >&5 +echo "$as_me:7565: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then - echo "$as_me:7627: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 + echo "$as_me:7572: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7649,7 +7594,7 @@ CFLAGS="$save_CFLAGS" fi -echo "$as_me:7652: result: $lt_prog_compiler_pic_works" >&5 +echo "$as_me:7597: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6 if test x"$lt_prog_compiler_pic_works" = xyes; then @@ -7673,7 +7618,7 @@ ;; esac -echo "$as_me:7676: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo "$as_me:7621: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7714,13 +7659,13 @@ $rm conftest* fi -echo "$as_me:7717: result: $lt_cv_prog_compiler_c_o" >&5 +echo "$as_me:7662: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user - echo "$as_me:7723: checking if we can lock with hard links" >&5 + echo "$as_me:7668: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* @@ -7728,10 +7673,10 @@ touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:7731: result: $hard_links" >&5 + echo "$as_me:7676: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then - { echo "$as_me:7734: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 + { echo "$as_me:7679: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi @@ -7739,7 +7684,7 @@ need_locks=no fi -echo "$as_me:7742: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo "$as_me:7687: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 runpath_var= @@ -8089,7 +8034,7 @@ allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF -#line 8092 "configure" +#line 8037 "configure" #include "confdefs.h" int @@ -8101,16 +8046,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8104: \"$ac_link\"") >&5 +if { (eval echo "$as_me:8049: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8107: \$? = $ac_status" >&5 + echo "$as_me:8052: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8110: \"$ac_try\"") >&5 + { (eval echo "$as_me:8055: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8113: \$? = $ac_status" >&5 + echo "$as_me:8058: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } @@ -8135,7 +8080,7 @@ else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF -#line 8138 "configure" +#line 8083 "configure" #include "confdefs.h" int @@ -8147,16 +8092,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8150: \"$ac_link\"") >&5 +if { (eval echo "$as_me:8095: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8153: \$? = $ac_status" >&5 + echo "$as_me:8098: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8156: \"$ac_try\"") >&5 + { (eval echo "$as_me:8101: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8159: \$? = $ac_status" >&5 + echo "$as_me:8104: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } @@ -8523,7 +8468,7 @@ esac fi -echo "$as_me:8526: result: $ld_shlibs" >&5 +echo "$as_me:8471: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6 test "$ld_shlibs" = no && can_build_shared=no @@ -8545,15 +8490,15 @@ # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - echo "$as_me:8548: checking whether -lc should be explicitly linked in" >&5 + echo "$as_me:8493: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* echo 'static int dummy;' > conftest.$ac_ext - if { (eval echo "$as_me:8553: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:8498: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8556: \$? = $ac_status" >&5 + echo "$as_me:8501: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest @@ -8567,10 +8512,10 @@ libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= - if { (eval echo "$as_me:8570: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + if { (eval echo "$as_me:8515: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - echo "$as_me:8573: \$? = $ac_status" >&5 + echo "$as_me:8518: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no @@ -8582,13 +8527,13 @@ cat conftest.err 1>&5 fi $rm conftest* - echo "$as_me:8585: result: $archive_cmds_need_lc" >&5 + echo "$as_me:8530: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6 ;; esac fi -echo "$as_me:8591: checking how to hardcode library paths into programs" >&5 +echo "$as_me:8536: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ @@ -8612,7 +8557,7 @@ # directories. hardcode_action=unsupported fi -echo "$as_me:8615: result: $hardcode_action" >&5 +echo "$as_me:8560: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6 if test "$hardcode_action" = relink; then @@ -8626,19 +8571,19 @@ striplib= old_striplib= -echo "$as_me:8629: checking whether stripping libraries is possible" >&5 +echo "$as_me:8574: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:8634: result: yes" >&5 + echo "$as_me:8579: result: yes" >&5 echo "${ECHO_T}yes" >&6 else - echo "$as_me:8637: result: no" >&5 + echo "$as_me:8582: result: no" >&5 echo "${ECHO_T}no" >&6 fi -echo "$as_me:8641: checking dynamic linker characteristics" >&5 +echo "$as_me:8586: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' @@ -9077,7 +9022,7 @@ dynamic_linker=no ;; esac -echo "$as_me:9080: result: $dynamic_linker" >&5 +echo "$as_me:9025: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no @@ -9102,13 +9047,13 @@ ;; *) - echo "$as_me:9105: checking for shl_load" >&5 + echo "$as_me:9050: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9111 "configure" +#line 9056 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. */ @@ -9139,16 +9084,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9142: \"$ac_link\"") >&5 +if { (eval echo "$as_me:9087: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9145: \$? = $ac_status" >&5 + echo "$as_me:9090: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9148: \"$ac_try\"") >&5 + { (eval echo "$as_me:9093: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9151: \$? = $ac_status" >&5 + echo "$as_me:9096: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shl_load=yes else @@ -9158,12 +9103,12 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:9161: result: $ac_cv_func_shl_load" >&5 +echo "$as_me:9106: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6 if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else - echo "$as_me:9166: checking for shl_load in -ldld" >&5 + echo "$as_me:9111: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9171,7 +9116,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9174 "configure" +#line 9119 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -9190,16 +9135,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9193: \"$ac_link\"") >&5 +if { (eval echo "$as_me:9138: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9196: \$? = $ac_status" >&5 + echo "$as_me:9141: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9199: \"$ac_try\"") >&5 + { (eval echo "$as_me:9144: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9202: \$? = $ac_status" >&5 + echo "$as_me:9147: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_shl_load=yes else @@ -9210,18 +9155,18 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9213: result: $ac_cv_lib_dld_shl_load" >&5 +echo "$as_me:9158: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else - echo "$as_me:9218: checking for dlopen" >&5 + echo "$as_me:9163: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9224 "configure" +#line 9169 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. */ @@ -9252,16 +9197,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9255: \"$ac_link\"") >&5 +if { (eval echo "$as_me:9200: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9258: \$? = $ac_status" >&5 + echo "$as_me:9203: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9261: \"$ac_try\"") >&5 + { (eval echo "$as_me:9206: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9264: \$? = $ac_status" >&5 + echo "$as_me:9209: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_dlopen=yes else @@ -9271,12 +9216,12 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:9274: result: $ac_cv_func_dlopen" >&5 +echo "$as_me:9219: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6 if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else - echo "$as_me:9279: checking for dlopen in -ldl" >&5 + echo "$as_me:9224: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9284,7 +9229,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9287 "configure" +#line 9232 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -9303,16 +9248,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9306: \"$ac_link\"") >&5 +if { (eval echo "$as_me:9251: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9309: \$? = $ac_status" >&5 + echo "$as_me:9254: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9312: \"$ac_try\"") >&5 + { (eval echo "$as_me:9257: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9315: \$? = $ac_status" >&5 + echo "$as_me:9260: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else @@ -9323,12 +9268,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9326: result: $ac_cv_lib_dl_dlopen" >&5 +echo "$as_me:9271: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else - echo "$as_me:9331: checking for dlopen in -lsvld" >&5 + echo "$as_me:9276: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9336,7 +9281,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9339 "configure" +#line 9284 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -9355,16 +9300,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9358: \"$ac_link\"") >&5 +if { (eval echo "$as_me:9303: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9361: \$? = $ac_status" >&5 + echo "$as_me:9306: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9364: \"$ac_try\"") >&5 + { (eval echo "$as_me:9309: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9367: \$? = $ac_status" >&5 + echo "$as_me:9312: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_svld_dlopen=yes else @@ -9375,12 +9320,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9378: result: $ac_cv_lib_svld_dlopen" >&5 +echo "$as_me:9323: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else - echo "$as_me:9383: checking for dld_link in -ldld" >&5 + echo "$as_me:9328: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9388,7 +9333,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9391 "configure" +#line 9336 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -9407,16 +9352,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9410: \"$ac_link\"") >&5 +if { (eval echo "$as_me:9355: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9413: \$? = $ac_status" >&5 + echo "$as_me:9358: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9416: \"$ac_try\"") >&5 + { (eval echo "$as_me:9361: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9419: \$? = $ac_status" >&5 + echo "$as_me:9364: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_dld_link=yes else @@ -9427,7 +9372,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9430: result: $ac_cv_lib_dld_dld_link" >&5 +echo "$as_me:9375: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" @@ -9463,7 +9408,7 @@ save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" - echo "$as_me:9466: checking whether a program can dlopen itself" >&5 + echo "$as_me:9411: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9474,7 +9419,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:9483: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9541: \$? = $ac_status" >&5 + echo "$as_me:9486: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? @@ -9555,12 +9500,12 @@ rm -fr conftest* fi -echo "$as_me:9558: result: $lt_cv_dlopen_self" >&5 +echo "$as_me:9503: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6 if test "x$lt_cv_dlopen_self" = xyes; then LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:9563: checking whether a statically linked program can dlopen itself" >&5 + echo "$as_me:9508: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9571,7 +9516,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:9580: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9638: \$? = $ac_status" >&5 + echo "$as_me:9583: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? @@ -9652,7 +9597,7 @@ rm -fr conftest* fi -echo "$as_me:9655: result: $lt_cv_dlopen_self_static" >&5 +echo "$as_me:9600: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 fi @@ -9674,12 +9619,12 @@ fi # Report which librarie types wil actually be built -echo "$as_me:9677: checking if libtool supports shared libraries" >&5 +echo "$as_me:9622: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 -echo "$as_me:9679: result: $can_build_shared" >&5 +echo "$as_me:9624: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6 -echo "$as_me:9682: checking whether to build shared libraries" >&5 +echo "$as_me:9627: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 test "$can_build_shared" = "no" && enable_shared=no @@ -9700,14 +9645,14 @@ fi ;; esac -echo "$as_me:9703: result: $enable_shared" >&5 +echo "$as_me:9648: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6 -echo "$as_me:9706: checking whether to build static libraries" >&5 +echo "$as_me:9651: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes -echo "$as_me:9710: result: $enable_static" >&5 +echo "$as_me:9655: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6 # The else clause should only fire when bootstrapping the @@ -9787,7 +9732,7 @@ cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" - { echo "$as_me:9790: creating $ofile" >&5 + { echo "$as_me:9735: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" @@ -10345,17 +10290,17 @@ if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then - { echo "$as_me:10348: WARNING: output file \`$ofile' does not exist" >&5 + { echo "$as_me:10293: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then - { echo "$as_me:10355: WARNING: output file \`$ofile' does not look like a libtool script" >&5 + { echo "$as_me:10300: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else - { echo "$as_me:10358: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 + { echo "$as_me:10303: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi @@ -10370,7 +10315,7 @@ # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in "") ;; - *) { { echo "$as_me:10373: error: invalid tag name: $tagname" >&5 + *) { { echo "$as_me:10318: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; @@ -10378,7 +10323,7 @@ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then - { { echo "$as_me:10381: error: tag name \"$tagname\" already exists" >&5 + { { echo "$as_me:10326: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } fi @@ -10505,7 +10450,7 @@ fi # PORTME: fill in a description of your system's C++ link characteristics -echo "$as_me:10508: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo "$as_me:10453: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 ld_shlibs_CXX=yes case $host_os in @@ -10596,7 +10541,7 @@ allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF -#line 10599 "configure" +#line 10544 "configure" #include "confdefs.h" int @@ -10608,16 +10553,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10611: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10556: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10614: \$? = $ac_status" >&5 + echo "$as_me:10559: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10617: \"$ac_try\"") >&5 + { (eval echo "$as_me:10562: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10620: \$? = $ac_status" >&5 + echo "$as_me:10565: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } @@ -10643,7 +10588,7 @@ else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF -#line 10646 "configure" +#line 10591 "configure" #include "confdefs.h" int @@ -10655,16 +10600,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10658: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10603: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10661: \$? = $ac_status" >&5 + echo "$as_me:10606: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10664: \"$ac_try\"") >&5 + { (eval echo "$as_me:10609: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10667: \$? = $ac_status" >&5 + echo "$as_me:10612: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } @@ -11162,7 +11107,7 @@ ld_shlibs_CXX=no ;; esac -echo "$as_me:11165: result: $ld_shlibs_CXX" >&5 +echo "$as_me:11110: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6 test "$ld_shlibs_CXX" = no && can_build_shared=no @@ -11178,10 +11123,10 @@ }; EOF -if { (eval echo "$as_me:11181: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:11126: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11184: \$? = $ac_status" >&5 + echo "$as_me:11129: \$? = $ac_status" >&5 (exit $ac_status); }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. @@ -11281,7 +11226,7 @@ lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= -echo "$as_me:11284: checking for $compiler option to produce PIC" >&5 +echo "$as_me:11229: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 # C++ specific cases for pic, static, wl, etc. @@ -11517,14 +11462,14 @@ esac fi -echo "$as_me:11520: result: $lt_prog_compiler_pic_CXX" >&5 +echo "$as_me:11465: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then - echo "$as_me:11527: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 + echo "$as_me:11472: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11549,7 +11494,7 @@ CFLAGS="$save_CFLAGS" fi -echo "$as_me:11552: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "$as_me:11497: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6 if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then @@ -11573,7 +11518,7 @@ ;; esac -echo "$as_me:11576: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo "$as_me:11521: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11614,13 +11559,13 @@ $rm conftest* fi -echo "$as_me:11617: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "$as_me:11562: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user - echo "$as_me:11623: checking if we can lock with hard links" >&5 + echo "$as_me:11568: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* @@ -11628,10 +11573,10 @@ touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:11631: result: $hard_links" >&5 + echo "$as_me:11576: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then - { echo "$as_me:11634: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 + { echo "$as_me:11579: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi @@ -11639,7 +11584,7 @@ need_locks=no fi -echo "$as_me:11642: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo "$as_me:11587: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -11661,7 +11606,7 @@ ;; esac -echo "$as_me:11664: result: $ld_shlibs_CXX" >&5 +echo "$as_me:11609: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6 test "$ld_shlibs_CXX" = no && can_build_shared=no @@ -11683,15 +11628,15 @@ # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - echo "$as_me:11686: checking whether -lc should be explicitly linked in" >&5 + echo "$as_me:11631: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* echo 'static int dummy;' > conftest.$ac_ext - if { (eval echo "$as_me:11691: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:11636: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11694: \$? = $ac_status" >&5 + echo "$as_me:11639: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest @@ -11705,10 +11650,10 @@ libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= - if { (eval echo "$as_me:11708: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + if { (eval echo "$as_me:11653: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - echo "$as_me:11711: \$? = $ac_status" >&5 + echo "$as_me:11656: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no @@ -11720,13 +11665,13 @@ cat conftest.err 1>&5 fi $rm conftest* - echo "$as_me:11723: result: $archive_cmds_need_lc_CXX" >&5 + echo "$as_me:11668: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6 ;; esac fi -echo "$as_me:11729: checking how to hardcode library paths into programs" >&5 +echo "$as_me:11674: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ @@ -11750,7 +11695,7 @@ # directories. hardcode_action_CXX=unsupported fi -echo "$as_me:11753: result: $hardcode_action_CXX" >&5 +echo "$as_me:11698: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6 if test "$hardcode_action_CXX" = relink; then @@ -11764,19 +11709,19 @@ striplib= old_striplib= -echo "$as_me:11767: checking whether stripping libraries is possible" >&5 +echo "$as_me:11712: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:11772: result: yes" >&5 + echo "$as_me:11717: result: yes" >&5 echo "${ECHO_T}yes" >&6 else - echo "$as_me:11775: result: no" >&5 + echo "$as_me:11720: result: no" >&5 echo "${ECHO_T}no" >&6 fi -echo "$as_me:11779: checking dynamic linker characteristics" >&5 +echo "$as_me:11724: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' @@ -12215,7 +12160,7 @@ dynamic_linker=no ;; esac -echo "$as_me:12218: result: $dynamic_linker" >&5 +echo "$as_me:12163: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no @@ -12240,13 +12185,13 @@ ;; *) - echo "$as_me:12243: checking for shl_load" >&5 + echo "$as_me:12188: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12249 "configure" +#line 12194 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. */ @@ -12277,16 +12222,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12280: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12225: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12283: \$? = $ac_status" >&5 + echo "$as_me:12228: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12286: \"$ac_try\"") >&5 + { (eval echo "$as_me:12231: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12289: \$? = $ac_status" >&5 + echo "$as_me:12234: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shl_load=yes else @@ -12296,12 +12241,12 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:12299: result: $ac_cv_func_shl_load" >&5 +echo "$as_me:12244: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6 if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else - echo "$as_me:12304: checking for shl_load in -ldld" >&5 + echo "$as_me:12249: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12309,7 +12254,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 12312 "configure" +#line 12257 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -12328,16 +12273,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12331: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12276: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12334: \$? = $ac_status" >&5 + echo "$as_me:12279: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12337: \"$ac_try\"") >&5 + { (eval echo "$as_me:12282: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12340: \$? = $ac_status" >&5 + echo "$as_me:12285: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_shl_load=yes else @@ -12348,18 +12293,18 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:12351: result: $ac_cv_lib_dld_shl_load" >&5 +echo "$as_me:12296: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else - echo "$as_me:12356: checking for dlopen" >&5 + echo "$as_me:12301: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12362 "configure" +#line 12307 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. */ @@ -12390,16 +12335,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12393: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12338: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12396: \$? = $ac_status" >&5 + echo "$as_me:12341: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12399: \"$ac_try\"") >&5 + { (eval echo "$as_me:12344: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12402: \$? = $ac_status" >&5 + echo "$as_me:12347: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_dlopen=yes else @@ -12409,12 +12354,12 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:12412: result: $ac_cv_func_dlopen" >&5 +echo "$as_me:12357: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6 if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else - echo "$as_me:12417: checking for dlopen in -ldl" >&5 + echo "$as_me:12362: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12422,7 +12367,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 12425 "configure" +#line 12370 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -12441,16 +12386,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12444: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12389: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12447: \$? = $ac_status" >&5 + echo "$as_me:12392: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12450: \"$ac_try\"") >&5 + { (eval echo "$as_me:12395: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12453: \$? = $ac_status" >&5 + echo "$as_me:12398: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else @@ -12461,12 +12406,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:12464: result: $ac_cv_lib_dl_dlopen" >&5 +echo "$as_me:12409: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else - echo "$as_me:12469: checking for dlopen in -lsvld" >&5 + echo "$as_me:12414: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12474,7 +12419,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 12477 "configure" +#line 12422 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -12493,16 +12438,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12496: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12441: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12499: \$? = $ac_status" >&5 + echo "$as_me:12444: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12502: \"$ac_try\"") >&5 + { (eval echo "$as_me:12447: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12505: \$? = $ac_status" >&5 + echo "$as_me:12450: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_svld_dlopen=yes else @@ -12513,12 +12458,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:12516: result: $ac_cv_lib_svld_dlopen" >&5 +echo "$as_me:12461: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else - echo "$as_me:12521: checking for dld_link in -ldld" >&5 + echo "$as_me:12466: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12526,7 +12471,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 12529 "configure" +#line 12474 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -12545,16 +12490,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12548: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12493: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12551: \$? = $ac_status" >&5 + echo "$as_me:12496: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12554: \"$ac_try\"") >&5 + { (eval echo "$as_me:12499: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12557: \$? = $ac_status" >&5 + echo "$as_me:12502: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_dld_link=yes else @@ -12565,7 +12510,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:12568: result: $ac_cv_lib_dld_dld_link" >&5 +echo "$as_me:12513: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" @@ -12601,7 +12546,7 @@ save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" - echo "$as_me:12604: checking whether a program can dlopen itself" >&5 + echo "$as_me:12549: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12612,7 +12557,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:12621: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12679: \$? = $ac_status" >&5 + echo "$as_me:12624: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? @@ -12693,12 +12638,12 @@ rm -fr conftest* fi -echo "$as_me:12696: result: $lt_cv_dlopen_self" >&5 +echo "$as_me:12641: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6 if test "x$lt_cv_dlopen_self" = xyes; then LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:12701: checking whether a statically linked program can dlopen itself" >&5 + echo "$as_me:12646: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12709,7 +12654,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:12718: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12776: \$? = $ac_status" >&5 + echo "$as_me:12721: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? @@ -12790,7 +12735,7 @@ rm -fr conftest* fi -echo "$as_me:12793: result: $lt_cv_dlopen_self_static" >&5 +echo "$as_me:12738: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 fi @@ -13223,7 +13168,7 @@ if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' - echo "$as_me:13226: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 + echo "$as_me:13171: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -13248,7 +13193,7 @@ CFLAGS="$save_CFLAGS" fi -echo "$as_me:13251: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "$as_me:13196: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then @@ -13263,7 +13208,7 @@ lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= -echo "$as_me:13266: checking for $compiler option to produce PIC" >&5 +echo "$as_me:13211: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 if test "$GCC" = yes; then @@ -13416,14 +13361,14 @@ esac fi -echo "$as_me:13419: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "$as_me:13364: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then - echo "$as_me:13426: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 + echo "$as_me:13371: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -13448,7 +13393,7 @@ CFLAGS="$save_CFLAGS" fi -echo "$as_me:13451: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "$as_me:13396: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6 if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then @@ -13472,7 +13417,7 @@ ;; esac -echo "$as_me:13475: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo "$as_me:13420: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -13513,13 +13458,13 @@ $rm conftest* fi -echo "$as_me:13516: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "$as_me:13461: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user - echo "$as_me:13522: checking if we can lock with hard links" >&5 + echo "$as_me:13467: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* @@ -13527,10 +13472,10 @@ touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:13530: result: $hard_links" >&5 + echo "$as_me:13475: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then - { echo "$as_me:13533: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 + { echo "$as_me:13478: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi @@ -13538,7 +13483,7 @@ need_locks=no fi -echo "$as_me:13541: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo "$as_me:13486: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 runpath_var= @@ -13888,7 +13833,7 @@ allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF -#line 13891 "configure" +#line 13836 "configure" #include "confdefs.h" int @@ -13900,16 +13845,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13903: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13848: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:13906: \$? = $ac_status" >&5 + echo "$as_me:13851: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13909: \"$ac_try\"") >&5 + { (eval echo "$as_me:13854: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13912: \$? = $ac_status" >&5 + echo "$as_me:13857: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } @@ -13934,7 +13879,7 @@ else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF -#line 13937 "configure" +#line 13882 "configure" #include "confdefs.h" int @@ -13946,16 +13891,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13949: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13894: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:13952: \$? = $ac_status" >&5 + echo "$as_me:13897: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13955: \"$ac_try\"") >&5 + { (eval echo "$as_me:13900: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13958: \$? = $ac_status" >&5 + echo "$as_me:13903: \$? = $ac_status" >&5 (exit $ac_status); }; }; then aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } @@ -14322,7 +14267,7 @@ esac fi -echo "$as_me:14325: result: $ld_shlibs_GCJ" >&5 +echo "$as_me:14270: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6 test "$ld_shlibs_GCJ" = no && can_build_shared=no @@ -14344,15 +14289,15 @@ # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - echo "$as_me:14347: checking whether -lc should be explicitly linked in" >&5 + echo "$as_me:14292: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* echo 'static int dummy;' > conftest.$ac_ext - if { (eval echo "$as_me:14352: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:14297: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:14355: \$? = $ac_status" >&5 + echo "$as_me:14300: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest @@ -14366,10 +14311,10 @@ libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= - if { (eval echo "$as_me:14369: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + if { (eval echo "$as_me:14314: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - echo "$as_me:14372: \$? = $ac_status" >&5 + echo "$as_me:14317: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no @@ -14381,13 +14326,13 @@ cat conftest.err 1>&5 fi $rm conftest* - echo "$as_me:14384: result: $archive_cmds_need_lc_GCJ" >&5 + echo "$as_me:14329: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6 ;; esac fi -echo "$as_me:14390: checking how to hardcode library paths into programs" >&5 +echo "$as_me:14335: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ @@ -14411,7 +14356,7 @@ # directories. hardcode_action_GCJ=unsupported fi -echo "$as_me:14414: result: $hardcode_action_GCJ" >&5 +echo "$as_me:14359: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6 if test "$hardcode_action_GCJ" = relink; then @@ -14425,19 +14370,19 @@ striplib= old_striplib= -echo "$as_me:14428: checking whether stripping libraries is possible" >&5 +echo "$as_me:14373: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:14433: result: yes" >&5 + echo "$as_me:14378: result: yes" >&5 echo "${ECHO_T}yes" >&6 else - echo "$as_me:14436: result: no" >&5 + echo "$as_me:14381: result: no" >&5 echo "${ECHO_T}no" >&6 fi -echo "$as_me:14440: checking dynamic linker characteristics" >&5 +echo "$as_me:14385: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' @@ -14876,7 +14821,7 @@ dynamic_linker=no ;; esac -echo "$as_me:14879: result: $dynamic_linker" >&5 +echo "$as_me:14824: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no @@ -14901,13 +14846,13 @@ ;; *) - echo "$as_me:14904: checking for shl_load" >&5 + echo "$as_me:14849: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 14910 "configure" +#line 14855 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. */ @@ -14938,16 +14883,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:14941: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14886: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:14944: \$? = $ac_status" >&5 + echo "$as_me:14889: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:14947: \"$ac_try\"") >&5 + { (eval echo "$as_me:14892: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:14950: \$? = $ac_status" >&5 + echo "$as_me:14895: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shl_load=yes else @@ -14957,12 +14902,12 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:14960: result: $ac_cv_func_shl_load" >&5 +echo "$as_me:14905: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6 if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else - echo "$as_me:14965: checking for shl_load in -ldld" >&5 + echo "$as_me:14910: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -14970,7 +14915,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 14973 "configure" +#line 14918 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -14989,16 +14934,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:14992: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14937: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:14995: \$? = $ac_status" >&5 + echo "$as_me:14940: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:14998: \"$ac_try\"") >&5 + { (eval echo "$as_me:14943: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:15001: \$? = $ac_status" >&5 + echo "$as_me:14946: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_shl_load=yes else @@ -15009,18 +14954,18 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:15012: result: $ac_cv_lib_dld_shl_load" >&5 +echo "$as_me:14957: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else - echo "$as_me:15017: checking for dlopen" >&5 + echo "$as_me:14962: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 15023 "configure" +#line 14968 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. */ @@ -15051,16 +14996,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:15054: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14999: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:15057: \$? = $ac_status" >&5 + echo "$as_me:15002: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:15060: \"$ac_try\"") >&5 + { (eval echo "$as_me:15005: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:15063: \$? = $ac_status" >&5 + echo "$as_me:15008: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_dlopen=yes else @@ -15070,12 +15015,12 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:15073: result: $ac_cv_func_dlopen" >&5 +echo "$as_me:15018: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6 if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else - echo "$as_me:15078: checking for dlopen in -ldl" >&5 + echo "$as_me:15023: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -15083,7 +15028,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 15086 "configure" +#line 15031 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -15102,16 +15047,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:15105: \"$ac_link\"") >&5 +if { (eval echo "$as_me:15050: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:15108: \$? = $ac_status" >&5 + echo "$as_me:15053: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:15111: \"$ac_try\"") >&5 + { (eval echo "$as_me:15056: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:15114: \$? = $ac_status" >&5 + echo "$as_me:15059: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else @@ -15122,12 +15067,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:15125: result: $ac_cv_lib_dl_dlopen" >&5 +echo "$as_me:15070: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else - echo "$as_me:15130: checking for dlopen in -lsvld" >&5 + echo "$as_me:15075: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -15135,7 +15080,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 15138 "configure" +#line 15083 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -15154,16 +15099,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:15157: \"$ac_link\"") >&5 +if { (eval echo "$as_me:15102: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:15160: \$? = $ac_status" >&5 + echo "$as_me:15105: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:15163: \"$ac_try\"") >&5 + { (eval echo "$as_me:15108: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:15166: \$? = $ac_status" >&5 + echo "$as_me:15111: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_svld_dlopen=yes else @@ -15174,12 +15119,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:15177: result: $ac_cv_lib_svld_dlopen" >&5 +echo "$as_me:15122: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else - echo "$as_me:15182: checking for dld_link in -ldld" >&5 + echo "$as_me:15127: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -15187,7 +15132,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 15190 "configure" +#line 15135 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -15206,16 +15151,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:15209: \"$ac_link\"") >&5 +if { (eval echo "$as_me:15154: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:15212: \$? = $ac_status" >&5 + echo "$as_me:15157: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:15215: \"$ac_try\"") >&5 + { (eval echo "$as_me:15160: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:15218: \$? = $ac_status" >&5 + echo "$as_me:15163: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dld_dld_link=yes else @@ -15226,7 +15171,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:15229: result: $ac_cv_lib_dld_dld_link" >&5 +echo "$as_me:15174: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" @@ -15262,7 +15207,7 @@ save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" - echo "$as_me:15265: checking whether a program can dlopen itself" >&5 + echo "$as_me:15210: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -15273,7 +15218,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:15282: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:15340: \$? = $ac_status" >&5 + echo "$as_me:15285: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? @@ -15354,12 +15299,12 @@ rm -fr conftest* fi -echo "$as_me:15357: result: $lt_cv_dlopen_self" >&5 +echo "$as_me:15302: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6 if test "x$lt_cv_dlopen_self" = xyes; then LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:15362: checking whether a statically linked program can dlopen itself" >&5 + echo "$as_me:15307: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -15370,7 +15315,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:15379: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:15437: \$? = $ac_status" >&5 + echo "$as_me:15382: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) 2>/dev/null lt_status=$? @@ -15451,7 +15396,7 @@ rm -fr conftest* fi -echo "$as_me:15454: result: $lt_cv_dlopen_self_static" >&5 +echo "$as_me:15399: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 fi @@ -16251,7 +16196,7 @@ ;; *) - { { echo "$as_me:16254: error: Unsupported tag name: $tagname" >&5 + { { echo "$as_me:16199: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; @@ -16269,7 +16214,7 @@ chmod +x "$ofile" else rm -f "${ofile}T" - { { echo "$as_me:16272: error: unable to update list of available tagged configurations." >&5 + { { echo "$as_me:16217: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi @@ -16290,7 +16235,7 @@ if test "$enable_shared" = yes && test "$enable_static" = yes; then case $library_names_spec in *libname.a*) - { { echo "$as_me:16293: error: cannot create both shared and static libraries on this system, --disable one of the two" >&5 + { { echo "$as_me:16238: error: cannot create both shared and static libraries on this system, --disable one of the two" >&5 echo "$as_me: error: cannot create both shared and static libraries on this system, --disable one of the two" >&2;} { (exit 1); exit 1; }; } ;; @@ -16308,7 +16253,7 @@ # If there's any sse2 or mmx in the path, check whether the assembler # supports it, and remove if not. case "$path" in - *mmx*) echo "$as_me:16311: checking if the assembler knows about MMX instructions" >&5 + *mmx*) echo "$as_me:16256: checking if the assembler knows about MMX instructions" >&5 echo $ECHO_N "checking if the assembler knows about MMX instructions... $ECHO_C" >&6 if test "${gmp_cv_asm_x86_mmx+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -16318,10 +16263,10 @@ movq %mm0, %mm1 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:16321: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:16266: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:16324: \$? = $ac_status" >&5 + echo "$as_me:16269: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_x86_mmx=yes @@ -16332,7 +16277,7 @@ gmp_cv_asm_x86_mmx=movq-bug fi else - { echo "$as_me:16335: WARNING: \"dis\" not available to check for \"as\" movq bug" >&5 + { echo "$as_me:16280: WARNING: \"dis\" not available to check for \"as\" movq bug" >&5 echo "$as_me: WARNING: \"dis\" not available to check for \"as\" movq bug" >&2;} fi esac @@ -16345,44 +16290,44 @@ rm -f conftest* fi -echo "$as_me:16348: result: $gmp_cv_asm_x86_mmx" >&5 +echo "$as_me:16293: result: $gmp_cv_asm_x86_mmx" >&5 echo "${ECHO_T}$gmp_cv_asm_x86_mmx" >&6 case $gmp_cv_asm_x86_mmx in movq-bug) - { echo "$as_me:16353: WARNING: +----------------------------------------------------------" >&5 + { echo "$as_me:16298: WARNING: +----------------------------------------------------------" >&5 echo "$as_me: WARNING: +----------------------------------------------------------" >&2;} - { echo "$as_me:16355: WARNING: | WARNING WARNING WARNING" >&5 + { echo "$as_me:16300: WARNING: | WARNING WARNING WARNING" >&5 echo "$as_me: WARNING: | WARNING WARNING WARNING" >&2;} - { echo "$as_me:16357: WARNING: | Host CPU has MMX code, but the assembler" >&5 + { echo "$as_me:16302: WARNING: | Host CPU has MMX code, but the assembler" >&5 echo "$as_me: WARNING: | Host CPU has MMX code, but the assembler" >&2;} - { echo "$as_me:16359: WARNING: | $CCAS $CFLAGS" >&5 + { echo "$as_me:16304: WARNING: | $CCAS $CFLAGS" >&5 echo "$as_me: WARNING: | $CCAS $CFLAGS" >&2;} - { echo "$as_me:16361: WARNING: | has the Solaris 2.6 and 2.7 bug where register to register" >&5 + { echo "$as_me:16306: WARNING: | has the Solaris 2.6 and 2.7 bug where register to register" >&5 echo "$as_me: WARNING: | has the Solaris 2.6 and 2.7 bug where register to register" >&2;} - { echo "$as_me:16363: WARNING: | movq operands are reversed." >&5 + { echo "$as_me:16308: WARNING: | movq operands are reversed." >&5 echo "$as_me: WARNING: | movq operands are reversed." >&2;} - { echo "$as_me:16365: WARNING: | Non-MMX replacements will be used." >&5 + { echo "$as_me:16310: WARNING: | Non-MMX replacements will be used." >&5 echo "$as_me: WARNING: | Non-MMX replacements will be used." >&2;} - { echo "$as_me:16367: WARNING: | This will be an inferior build." >&5 + { echo "$as_me:16312: WARNING: | This will be an inferior build." >&5 echo "$as_me: WARNING: | This will be an inferior build." >&2;} - { echo "$as_me:16369: WARNING: +----------------------------------------------------------" >&5 + { echo "$as_me:16314: WARNING: +----------------------------------------------------------" >&5 echo "$as_me: WARNING: +----------------------------------------------------------" >&2;} ;; no) - { echo "$as_me:16373: WARNING: +----------------------------------------------------------" >&5 + { echo "$as_me:16318: WARNING: +----------------------------------------------------------" >&5 echo "$as_me: WARNING: +----------------------------------------------------------" >&2;} - { echo "$as_me:16375: WARNING: | WARNING WARNING WARNING" >&5 + { echo "$as_me:16320: WARNING: | WARNING WARNING WARNING" >&5 echo "$as_me: WARNING: | WARNING WARNING WARNING" >&2;} - { echo "$as_me:16377: WARNING: | Host CPU has MMX code, but it can't be assembled by" >&5 + { echo "$as_me:16322: WARNING: | Host CPU has MMX code, but it can't be assembled by" >&5 echo "$as_me: WARNING: | Host CPU has MMX code, but it can't be assembled by" >&2;} - { echo "$as_me:16379: WARNING: | $CCAS $CFLAGS" >&5 + { echo "$as_me:16324: WARNING: | $CCAS $CFLAGS" >&5 echo "$as_me: WARNING: | $CCAS $CFLAGS" >&2;} - { echo "$as_me:16381: WARNING: | Non-MMX replacements will be used." >&5 + { echo "$as_me:16326: WARNING: | Non-MMX replacements will be used." >&5 echo "$as_me: WARNING: | Non-MMX replacements will be used." >&2;} - { echo "$as_me:16383: WARNING: | This will be an inferior build." >&5 + { echo "$as_me:16328: WARNING: | This will be an inferior build." >&5 echo "$as_me: WARNING: | This will be an inferior build." >&2;} - { echo "$as_me:16385: WARNING: +----------------------------------------------------------" >&5 + { echo "$as_me:16330: WARNING: +----------------------------------------------------------" >&5 echo "$as_me: WARNING: +----------------------------------------------------------" >&2;} ;; esac @@ -16402,7 +16347,7 @@ ;; esac case "$path" in - *sse2*) echo "$as_me:16405: checking if the assembler knows about SSE2 instructions" >&5 + *sse2*) echo "$as_me:16350: checking if the assembler knows about SSE2 instructions" >&5 echo $ECHO_N "checking if the assembler knows about SSE2 instructions... $ECHO_C" >&6 if test "${gmp_cv_asm_x86_sse2+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -16412,10 +16357,10 @@ paddq %mm0, %mm1 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:16415: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:16360: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:16418: \$? = $ac_status" >&5 + echo "$as_me:16363: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_x86_sse2=yes @@ -16428,26 +16373,26 @@ rm -f conftest* fi -echo "$as_me:16431: result: $gmp_cv_asm_x86_sse2" >&5 +echo "$as_me:16376: result: $gmp_cv_asm_x86_sse2" >&5 echo "${ECHO_T}$gmp_cv_asm_x86_sse2" >&6 case $gmp_cv_asm_x86_sse2 in yes) : ;; *) - { echo "$as_me:16438: WARNING: +----------------------------------------------------------" >&5 + { echo "$as_me:16383: WARNING: +----------------------------------------------------------" >&5 echo "$as_me: WARNING: +----------------------------------------------------------" >&2;} - { echo "$as_me:16440: WARNING: | WARNING WARNING WARNING" >&5 + { echo "$as_me:16385: WARNING: | WARNING WARNING WARNING" >&5 echo "$as_me: WARNING: | WARNING WARNING WARNING" >&2;} - { echo "$as_me:16442: WARNING: | Host CPU has SSE2 code, but it can't be assembled by" >&5 + { echo "$as_me:16387: WARNING: | Host CPU has SSE2 code, but it can't be assembled by" >&5 echo "$as_me: WARNING: | Host CPU has SSE2 code, but it can't be assembled by" >&2;} - { echo "$as_me:16444: WARNING: | $CCAS $CFLAGS" >&5 + { echo "$as_me:16389: WARNING: | $CCAS $CFLAGS" >&5 echo "$as_me: WARNING: | $CCAS $CFLAGS" >&2;} - { echo "$as_me:16446: WARNING: | Non-SSE2 replacements will be used." >&5 + { echo "$as_me:16391: WARNING: | Non-SSE2 replacements will be used." >&5 echo "$as_me: WARNING: | Non-SSE2 replacements will be used." >&2;} - { echo "$as_me:16448: WARNING: | This will be an inferior build." >&5 + { echo "$as_me:16393: WARNING: | This will be an inferior build." >&5 echo "$as_me: WARNING: | This will be an inferior build." >&2;} - { echo "$as_me:16450: WARNING: +----------------------------------------------------------" >&5 + { echo "$as_me:16395: WARNING: +----------------------------------------------------------" >&5 echo "$as_me: WARNING: +----------------------------------------------------------" >&2;} tmp_path= for i in $path; do @@ -16468,13 +16413,13 @@ # The library and header checks are mostly for the benefit of supplementary # programs. libgmp doesn't use anything too weird. -echo "$as_me:16471: checking for ANSI C header files" >&5 +echo "$as_me:16416: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16477 "configure" +#line 16422 "configure" #include "confdefs.h" #include #include @@ -16482,13 +16427,13 @@ #include _ACEOF -if { (eval echo "$as_me:16485: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:16430: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:16491: \$? = $ac_status" >&5 + echo "$as_me:16436: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -16510,7 +16455,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 16513 "configure" +#line 16458 "configure" #include "confdefs.h" #include @@ -16528,7 +16473,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 16531 "configure" +#line 16476 "configure" #include "confdefs.h" #include @@ -16549,7 +16494,7 @@ : else cat >conftest.$ac_ext <<_ACEOF -#line 16552 "configure" +#line 16497 "configure" #include "confdefs.h" #include #if ((' ' & 0x0FF) == 0x020) @@ -16575,15 +16520,15 @@ } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:16578: \"$ac_link\"") >&5 +if { (eval echo "$as_me:16523: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:16581: \$? = $ac_status" >&5 + echo "$as_me:16526: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:16583: \"$ac_try\"") >&5 + { (eval echo "$as_me:16528: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:16586: \$? = $ac_status" >&5 + echo "$as_me:16531: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -16596,7 +16541,7 @@ fi fi fi -echo "$as_me:16599: result: $ac_cv_header_stdc" >&5 +echo "$as_me:16544: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then @@ -16606,13 +16551,13 @@ fi -echo "$as_me:16609: checking whether time.h and sys/time.h may both be included" >&5 +echo "$as_me:16554: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16615 "configure" +#line 16560 "configure" #include "confdefs.h" #include #include @@ -16628,16 +16573,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:16631: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:16576: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:16634: \$? = $ac_status" >&5 + echo "$as_me:16579: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:16637: \"$ac_try\"") >&5 + { (eval echo "$as_me:16582: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:16640: \$? = $ac_status" >&5 + echo "$as_me:16585: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else @@ -16647,7 +16592,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:16650: result: $ac_cv_header_time" >&5 +echo "$as_me:16595: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then @@ -16673,23 +16618,23 @@ for ac_header in fcntl.h locale.h sys/mman.h sys/param.h sys/processor.h sys/resource.h sys/sysctl.h sys/syssgi.h sys/systemcfg.h sys/time.h sys/times.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:16676: checking for $ac_header" >&5 +echo "$as_me:16621: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16682 "configure" +#line 16627 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:16686: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:16631: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:16692: \$? = $ac_status" >&5 + echo "$as_me:16637: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -16708,7 +16653,7 @@ fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:16711: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:16656: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:16673: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16734 "configure" +#line 16679 "configure" #include "confdefs.h" $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:16740: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:16685: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:16743: \$? = $ac_status" >&5 + echo "$as_me:16688: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:16746: \"$ac_try\"") >&5 + { (eval echo "$as_me:16691: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:16749: \$? = $ac_status" >&5 + echo "$as_me:16694: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else @@ -16756,7 +16701,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:16759: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:16704: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:16714: checking whether fgetc is declared" >&5 echo $ECHO_N "checking whether fgetc is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_fgetc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16775 "configure" +#line 16720 "configure" #include "confdefs.h" $ac_includes_default int @@ -16787,16 +16732,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:16790: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:16735: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:16793: \$? = $ac_status" >&5 + echo "$as_me:16738: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:16796: \"$ac_try\"") >&5 + { (eval echo "$as_me:16741: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:16799: \$? = $ac_status" >&5 + echo "$as_me:16744: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_fgetc=yes else @@ -16806,7 +16751,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:16809: result: $ac_cv_have_decl_fgetc" >&5 +echo "$as_me:16754: result: $ac_cv_have_decl_fgetc" >&5 echo "${ECHO_T}$ac_cv_have_decl_fgetc" >&6 if test $ac_cv_have_decl_fgetc = yes; then @@ -16820,13 +16765,13 @@ EOF fi -echo "$as_me:16823: checking whether fscanf is declared" >&5 +echo "$as_me:16768: checking whether fscanf is declared" >&5 echo $ECHO_N "checking whether fscanf is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_fscanf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16829 "configure" +#line 16774 "configure" #include "confdefs.h" $ac_includes_default int @@ -16841,16 +16786,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:16844: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:16789: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:16847: \$? = $ac_status" >&5 + echo "$as_me:16792: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:16850: \"$ac_try\"") >&5 + { (eval echo "$as_me:16795: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:16853: \$? = $ac_status" >&5 + echo "$as_me:16798: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_fscanf=yes else @@ -16860,7 +16805,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:16863: result: $ac_cv_have_decl_fscanf" >&5 +echo "$as_me:16808: result: $ac_cv_have_decl_fscanf" >&5 echo "${ECHO_T}$ac_cv_have_decl_fscanf" >&6 if test $ac_cv_have_decl_fscanf = yes; then @@ -16874,13 +16819,13 @@ EOF fi -echo "$as_me:16877: checking whether optarg is declared" >&5 +echo "$as_me:16822: checking whether optarg is declared" >&5 echo $ECHO_N "checking whether optarg is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_optarg+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16883 "configure" +#line 16828 "configure" #include "confdefs.h" $ac_includes_default int @@ -16895,16 +16840,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:16898: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:16843: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:16901: \$? = $ac_status" >&5 + echo "$as_me:16846: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:16904: \"$ac_try\"") >&5 + { (eval echo "$as_me:16849: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:16907: \$? = $ac_status" >&5 + echo "$as_me:16852: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_optarg=yes else @@ -16914,7 +16859,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:16917: result: $ac_cv_have_decl_optarg" >&5 +echo "$as_me:16862: result: $ac_cv_have_decl_optarg" >&5 echo "${ECHO_T}$ac_cv_have_decl_optarg" >&6 if test $ac_cv_have_decl_optarg = yes; then @@ -16928,13 +16873,13 @@ EOF fi -echo "$as_me:16931: checking whether ungetc is declared" >&5 +echo "$as_me:16876: checking whether ungetc is declared" >&5 echo $ECHO_N "checking whether ungetc is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_ungetc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16937 "configure" +#line 16882 "configure" #include "confdefs.h" $ac_includes_default int @@ -16949,16 +16894,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:16952: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:16897: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:16955: \$? = $ac_status" >&5 + echo "$as_me:16900: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:16958: \"$ac_try\"") >&5 + { (eval echo "$as_me:16903: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:16961: \$? = $ac_status" >&5 + echo "$as_me:16906: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_ungetc=yes else @@ -16968,7 +16913,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:16971: result: $ac_cv_have_decl_ungetc" >&5 +echo "$as_me:16916: result: $ac_cv_have_decl_ungetc" >&5 echo "${ECHO_T}$ac_cv_have_decl_ungetc" >&6 if test $ac_cv_have_decl_ungetc = yes; then @@ -16982,13 +16927,13 @@ EOF fi -echo "$as_me:16985: checking whether vfprintf is declared" >&5 +echo "$as_me:16930: checking whether vfprintf is declared" >&5 echo $ECHO_N "checking whether vfprintf is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_vfprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 16991 "configure" +#line 16936 "configure" #include "confdefs.h" $ac_includes_default int @@ -17003,16 +16948,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17006: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:16951: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17009: \$? = $ac_status" >&5 + echo "$as_me:16954: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17012: \"$ac_try\"") >&5 + { (eval echo "$as_me:16957: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17015: \$? = $ac_status" >&5 + echo "$as_me:16960: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_vfprintf=yes else @@ -17022,7 +16967,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17025: result: $ac_cv_have_decl_vfprintf" >&5 +echo "$as_me:16970: result: $ac_cv_have_decl_vfprintf" >&5 echo "${ECHO_T}$ac_cv_have_decl_vfprintf" >&6 if test $ac_cv_have_decl_vfprintf = yes; then @@ -17037,13 +16982,13 @@ fi -echo "$as_me:17040: checking return type of signal handlers" >&5 +echo "$as_me:16985: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17046 "configure" +#line 16991 "configure" #include "confdefs.h" #include #include @@ -17065,16 +17010,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17068: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17013: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17071: \$? = $ac_status" >&5 + echo "$as_me:17016: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17074: \"$ac_try\"") >&5 + { (eval echo "$as_me:17019: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17077: \$? = $ac_status" >&5 + echo "$as_me:17022: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void else @@ -17084,7 +17029,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17087: result: $ac_cv_type_signal" >&5 +echo "$as_me:17032: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 cat >>confdefs.h <&5 +echo "$as_me:17040: checking for intmax_t" >&5 echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6 if test "${ac_cv_type_intmax_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17101 "configure" +#line 17046 "configure" #include "confdefs.h" $ac_includes_default int @@ -17113,16 +17058,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17116: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17061: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17119: \$? = $ac_status" >&5 + echo "$as_me:17064: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17122: \"$ac_try\"") >&5 + { (eval echo "$as_me:17067: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17125: \$? = $ac_status" >&5 + echo "$as_me:17070: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_intmax_t=yes else @@ -17132,7 +17077,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17135: result: $ac_cv_type_intmax_t" >&5 +echo "$as_me:17080: result: $ac_cv_type_intmax_t" >&5 echo "${ECHO_T}$ac_cv_type_intmax_t" >&6 if test $ac_cv_type_intmax_t = yes; then @@ -17141,13 +17086,13 @@ EOF fi -echo "$as_me:17144: checking for long double" >&5 +echo "$as_me:17089: checking for long double" >&5 echo $ECHO_N "checking for long double... $ECHO_C" >&6 if test "${ac_cv_type_long_double+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17150 "configure" +#line 17095 "configure" #include "confdefs.h" $ac_includes_default int @@ -17162,16 +17107,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17165: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17110: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17168: \$? = $ac_status" >&5 + echo "$as_me:17113: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17171: \"$ac_try\"") >&5 + { (eval echo "$as_me:17116: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17174: \$? = $ac_status" >&5 + echo "$as_me:17119: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long_double=yes else @@ -17181,7 +17126,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17184: result: $ac_cv_type_long_double" >&5 +echo "$as_me:17129: result: $ac_cv_type_long_double" >&5 echo "${ECHO_T}$ac_cv_type_long_double" >&6 if test $ac_cv_type_long_double = yes; then @@ -17190,13 +17135,13 @@ EOF fi -echo "$as_me:17193: checking for long long" >&5 +echo "$as_me:17138: checking for long long" >&5 echo $ECHO_N "checking for long long... $ECHO_C" >&6 if test "${ac_cv_type_long_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17199 "configure" +#line 17144 "configure" #include "confdefs.h" $ac_includes_default int @@ -17211,16 +17156,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17214: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17159: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17217: \$? = $ac_status" >&5 + echo "$as_me:17162: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17220: \"$ac_try\"") >&5 + { (eval echo "$as_me:17165: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17223: \$? = $ac_status" >&5 + echo "$as_me:17168: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long_long=yes else @@ -17230,7 +17175,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17233: result: $ac_cv_type_long_long" >&5 +echo "$as_me:17178: result: $ac_cv_type_long_long" >&5 echo "${ECHO_T}$ac_cv_type_long_long" >&6 if test $ac_cv_type_long_long = yes; then @@ -17239,13 +17184,13 @@ EOF fi -echo "$as_me:17242: checking for ptrdiff_t" >&5 +echo "$as_me:17187: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17248 "configure" +#line 17193 "configure" #include "confdefs.h" $ac_includes_default int @@ -17260,16 +17205,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17263: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17208: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17266: \$? = $ac_status" >&5 + echo "$as_me:17211: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17269: \"$ac_try\"") >&5 + { (eval echo "$as_me:17214: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17272: \$? = $ac_status" >&5 + echo "$as_me:17217: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes else @@ -17279,7 +17224,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17282: result: $ac_cv_type_ptrdiff_t" >&5 +echo "$as_me:17227: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then @@ -17288,13 +17233,13 @@ EOF fi -echo "$as_me:17291: checking for quad_t" >&5 +echo "$as_me:17236: checking for quad_t" >&5 echo $ECHO_N "checking for quad_t... $ECHO_C" >&6 if test "${ac_cv_type_quad_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17297 "configure" +#line 17242 "configure" #include "confdefs.h" $ac_includes_default int @@ -17309,16 +17254,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17312: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17257: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17315: \$? = $ac_status" >&5 + echo "$as_me:17260: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17318: \"$ac_try\"") >&5 + { (eval echo "$as_me:17263: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17321: \$? = $ac_status" >&5 + echo "$as_me:17266: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_quad_t=yes else @@ -17328,7 +17273,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17331: result: $ac_cv_type_quad_t" >&5 +echo "$as_me:17276: result: $ac_cv_type_quad_t" >&5 echo "${ECHO_T}$ac_cv_type_quad_t" >&6 if test $ac_cv_type_quad_t = yes; then @@ -17338,13 +17283,13 @@ fi -echo "$as_me:17341: checking for preprocessor stringizing operator" >&5 +echo "$as_me:17286: checking for preprocessor stringizing operator" >&5 echo $ECHO_N "checking for preprocessor stringizing operator... $ECHO_C" >&6 if test "${ac_cv_c_stringize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17347 "configure" +#line 17292 "configure" #include "confdefs.h" #define x(y) #y @@ -17359,7 +17304,7 @@ rm -f conftest* fi -echo "$as_me:17362: result: $ac_cv_c_stringize" >&5 +echo "$as_me:17307: result: $ac_cv_c_stringize" >&5 echo "${ECHO_T}$ac_cv_c_stringize" >&6 if test $ac_cv_c_stringize = yes; then @@ -17369,13 +17314,62 @@ fi -echo "$as_me:17372: checking whether exists and works" >&5 +echo "$as_me:17317: checking for working volatile" >&5 +echo $ECHO_N "checking for working volatile... $ECHO_C" >&6 +if test "${ac_cv_c_volatile+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line 17323 "configure" +#include "confdefs.h" + +int +main () +{ + +volatile int x; +int * volatile y; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:17337: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:17340: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:17343: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:17346: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_volatile=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_c_volatile=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:17356: result: $ac_cv_c_volatile" >&5 +echo "${ECHO_T}$ac_cv_c_volatile" >&6 +if test $ac_cv_c_volatile = no; then + +cat >>confdefs.h <<\EOF +#define volatile +EOF + +fi + +echo "$as_me:17366: checking whether exists and works" >&5 echo $ECHO_N "checking whether exists and works... $ECHO_C" >&6 if test "${gmp_cv_c_stdarg+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17378 "configure" +#line 17372 "configure" #include "confdefs.h" #include int foo (int x, ...) @@ -17396,16 +17390,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17399: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17393: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17402: \$? = $ac_status" >&5 + echo "$as_me:17396: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17405: \"$ac_try\"") >&5 + { (eval echo "$as_me:17399: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17408: \$? = $ac_status" >&5 + echo "$as_me:17402: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_cv_c_stdarg=yes else @@ -17416,7 +17410,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17419: result: $gmp_cv_c_stdarg" >&5 +echo "$as_me:17413: result: $gmp_cv_c_stdarg" >&5 echo "${ECHO_T}$gmp_cv_c_stdarg" >&6 if test $gmp_cv_c_stdarg = yes; then @@ -17426,13 +17420,13 @@ fi -echo "$as_me:17429: checking whether gcc __attribute__ ((const)) works" >&5 +echo "$as_me:17423: checking whether gcc __attribute__ ((const)) works" >&5 echo $ECHO_N "checking whether gcc __attribute__ ((const)) works... $ECHO_C" >&6 if test "${gmp_cv_c_attribute_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17435 "configure" +#line 17429 "configure" #include "confdefs.h" int foo (int x) __attribute__ ((const)); int @@ -17444,16 +17438,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17447: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17441: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17450: \$? = $ac_status" >&5 + echo "$as_me:17444: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17453: \"$ac_try\"") >&5 + { (eval echo "$as_me:17447: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17456: \$? = $ac_status" >&5 + echo "$as_me:17450: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_cv_c_attribute_const=yes else @@ -17464,7 +17458,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17467: result: $gmp_cv_c_attribute_const" >&5 +echo "$as_me:17461: result: $gmp_cv_c_attribute_const" >&5 echo "${ECHO_T}$gmp_cv_c_attribute_const" >&6 if test $gmp_cv_c_attribute_const = yes; then @@ -17474,7 +17468,7 @@ fi -echo "$as_me:17477: checking whether gcc __attribute__ ((malloc)) works" >&5 +echo "$as_me:17471: checking whether gcc __attribute__ ((malloc)) works" >&5 echo $ECHO_N "checking whether gcc __attribute__ ((malloc)) works... $ECHO_C" >&6 if test "${gmp_cv_c_attribute_malloc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -17483,10 +17477,10 @@ void *foo (int x) __attribute__ ((malloc)); EOF gmp_compile="$CC $CFLAGS $CPPFLAGS -c conftest.c >conftest.out 2>&1" -if { (eval echo "$as_me:17486: \"$gmp_compile\"") >&5 +if { (eval echo "$as_me:17480: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:17489: \$? = $ac_status" >&5 + echo "$as_me:17483: \$? = $ac_status" >&5 (exit $ac_status); }; then if grep "attribute directive ignored" conftest.out >/dev/null; then gmp_cv_c_attribute_malloc=no @@ -17500,7 +17494,7 @@ rm -f conftest* fi -echo "$as_me:17503: result: $gmp_cv_c_attribute_malloc" >&5 +echo "$as_me:17497: result: $gmp_cv_c_attribute_malloc" >&5 echo "${ECHO_T}$gmp_cv_c_attribute_malloc" >&6 if test $gmp_cv_c_attribute_malloc = yes; then @@ -17510,13 +17504,13 @@ fi -echo "$as_me:17513: checking whether gcc __attribute__ ((mode (XX))) works" >&5 +echo "$as_me:17507: checking whether gcc __attribute__ ((mode (XX))) works" >&5 echo $ECHO_N "checking whether gcc __attribute__ ((mode (XX))) works... $ECHO_C" >&6 if test "${gmp_cv_c_attribute_mode+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17519 "configure" +#line 17513 "configure" #include "confdefs.h" typedef int SItype __attribute__ ((mode (SI))); int @@ -17528,16 +17522,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17531: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17525: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17534: \$? = $ac_status" >&5 + echo "$as_me:17528: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17537: \"$ac_try\"") >&5 + { (eval echo "$as_me:17531: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17540: \$? = $ac_status" >&5 + echo "$as_me:17534: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_cv_c_attribute_mode=yes else @@ -17548,7 +17542,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17551: result: $gmp_cv_c_attribute_mode" >&5 +echo "$as_me:17545: result: $gmp_cv_c_attribute_mode" >&5 echo "${ECHO_T}$gmp_cv_c_attribute_mode" >&6 if test $gmp_cv_c_attribute_mode = yes; then @@ -17558,13 +17552,13 @@ fi -echo "$as_me:17561: checking whether gcc __attribute__ ((noreturn)) works" >&5 +echo "$as_me:17555: checking whether gcc __attribute__ ((noreturn)) works" >&5 echo $ECHO_N "checking whether gcc __attribute__ ((noreturn)) works... $ECHO_C" >&6 if test "${gmp_cv_c_attribute_noreturn+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17567 "configure" +#line 17561 "configure" #include "confdefs.h" void foo (int x) __attribute__ ((noreturn)); int @@ -17576,16 +17570,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17579: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17573: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17582: \$? = $ac_status" >&5 + echo "$as_me:17576: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17585: \"$ac_try\"") >&5 + { (eval echo "$as_me:17579: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17588: \$? = $ac_status" >&5 + echo "$as_me:17582: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_cv_c_attribute_noreturn=yes else @@ -17596,7 +17590,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:17599: result: $gmp_cv_c_attribute_noreturn" >&5 +echo "$as_me:17593: result: $gmp_cv_c_attribute_noreturn" >&5 echo "${ECHO_T}$gmp_cv_c_attribute_noreturn" >&6 if test $gmp_cv_c_attribute_noreturn = yes; then @@ -17606,66 +17600,7 @@ fi -echo "$as_me:17609: checking for restrict" >&5 -echo $ECHO_N "checking for restrict... $ECHO_C" >&6 -if test "${gmp_cv_c_restrict+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - gmp_cv_c_restrict=no -for r in restrict __restrict__ __restrict; do - cat >conftest.$ac_ext <<_ACEOF -#line 17617 "configure" -#include "confdefs.h" - -int -main () -{ -char * $r foo; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:17629: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:17632: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17635: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17638: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gmp_cv_c_restrict=$r - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -if test $gmp_cv_c_restrict = restrict; then - gmp_cv_c_restrict=yes -fi - -fi -echo "$as_me:17653: result: $gmp_cv_c_restrict" >&5 -echo "${ECHO_T}$gmp_cv_c_restrict" >&6 -case $gmp_cv_c_restrict in - restrict | yes) ;; - no) -cat >>confdefs.h <<\EOF -#define restrict -EOF - ;; - *) cat >>confdefs.h <&5 +echo "$as_me:17603: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${gmp_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -17673,7 +17608,7 @@ gmp_cv_c_inline=no for i in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF -#line 17676 "configure" +#line 17611 "configure" #include "confdefs.h" #ifndef __cplusplus typedef int foo_t; @@ -17689,16 +17624,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17692: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17627: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17695: \$? = $ac_status" >&5 + echo "$as_me:17630: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17698: \"$ac_try\"") >&5 + { (eval echo "$as_me:17633: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17701: \$? = $ac_status" >&5 + echo "$as_me:17636: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_cv_c_inline=$i break @@ -17713,7 +17648,7 @@ fi fi -echo "$as_me:17716: result: $gmp_cv_c_inline" >&5 +echo "$as_me:17651: result: $gmp_cv_c_inline" >&5 echo "${ECHO_T}$gmp_cv_c_inline" >&6 case $gmp_cv_c_inline in inline | yes) ;; @@ -17732,8 +17667,9 @@ no) ;; *) cat >conftest.$ac_ext <<_ACEOF -#line 17735 "configure" +#line 17670 "configure" #include "confdefs.h" +#define __GMP_WITHIN_CONFIGURE_INLINE 1 #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 */ @@ -17754,16 +17690,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:17757: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:17693: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:17760: \$? = $ac_status" >&5 + echo "$as_me:17696: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17763: \"$ac_try\"") >&5 + { (eval echo "$as_me:17699: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17766: \$? = $ac_status" >&5 + echo "$as_me:17702: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -17773,7 +17709,7 @@ yes) tmp_inline=inline ;; *) tmp_inline=$gmp_cv_c_inline ;; esac - { echo "$as_me:17776: WARNING: gmp.h doesnt recognise compiler \"$tmp_inline\", inlines will be unavailable" >&5 + { echo "$as_me:17712: WARNING: gmp.h doesnt recognise compiler \"$tmp_inline\", inlines will be unavailable" >&5 echo "$as_me: WARNING: gmp.h doesnt recognise compiler \"$tmp_inline\", inlines will be unavailable" >&2;} fi rm -f conftest.$ac_objext conftest.$ac_ext @@ -17787,7 +17723,7 @@ # These system don't have libm ;; *-ncr-sysv4.3*) - echo "$as_me:17790: checking for _mwvalidcheckl in -lmw" >&5 + echo "$as_me:17726: checking for _mwvalidcheckl in -lmw" >&5 echo $ECHO_N "checking for _mwvalidcheckl in -lmw... $ECHO_C" >&6 if test "${ac_cv_lib_mw__mwvalidcheckl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -17795,7 +17731,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lmw $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 17798 "configure" +#line 17734 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -17814,16 +17750,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17817: \"$ac_link\"") >&5 +if { (eval echo "$as_me:17753: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:17820: \$? = $ac_status" >&5 + echo "$as_me:17756: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17823: \"$ac_try\"") >&5 + { (eval echo "$as_me:17759: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17826: \$? = $ac_status" >&5 + echo "$as_me:17762: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_mw__mwvalidcheckl=yes else @@ -17834,13 +17770,13 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:17837: result: $ac_cv_lib_mw__mwvalidcheckl" >&5 +echo "$as_me:17773: result: $ac_cv_lib_mw__mwvalidcheckl" >&5 echo "${ECHO_T}$ac_cv_lib_mw__mwvalidcheckl" >&6 if test $ac_cv_lib_mw__mwvalidcheckl = yes; then LIBM="-lmw" fi - echo "$as_me:17843: checking for main in -lm" >&5 + echo "$as_me:17779: checking for main in -lm" >&5 echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6 if test "${ac_cv_lib_m_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -17848,7 +17784,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 17851 "configure" +#line 17787 "configure" #include "confdefs.h" int @@ -17860,16 +17796,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17863: \"$ac_link\"") >&5 +if { (eval echo "$as_me:17799: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:17866: \$? = $ac_status" >&5 + echo "$as_me:17802: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17869: \"$ac_try\"") >&5 + { (eval echo "$as_me:17805: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17872: \$? = $ac_status" >&5 + echo "$as_me:17808: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_m_main=yes else @@ -17880,7 +17816,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:17883: result: $ac_cv_lib_m_main" >&5 +echo "$as_me:17819: result: $ac_cv_lib_m_main" >&5 echo "${ECHO_T}$ac_cv_lib_m_main" >&6 if test $ac_cv_lib_m_main = yes; then LIBM="$LIBM -lm" @@ -17888,7 +17824,7 @@ ;; *) - echo "$as_me:17891: checking for main in -lm" >&5 + echo "$as_me:17827: checking for main in -lm" >&5 echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6 if test "${ac_cv_lib_m_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -17896,7 +17832,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 17899 "configure" +#line 17835 "configure" #include "confdefs.h" int @@ -17908,16 +17844,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17911: \"$ac_link\"") >&5 +if { (eval echo "$as_me:17847: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:17914: \$? = $ac_status" >&5 + echo "$as_me:17850: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17917: \"$ac_try\"") >&5 + { (eval echo "$as_me:17853: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17920: \$? = $ac_status" >&5 + echo "$as_me:17856: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_m_main=yes else @@ -17928,7 +17864,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:17931: result: $ac_cv_lib_m_main" >&5 +echo "$as_me:17867: result: $ac_cv_lib_m_main" >&5 echo "${ECHO_T}$ac_cv_lib_m_main" >&6 if test $ac_cv_lib_m_main = yes; then LIBM="-lm" @@ -17939,13 +17875,13 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! -echo "$as_me:17942: checking for working alloca.h" >&5 +echo "$as_me:17878: checking for working alloca.h" >&5 echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 if test "${gmp_cv_header_alloca+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17948 "configure" +#line 17884 "configure" #include "confdefs.h" #include int @@ -17957,16 +17893,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17960: \"$ac_link\"") >&5 +if { (eval echo "$as_me:17896: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:17963: \$? = $ac_status" >&5 + echo "$as_me:17899: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17966: \"$ac_try\"") >&5 + { (eval echo "$as_me:17902: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:17969: \$? = $ac_status" >&5 + echo "$as_me:17905: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_cv_header_alloca=yes else @@ -17976,7 +17912,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:17979: result: $gmp_cv_header_alloca" >&5 +echo "$as_me:17915: result: $gmp_cv_header_alloca" >&5 echo "${ECHO_T}$gmp_cv_header_alloca" >&6 if test $gmp_cv_header_alloca = yes; then @@ -17986,13 +17922,13 @@ fi -echo "$as_me:17989: checking for alloca (via gmp-impl.h)" >&5 +echo "$as_me:17925: checking for alloca (via gmp-impl.h)" >&5 echo $ECHO_N "checking for alloca (via gmp-impl.h)... $ECHO_C" >&6 if test "${gmp_cv_func_alloca+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 17995 "configure" +#line 17931 "configure" #include "confdefs.h" #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ #define GMP_NAIL_BITS $GMP_NAIL_BITS @@ -18012,16 +17948,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:18015: \"$ac_link\"") >&5 +if { (eval echo "$as_me:17951: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:18018: \$? = $ac_status" >&5 + echo "$as_me:17954: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:18021: \"$ac_try\"") >&5 + { (eval echo "$as_me:17957: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18024: \$? = $ac_status" >&5 + echo "$as_me:17960: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gmp_cv_func_alloca=yes else @@ -18031,7 +17967,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:18034: result: $gmp_cv_func_alloca" >&5 +echo "$as_me:17970: result: $gmp_cv_func_alloca" >&5 echo "${ECHO_T}$gmp_cv_func_alloca" >&6 if test $gmp_cv_func_alloca = yes; then @@ -18041,7 +17977,7 @@ fi -echo "$as_me:18044: checking how to allocate temporary memory" >&5 +echo "$as_me:17980: checking how to allocate temporary memory" >&5 echo $ECHO_N "checking how to allocate temporary memory... $ECHO_C" >&6 if test "${gmp_cv_option_alloca+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -18065,12 +18001,12 @@ esac fi -echo "$as_me:18068: result: $gmp_cv_option_alloca" >&5 +echo "$as_me:18004: result: $gmp_cv_option_alloca" >&5 echo "${ECHO_T}$gmp_cv_option_alloca" >&6 case $gmp_cv_option_alloca in alloca) if test $gmp_cv_func_alloca = no; then - { { echo "$as_me:18073: error: --enable-alloca=alloca specified, but alloca not available" >&5 + { { echo "$as_me:18009: error: --enable-alloca=alloca specified, but alloca not available" >&5 echo "$as_me: error: --enable-alloca=alloca specified, but alloca not available" >&2;} { (exit 1); exit 1; }; } fi @@ -18106,14 +18042,14 @@ ;; *) # checks at the start of configure.in should protect us - { { echo "$as_me:18109: error: unrecognised --enable-alloca=$gmp_cv_option_alloca" >&5 + { { echo "$as_me:18045: error: unrecognised --enable-alloca=$gmp_cv_option_alloca" >&5 echo "$as_me: error: unrecognised --enable-alloca=$gmp_cv_option_alloca" >&2;} { (exit 1); exit 1; }; } ;; esac cat >conftest.$ac_ext <<_ACEOF -#line 18116 "configure" +#line 18052 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -18136,22 +18072,22 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:18139: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:18075: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:18142: \$? = $ac_status" >&5 + echo "$as_me:18078: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:18145: \"$ac_try\"") >&5 + { (eval echo "$as_me:18081: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18148: \$? = $ac_status" >&5 + echo "$as_me:18084: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ echo "$as_me:18154: WARNING: gmp.h doesnt recognise , FILE prototypes will be unavailable" >&5 +{ echo "$as_me:18090: WARNING: gmp.h doesnt recognise , FILE prototypes will be unavailable" >&5 echo "$as_me: WARNING: gmp.h doesnt recognise , FILE prototypes will be unavailable" >&2;} fi rm -f conftest.$ac_objext conftest.$ac_ext @@ -18170,7 +18106,7 @@ ;; *) cat >conftest.$ac_ext <<_ACEOF -#line 18173 "configure" +#line 18109 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -18194,27 +18130,27 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:18197: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:18133: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:18200: \$? = $ac_status" >&5 + echo "$as_me:18136: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:18203: \"$ac_try\"") >&5 + { (eval echo "$as_me:18139: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18206: \$? = $ac_status" >&5 + echo "$as_me:18142: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 - { echo "$as_me:18213: WARNING: gmp-impl.h doesnt recognise \"double\" as IEEE." >&5 + { echo "$as_me:18149: WARNING: gmp-impl.h doesnt recognise \"double\" as IEEE." >&5 echo "$as_me: WARNING: gmp-impl.h doesnt recognise \"double\" as IEEE." >&2;} - { echo "$as_me:18215: WARNING: If your CPU floats are in fact IEEE then you" >&5 + { echo "$as_me:18151: WARNING: If your CPU floats are in fact IEEE then you" >&5 echo "$as_me: WARNING: If your CPU floats are in fact IEEE then you" >&2;} - { echo "$as_me:18217: WARNING: might like to augment the tests there." >&5 + { echo "$as_me:18153: WARNING: might like to augment the tests there." >&5 echo "$as_me: WARNING: might like to augment the tests there." >&2;} fi @@ -18229,7 +18165,7 @@ if test "$cross_compiling" = yes; then ac_cv_c_bigendian=unknown fi -echo "$as_me:18232: checking whether byte ordering is bigendian" >&5 +echo "$as_me:18168: checking whether byte ordering is bigendian" >&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 if test "${ac_cv_c_bigendian+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -18237,7 +18173,7 @@ ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF -#line 18240 "configure" +#line 18176 "configure" #include "confdefs.h" #include #include @@ -18254,20 +18190,20 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:18257: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:18193: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:18260: \$? = $ac_status" >&5 + echo "$as_me:18196: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:18263: \"$ac_try\"") >&5 + { (eval echo "$as_me:18199: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18266: \$? = $ac_status" >&5 + echo "$as_me:18202: \$? = $ac_status" >&5 (exit $ac_status); }; }; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF -#line 18270 "configure" +#line 18206 "configure" #include "confdefs.h" #include #include @@ -18284,16 +18220,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:18287: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:18223: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:18290: \$? = $ac_status" >&5 + echo "$as_me:18226: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:18293: \"$ac_try\"") >&5 + { (eval echo "$as_me:18229: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18296: \$? = $ac_status" >&5 + echo "$as_me:18232: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=yes else @@ -18309,12 +18245,12 @@ rm -f conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then if test "$cross_compiling" = yes; then - { { echo "$as_me:18312: error: cannot run test program while cross compiling" >&5 + { { echo "$as_me:18248: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line 18317 "configure" +#line 18253 "configure" #include "confdefs.h" int main () @@ -18330,15 +18266,15 @@ } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:18333: \"$ac_link\"") >&5 +if { (eval echo "$as_me:18269: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:18336: \$? = $ac_status" >&5 + echo "$as_me:18272: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:18338: \"$ac_try\"") >&5 + { (eval echo "$as_me:18274: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18341: \$? = $ac_status" >&5 + echo "$as_me:18277: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no else @@ -18351,7 +18287,7 @@ fi fi fi -echo "$as_me:18354: result: $ac_cv_c_bigendian" >&5 +echo "$as_me:18290: result: $ac_cv_c_bigendian" >&5 echo "${ECHO_T}$ac_cv_c_bigendian" >&6 if test $ac_cv_c_bigendian = yes; then @@ -18373,12 +18309,12 @@ EOF ;; unknown) ;; - *) { { echo "$as_me:18376: error: Oops, unrecognised ac_cv_c_bigendian" >&5 + *) { { echo "$as_me:18312: error: Oops, unrecognised ac_cv_c_bigendian" >&5 echo "$as_me: error: Oops, unrecognised ac_cv_c_bigendian" >&2;} { (exit 1); exit 1; }; } ;; esac -echo "$as_me:18381: checking format of \`double' floating point" >&5 +echo "$as_me:18317: checking format of \`double' floating point" >&5 echo $ECHO_N "checking format of \`double' floating point... $ECHO_C" >&6 if test "${gmp_cv_c_double_format+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -18396,10 +18332,10 @@ }; EOF gmp_compile="$CC $CFLAGS $CPPFLAGS -c conftest.c >&5 2>&1" -if { (eval echo "$as_me:18399: \"$gmp_compile\"") >&5 +if { (eval echo "$as_me:18335: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:18402: \$? = $ac_status" >&5 + echo "$as_me:18338: \$? = $ac_status" >&5 (exit $ac_status); }; then cat >conftest.awk <<\EOF @@ -18535,12 +18471,12 @@ ;; esac else - { echo "$as_me:18538: WARNING: oops, cannot compile test program" >&5 + { echo "$as_me:18474: WARNING: oops, cannot compile test program" >&5 echo "$as_me: WARNING: oops, cannot compile test program" >&2;} fi fi -echo "$as_me:18543: result: $gmp_cv_c_double_format" >&5 +echo "$as_me:18479: result: $gmp_cv_c_double_format" >&5 echo "${ECHO_T}$gmp_cv_c_double_format" >&6 case $gmp_cv_c_double_format in @@ -18577,7 +18513,7 @@ unknown*) ;; *) - { echo "$as_me:18580: WARNING: oops, unrecognised float format: $gmp_cv_c_double_format" >&5 + { echo "$as_me:18516: WARNING: oops, unrecognised float format: $gmp_cv_c_double_format" >&5 echo "$as_me: WARNING: oops, unrecognised float format: $gmp_cv_c_double_format" >&2;} ;; esac @@ -18618,13 +18554,13 @@ for ac_func in alarm clock clock_gettime cputime getpagesize getrusage gettimeofday localeconv memset mmap mprotect obstack_vprintf popen processor_info read_real_time sigaction sigaltstack sigstack syssgi strchr strnlen strtoul sysconf sysctl sysctlbyname times do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:18621: checking for $ac_func" >&5 +echo "$as_me:18557: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 18627 "configure" +#line 18563 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -18655,16 +18591,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:18658: \"$ac_link\"") >&5 +if { (eval echo "$as_me:18594: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:18661: \$? = $ac_status" >&5 + echo "$as_me:18597: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:18664: \"$ac_try\"") >&5 + { (eval echo "$as_me:18600: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18667: \$? = $ac_status" >&5 + echo "$as_me:18603: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -18674,7 +18610,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:18677: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:18613: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:18626: checking for vsnprintf" >&5 echo $ECHO_N "checking for vsnprintf... $ECHO_C" >&6 if test "${ac_cv_func_vsnprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 18696 "configure" +#line 18632 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vsnprintf (); below. */ @@ -18724,16 +18660,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:18727: \"$ac_link\"") >&5 +if { (eval echo "$as_me:18663: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:18730: \$? = $ac_status" >&5 + echo "$as_me:18666: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:18733: \"$ac_try\"") >&5 + { (eval echo "$as_me:18669: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18736: \$? = $ac_status" >&5 + echo "$as_me:18672: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_vsnprintf=yes else @@ -18743,7 +18679,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:18746: result: $ac_cv_func_vsnprintf" >&5 +echo "$as_me:18682: result: $ac_cv_func_vsnprintf" >&5 echo "${ECHO_T}$ac_cv_func_vsnprintf" >&6 if test $ac_cv_func_vsnprintf = yes; then gmp_vsnprintf_exists=yes @@ -18754,7 +18690,7 @@ if test "$gmp_vsnprintf_exists" = no; then gmp_cv_func_vsnprintf=no else - echo "$as_me:18757: checking whether vsnprintf works" >&5 + echo "$as_me:18693: checking whether vsnprintf works" >&5 echo $ECHO_N "checking whether vsnprintf works... $ECHO_C" >&6 if test "${gmp_cv_func_vsnprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -18765,7 +18701,7 @@ gmp_cv_func_vsnprintf=probably; break else cat >conftest.$ac_ext <<_ACEOF -#line 18768 "configure" +#line 18704 "configure" #include "confdefs.h" #include /* for strcmp */ @@ -18818,15 +18754,15 @@ _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:18821: \"$ac_link\"") >&5 +if { (eval echo "$as_me:18757: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:18824: \$? = $ac_status" >&5 + echo "$as_me:18760: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:18826: \"$ac_try\"") >&5 + { (eval echo "$as_me:18762: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:18829: \$? = $ac_status" >&5 + echo "$as_me:18765: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -18840,10 +18776,10 @@ done fi -echo "$as_me:18843: result: $gmp_cv_func_vsnprintf" >&5 +echo "$as_me:18779: result: $gmp_cv_func_vsnprintf" >&5 echo "${ECHO_T}$gmp_cv_func_vsnprintf" >&6 if test "$gmp_cv_func_vsnprintf" = probably; then - { echo "$as_me:18846: WARNING: cannot check for properly working vsnprintf when cross compiling, will assume it's ok" >&5 + { echo "$as_me:18782: WARNING: cannot check for properly working vsnprintf when cross compiling, will assume it's ok" >&5 echo "$as_me: WARNING: cannot check for properly working vsnprintf when cross compiling, will assume it's ok" >&2;} fi if test "$gmp_cv_func_vsnprintf" != no; then @@ -18862,7 +18798,7 @@ fi -echo "$as_me:18865: checking whether sscanf needs writable input" >&5 +echo "$as_me:18801: checking whether sscanf needs writable input" >&5 echo $ECHO_N "checking whether sscanf needs writable input... $ECHO_C" >&6 if test "${gmp_cv_func_sscanf_writable_input+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -18874,7 +18810,7 @@ esac fi -echo "$as_me:18877: result: $gmp_cv_func_sscanf_writable_input" >&5 +echo "$as_me:18813: result: $gmp_cv_func_sscanf_writable_input" >&5 echo "${ECHO_T}$gmp_cv_func_sscanf_writable_input" >&6 case $gmp_cv_func_sscanf_writable_input in yes) @@ -18883,7 +18819,7 @@ EOF ;; no) ;; - *) { { echo "$as_me:18886: error: unrecognised \$gmp_cv_func_sscanf_writable_input" >&5 + *) { { echo "$as_me:18822: error: unrecognised \$gmp_cv_func_sscanf_writable_input" >&5 echo "$as_me: error: unrecognised \$gmp_cv_func_sscanf_writable_input" >&2;} { (exit 1); exit 1; }; } ;; esac @@ -19066,7 +19002,7 @@ fi done if test $found = no; then - { { echo "$as_me:19069: error: no version of $tmp_fn found in path: $path" >&5 + { { echo "$as_me:19005: error: no version of $tmp_fn found in path: $path" >&5 echo "$as_me: error: no version of $tmp_fn found in path: $path" >&2;} { (exit 1); exit 1; }; } fi @@ -19081,7 +19017,7 @@ # Don't demand an m4 unless it's actually needed. if test $found_asm = yes; then -echo "$as_me:19084: checking for suitable m4" >&5 +echo "$as_me:19020: checking for suitable m4" >&5 echo $ECHO_N "checking for suitable m4... $ECHO_C" >&6 if test "${gmp_cv_prog_m4+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19117,7 +19053,7 @@ done IFS="$ac_save_ifs" if test -z "$gmp_cv_prog_m4"; then - { { echo "$as_me:19120: error: No usable m4 in \$PATH or /usr/5bin (see config.log for reasons)." >&5 + { { echo "$as_me:19056: error: No usable m4 in \$PATH or /usr/5bin (see config.log for reasons)." >&5 echo "$as_me: error: No usable m4 in \$PATH or /usr/5bin (see config.log for reasons)." >&2;} { (exit 1); exit 1; }; } fi @@ -19125,11 +19061,11 @@ rm -f conftest.m4 fi fi -echo "$as_me:19128: result: $gmp_cv_prog_m4" >&5 +echo "$as_me:19064: result: $gmp_cv_prog_m4" >&5 echo "${ECHO_T}$gmp_cv_prog_m4" >&6 M4="$gmp_cv_prog_m4" -echo "$as_me:19132: checking if m4wrap produces spurious output" >&5 +echo "$as_me:19068: checking if m4wrap produces spurious output" >&5 echo $ECHO_N "checking if m4wrap produces spurious output... $ECHO_C" >&6 if test "${gmp_cv_m4_m4wrap_spurious+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19151,7 +19087,7 @@ fi fi -echo "$as_me:19154: result: $gmp_cv_m4_m4wrap_spurious" >&5 +echo "$as_me:19090: result: $gmp_cv_m4_m4wrap_spurious" >&5 echo "${ECHO_T}$gmp_cv_m4_m4wrap_spurious" >&6 echo "define(,<$gmp_cv_m4_m4wrap_spurious>)" >> $gmp_tmpconfigm4 @@ -19166,7 +19102,7 @@ fi if test "$gmp_asm_syntax_testing" != no; then - echo "$as_me:19169: checking how to switch to text section" >&5 + echo "$as_me:19105: checking how to switch to text section" >&5 echo $ECHO_N "checking how to switch to text section... $ECHO_C" >&6 if test "${gmp_cv_asm_text+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19178,11 +19114,11 @@ esac fi -echo "$as_me:19181: result: $gmp_cv_asm_text" >&5 +echo "$as_me:19117: result: $gmp_cv_asm_text" >&5 echo "${ECHO_T}$gmp_cv_asm_text" >&6 echo "define(, <$gmp_cv_asm_text>)" >> $gmp_tmpconfigm4 - echo "$as_me:19185: checking how to switch to data section" >&5 + echo "$as_me:19121: checking how to switch to data section" >&5 echo $ECHO_N "checking how to switch to data section... $ECHO_C" >&6 if test "${gmp_cv_asm_data+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19193,11 +19129,11 @@ esac fi -echo "$as_me:19196: result: $gmp_cv_asm_data" >&5 +echo "$as_me:19132: result: $gmp_cv_asm_data" >&5 echo "${ECHO_T}$gmp_cv_asm_data" >&6 echo "define(, <$gmp_cv_asm_data>)" >> $gmp_tmpconfigm4 - echo "$as_me:19200: checking what assembly label suffix to use" >&5 + echo "$as_me:19136: checking what assembly label suffix to use" >&5 echo $ECHO_N "checking what assembly label suffix to use... $ECHO_C" >&6 if test "${gmp_cv_asm_label_suffix+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19209,11 +19145,11 @@ esac fi -echo "$as_me:19212: result: $gmp_cv_asm_label_suffix" >&5 +echo "$as_me:19148: result: $gmp_cv_asm_label_suffix" >&5 echo "${ECHO_T}$gmp_cv_asm_label_suffix" >&6 echo "define(, <\$1$gmp_cv_asm_label_suffix>)" >> $gmp_tmpconfigm4 - echo "$as_me:19216: checking how to export a symbol" >&5 + echo "$as_me:19152: checking how to export a symbol" >&5 echo $ECHO_N "checking how to export a symbol... $ECHO_C" >&6 if test "${gmp_cv_asm_globl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19224,11 +19160,11 @@ esac fi -echo "$as_me:19227: result: $gmp_cv_asm_globl" >&5 +echo "$as_me:19163: result: $gmp_cv_asm_globl" >&5 echo "${ECHO_T}$gmp_cv_asm_globl" >&6 echo "define(, <$gmp_cv_asm_globl>)" >> $gmp_tmpconfigm4 -echo "$as_me:19231: checking if globals are prefixed by underscore" >&5 +echo "$as_me:19167: checking if globals are prefixed by underscore" >&5 echo $ECHO_N "checking if globals are prefixed by underscore... $ECHO_C" >&6 if test "${gmp_cv_asm_underscore+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19254,10 +19190,10 @@ ;; esac gmp_compile="$CC $CFLAGS $CPPFLAGS -c conftes1.c >&5 && $CCAS $CFLAGS conftes2.s >&5 && $CC $CFLAGS conftes1.$OBJEXT conftes2.$OBJEXT >&5" - if { (eval echo "$as_me:19257: \"$gmp_compile\"") >&5 + if { (eval echo "$as_me:19193: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:19260: \$? = $ac_status" >&5 + echo "$as_me:19196: \$? = $ac_status" >&5 (exit $ac_status); }; then eval tmp_result$tmp_underscore=yes else @@ -19267,7 +19203,7 @@ if test $tmp_result_ = yes; then if test $tmp_result = yes; then - { { echo "$as_me:19270: error: Test program unexpectedly links both with and without underscore." >&5 + { { echo "$as_me:19206: error: Test program unexpectedly links both with and without underscore." >&5 echo "$as_me: error: Test program unexpectedly links both with and without underscore." >&2;} { (exit 1); exit 1; }; } else @@ -19277,7 +19213,7 @@ if test $tmp_result = yes; then gmp_cv_asm_underscore=no else - { { echo "$as_me:19280: error: Test program links neither with nor without underscore." >&5 + { { echo "$as_me:19216: error: Test program links neither with nor without underscore." >&5 echo "$as_me: error: Test program links neither with nor without underscore." >&2;} { (exit 1); exit 1; }; } fi @@ -19285,7 +19221,7 @@ rm -f conftes1* conftes2* a.out fi -echo "$as_me:19288: result: $gmp_cv_asm_underscore" >&5 +echo "$as_me:19224: result: $gmp_cv_asm_underscore" >&5 echo "${ECHO_T}$gmp_cv_asm_underscore" >&6 if test "$gmp_cv_asm_underscore" = "yes"; then @@ -19297,7 +19233,7 @@ fi -echo "$as_me:19300: checking how to switch to read-only data section" >&5 +echo "$as_me:19236: checking how to switch to read-only data section" >&5 echo $ECHO_N "checking how to switch to read-only data section... $ECHO_C" >&6 if test "${gmp_cv_asm_rodata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19314,10 +19250,10 @@ echo "Test program:" >&5 cat conftest.c >&5 gmp_compile="$CC $CFLAGS $CPPFLAGS -S conftest.c >&5" -if { (eval echo "$as_me:19317: \"$gmp_compile\"") >&5 +if { (eval echo "$as_me:19253: \"$gmp_compile\"") >&5 (eval $gmp_compile) 2>&5 ac_status=$? - echo "$as_me:19320: \$? = $ac_status" >&5 + echo "$as_me:19256: \$? = $ac_status" >&5 (exit $ac_status); }; then echo "Compiler output:" >&5 cat conftest.s >&5 @@ -19347,11 +19283,11 @@ fi fi -echo "$as_me:19350: result: $gmp_cv_asm_rodata" >&5 +echo "$as_me:19286: result: $gmp_cv_asm_rodata" >&5 echo "${ECHO_T}$gmp_cv_asm_rodata" >&6 echo "define(, <$gmp_cv_asm_rodata>)" >> $gmp_tmpconfigm4 - echo "$as_me:19354: checking if the export directive needs an attribute" >&5 + echo "$as_me:19290: checking if the export directive needs an attribute" >&5 echo $ECHO_N "checking if the export directive needs an attribute... $ECHO_C" >&6 if test "${gmp_cv_asm_globl_attr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19362,11 +19298,11 @@ esac fi -echo "$as_me:19365: result: $gmp_cv_asm_globl_attr" >&5 +echo "$as_me:19301: result: $gmp_cv_asm_globl_attr" >&5 echo "${ECHO_T}$gmp_cv_asm_globl_attr" >&6 echo "define(, <$gmp_cv_asm_globl_attr>)" >> $gmp_tmpconfigm4 - echo "$as_me:19369: checking for assembler .type directive" >&5 + echo "$as_me:19305: checking for assembler .type directive" >&5 echo $ECHO_N "checking for assembler .type directive... $ECHO_C" >&6 if test "${gmp_cv_asm_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19377,10 +19313,10 @@ .type sym,${gmp_tmp_prefix}function EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19380: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19316: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19383: \$? = $ac_status" >&5 + echo "$as_me:19319: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 if grep "\.type pseudo-op used outside of \.def/\.endef ignored" conftest.out >/dev/null; then : ; @@ -19400,11 +19336,11 @@ rm -f conftest* fi -echo "$as_me:19403: result: $gmp_cv_asm_type" >&5 +echo "$as_me:19339: result: $gmp_cv_asm_type" >&5 echo "${ECHO_T}$gmp_cv_asm_type" >&6 echo "define(, <$gmp_cv_asm_type>)" >> $gmp_tmpconfigm4 - echo "$as_me:19407: checking for assembler .size directive" >&5 + echo "$as_me:19343: checking for assembler .size directive" >&5 echo $ECHO_N "checking for assembler .size directive... $ECHO_C" >&6 if test "${gmp_cv_asm_size+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19414,10 +19350,10 @@ .size sym,1 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19417: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19353: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19420: \$? = $ac_status" >&5 + echo "$as_me:19356: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 if grep "\.size pseudo-op used outside of \.def/\.endef ignored" conftest.out >/dev/null; then : ; @@ -19433,11 +19369,11 @@ rm -f conftest* fi -echo "$as_me:19436: result: $gmp_cv_asm_size" >&5 +echo "$as_me:19372: result: $gmp_cv_asm_size" >&5 echo "${ECHO_T}$gmp_cv_asm_size" >&6 echo "define(, <$gmp_cv_asm_size>)" >> $gmp_tmpconfigm4 -echo "$as_me:19440: checking what prefix to use for a local label" >&5 +echo "$as_me:19376: checking what prefix to use for a local label" >&5 echo $ECHO_N "checking what prefix to use for a local label... $ECHO_C" >&6 if test "${gmp_cv_asm_lsym_prefix+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19449,15 +19385,15 @@ ${gmp_tmp_pre}gurkmacka${gmp_cv_asm_label_suffix} EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19452: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19388: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19455: \$? = $ac_status" >&5 + echo "$as_me:19391: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 if $NM conftest.$OBJEXT >conftest.nm 2>&5; then : ; else cat conftest.nm >&5 - { echo "$as_me:19460: WARNING: \"$NM\" failure" >&5 + { echo "$as_me:19396: WARNING: \"$NM\" failure" >&5 echo "$as_me: WARNING: \"$NM\" failure" >&2;} break fi @@ -19486,12 +19422,12 @@ rm -f conftest* if test -z "$gmp_cv_asm_lsym_prefix"; then gmp_cv_asm_lsym_prefix=L - { echo "$as_me:19489: WARNING: cannot determine local label, using default $gmp_cv_asm_lsym_prefix" >&5 + { echo "$as_me:19425: WARNING: cannot determine local label, using default $gmp_cv_asm_lsym_prefix" >&5 echo "$as_me: WARNING: cannot determine local label, using default $gmp_cv_asm_lsym_prefix" >&2;} fi fi -echo "$as_me:19494: result: $gmp_cv_asm_lsym_prefix" >&5 +echo "$as_me:19430: result: $gmp_cv_asm_lsym_prefix" >&5 echo "${ECHO_T}$gmp_cv_asm_lsym_prefix" >&6 echo "define(, <${gmp_cv_asm_lsym_prefix}>)" >> $gmp_tmpconfigm4 @@ -19499,7 +19435,7 @@ #define LSYM_PREFIX "$gmp_cv_asm_lsym_prefix" EOF -echo "$as_me:19502: checking how to define a 32-bit word" >&5 +echo "$as_me:19438: checking how to define a 32-bit word" >&5 echo $ECHO_N "checking how to define a 32-bit word... $ECHO_C" >&6 if test "${gmp_cv_asm_w32+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19524,10 +19460,10 @@ .byte 0 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19527: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19463: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19530: \$? = $ac_status" >&5 + echo "$as_me:19466: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_tmp_val=`$NM conftest.$OBJEXT | grep foo | \ @@ -19549,17 +19485,17 @@ ;; esac if test -z "$gmp_cv_asm_w32"; then - { { echo "$as_me:19552: error: cannot determine how to define a 32-bit word" >&5 + { { echo "$as_me:19488: error: cannot determine how to define a 32-bit word" >&5 echo "$as_me: error: cannot determine how to define a 32-bit word" >&2;} { (exit 1); exit 1; }; } fi fi -echo "$as_me:19558: result: $gmp_cv_asm_w32" >&5 +echo "$as_me:19494: result: $gmp_cv_asm_w32" >&5 echo "${ECHO_T}$gmp_cv_asm_w32" >&6 echo "define(, <$gmp_cv_asm_w32>)" >> $gmp_tmpconfigm4 -echo "$as_me:19562: checking if .align assembly directive is logarithmic" >&5 +echo "$as_me:19498: checking if .align assembly directive is logarithmic" >&5 echo $ECHO_N "checking if .align assembly directive is logarithmic... $ECHO_C" >&6 if test "${gmp_cv_asm_align_log+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19574,10 +19510,10 @@ .byte 2 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19577: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19513: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19580: \$? = $ac_status" >&5 + echo "$as_me:19516: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_tmp_val=`$NM conftest.$OBJEXT | grep foo | \ @@ -19591,14 +19527,14 @@ cat conftest.out >&5 echo "configure: failed program was:" >&5 cat conftest.s >&5 - { { echo "$as_me:19594: error: cannot assemble alignment test" >&5 + { { echo "$as_me:19530: error: cannot assemble alignment test" >&5 echo "$as_me: error: cannot assemble alignment test" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest* fi -echo "$as_me:19601: result: $gmp_cv_asm_align_log" >&5 +echo "$as_me:19537: result: $gmp_cv_asm_align_log" >&5 echo "${ECHO_T}$gmp_cv_asm_align_log" >&6 echo "define(,<$gmp_cv_asm_align_log>)" >> $gmp_tmpconfigm4 @@ -19606,7 +19542,7 @@ case $host in m68*-*-*) -echo "$as_me:19609: checking assembler instruction and register style" >&5 +echo "$as_me:19545: checking assembler instruction and register style" >&5 echo $ECHO_N "checking assembler instruction and register style... $ECHO_C" >&6 if test "${gmp_cv_asm_m68k_instruction+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19618,10 +19554,10 @@ $i EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19621: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19557: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19624: \$? = $ac_status" >&5 + echo "$as_me:19560: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_m68k_instruction=$i @@ -19638,14 +19574,14 @@ done fi -echo "$as_me:19641: result: $gmp_cv_asm_m68k_instruction" >&5 +echo "$as_me:19577: result: $gmp_cv_asm_m68k_instruction" >&5 echo "${ECHO_T}$gmp_cv_asm_m68k_instruction" >&6 case $gmp_cv_asm_m68k_instruction in "addl d0,d1") want_dot_size=no; want_register_percent=no ;; "addl %d0,%d1") want_dot_size=no; want_register_percent=yes ;; "add.l d0,d1") want_dot_size=yes; want_register_percent=no ;; "add.l %d0,%d1") want_dot_size=yes; want_register_percent=yes ;; -*) { { echo "$as_me:19648: error: cannot determine assembler instruction and register style" >&5 +*) { { echo "$as_me:19584: error: cannot determine assembler instruction and register style" >&5 echo "$as_me: error: cannot determine assembler instruction and register style" >&2;} { (exit 1); exit 1; }; } ;; esac @@ -19654,7 +19590,7 @@ echo "define(, <\`$want_dot_size'>)" >> $gmp_tmpconfigm4 -echo "$as_me:19657: checking assembler addressing style" >&5 +echo "$as_me:19593: checking assembler addressing style" >&5 echo $ECHO_N "checking assembler addressing style... $ECHO_C" >&6 if test "${gmp_cv_asm_m68k_addressing+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19662,14 +19598,14 @@ case $gmp_cv_asm_m68k_instruction in addl*) movel=movel ;; add.l*) movel=move.l ;; -*) { { echo "$as_me:19665: error: oops, unrecognised gmp_cv_asm_m68k_instruction" >&5 +*) { { echo "$as_me:19601: error: oops, unrecognised gmp_cv_asm_m68k_instruction" >&5 echo "$as_me: error: oops, unrecognised gmp_cv_asm_m68k_instruction" >&2;} { (exit 1); exit 1; }; } ;; esac case $gmp_cv_asm_m68k_instruction in *"%d0,%d1") dreg=%d0; areg=%a0 ;; *"d0,d1") dreg=d0; areg=a0 ;; -*) { { echo "$as_me:19672: error: oops, unrecognised gmp_cv_asm_m68k_instruction" >&5 +*) { { echo "$as_me:19608: error: oops, unrecognised gmp_cv_asm_m68k_instruction" >&5 echo "$as_me: error: oops, unrecognised gmp_cv_asm_m68k_instruction" >&2;} { (exit 1); exit 1; }; } ;; esac @@ -19678,10 +19614,10 @@ $movel $dreg, $areg@- EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19681: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19617: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19684: \$? = $ac_status" >&5 + echo "$as_me:19620: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_m68k_addressing=mit @@ -19694,10 +19630,10 @@ $movel $dreg, -($areg) EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19697: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19633: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19700: \$? = $ac_status" >&5 + echo "$as_me:19636: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_m68k_addressing=motorola @@ -19705,7 +19641,7 @@ cat conftest.out >&5 echo "configure: failed program was:" >&5 cat conftest.s >&5 - { { echo "$as_me:19708: error: cannot determine assembler addressing style" >&5 + { { echo "$as_me:19644: error: cannot determine assembler addressing style" >&5 echo "$as_me: error: cannot determine assembler addressing style" >&2;} { (exit 1); exit 1; }; } fi @@ -19715,12 +19651,12 @@ rm -f conftest* fi -echo "$as_me:19718: result: $gmp_cv_asm_m68k_addressing" >&5 +echo "$as_me:19654: result: $gmp_cv_asm_m68k_addressing" >&5 echo "${ECHO_T}$gmp_cv_asm_m68k_addressing" >&6 echo "define(, <\`$gmp_cv_asm_m68k_addressing'>)" >> $gmp_tmpconfigm4 -echo "$as_me:19723: checking assembler shortest branches" >&5 +echo "$as_me:19659: checking assembler shortest branches" >&5 echo $ECHO_N "checking assembler shortest branches... $ECHO_C" >&6 if test "${gmp_cv_asm_m68k_branches+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19733,10 +19669,10 @@ $i foo EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19736: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19672: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19739: \$? = $ac_status" >&5 + echo "$as_me:19675: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_m68k_branches=$i @@ -19753,10 +19689,10 @@ done fi -echo "$as_me:19756: result: $gmp_cv_asm_m68k_branches" >&5 +echo "$as_me:19692: result: $gmp_cv_asm_m68k_branches" >&5 echo "${ECHO_T}$gmp_cv_asm_m68k_branches" >&6 if test "$gmp_cv_asm_m68k_branches" = unknown; then - { { echo "$as_me:19759: error: cannot determine assembler branching style" >&5 + { { echo "$as_me:19695: error: cannot determine assembler branching style" >&5 echo "$as_me: error: cannot determine assembler branching style" >&2;} { (exit 1); exit 1; }; } fi @@ -19766,7 +19702,7 @@ ;; powerpc*-*-*) -echo "$as_me:19769: checking if the assembler needs r on registers" >&5 +echo "$as_me:19705: checking if the assembler needs r on registers" >&5 echo $ECHO_N "checking if the assembler needs r on registers... $ECHO_C" >&6 if test "${gmp_cv_asm_powerpc_r_registers+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19776,10 +19712,10 @@ mtctr 6 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19779: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19715: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19782: \$? = $ac_status" >&5 + echo "$as_me:19718: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_powerpc_r_registers=no @@ -19792,10 +19728,10 @@ mtctr r6 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19795: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19731: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19798: \$? = $ac_status" >&5 + echo "$as_me:19734: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_powerpc_r_registers=yes @@ -19803,7 +19739,7 @@ cat conftest.out >&5 echo "configure: failed program was:" >&5 cat conftest.s >&5 - { { echo "$as_me:19806: error: neither \"mtctr 6\" nor \"mtctr r6\" works" >&5 + { { echo "$as_me:19742: error: neither \"mtctr 6\" nor \"mtctr r6\" works" >&5 echo "$as_me: error: neither \"mtctr 6\" nor \"mtctr r6\" works" >&2;} { (exit 1); exit 1; }; } fi @@ -19813,7 +19749,7 @@ rm -f conftest* fi -echo "$as_me:19816: result: $gmp_cv_asm_powerpc_r_registers" >&5 +echo "$as_me:19752: result: $gmp_cv_asm_powerpc_r_registers" >&5 echo "${ECHO_T}$gmp_cv_asm_powerpc_r_registers" >&6 echo "define(,<$gmp_cv_asm_powerpc_r_registers>)" >> $gmp_tmpconfigm4 @@ -19822,8 +19758,8 @@ case $host in powerpc*-*-aix*) - case $host in - powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-*) + case $ABI in + 64 | aix64) echo "include_mpn(\`powerpc64/aix.m4')" >> $gmp_tmpconfigm4i ;; *) @@ -19838,9 +19774,48 @@ echo "include_mpn(\`powerpc32/aix.m4')" >> $gmp_tmpconfigm4i ;; + sparcv9*-*-* | ultrasparc*-*-* | sparc64-*-*) + case $ABI in + 64) + +echo "$as_me:19781: checking if the assembler accepts \".register\"" >&5 +echo $ECHO_N "checking if the assembler accepts \".register\"... $ECHO_C" >&6 +if test "${gmp_cv_asm_sparc_register+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.s <&5 + (eval $gmp_assemble) 2>&5 + ac_status=$? + echo "$as_me:19795: \$? = $ac_status" >&5 + (exit $ac_status); }; then + cat conftest.out >&5 + gmp_cv_asm_sparc_register=yes +else + cat conftest.out >&5 + echo "configure: failed program was:" >&5 + cat conftest.s >&5 + gmp_cv_asm_sparc_register=no +fi +rm -f conftest* + +fi +echo "$as_me:19808: result: $gmp_cv_asm_sparc_register" >&5 +echo "${ECHO_T}$gmp_cv_asm_sparc_register" >&6 + +echo "define(,<$gmp_cv_asm_sparc_register>)" >> $gmp_tmpconfigm4 + + ;; + esac + ;; i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-*) -echo "$as_me:19843: checking if the .align directive accepts an 0x90 fill in .text" >&5 +echo "$as_me:19818: checking if the .align directive accepts an 0x90 fill in .text" >&5 echo $ECHO_N "checking if the .align directive accepts an 0x90 fill in .text... $ECHO_C" >&6 if test "${gmp_cv_asm_align_fill_0x90+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19852,10 +19827,10 @@ .align 4, 0x90 EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19855: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19830: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19858: \$? = $ac_status" >&5 + echo "$as_me:19833: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 if grep "Warning: Fill parameter ignored for executable section" conftest.out >/dev/null; then @@ -19873,12 +19848,12 @@ rm -f conftest* fi -echo "$as_me:19876: result: $gmp_cv_asm_align_fill_0x90" >&5 +echo "$as_me:19851: result: $gmp_cv_asm_align_fill_0x90" >&5 echo "${ECHO_T}$gmp_cv_asm_align_fill_0x90" >&6 echo "define(,<$gmp_cv_asm_align_fill_0x90>)" >> $gmp_tmpconfigm4 -echo "$as_me:19881: checking if the assembler takes cl with shldl" >&5 +echo "$as_me:19856: checking if the assembler takes cl with shldl" >&5 echo $ECHO_N "checking if the assembler takes cl with shldl... $ECHO_C" >&6 if test "${gmp_cv_asm_x86_shldl_cl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19888,10 +19863,10 @@ shldl %cl, %eax, %ebx EOF gmp_assemble="$CCAS $CFLAGS conftest.s >conftest.out 2>&1" -if { (eval echo "$as_me:19891: \"$gmp_assemble\"") >&5 +if { (eval echo "$as_me:19866: \"$gmp_assemble\"") >&5 (eval $gmp_assemble) 2>&5 ac_status=$? - echo "$as_me:19894: \$? = $ac_status" >&5 + echo "$as_me:19869: \$? = $ac_status" >&5 (exit $ac_status); }; then cat conftest.out >&5 gmp_cv_asm_x86_shldl_cl=yes @@ -19904,7 +19879,7 @@ rm -f conftest* fi -echo "$as_me:19907: result: $gmp_cv_asm_x86_shldl_cl" >&5 +echo "$as_me:19882: result: $gmp_cv_asm_x86_shldl_cl" >&5 echo "${ECHO_T}$gmp_cv_asm_x86_shldl_cl" >&6 if test "$gmp_cv_asm_x86_shldl_cl" = "yes"; then @@ -19918,7 +19893,7 @@ if test "$enable_profiling" != no; then -echo "$as_me:19921: checking how to call x86 mcount" >&5 +echo "$as_me:19896: checking how to call x86 mcount" >&5 echo $ECHO_N "checking how to call x86 mcount... $ECHO_C" >&6 cat >conftest.c <&5 + if { (eval echo "$as_me:19904: \"$gmp_asmout_compile\"") >&5 (eval $gmp_asmout_compile) 2>&5 ac_status=$? - echo "$as_me:19932: \$? = $ac_status" >&5 + echo "$as_me:19907: \$? = $ac_status" >&5 (exit $ac_status); }; then if grep '\.data' conftest.s >/dev/null; then mcount_nonpic_reg=`sed -n '/esp/!s/.*movl.*,\(%[a-z]*\).*$/\1/p' conftest.s` @@ -19938,12 +19913,12 @@ fi mcount_nonpic_call=`grep 'call.*mcount' conftest.s` if test -z "$mcount_nonpic_call"; then - { { echo "$as_me:19941: error: Cannot find mcount call for non-PIC" >&5 + { { echo "$as_me:19916: error: Cannot find mcount call for non-PIC" >&5 echo "$as_me: error: Cannot find mcount call for non-PIC" >&2;} { (exit 1); exit 1; }; } fi else - { { echo "$as_me:19946: error: Cannot compile test program for non-PIC" >&5 + { { echo "$as_me:19921: error: Cannot compile test program for non-PIC" >&5 echo "$as_me: error: Cannot compile test program for non-PIC" >&2;} { (exit 1); exit 1; }; } fi @@ -19951,10 +19926,10 @@ if test "$enable_shared" = yes; then gmp_asmout_compile="$CC $CFLAGS $CPPFLAGS $lt_prog_compiler_pic -S conftest.c 1>&5" - if { (eval echo "$as_me:19954: \"$gmp_asmout_compile\"") >&5 + if { (eval echo "$as_me:19929: \"$gmp_asmout_compile\"") >&5 (eval $gmp_asmout_compile) 2>&5 ac_status=$? - echo "$as_me:19957: \$? = $ac_status" >&5 + echo "$as_me:19932: \$? = $ac_status" >&5 (exit $ac_status); }; then if grep '\.data' conftest.s >/dev/null; then case $lt_prog_compiler_pic in @@ -19971,12 +19946,12 @@ fi mcount_pic_call=`grep 'call.*mcount' conftest.s` if test -z "$mcount_pic_call"; then - { { echo "$as_me:19974: error: Cannot find mcount call for PIC" >&5 + { { echo "$as_me:19949: error: Cannot find mcount call for PIC" >&5 echo "$as_me: error: Cannot find mcount call for PIC" >&2;} { (exit 1); exit 1; }; } fi else - { { echo "$as_me:19979: error: Cannot compile test program for PIC" >&5 + { { echo "$as_me:19954: error: Cannot compile test program for PIC" >&5 echo "$as_me: error: Cannot compile test program for PIC" >&2;} { (exit 1); exit 1; }; } fi @@ -19991,10 +19966,17 @@ echo "define(, <\`$mcount_pic_call'>)" >> $gmp_tmpconfigm4 rm -f conftest.* -echo "$as_me:19994: result: determined" >&5 +echo "$as_me:19969: result: determined" >&5 echo "${ECHO_T}determined" >&6 fi + case $host in + *-*-openbsd*) + +echo 'define(<_GLOBAL_OFFSET_TABLE_>, <__GLOBAL_OFFSET_TABLE_>)' >>$gmp_tmpconfigm4 + + ;; + esac ;; esac fi @@ -20013,7 +19995,7 @@ fi done if test -z "$gmp_mparam_source"; then - { { echo "$as_me:20016: error: no version of gmp-mparam.h found in path: $path" >&5 + { { echo "$as_me:19998: error: no version of gmp-mparam.h found in path: $path" >&5 echo "$as_me: error: no version of gmp-mparam.h found in path: $path" >&2;} { (exit 1); exit 1; }; } fi @@ -20045,13 +20027,13 @@ if test -n "$BITS_PER_MP_LIMB" \ && grep "^#define BYTES_PER_MP_LIMB" $gmp_mparam_source >/dev/null; then : ; else - echo "$as_me:20048: checking for mp_limb_t" >&5 + echo "$as_me:20030: checking for mp_limb_t" >&5 echo $ECHO_N "checking for mp_limb_t... $ECHO_C" >&6 if test "${ac_cv_type_mp_limb_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 20054 "configure" +#line 20036 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -20073,16 +20055,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20076: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20058: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20079: \$? = $ac_status" >&5 + echo "$as_me:20061: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20082: \"$ac_try\"") >&5 + { (eval echo "$as_me:20064: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20085: \$? = $ac_status" >&5 + echo "$as_me:20067: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_mp_limb_t=yes else @@ -20092,10 +20074,10 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:20095: result: $ac_cv_type_mp_limb_t" >&5 +echo "$as_me:20077: result: $ac_cv_type_mp_limb_t" >&5 echo "${ECHO_T}$ac_cv_type_mp_limb_t" >&6 -echo "$as_me:20098: checking size of mp_limb_t" >&5 +echo "$as_me:20080: checking size of mp_limb_t" >&5 echo $ECHO_N "checking size of mp_limb_t... $ECHO_C" >&6 if test "${ac_cv_sizeof_mp_limb_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -20104,7 +20086,7 @@ if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF -#line 20107 "configure" +#line 20089 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -20123,21 +20105,21 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20126: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20108: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20129: \$? = $ac_status" >&5 + echo "$as_me:20111: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20132: \"$ac_try\"") >&5 + { (eval echo "$as_me:20114: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20135: \$? = $ac_status" >&5 + echo "$as_me:20117: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF -#line 20140 "configure" +#line 20122 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -20156,16 +20138,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20159: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20141: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20162: \$? = $ac_status" >&5 + echo "$as_me:20144: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20165: \"$ac_try\"") >&5 + { (eval echo "$as_me:20147: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20168: \$? = $ac_status" >&5 + echo "$as_me:20150: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else @@ -20181,7 +20163,7 @@ ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF -#line 20184 "configure" +#line 20166 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -20200,16 +20182,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20203: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20185: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20206: \$? = $ac_status" >&5 + echo "$as_me:20188: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20209: \"$ac_try\"") >&5 + { (eval echo "$as_me:20191: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20212: \$? = $ac_status" >&5 + echo "$as_me:20194: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else @@ -20225,7 +20207,7 @@ while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF -#line 20228 "configure" +#line 20210 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -20244,16 +20226,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20247: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20229: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20250: \$? = $ac_status" >&5 + echo "$as_me:20232: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20253: \"$ac_try\"") >&5 + { (eval echo "$as_me:20235: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20256: \$? = $ac_status" >&5 + echo "$as_me:20238: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else @@ -20266,12 +20248,12 @@ ac_cv_sizeof_mp_limb_t=$ac_lo else if test "$cross_compiling" = yes; then - { { echo "$as_me:20269: error: cannot run test program while cross compiling" >&5 + { { echo "$as_me:20251: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line 20274 "configure" +#line 20256 "configure" #include "confdefs.h" #include #define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ @@ -20294,15 +20276,15 @@ } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:20297: \"$ac_link\"") >&5 +if { (eval echo "$as_me:20279: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:20300: \$? = $ac_status" >&5 + echo "$as_me:20282: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:20302: \"$ac_try\"") >&5 + { (eval echo "$as_me:20284: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20305: \$? = $ac_status" >&5 + echo "$as_me:20287: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_mp_limb_t=`cat conftest.val` else @@ -20318,14 +20300,14 @@ ac_cv_sizeof_mp_limb_t=0 fi fi -echo "$as_me:20321: result: $ac_cv_sizeof_mp_limb_t" >&5 +echo "$as_me:20303: result: $ac_cv_sizeof_mp_limb_t" >&5 echo "${ECHO_T}$ac_cv_sizeof_mp_limb_t" >&6 cat >>confdefs.h <&5 + { { echo "$as_me:20310: error: some sort of compiler problem, mp_limb_t doesn't seem to work" >&5 echo "$as_me: error: some sort of compiler problem, mp_limb_t doesn't seem to work" >&2;} { (exit 1); exit 1; }; } fi @@ -20346,13 +20328,13 @@ else case $limb_chosen in longlong) - echo "$as_me:20349: checking for unsigned long" >&5 + echo "$as_me:20331: checking for unsigned long" >&5 echo $ECHO_N "checking for unsigned long... $ECHO_C" >&6 if test "${ac_cv_type_unsigned_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 20355 "configure" +#line 20337 "configure" #include "confdefs.h" $ac_includes_default int @@ -20367,16 +20349,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20370: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20352: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20373: \$? = $ac_status" >&5 + echo "$as_me:20355: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20376: \"$ac_try\"") >&5 + { (eval echo "$as_me:20358: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20379: \$? = $ac_status" >&5 + echo "$as_me:20361: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_unsigned_long=yes else @@ -20386,10 +20368,10 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:20389: result: $ac_cv_type_unsigned_long" >&5 +echo "$as_me:20371: result: $ac_cv_type_unsigned_long" >&5 echo "${ECHO_T}$ac_cv_type_unsigned_long" >&6 -echo "$as_me:20392: checking size of unsigned long" >&5 +echo "$as_me:20374: checking size of unsigned long" >&5 echo $ECHO_N "checking size of unsigned long... $ECHO_C" >&6 if test "${ac_cv_sizeof_unsigned_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -20398,7 +20380,7 @@ if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF -#line 20401 "configure" +#line 20383 "configure" #include "confdefs.h" $ac_includes_default int @@ -20410,21 +20392,21 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20413: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20395: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20416: \$? = $ac_status" >&5 + echo "$as_me:20398: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20419: \"$ac_try\"") >&5 + { (eval echo "$as_me:20401: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20422: \$? = $ac_status" >&5 + echo "$as_me:20404: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF -#line 20427 "configure" +#line 20409 "configure" #include "confdefs.h" $ac_includes_default int @@ -20436,16 +20418,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20439: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20421: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20442: \$? = $ac_status" >&5 + echo "$as_me:20424: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20445: \"$ac_try\"") >&5 + { (eval echo "$as_me:20427: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20448: \$? = $ac_status" >&5 + echo "$as_me:20430: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else @@ -20461,7 +20443,7 @@ ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF -#line 20464 "configure" +#line 20446 "configure" #include "confdefs.h" $ac_includes_default int @@ -20473,16 +20455,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20476: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20458: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20479: \$? = $ac_status" >&5 + echo "$as_me:20461: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20482: \"$ac_try\"") >&5 + { (eval echo "$as_me:20464: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20485: \$? = $ac_status" >&5 + echo "$as_me:20467: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else @@ -20498,7 +20480,7 @@ while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF -#line 20501 "configure" +#line 20483 "configure" #include "confdefs.h" $ac_includes_default int @@ -20510,16 +20492,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20513: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20495: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20516: \$? = $ac_status" >&5 + echo "$as_me:20498: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20519: \"$ac_try\"") >&5 + { (eval echo "$as_me:20501: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20522: \$? = $ac_status" >&5 + echo "$as_me:20504: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else @@ -20532,12 +20514,12 @@ ac_cv_sizeof_unsigned_long=$ac_lo else if test "$cross_compiling" = yes; then - { { echo "$as_me:20535: error: cannot run test program while cross compiling" >&5 + { { echo "$as_me:20517: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line 20540 "configure" +#line 20522 "configure" #include "confdefs.h" $ac_includes_default int @@ -20553,15 +20535,15 @@ } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:20556: \"$ac_link\"") >&5 +if { (eval echo "$as_me:20538: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:20559: \$? = $ac_status" >&5 + echo "$as_me:20541: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:20561: \"$ac_try\"") >&5 + { (eval echo "$as_me:20543: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20564: \$? = $ac_status" >&5 + echo "$as_me:20546: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_unsigned_long=`cat conftest.val` else @@ -20577,7 +20559,7 @@ ac_cv_sizeof_unsigned_long=0 fi fi -echo "$as_me:20580: result: $ac_cv_sizeof_unsigned_long" >&5 +echo "$as_me:20562: result: $ac_cv_sizeof_unsigned_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_unsigned_long" >&6 cat >>confdefs.h <&5 +echo "$as_me:20618: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 20641 "configure" +#line 20624 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -20669,16 +20652,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:20672: \"$ac_link\"") >&5 +if { (eval echo "$as_me:20655: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:20675: \$? = $ac_status" >&5 + echo "$as_me:20658: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:20678: \"$ac_try\"") >&5 + { (eval echo "$as_me:20661: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20681: \$? = $ac_status" >&5 + echo "$as_me:20664: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -20688,7 +20671,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:20691: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:20674: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 + echo "$as_me:20689: checking for IEEE-754 switches" >&5 echo $ECHO_N "checking for IEEE-754 switches... $ECHO_C" >&6 if test "${mpfr_cv_ieee_switches+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -20716,7 +20699,7 @@ fi CFLAGS="$CFLAGS $mpfr_cv_ieee_switches" cat >conftest.$ac_ext <<_ACEOF -#line 20719 "configure" +#line 20702 "configure" #include "confdefs.h" int @@ -20728,16 +20711,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:20731: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:20714: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:20734: \$? = $ac_status" >&5 + echo "$as_me:20717: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:20737: \"$ac_try\"") >&5 + { (eval echo "$as_me:20720: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20740: \$? = $ac_status" >&5 + echo "$as_me:20723: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -20748,7 +20731,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:20751: result: $mpfr_cv_ieee_switches" >&5 +echo "$as_me:20734: result: $mpfr_cv_ieee_switches" >&5 echo "${ECHO_T}$mpfr_cv_ieee_switches" >&6 if test "$mpfr_cv_ieee_switches" = "none"; then CFLAGS="$saved_CFLAGS" @@ -20760,23 +20743,23 @@ for ac_header in fpu_control.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:20763: checking for $ac_header" >&5 +echo "$as_me:20746: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 20769 "configure" +#line 20752 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:20773: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:20756: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:20779: \$? = $ac_status" >&5 + echo "$as_me:20762: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -20795,7 +20778,7 @@ fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:20798: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:20781: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:20791: checking for fesetround" >&5 echo $ECHO_N "checking for fesetround... $ECHO_C" >&6 if test "${mpfr_cv_have_fesetround+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -20814,7 +20797,7 @@ saved_LIBS="$LIBS" LIBS="$LIBS $LM9X" cat >conftest.$ac_ext <<_ACEOF -#line 20817 "configure" +#line 20800 "configure" #include "confdefs.h" #include int @@ -20826,16 +20809,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:20829: \"$ac_link\"") >&5 +if { (eval echo "$as_me:20812: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:20832: \$? = $ac_status" >&5 + echo "$as_me:20815: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:20835: \"$ac_try\"") >&5 + { (eval echo "$as_me:20818: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20838: \$? = $ac_status" >&5 + echo "$as_me:20821: \$? = $ac_status" >&5 (exit $ac_status); }; }; then mpfr_cv_have_fesetround=yes else @@ -20847,7 +20830,7 @@ LIBS="$saved_LIBS" fi -echo "$as_me:20850: result: $mpfr_cv_have_fesetround" >&5 +echo "$as_me:20833: result: $mpfr_cv_have_fesetround" >&5 echo "${ECHO_T}$mpfr_cv_have_fesetround" >&6 if test "$mpfr_cv_have_fesetround" = "yes"; then LIBS="$LIBS $LM9X" @@ -20861,13 +20844,13 @@ for ac_func in lrand48 do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:20864: checking for $ac_func" >&5 +echo "$as_me:20847: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 20870 "configure" +#line 20853 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -20898,16 +20881,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:20901: \"$ac_link\"") >&5 +if { (eval echo "$as_me:20884: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:20904: \$? = $ac_status" >&5 + echo "$as_me:20887: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:20907: \"$ac_try\"") >&5 + { (eval echo "$as_me:20890: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20910: \$? = $ac_status" >&5 + echo "$as_me:20893: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -20917,7 +20900,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:20920: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:20903: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:20913: checking for valid NaN" >&5 echo $ECHO_N "checking for valid NaN... $ECHO_C" >&6 if test "${mpfr_cv_valid_nan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -20937,7 +20920,7 @@ mpfr_cv_valid_nan=no else cat >conftest.$ac_ext <<_ACEOF -#line 20940 "configure" +#line 20923 "configure" #include "confdefs.h" #include @@ -20949,15 +20932,15 @@ _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:20952: \"$ac_link\"") >&5 +if { (eval echo "$as_me:20935: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:20955: \$? = $ac_status" >&5 + echo "$as_me:20938: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:20957: \"$ac_try\"") >&5 + { (eval echo "$as_me:20940: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:20960: \$? = $ac_status" >&5 + echo "$as_me:20943: \$? = $ac_status" >&5 (exit $ac_status); }; }; then mpfr_cv_valid_nan=yes else @@ -20970,7 +20953,7 @@ fi fi -echo "$as_me:20973: result: $mpfr_cv_valid_nan" >&5 +echo "$as_me:20956: result: $mpfr_cv_valid_nan" >&5 echo "${ECHO_T}$mpfr_cv_valid_nan" >&6 if test "$mpfr_cv_valid_nan" = "yes"; then @@ -20981,7 +20964,7 @@ fi if test -n "$GCC"; then - echo "$as_me:20984: checking for gcc float-conversion bug" >&5 + echo "$as_me:20967: checking for gcc float-conversion bug" >&5 echo $ECHO_N "checking for gcc float-conversion bug... $ECHO_C" >&6 if test "${mpfr_cv_gcc_floatconv_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -20991,49 +20974,63 @@ mpfr_cv_gcc_floatconv_bug="cannot test, use -ffloat-store" else cat >conftest.$ac_ext <<_ACEOF -#line 20994 "configure" +#line 20977 "configure" #include "confdefs.h" +#include +#ifdef MPFR_HAVE_FESETROUND +#include +#endif int main() { double x = 0.5; int i; for (i = 1; i <= 11; i++) x *= x; - return x == 0; + if (x != 0) + return 1; +#ifdef MPFR_HAVE_FESETROUND + /* Useful test for the G4 PowerPC */ + fesetround(FE_TOWARDZERO); + x = DBL_MAX; + x *= 2.0; + if (x != DBL_MAX) + return 1; +#endif + return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:21008: \"$ac_link\"") >&5 +if { (eval echo "$as_me:21005: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:21011: \$? = $ac_status" >&5 + echo "$as_me:21008: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:21013: \"$ac_try\"") >&5 + { (eval echo "$as_me:21010: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:21016: \$? = $ac_status" >&5 + echo "$as_me:21013: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - mpfr_cv_gcc_floatconv_bug="yes, use -ffloat-store" + mpfr_cv_gcc_floatconv_bug="no" else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -mpfr_cv_gcc_floatconv_bug="no" +mpfr_cv_gcc_floatconv_bug="yes, use -ffloat-store" fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:21029: result: $mpfr_cv_gcc_floatconv_bug" >&5 +echo "$as_me:21026: result: $mpfr_cv_gcc_floatconv_bug" >&5 echo "${ECHO_T}$mpfr_cv_gcc_floatconv_bug" >&6 if test "$mpfr_cv_gcc_floatconv_bug" != "no"; then CFLAGS="$CFLAGS -ffloat-store" fi fi -echo "$as_me:21036: checking for denormalized numbers" >&5 +echo "$as_me:21033: checking for denormalized numbers" >&5 echo $ECHO_N "checking for denormalized numbers... $ECHO_C" >&6 if test "${mpfr_cv_have_denorms+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21043,7 +21040,7 @@ mpfr_cv_have_denorms=no else cat >conftest.$ac_ext <<_ACEOF -#line 21046 "configure" +#line 21043 "configure" #include "confdefs.h" #include @@ -21057,15 +21054,15 @@ _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:21060: \"$ac_link\"") >&5 +if { (eval echo "$as_me:21057: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:21063: \$? = $ac_status" >&5 + echo "$as_me:21060: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:21065: \"$ac_try\"") >&5 + { (eval echo "$as_me:21062: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:21068: \$? = $ac_status" >&5 + echo "$as_me:21065: \$? = $ac_status" >&5 (exit $ac_status); }; }; then mpfr_cv_have_denorms=yes else @@ -21078,7 +21075,7 @@ fi fi -echo "$as_me:21081: result: $mpfr_cv_have_denorms" >&5 +echo "$as_me:21078: result: $mpfr_cv_have_denorms" >&5 echo "${ECHO_T}$mpfr_cv_have_denorms" >&6 if test "$mpfr_cv_have_denorms" = "yes"; then @@ -21181,13 +21178,13 @@ no) HAVE_SYS_RESOURCE_H_01=0 ;; esac -echo "$as_me:21184: checking for stack_t" >&5 +echo "$as_me:21181: checking for stack_t" >&5 echo $ECHO_N "checking for stack_t... $ECHO_C" >&6 if test "${ac_cv_type_stack_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 21190 "configure" +#line 21187 "configure" #include "confdefs.h" #include @@ -21203,16 +21200,16 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:21206: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:21203: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:21209: \$? = $ac_status" >&5 + echo "$as_me:21206: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:21212: \"$ac_try\"") >&5 + { (eval echo "$as_me:21209: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:21215: \$? = $ac_status" >&5 + echo "$as_me:21212: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_stack_t=yes else @@ -21222,7 +21219,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:21225: result: $ac_cv_type_stack_t" >&5 +echo "$as_me:21222: result: $ac_cv_type_stack_t" >&5 echo "${ECHO_T}$ac_cv_type_stack_t" >&6 if test $ac_cv_type_stack_t = yes; then @@ -21245,7 +21242,7 @@ use_readline=$with_readline if test $with_readline = detect; then - echo "$as_me:21248: checking for readline in -lreadline" >&5 + echo "$as_me:21245: checking for readline in -lreadline" >&5 echo $ECHO_N "checking for readline in -lreadline... $ECHO_C" >&6 if test "${ac_cv_lib_readline_readline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21253,7 +21250,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lreadline $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 21256 "configure" +#line 21253 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -21272,16 +21269,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:21275: \"$ac_link\"") >&5 +if { (eval echo "$as_me:21272: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:21278: \$? = $ac_status" >&5 + echo "$as_me:21275: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:21281: \"$ac_try\"") >&5 + { (eval echo "$as_me:21278: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:21284: \$? = $ac_status" >&5 + echo "$as_me:21281: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_readline_readline=yes else @@ -21292,7 +21289,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:21295: result: $ac_cv_lib_readline_readline" >&5 +echo "$as_me:21292: result: $ac_cv_lib_readline_readline" >&5 echo "${ECHO_T}$ac_cv_lib_readline_readline" >&6 if test $ac_cv_lib_readline_readline = yes; then use_readline=yes @@ -21311,7 +21308,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:21314: checking for $ac_word" >&5 +echo "$as_me:21311: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_YACC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21326,7 +21323,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_YACC="$ac_prog" -echo "$as_me:21329: found $ac_dir/$ac_word" >&5 +echo "$as_me:21326: found $ac_dir/$ac_word" >&5 break done @@ -21334,10 +21331,10 @@ fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then - echo "$as_me:21337: result: $YACC" >&5 + echo "$as_me:21334: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6 else - echo "$as_me:21340: result: no" >&5 + echo "$as_me:21337: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -21349,7 +21346,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:21352: checking for $ac_word" >&5 +echo "$as_me:21349: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_LEX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21364,7 +21361,7 @@ test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_LEX="$ac_prog" -echo "$as_me:21367: found $ac_dir/$ac_word" >&5 +echo "$as_me:21364: found $ac_dir/$ac_word" >&5 break done @@ -21372,10 +21369,10 @@ fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then - echo "$as_me:21375: result: $LEX" >&5 + echo "$as_me:21372: result: $LEX" >&5 echo "${ECHO_T}$LEX" >&6 else - echo "$as_me:21378: result: no" >&5 + echo "$as_me:21375: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -21385,7 +21382,7 @@ if test -z "$LEXLIB" then - echo "$as_me:21388: checking for yywrap in -lfl" >&5 + echo "$as_me:21385: checking for yywrap in -lfl" >&5 echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6 if test "${ac_cv_lib_fl_yywrap+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21393,7 +21390,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-lfl $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 21396 "configure" +#line 21393 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -21412,16 +21409,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:21415: \"$ac_link\"") >&5 +if { (eval echo "$as_me:21412: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:21418: \$? = $ac_status" >&5 + echo "$as_me:21415: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:21421: \"$ac_try\"") >&5 + { (eval echo "$as_me:21418: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:21424: \$? = $ac_status" >&5 + echo "$as_me:21421: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fl_yywrap=yes else @@ -21432,12 +21429,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:21435: result: $ac_cv_lib_fl_yywrap" >&5 +echo "$as_me:21432: result: $ac_cv_lib_fl_yywrap" >&5 echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6 if test $ac_cv_lib_fl_yywrap = yes; then LEXLIB="-lfl" else - echo "$as_me:21440: checking for yywrap in -ll" >&5 + echo "$as_me:21437: checking for yywrap in -ll" >&5 echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6 if test "${ac_cv_lib_l_yywrap+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21445,7 +21442,7 @@ ac_check_lib_save_LIBS=$LIBS LIBS="-ll $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 21448 "configure" +#line 21445 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -21464,16 +21461,16 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:21467: \"$ac_link\"") >&5 +if { (eval echo "$as_me:21464: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:21470: \$? = $ac_status" >&5 + echo "$as_me:21467: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:21473: \"$ac_try\"") >&5 + { (eval echo "$as_me:21470: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:21476: \$? = $ac_status" >&5 + echo "$as_me:21473: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_l_yywrap=yes else @@ -21484,7 +21481,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:21487: result: $ac_cv_lib_l_yywrap" >&5 +echo "$as_me:21484: result: $ac_cv_lib_l_yywrap" >&5 echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6 if test $ac_cv_lib_l_yywrap = yes; then LEXLIB="-ll" @@ -21495,7 +21492,7 @@ fi if test "x$LEX" != "x:"; then - echo "$as_me:21498: checking lex output file root" >&5 + echo "$as_me:21495: checking lex output file root" >&5 echo $ECHO_N "checking lex output file root... $ECHO_C" >&6 if test "${ac_cv_prog_lex_root+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21509,16 +21506,16 @@ elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy else - { { echo "$as_me:21512: error: cannot find output from $LEX; giving up" >&5 + { { echo "$as_me:21509: error: cannot find output from $LEX; giving up" >&5 echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} { (exit 1); exit 1; }; } fi fi -echo "$as_me:21517: result: $ac_cv_prog_lex_root" >&5 +echo "$as_me:21514: result: $ac_cv_prog_lex_root" >&5 echo "${ECHO_T}$ac_cv_prog_lex_root" >&6 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root -echo "$as_me:21521: checking whether yytext is a pointer" >&5 +echo "$as_me:21518: checking whether yytext is a pointer" >&5 echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6 if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -21534,16 +21531,16 @@ `cat $LEX_OUTPUT_ROOT.c` _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:21537: \"$ac_link\"") >&5 +if { (eval echo "$as_me:21534: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:21540: \$? = $ac_status" >&5 + echo "$as_me:21537: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:21543: \"$ac_try\"") >&5 + { (eval echo "$as_me:21540: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:21546: \$? = $ac_status" >&5 + echo "$as_me:21543: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_lex_yytext_pointer=yes else @@ -21555,7 +21552,7 @@ rm -f "${LEX_OUTPUT_ROOT}.c" fi -echo "$as_me:21558: result: $ac_cv_prog_lex_yytext_pointer" >&5 +echo "$as_me:21555: result: $ac_cv_prog_lex_yytext_pointer" >&5 echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6 if test $ac_cv_prog_lex_yytext_pointer = yes; then @@ -21695,7 +21692,7 @@ : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:21698: creating $CONFIG_STATUS" >&5 +{ echo "$as_me:21695: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL @@ -21874,7 +21871,7 @@ echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header - { { echo "$as_me:21877: error: ambiguous option: $1 + { { echo "$as_me:21874: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} @@ -21893,7 +21890,7 @@ ac_need_defaults=false;; # This is an error. - -*) { { echo "$as_me:21896: error: unrecognized option: $1 + -*) { { echo "$as_me:21893: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} @@ -21972,7 +21969,7 @@ "gmp-mparam.h" ) CONFIG_LINKS="$CONFIG_LINKS gmp-mparam.h:mpn/$gmp_mparam_dir/gmp-mparam.h" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;; - *) { { echo "$as_me:21975: error: invalid argument: $ac_config_target" >&5 + *) { { echo "$as_me:21972: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac @@ -22279,7 +22276,7 @@ esac if test x"$ac_file" != x-; then - { echo "$as_me:22282: creating $ac_file" >&5 + { echo "$as_me:22279: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi @@ -22297,7 +22294,7 @@ -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:22300: error: cannot find input file: $f" >&5 + test -f "$f" || { { echo "$as_me:22297: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; @@ -22310,7 +22307,7 @@ echo $srcdir/$f else # /dev/null tree - { { echo "$as_me:22313: error: cannot find input file: $f" >&5 + { { echo "$as_me:22310: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; @@ -22371,7 +22368,7 @@ * ) ac_file_in=$ac_file.in ;; esac - test x"$ac_file" != x- && { echo "$as_me:22374: creating $ac_file" >&5 + test x"$ac_file" != x- && { echo "$as_me:22371: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the @@ -22382,7 +22379,7 @@ -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:22385: error: cannot find input file: $f" >&5 + test -f "$f" || { { echo "$as_me:22382: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; @@ -22395,7 +22392,7 @@ echo $srcdir/$f else # /dev/null tree - { { echo "$as_me:22398: error: cannot find input file: $f" >&5 + { { echo "$as_me:22395: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; @@ -22512,7 +22509,7 @@ rm -f $tmp/in if test x"$ac_file" != x-; then if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:22515: $ac_file is unchanged" >&5 + { echo "$as_me:22512: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ @@ -22569,11 +22566,11 @@ ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - { echo "$as_me:22572: linking $srcdir/$ac_source to $ac_dest" >&5 + { echo "$as_me:22569: linking $srcdir/$ac_source to $ac_dest" >&5 echo "$as_me: linking $srcdir/$ac_source to $ac_dest" >&6;} if test ! -r $srcdir/$ac_source; then - { { echo "$as_me:22576: error: $srcdir/$ac_source: File not found" >&5 + { { echo "$as_me:22573: error: $srcdir/$ac_source: File not found" >&5 echo "$as_me: error: $srcdir/$ac_source: File not found" >&2;} { (exit 1); exit 1; }; } fi @@ -22623,7 +22620,7 @@ # Make a symlink if possible; otherwise try a hard link. ln -s $ac_rel_source $ac_dest 2>/dev/null || ln $srcdir/$ac_source $ac_dest || - { { echo "$as_me:22626: error: cannot link $ac_dest to $srcdir/$ac_source" >&5 + { { echo "$as_me:22623: error: cannot link $ac_dest to $srcdir/$ac_source" >&5 echo "$as_me: error: cannot link $ac_dest to $srcdir/$ac_source" >&2;} { (exit 1); exit 1; }; } done diff -Naur gmp-4.1/configure.in gmp-4.1.1/configure.in --- gmp-4.1/configure.in Sat May 18 11:54:44 2002 +++ gmp-4.1.1/configure.in Sun Nov 24 22:12:42 2002 @@ -25,7 +25,7 @@ ]) -AC_REVISION($Revision: 1.425 $) +AC_REVISION($Revision: 1.425.2.15 $) AC_PREREQ(2.52) AC_INIT(gmp-impl.h) m4_pattern_forbid([^[ \t]*GMP_]) @@ -313,7 +313,7 @@ alpha*-*-*) case $host_cpu in - alphaev5 | alphapca5*) path="alpha/ev5 alpha" ;; + alphaev5* | alphapca5*) path="alpha/ev5 alpha" ;; alphaev6*) path="alpha/ev6 alpha/ev5 alpha" ;; *) path="alpha" ;; esac @@ -344,8 +344,8 @@ # since the options ordering seems to make our setting override # that passed by gcc. # - # gas 2.10.0 doesn't accept -mev67, but -mev6 is enough for ctlz - # and cttz, as used by longlong.h on ev67. + # gas prior to 2.14 doesn't accept -mev67, but -mev6 seems enough for + # ctlz and cttz (in 2.10.0 at least). # # OSF `as' accepts ev68 but stupidly treats it as ev4. -arch only seems # to affect insns like ldbu which are expanded as macros when necessary. @@ -419,8 +419,10 @@ *-cray-unicos*) gmp_asm_syntax_testing=no cclist="cc" - # The -hscalar0 is a workaround for miscompilation of mpz/import.c. - cc_cflags="-O3 -hscalar0 -htask0 -Wa,-B" + # We used to have -hscalar0 here as a workaround for miscompilation of + # mpz/import.c, but let's hope Cray fixes their bugs instead, since + # -hscalar0 causes disastrously poor code to be generated. + cc_cflags="-O3 -hnofastmd -htask0 -Wa,-B" path="cray" ;; @@ -728,23 +730,11 @@ case $host in POWERPC64_PATTERN) - # CPU type powerpc64 forces to a 64-bit limb - case $host in - powerpc64-*-*) abilist="32L" ;; - *) abilist="32L 32" ;; - esac - cclist_32L="gcc" - gcc_32L_cflags="-g -O2 -mpowerpc64" - gcc_32L_cflags_optlist="cpu" - limb_32L=longlong - path_32L="powerpc64" - extra_functions_32L="umul" - # On AIX a true 64-bit ABI is available. case $host in *-*-aix*) # Need -Wc to pass object type flags through to the linker. - abilist="aix64 $abilist" + abilist="aix64 32" cclist_aix64="gcc xlc" gcc_aix64_cflags="-g -O2 -maix64 -mpowerpc64" gcc_aix64_cflags_optlist="cpu" @@ -819,6 +809,7 @@ gcc_cflags_cpu= acc_cflags="-O2" cc_cflags="-O2" + GMP_INCLUDE_MPN(sparc32/sparc-defs.m4) # FIXME: This should be selected according to the CPU if test x${floating_point} = xno @@ -868,6 +859,7 @@ path_64="sparc64" cclist_64="gcc cc" gcc_64_cflags="-g -O2 -m64 -mptr64 -Wa,-xarch=v9 -mcpu=v9" + gcc_64_ldflags="-Wc,-m64" # -fast enables different optimizations depending compiler version # -fns=no and -fsimple=1 disables some transformations that # conflict with IEEE 754, which some compiler versions perform. @@ -875,6 +867,14 @@ SPEED_CYCLECOUNTER_OBJ_64=sparcv9.lo cyclecounter_size_64=2 ;; + *-*-*bsd*) + # NetBSD and OpenBSD sparc64 + abilist="64" + extra_functions= + path="sparc64" + gcc_cflags="-g -O2" + cyclecounter_size=2 + ;; esac ;; esac @@ -1215,10 +1215,6 @@ flag=`echo "$flag" | tr '~' ' '` case $flag in - -march=pentiumpro) - # tickles stack slot bugs on some gcc, exclude as necessary - GMP_GCC_MARCH_PENTIUMPRO($cc,,continue) - ;; -O*) # ease back to just -O on m68k gcc 2.95.x GMP_GCC_M68K_OPTIMIZE($ccbase,$cc,flag) @@ -1230,6 +1226,13 @@ break], [continue]) ;; + -Wa,-m*) + case $host in + alpha*-*-*) + GMP_GCC_WA_MCPU($cc $cflags, $flag, , [continue]) + ;; + esac + ;; esac GMP_PROG_CC_WORKS($cc $cflags $cppflags $flag, @@ -1531,6 +1534,20 @@ esac +# Ensure that $CONFIG_SHELL is available for AC_LIBTOOL_SYS_MAX_CMD_LEN. +# It's often set already by _LT_AC_PROG_ECHO_BACKSLASH or +# _AS_LINENO_PREPARE, but not always. +# +# The symptom of CONFIG_SHELL unset is some "expr" errors during the test, +# and an empty result. This only happens when invoked as "sh configure", +# ie. no path, and can be seen for instance on ia64-*-hpux*. +# +# FIXME: Newer libtool should have it's own fix for this. +# +if test -z "$CONFIG_SHELL"; then + CONFIG_SHELL=$SHELL +fi + # Enable CXX in libtool only if we want it, and never enable GCJ, nor RC on # mingw and cygwin. Under --disable-cxx this avoids some error messages # from libtool arising from the fact we didn't actually run AC_PROG_CXX. @@ -1612,12 +1629,12 @@ AC_CHECK_TYPES([intmax_t, long double, long long, ptrdiff_t, quad_t]) AC_C_STRINGIZE +AC_C_VOLATILE GMP_C_STDARG GMP_C_ATTRIBUTE_CONST GMP_C_ATTRIBUTE_MALLOC GMP_C_ATTRIBUTE_MODE GMP_C_ATTRIBUTE_NORETURN -GMP_C_RESTRICT GMP_C_INLINE GMP_H_EXTERN_INLINE @@ -1926,9 +1943,9 @@ GMP_INCLUDE_MPN(powerpc32/powerpc-defs.m4) case $host in powerpc*-*-aix*) - case $host in - POWERPC64_PATTERN) GMP_INCLUDE_MPN(powerpc64/aix.m4) ;; - *) GMP_INCLUDE_MPN(powerpc32/aix.m4) ;; + case $ABI in + 64 | aix64) GMP_INCLUDE_MPN(powerpc64/aix.m4) ;; + *) GMP_INCLUDE_MPN(powerpc32/aix.m4) ;; esac ;; esac @@ -1936,12 +1953,24 @@ power*-*-aix*) GMP_INCLUDE_MPN(powerpc32/aix.m4) ;; + sparcv9*-*-* | ultrasparc*-*-* | sparc64-*-*) + case $ABI in + 64) + GMP_ASM_SPARC_REGISTER + ;; + esac + ;; X86_PATTERN) GMP_ASM_ALIGN_FILL_0x90 GMP_ASM_X86_SHLDL_CL if test "$enable_profiling" != no; then GMP_ASM_X86_MCOUNT fi + case $host in + *-*-openbsd*) + GMP_DEFINE(_GLOBAL_OFFSET_TABLE_,__GLOBAL_OFFSET_TABLE_) + ;; + esac ;; esac fi @@ -2014,6 +2043,7 @@ if test $enable_mpfr = yes; then gmp_CFLAGS=$CFLAGS gmp_LIBS=$LIBS + LIBS="$LIBS $LIBM" MPFR_CONFIGS diff -Naur gmp-4.1/cxx/ismpf.cc gmp-4.1.1/cxx/ismpf.cc --- gmp-4.1/cxx/ismpf.cc Thu Nov 15 21:56:32 2001 +++ gmp-4.1.1/cxx/ismpf.cc Wed Nov 6 23:50:45 2002 @@ -1,6 +1,6 @@ /* operator>> -- C++-style input of mpf_t. -Copyright 2001 Free Software Foundation, Inc. +Copyright 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -59,10 +59,10 @@ if (c == '-') s = "-"; i.get(c); - } - while (isspace(c) && i.get(c)) // skip whitespace - ; + while (isspace(c) && i.get(c)) // skip whitespace + ; + } base = 10; // octal/hex floats currently unsupported __gmp_istream_set_digits(s, i, c, ok, base); // read the number @@ -102,10 +102,10 @@ { s += c; i.get(c); - } - while (isspace(c) && i.get(c)) // skip whitespace - ; + while (isspace(c) && i.get(c)) // skip whitespace + ; + } __gmp_istream_set_digits(s, i, c, ok, base); // read the exponent } diff -Naur gmp-4.1/cxx/ismpq.cc gmp-4.1.1/cxx/ismpq.cc --- gmp-4.1/cxx/ismpq.cc Wed Oct 10 23:14:49 2001 +++ gmp-4.1.1/cxx/ismpq.cc Wed Nov 6 23:51:52 2002 @@ -1,6 +1,6 @@ /* operator>> -- C++-style input of mpq_t. -Copyright 2001 Free Software Foundation, Inc. +Copyright 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -47,10 +47,10 @@ if (c == '-') s = "-"; i.get(c); - } - while (isspace(c) && i.get(c)) // skip whitespace - ; + while (isspace(c) && i.get(c)) // skip whitespace + ; + } base = __gmp_istream_set_base(i, c, zero, showbase); // select the base __gmp_istream_set_digits(s, i, c, ok, base); // read the numerator diff -Naur gmp-4.1/cxx/ismpz.cc gmp-4.1.1/cxx/ismpz.cc --- gmp-4.1/cxx/ismpz.cc Wed Oct 10 23:11:55 2001 +++ gmp-4.1.1/cxx/ismpz.cc Wed Nov 6 23:54:24 2002 @@ -1,6 +1,6 @@ /* operator>> -- C++-style input of mpz_t. -Copyright 2001 Free Software Foundation, Inc. +Copyright 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -47,10 +47,10 @@ if (c == '-') // mpz_set_str doesn't accept '+' s = "-"; i.get(c); - } - while (isspace(c) && i.get(c)) // skip whitespace - ; + while (isspace(c) && i.get(c)) // skip whitespace + ; + } base = __gmp_istream_set_base(i, c, zero, showbase); // select the base __gmp_istream_set_digits(s, i, c, ok, base); // read the number diff -Naur gmp-4.1/demos/calc/calc.y gmp-4.1.1/demos/calc/calc.y --- gmp-4.1/demos/calc/calc.y Sat Mar 23 22:19:36 2002 +++ gmp-4.1.1/demos/calc/calc.y Fri Oct 18 23:18:45 2002 @@ -171,80 +171,80 @@ statements: statement EOS | statements statement EOS - | error EOS ={ sp = stack[0]; yyerrok; }; + | error EOS { sp = stack[0]; yyerrok; }; statement: /* empty */ - | e ={ + | e { mpz_out_str (stdout, obase, sp); putchar ('\n'); sp--; CHECK_EMPTY (); } - | VARIABLE '=' e ={ + | VARIABLE '=' e { CHECK_VARIABLE ($1); mpz_swap (variable[$1], sp); sp--; CHECK_EMPTY (); } - | HELP ={ calc_help (); } - | HEX ={ ibase = 16; obase = -16; } - | DECIMAL ={ ibase = 0; obase = 10; } - | QUIT ={ exit (0); }; + | HELP { calc_help (); } + | HEX { ibase = 16; obase = -16; } + | DECIMAL { ibase = 0; obase = 10; } + | QUIT { exit (0); }; /* "e" leaves it's value on the top of the mpz stack. A rule like "e '+' e" will have done a reduction for the first "e" first and the second "e" second, so the code receives the values in that order on the stack. */ e: '(' e ')' /* value on stack */ - | e '+' e ={ sp--; mpz_add (sp, sp, sp+1); } - | e '-' e ={ sp--; mpz_sub (sp, sp, sp+1); } - | e '*' e ={ sp--; mpz_mul (sp, sp, sp+1); } - | e '/' e ={ sp--; mpz_fdiv_q (sp, sp, sp+1); } - | e '%' e ={ sp--; mpz_fdiv_r (sp, sp, sp+1); } - | e '^' e ={ CHECK_UI ("Exponent", sp); - sp--; mpz_pow_ui (sp, sp, mpz_get_ui (sp+1)); } - | e LSHIFT e ={ CHECK_UI ("Shift count", sp); - sp--; mpz_mul_2exp (sp, sp, mpz_get_ui (sp+1)); } - | e RSHIFT e ={ CHECK_UI ("Shift count", sp); - sp--; mpz_fdiv_q_2exp (sp, sp, mpz_get_ui (sp+1)); } - | e '!' ={ CHECK_UI ("Factorial", sp); - mpz_fac_ui (sp, mpz_get_ui (sp)); } - | '-' e %prec UMINUS ={ mpz_neg (sp, sp); } - - | e '<' e ={ sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) < 0); } - | e LE e ={ sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) <= 0); } - | e EQ e ={ sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) == 0); } - | e NE e ={ sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) != 0); } - | e GE e ={ sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) >= 0); } - | e '>' e ={ sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) > 0); } - - | e LAND e ={ sp--; mpz_set_ui (sp, mpz_sgn (sp) && mpz_sgn (sp+1)); } - | e LOR e ={ sp--; mpz_set_ui (sp, mpz_sgn (sp) || mpz_sgn (sp+1)); } - - | ABS '(' e ')' ={ mpz_abs (sp, sp); } - | BIN '(' e ',' e ')' ={ sp--; CHECK_UI ("Binomial base", sp+1); - mpz_bin_ui (sp, sp, mpz_get_ui (sp+1)); } - | FIB '(' e ')' ={ CHECK_UI ("Fibonacci", sp); - mpz_fib_ui (sp, mpz_get_ui (sp)); } + | e '+' e { sp--; mpz_add (sp, sp, sp+1); } + | e '-' e { sp--; mpz_sub (sp, sp, sp+1); } + | e '*' e { sp--; mpz_mul (sp, sp, sp+1); } + | e '/' e { sp--; mpz_fdiv_q (sp, sp, sp+1); } + | e '%' e { sp--; mpz_fdiv_r (sp, sp, sp+1); } + | e '^' e { CHECK_UI ("Exponent", sp); + sp--; mpz_pow_ui (sp, sp, mpz_get_ui (sp+1)); } + | e LSHIFT e { CHECK_UI ("Shift count", sp); + sp--; mpz_mul_2exp (sp, sp, mpz_get_ui (sp+1)); } + | e RSHIFT e { CHECK_UI ("Shift count", sp); + sp--; mpz_fdiv_q_2exp (sp, sp, mpz_get_ui (sp+1)); } + | e '!' { CHECK_UI ("Factorial", sp); + mpz_fac_ui (sp, mpz_get_ui (sp)); } + | '-' e %prec UMINUS { mpz_neg (sp, sp); } + + | e '<' e { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) < 0); } + | e LE e { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) <= 0); } + | e EQ e { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) == 0); } + | e NE e { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) != 0); } + | e GE e { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) >= 0); } + | e '>' e { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) > 0); } + + | e LAND e { sp--; mpz_set_ui (sp, mpz_sgn (sp) && mpz_sgn (sp+1)); } + | e LOR e { sp--; mpz_set_ui (sp, mpz_sgn (sp) || mpz_sgn (sp+1)); } + + | ABS '(' e ')' { mpz_abs (sp, sp); } + | BIN '(' e ',' e ')' { sp--; CHECK_UI ("Binomial base", sp+1); + mpz_bin_ui (sp, sp, mpz_get_ui (sp+1)); } + | FIB '(' e ')' { CHECK_UI ("Fibonacci", sp); + mpz_fib_ui (sp, mpz_get_ui (sp)); } | GCD '(' gcdlist ')' /* value on stack */ - | KRON '(' e ',' e ')' ={ sp--; mpz_set_si (sp, - mpz_kronecker (sp, sp+1)); } + | KRON '(' e ',' e ')' { sp--; mpz_set_si (sp, + mpz_kronecker (sp, sp+1)); } | LCM '(' lcmlist ')' /* value on stack */ - | LUCNUM '(' e ')' ={ CHECK_UI ("Lucas number", sp); - mpz_lucnum_ui (sp, mpz_get_ui (sp)); } - | NEXTPRIME '(' e ')' ={ mpz_nextprime (sp, sp); } - | POWM '(' e ',' e ',' e ')' ={ sp -= 2; mpz_powm (sp, sp, sp+1, sp+2); } - | ROOT '(' e ',' e ')' ={ sp--; CHECK_UI ("Nth-root", sp+1); - mpz_root (sp, sp, mpz_get_ui (sp+1)); } - | SQRT '(' e ')' ={ mpz_sqrt (sp, sp); } + | LUCNUM '(' e ')' { CHECK_UI ("Lucas number", sp); + mpz_lucnum_ui (sp, mpz_get_ui (sp)); } + | NEXTPRIME '(' e ')' { mpz_nextprime (sp, sp); } + | POWM '(' e ',' e ',' e ')' { sp -= 2; mpz_powm (sp, sp, sp+1, sp+2); } + | ROOT '(' e ',' e ')' { sp--; CHECK_UI ("Nth-root", sp+1); + mpz_root (sp, sp, mpz_get_ui (sp+1)); } + | SQRT '(' e ')' { mpz_sqrt (sp, sp); } - | VARIABLE ={ + | VARIABLE { sp++; CHECK_OVERFLOW (); CHECK_VARIABLE ($1); mpz_set (sp, variable[$1]); } - | NUMBER ={ + | NUMBER { sp++; CHECK_OVERFLOW (); if (mpz_set_str (sp, $1, ibase) != 0) @@ -256,11 +256,11 @@ gcdlist: e /* value on stack */ - | gcdlist ',' e ={ sp--; mpz_gcd (sp, sp, sp+1); }; + | gcdlist ',' e { sp--; mpz_gcd (sp, sp, sp+1); }; lcmlist: e /* value on stack */ - | lcmlist ',' e ={ sp--; mpz_lcm (sp, sp, sp+1); }; + | lcmlist ',' e { sp--; mpz_lcm (sp, sp, sp+1); }; %% diff -Naur gmp-4.1/gmp-h.in gmp-4.1.1/gmp-h.in --- gmp-4.1/gmp-h.in Tue May 7 02:20:30 2002 +++ gmp-4.1.1/gmp-h.in Wed Nov 13 23:04:22 2002 @@ -133,7 +133,11 @@ should have __GMP_DECLSPEC, and certainly constants or variables must have it or the wrong address will be resolved. */ -#if defined (__GNUC__) || defined (_MSC_VER) || defined (__BORLANDC__) +#if defined (__GNUC__) +#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) +#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) +#endif +#if defined (_MSC_VER) || defined (__BORLANDC__) #define __GMP_DECLSPEC_EXPORT __declspec(dllexport) #define __GMP_DECLSPEC_IMPORT __declspec(dllimport) #endif @@ -401,6 +405,16 @@ #define __GMP_EXTERN_INLINE inline #endif +/* Don't do any inlining within a configure run, since if the compiler ends + up emitting copies of the code into the object file it can end up + demanding the various support routines (like mpn_popcount) for linking, + making the "alloca" test and perhaps others fail. And on hppa ia64 a + pre-release gcc 3.2 was seen not respecting the "extern" in "extern + __inline__", triggering this problem too. */ +#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE +#undef __GMP_EXTERN_INLINE +#endif + /* By default, don't give a prototype when there's going to be an inline version. Note in particular that Cray C++ objects to the combination of prototype and inline. */ @@ -687,7 +701,7 @@ __GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr z)); +__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); #define mpz_fac_ui __gmpz_fac_ui __GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); @@ -2102,7 +2116,7 @@ /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ #define __GNU_MP_VERSION 4 #define __GNU_MP_VERSION_MINOR 1 -#define __GNU_MP_VERSION_PATCHLEVEL 0 +#define __GNU_MP_VERSION_PATCHLEVEL 1 #define __GMP_H__ #endif /* __GMP_H__ */ diff -Naur gmp-4.1/gmp-impl.h gmp-4.1.1/gmp-impl.h --- gmp-4.1/gmp-impl.h Wed May 8 23:50:17 2002 +++ gmp-4.1.1/gmp-impl.h Mon Oct 28 01:00:01 2002 @@ -94,6 +94,14 @@ #endif +/* const and signed must match __gmp_const and __gmp_signed, so follow the + decision made for those in gmp.h. */ +#if ! __GMP_HAVE_CONST +#define const /* empty */ +#define signed /* empty */ +#endif + + /* "const" basically means a function does nothing but examine its arguments and give a return value, it doesn't read or write any memory (neither global nor pointed to by arguments), and has no other side-effects. This @@ -553,14 +561,6 @@ } while (0) -/* const and signed must match __gmp_const and __gmp_signed, so follow the - decision made for those in gmp.h. */ -#if ! __GMP_HAVE_CONST -#define const /* empty */ -#define signed /* empty */ -#endif - - /* Dummy for non-gcc, code involving it will go dead. */ #ifndef __GNUC__ #define __builtin_constant_p(x) 0 @@ -2443,7 +2443,7 @@ typedef unsigned char UQItype; typedef long SItype; typedef unsigned long USItype; -#if defined _LONGLONG || defined _LONG_LONG_LIMB +#if HAVE_LONG_LONG typedef long long int DItype; typedef unsigned long long int UDItype; #else /* Assume `long' gives us a wide enough type. Needed for hppa2.0w. */ @@ -2478,6 +2478,7 @@ || defined (__clipper__) \ || defined (__cris) \ || defined (__i386__) \ + || defined (__x86_64__) \ || defined (__i860__) \ || defined (__i960__) \ || defined (__ia64) \ @@ -2526,7 +2527,7 @@ || defined (__ibm032__) \ || defined (_IBMR2) || defined (_ARCH_PPC) \ || defined (__sh__) \ - || defined (__sparc) || defined (sparc) \ + || defined (__sparc) || defined (sparc) || defined (__sparc__) \ || defined (__we32k__) #define _GMP_IEEE_FLOATS 1 union ieee_double_extract diff -Naur gmp-4.1/gmp.info gmp-4.1.1/gmp.info --- gmp-4.1/gmp.info Fri May 24 12:55:24 2002 +++ gmp-4.1.1/gmp.info Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -20,150 +20,153 @@  Indirect: -gmp.info-1: 899 -gmp.info-2: 50300 -gmp.info-3: 100058 -gmp.info-4: 144763 -gmp.info-5: 193745 -gmp.info-6: 243602 -gmp.info-7: 293421 -gmp.info-8: 339239 +gmp.info-1: 901 +gmp.info-2: 50513 +gmp.info-3: 96238 +gmp.info-4: 145086 +gmp.info-5: 193034 +gmp.info-6: 237876 +gmp.info-7: 287671 +gmp.info-8: 321773 +gmp.info-9: 354599  Tag Table: (Indirect) -Node: Top899 -Node: Copying3069 -Node: Introduction to GMP4925 -Node: Installing GMP7429 -Node: Build Options8126 -Node: ABI and ISA23675 -Node: Notes for Package Builds29292 -Node: Notes for Particular Systems31331 -Node: Known Build Problems36150 -Node: GMP Basics40899 -Node: Headers and Libraries41509 -Node: Nomenclature and Types43027 -Node: Function Classes44079 -Node: Variable Conventions45517 -Node: Parameter Conventions47121 -Node: Memory Management49177 -Node: Reentrancy50300 -Node: Useful Macros and Constants52103 -Node: Compatibility with older versions52867 -Node: Efficiency53811 -Node: Debugging61456 -Node: Profiling67180 -Node: Autoconf68802 -Node: Reporting Bugs71435 -Node: Integer Functions73964 -Node: Initializing Integers74709 -Node: Assigning Integers78408 -Node: Simultaneous Integer Init & Assign80343 -Node: Converting Integers81959 -Node: Integer Arithmetic84363 -Node: Integer Division85942 -Node: Integer Exponentiation91781 -Node: Integer Roots92620 -Node: Number Theoretic Functions94075 -Node: Integer Comparisons100058 -Node: Integer Logic and Bit Fiddling101342 -Node: I/O of Integers103811 -Node: Integer Random Numbers106285 -Node: Integer Import and Export108896 -Node: Miscellaneous Integer Functions112514 -Node: Rational Number Functions114219 -Node: Initializing Rationals115410 -Node: Rational Conversions117606 -Node: Rational Arithmetic118927 -Node: Comparing Rationals120246 -Node: Applying Integer Functions121600 -Node: I/O of Rationals123072 -Node: Floating-point Functions124925 -Node: Initializing Floats127367 -Node: Assigning Floats131056 -Node: Simultaneous Float Init & Assign133390 -Node: Converting Floats134909 -Node: Float Arithmetic137223 -Node: Float Comparison139243 -Node: I/O of Floats140578 -Node: Miscellaneous Float Functions142894 -Node: Low-level Functions144763 -Node: Random Number Functions165785 -Node: Random State Initialization166821 -Node: Random State Seeding169125 -Node: Formatted Output170469 -Node: Formatted Output Strings170708 -Node: Formatted Output Functions175457 -Node: C++ Formatted Output179438 -Node: Formatted Input181934 -Node: Formatted Input Strings182164 -Node: Formatted Input Functions186473 -Node: C++ Formatted Input188499 -Node: C++ Class Interface189785 -Node: C++ Interface General190806 -Node: C++ Interface Integers193745 -Node: C++ Interface Rationals196904 -Node: C++ Interface Floats200276 -Node: C++ Interface MPFR203446 -Node: C++ Interface Random Numbers204028 -Node: C++ Interface Limitations206429 -Node: BSD Compatible Functions209245 -Node: Custom Allocation213707 -Node: Language Bindings217476 -Node: Algorithms220625 -Node: Multiplication Algorithms221323 -Node: Basecase Multiplication222359 -Node: Karatsuba Multiplication224239 -Node: Toom-Cook 3-Way Multiplication227699 -Node: FFT Multiplication235454 -Node: Other Multiplication240783 -Node: Division Algorithms243265 -Node: Single Limb Division243602 -Node: Basecase Division246510 -Node: Divide and Conquer Division247702 -Node: Exact Division249924 -Node: Exact Remainder253096 -Node: Small Quotient Division255358 -Node: Greatest Common Divisor Algorithms256945 -Node: Binary GCD257208 -Node: Accelerated GCD258695 -Node: Extended GCD260481 -Node: Jacobi Symbol262139 -Node: Powering Algorithms263044 -Node: Normal Powering Algorithm263297 -Node: Modular Powering Algorithm263814 -Node: Root Extraction Algorithms264866 -Node: Square Root Algorithm265171 -Node: Nth Root Algorithm266138 -Node: Perfect Square Algorithm266912 -Node: Perfect Power Algorithm267908 -Node: Radix Conversion Algorithms268520 -Node: Binary to Radix268889 -Node: Radix to Binary272806 -Node: Other Algorithms274726 -Node: Factorial Algorithm275012 -Node: Binomial Coefficients Algorithm276354 -Node: Fibonacci Numbers Algorithm277679 -Node: Lucas Numbers Algorithm280152 -Node: Assembler Coding280829 -Node: Assembler Code Organisation281737 -Node: Assembler Basics282342 -Node: Assembler Carry Propagation283424 -Node: Assembler Cache Handling285249 -Node: Assembler Floating Point287402 -Node: Assembler SIMD Instructions291185 -Node: Assembler Software Pipelining292162 -Node: Assembler Loop Unrolling293421 -Node: Internals295799 -Node: Integer Internals296308 -Node: Rational Internals298324 -Node: Float Internals299555 -Node: Raw Output Internals306652 -Node: C++ Interface Internals307836 -Node: Contributors311149 -Node: References314912 -Node: GNU Free Documentation License319351 -Node: Concept Index339239 -Node: Function Index351981 +Node: Top901 +Node: Copying3073 +Node: Introduction to GMP4929 +Node: Installing GMP7688 +Node: Build Options8385 +Node: ABI and ISA23691 +Node: Notes for Package Builds29136 +Node: Notes for Particular Systems31175 +Node: Known Build Problems36278 +Node: GMP Basics41075 +Node: Headers and Libraries41722 +Node: Nomenclature and Types43240 +Node: Function Classes44292 +Node: Variable Conventions45730 +Node: Parameter Conventions47334 +Node: Memory Management49390 +Node: Reentrancy50513 +Node: Useful Macros and Constants52316 +Node: Compatibility with older versions53082 +Node: Demonstration Programs54038 +Node: Efficiency55300 +Node: Debugging62934 +Node: Profiling68660 +Node: Autoconf70282 +Node: Emacs72929 +Node: Reporting Bugs73598 +Node: Integer Functions76127 +Node: Initializing Integers76872 +Node: Assigning Integers80571 +Node: Simultaneous Integer Init & Assign82506 +Node: Converting Integers84122 +Node: Integer Arithmetic86526 +Node: Integer Division88105 +Node: Integer Exponentiation93944 +Node: Integer Roots94783 +Node: Number Theoretic Functions96238 +Node: Integer Comparisons102250 +Node: Integer Logic and Bit Fiddling103534 +Node: I/O of Integers106003 +Node: Integer Random Numbers108477 +Node: Integer Import and Export111088 +Node: Miscellaneous Integer Functions114706 +Node: Rational Number Functions116411 +Node: Initializing Rationals117602 +Node: Rational Conversions119798 +Node: Rational Arithmetic121119 +Node: Comparing Rationals122438 +Node: Applying Integer Functions123792 +Node: I/O of Rationals125264 +Node: Floating-point Functions127117 +Node: Initializing Floats129559 +Node: Assigning Floats133248 +Node: Simultaneous Float Init & Assign135582 +Node: Converting Floats137101 +Node: Float Arithmetic139415 +Node: Float Comparison141435 +Node: I/O of Floats142770 +Node: Miscellaneous Float Functions145086 +Node: Low-level Functions146955 +Node: Random Number Functions168016 +Node: Random State Initialization169052 +Node: Random State Seeding171356 +Node: Formatted Output172700 +Node: Formatted Output Strings172939 +Node: Formatted Output Functions177688 +Node: C++ Formatted Output181669 +Node: Formatted Input184165 +Node: Formatted Input Strings184395 +Node: Formatted Input Functions188701 +Node: C++ Formatted Input190727 +Node: C++ Class Interface192013 +Node: C++ Interface General193034 +Node: C++ Interface Integers196098 +Node: C++ Interface Rationals199257 +Node: C++ Interface Floats202629 +Node: C++ Interface MPFR205799 +Node: C++ Interface Random Numbers206381 +Node: C++ Interface Limitations208782 +Node: BSD Compatible Functions211598 +Node: Custom Allocation216060 +Node: Language Bindings219829 +Node: Algorithms223047 +Node: Multiplication Algorithms223745 +Node: Basecase Multiplication224781 +Node: Karatsuba Multiplication226661 +Node: Toom-Cook 3-Way Multiplication230121 +Node: FFT Multiplication237876 +Node: Other Multiplication243205 +Node: Division Algorithms245687 +Node: Single Limb Division246024 +Node: Basecase Division248932 +Node: Divide and Conquer Division250124 +Node: Exact Division252346 +Node: Exact Remainder255518 +Node: Small Quotient Division257780 +Node: Greatest Common Divisor Algorithms259367 +Node: Binary GCD259630 +Node: Accelerated GCD261117 +Node: Extended GCD262903 +Node: Jacobi Symbol264561 +Node: Powering Algorithms265466 +Node: Normal Powering Algorithm265719 +Node: Modular Powering Algorithm266236 +Node: Root Extraction Algorithms267288 +Node: Square Root Algorithm267593 +Node: Nth Root Algorithm268560 +Node: Perfect Square Algorithm269334 +Node: Perfect Power Algorithm270330 +Node: Radix Conversion Algorithms270942 +Node: Binary to Radix271311 +Node: Radix to Binary275228 +Node: Other Algorithms277148 +Node: Factorial Algorithm277434 +Node: Binomial Coefficients Algorithm278776 +Node: Fibonacci Numbers Algorithm280101 +Node: Lucas Numbers Algorithm282574 +Node: Assembler Coding283251 +Node: Assembler Code Organisation284159 +Node: Assembler Basics284764 +Node: Assembler Carry Propagation285846 +Node: Assembler Cache Handling287671 +Node: Assembler Floating Point289824 +Node: Assembler SIMD Instructions293607 +Node: Assembler Software Pipelining294584 +Node: Assembler Loop Unrolling295843 +Node: Internals298221 +Node: Integer Internals298730 +Node: Rational Internals300746 +Node: Float Internals301977 +Node: Raw Output Internals309074 +Node: C++ Interface Internals310258 +Node: Contributors313571 +Node: References317334 +Node: GNU Free Documentation License321773 +Node: Concept Index341661 +Node: Function Index354599  End Tag Table diff -Naur gmp-4.1/gmp.info-1 gmp-4.1.1/gmp.info-1 --- gmp-4.1/gmp.info-1 Fri May 24 12:55:23 2002 +++ gmp-4.1.1/gmp.info-1 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -25,7 +25,7 @@ ****** This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -136,9 +136,14 @@ optimizations also for Cray vector systems, Clipper, IBM ROMP (RT), and Pyramid AP/XP. - There is a mailing list for GMP users. To join it, send a mail to - with the word `subscribe' in the message *body* -(not in the subject line). + There are two public mailing lists of interest. One for general +questions and discussions about usage of the GMP library and one for +discussions about development of GMP. There's more information about +the mailing lists at `http://swox.com/mailman/listinfo/'. These lists +are *not* for bug reports. + + The proper place for bug reports is . See *Note +Reporting Bugs:: for info about reporting bugs. For up-to-date information on GMP, please see the GMP web pages at @@ -226,7 +231,7 @@ directory. For example cd /my/build/dir - /my/sources/gmp-4.1/configure + /my/sources/gmp-4.1.1/configure Not all `make' programs have the necessary features (`VPATH') to support this. In particular, SunOS and Slowaris `make' have bugs @@ -524,14 +529,6 @@ special requirements can specify a different path. Normally this is completely unnecessary. -Demonstration Programs - The `demos' subdirectory has some sample programs using GMP. These - aren't built or installed, but there's a `Makefile' with rules for - them. For instance, - - make pexpr - ./pexpr 68^975+10 - Documentation The document you're now reading is `gmp.texi'. The usual automake targets are available to make PostScript `gmp.ps' and/or DVI @@ -640,22 +637,16 @@ and the MIPS 2 code. -PowerPC 64 (`powerpc64*') +PowerPC 64 (`powerpc64', `powerpc620', `powerpc630') `ABI=aix64' The AIX 64 ABI uses 64-bit limbs and pointers and is - available on systems `powerpc64*-*-aix*'. Applications must - be compiled (and linked) with + available on systems `*-*-aix*'. Applications must be + compiled (and linked) with gcc -maix64 xlc -q64 - `ABI=32L' - This uses the 32-bit ABI but a 64-bit limb using GCC `long - long' in 64-bit registers. Applications must be compiled with - - gcc -mpowerpc64 - `ABI=32' This is the basic 32-bit PowerPC ABI. No special compiler options are needed for applications. @@ -775,10 +766,21 @@ used when building a DLL, since libtool doesn't currently support C++ DLLs. This might change in the future. - GCC is recommended for compiling GMP, but the resulting DLL can be - used with any compiler. On mingw only the standard Windows - libraries will be needed, on Cygwin the usual cygwin runtime will - be required. +Microsoft C + A MINGW DLL build of GMP can be used with Microsoft C. Libtool + doesn't install `.lib' and `.exp' files, but they can be created + with the following commands, where `/my/inst/dir' is the install + directory (with a `lib' subdirectory). + + lib /machine:IX86 /def:_libs/libgmp-3.dll-def + cp libgmp-3.lib /my/inst/dir/lib + cp _libs/libgmp-3.dll-exp /my/inst/dir/lib/libgmp-3.exp + + MINGW uses `msvcrt.dll' for I/O, so applications wanting to use + the GMP I/O routines must be compiled with `cl /MD' to do the + same. If one of the other I/O choices provided by MS C is desired + then the suggestion is to use the GMP string functions and confine + I/O to the application. Motorola 68k CPU Types `m68k' is taken to mean 68000. `m68020' or higher will give a @@ -843,11 +845,6 @@ MMX code. Install a recent `gas' if MMX code is wanted on these systems. -x86 GCC `-march=pentiumpro' - GCC 2.95.2 and 2.95.3 miscompiled some versions of `mpz/powm.c' - when `-march=pentiumpro' was used, so for relevant CPUs that - option is only in the default `CFLAGS' for GCC 2.95.4 and up. -  File: gmp.info, Node: Known Build Problems, Prev: Notes for Particular Systems, Up: Installing GMP @@ -867,11 +864,11 @@ into the various subdirectories uses up memory. `DESTDIR' and shared `libgmpxx' - `make install DESTDIR=/my/staging/area' or the same with a `prefix' - override to install to a temporary directory is not fully - supported by current versions of libtool when building a shared - version of a library which depends on another being built at the - same time, like `libgmpxx' and `libgmp'. + `make install DESTDIR=/my/staging/area', or the same with a + `prefix' override, to install to a temporary directory is not + fully supported by current versions of libtool when building a + shared version of a library which depends on another being built + at the same time, like `libgmpxx' and `libgmp'. The problem is that `libgmpxx' is relinked at the install stage to ensure that if the system puts a hard-coded path to `libgmp' within @@ -880,32 +877,23 @@ so if `libgmp' is not already in that final location then the link will fail. - On systems which don't hard-code library paths, for instance SVR4 - style systems such as GNU/Linux, a workaround is to insert a - suitable `-L' in the `relink_command' of `libgmpxx.la' after - building but before installing. This can be automated with - something like - - sed '/^relink_command/s:libgmp.la:-L /my/staging/area libgmp.la:' \ - libgmpxx.new - mv libgmpxx.new libgmpxx.la - -GNU binutils `strip' - GNU binutils `strip' should not be used on the static libraries - `libgmp.a' and `libmp.a', neither directly nor via `make - install-strip'. It can be used on the shared libraries - `libgmp.so' and `libmp.so' though. - - Currently (binutils 2.10.0), `strip' unpacks an archive then - operates on the files, but GMP contains multiple object files of - the same name (eg. three versions of `init.o'), and they overwrite - each other, leaving only the one that happens to be last. - - If stripped static libraries are wanted, the suggested workaround - is to build normally, strip the separate object files, and do - another `make all' to rebuild. Alternately `CFLAGS' with `-g' - omitted can always be used if it's just debugging which is - unwanted. + A workaround for this on SVR4 style systems, such as GNU/Linux, + where paths are not hard-coded, is to include the staging area in + the linker's search using `LD_LIBRARY_PATH'. For example with + `--prefix=/usr' but installing under `/my/staging/area', + + LD_LIBRARY_PATH=/my/staging/area/usr/lib \ + make install DESTDIR=/my/staging/area + +GNU binutils `strip' prior to 2.12 + `strip' from GNU binutils 2.11 and earlier should not be used on + the static libraries `libgmp.a' and `libmp.a' since it will + discard all but the last of multiple archive members with the same + name, like the three versions of `init.o' in `libgmp.a'. Binutils + 2.12 or higher can be used successfully. + + The shared libraries `libgmp.so' and `libmp.so' are not affected by + this and any version of `strip' can be used on them. `make' syntax error On certain versions of SCO OpenServer 5 and IRIX 6.5 the native @@ -920,6 +908,16 @@ initial build work, but if any recompiling is done `libgmp.la' might not be rebuilt). +MacOS X and GCC + Libtool currently only knows how to create shared libraries on + MacOS X using the native `cc' (which is a modified GCC), not a + plain GCC. A static-only build should work though + (`--disable-shared'). + + Also, libtool currently cannot build C++ shared libraries on MacOS + X, so if `--enable-cxx' is desired then `--disable-shared' must be + used. Hopefully this will be fixed in the future. + NeXT prior to 3.3 The system compiler on old versions of NeXT was a massacred and old GCC, even if it called itself `cc'. This compiler cannot be @@ -976,10 +974,12 @@ * Reentrancy:: * Useful Macros and Constants:: * Compatibility with older versions:: +* Demonstration Programs:: * Efficiency:: * Debugging:: * Profiling:: * Autoconf:: +* Emacs::  File: gmp.info, Node: Headers and Libraries, Next: Nomenclature and Types, Prev: GMP Basics, Up: GMP Basics diff -Naur gmp-4.1/gmp.info-2 gmp-4.1.1/gmp.info-2 --- gmp-4.1/gmp.info-2 Fri May 24 12:55:23 2002 +++ gmp-4.1.1/gmp.info-2 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -79,10 +79,10 @@ - Global Constant: const char * const gmp_version The GMP version number, as a null-terminated string, in the form - "i.j" or "i.j.k". This release is "4.1". + "i.j" or "i.j.k". This release is "4.1.1".  -File: gmp.info, Node: Compatibility with older versions, Next: Efficiency, Prev: Useful Macros and Constants, Up: GMP Basics +File: gmp.info, Node: Compatibility with older versions, Next: Demonstration Programs, Prev: Useful Macros and Constants, Up: GMP Basics Compatibility with older versions ================================= @@ -105,7 +105,46 @@ Functions::) is source and binary compatible with the standard `libmp'.  -File: gmp.info, Node: Efficiency, Next: Debugging, Prev: Compatibility with older versions, Up: GMP Basics +File: gmp.info, Node: Demonstration Programs, Next: Efficiency, Prev: Compatibility with older versions, Up: GMP Basics + +Demonstration programs +====================== + + The `demos' subdirectory has some sample programs using GMP. These +aren't built or installed, but there's a `Makefile' with rules for them. +For instance, + + make pexpr + ./pexpr 68^975+10 + +The following programs are provided + + * `pexpr' is an expression evaluator, the program used on the GMP + web page. + + * The `calc' subdirectory has a similar but simpler evaluator using + `lex' and `yacc'. + + * The `expr' subdirectory is yet another expression evaluator, a + library designed for ease of use within a C program. See + `demos/expr/README' for more information. + + * `factorize' is a Pollard-Rho factorization program. + + * `isprime' is a command-line interface to the `mpz_probab_prime_p' + function. + + * `primes' counts or lists primes in an interval, using a sieve. + + * `qcn' is an example use of `mpz_kronecker_ui' to estimate quadratic + class numbers. + + * The `perl' subdirectory is a comprehensive perl interface to GMP. + See `demos/perl/INSTALL' for more information. Documentation is + in POD format in `demos/perl/GMP.pm'. + + +File: gmp.info, Node: Efficiency, Next: Debugging, Prev: Demonstration Programs, Up: GMP Basics Efficiency ========== @@ -330,7 +369,7 @@ absolute path to the source directory. cd /my/build/dir - /my/source/dir/gmp-4.1/configure + /my/source/dir/gmp-4.1.1/configure This works via `VPATH', and might require GNU `make'. Alternately it might be possible to change the `.c.lo' rules appropriately. @@ -429,7 +468,7 @@ expected to be valid, not the `gprof -q' call graph.  -File: gmp.info, Node: Autoconf, Prev: Profiling, Up: GMP Basics +File: gmp.info, Node: Autoconf, Next: Emacs, Prev: Profiling, Up: GMP Basics Autoconf ======== @@ -493,6 +532,27 @@ See http://www.mpfr.org or http://swox.com/gmp])  +File: gmp.info, Node: Emacs, Prev: Autoconf, Up: GMP Basics + +Emacs +===== + + (`info-lookup-symbol') is a good way to find documentation +on C functions while editing (*note Info Documentation Lookup: +(emacs)Info Lookup.). + + The GMP manual can be included in such lookups by putting the +following in your `.emacs', + + (eval-after-load "info-look" + '(let ((mode-value (assoc 'c-mode (assoc 'symbol info-lookup-alist)))) + (setcar (nthcdr 3 mode-value) + (cons '("(gmp)Function Index" nil "^ -.* " "\\>") + (nth 3 mode-value))))) + + The same can be done for MPFR, with `(mpfr)' in place of `(gmp)'. + + File: gmp.info, Node: Reporting Bugs, Next: Integer Functions, Prev: GMP Basics, Up: Top Reporting Bugs @@ -1049,134 +1109,4 @@ Return non-zero if OP is a perfect square, i.e., if the square root of OP is an integer. Under this definition both 0 and 1 are considered to be perfect squares. - - -File: gmp.info, Node: Number Theoretic Functions, Next: Integer Comparisons, Prev: Integer Roots, Up: Integer Functions - -Number Theoretic Functions -========================== - - - Function: int mpz_probab_prime_p (mpz_t N, int REPS) - Determine whether N is prime. Return 2 if N is definitely prime, - return 1 if N is probably prime (without being certain), or return - 0 if N is definitely composite. - - This function does some trial divisions, then some Miller-Rabin - probabilistic primality tests. REPS controls how many such tests - are done, 5 to 10 is a reasonable number, more will reduce the - chances of a composite being returned as "probably prime". - - Miller-Rabin and similar tests can be more properly called - compositeness tests. Numbers which fail are known to be composite - but those which pass might be prime or might be composite. Only a - few composites pass, hence those which pass are considered - probably prime. - - - Function: void mpz_nextprime (mpz_t ROP, mpz_t OP) - Set ROP to the next prime greater than OP. - - This function uses a probabilistic algorithm to identify primes. - For practical purposes it's adequate, the chance of a composite - passing will be extremely small. - - - Function: void mpz_gcd (mpz_t ROP, mpz_t OP1, mpz_t OP2) - Set ROP to the greatest common divisor of OP1 and OP2. The result - is always positive even if one or both input operands are negative. - - - Function: unsigned long int mpz_gcd_ui (mpz_t ROP, mpz_t OP1, - unsigned long int OP2) - Compute the greatest common divisor of OP1 and OP2. If ROP is not - `NULL', store the result there. - - If the result is small enough to fit in an `unsigned long int', it - is returned. If the result does not fit, 0 is returned, and the - result is equal to the argument OP1. Note that the result will - always fit if OP2 is non-zero. - - - Function: void mpz_gcdext (mpz_t G, mpz_t S, mpz_t T, mpz_t A, mpz_t - B) - Set G to the greatest common divisor of A and B, and in addition - set S and T to coefficients satisfying A*S + B*T = G. G is always - positive, even if one or both of A and B are negative. - - If T is `NULL' then that value is not computed. - - - Function: void mpz_lcm (mpz_t ROP, mpz_t OP1, mpz_t OP2) - - Function: void mpz_lcm_ui (mpz_t ROP, mpz_t OP1, unsigned long OP2) - Set ROP to the least common multiple of OP1 and OP2. ROP is - always positive, irrespective of the signs of OP1 and OP2. ROP - will be zero if either OP1 or OP2 is zero. - - - Function: int mpz_invert (mpz_t ROP, mpz_t OP1, mpz_t OP2) - Compute the inverse of OP1 modulo OP2 and put the result in ROP. - If the inverse exists, the return value is non-zero and ROP will - satisfy 0 <= ROP < OP2. If an inverse doesn't exist the return - value is zero and ROP is undefined. - - - Function: int mpz_jacobi (mpz_t A, mpz_t B) - Calculate the Jacobi symbol (A/B). This is defined only for B odd. - - - Function: int mpz_legendre (mpz_t A, mpz_t P) - Calculate the Legendre symbol (A/P). This is defined only for P - an odd positive prime, and for such P it's identical to the Jacobi - symbol. - - - Function: int mpz_kronecker (mpz_t A, mpz_t B) - - Function: int mpz_kronecker_si (mpz_t A, long B) - - Function: int mpz_kronecker_ui (mpz_t A, unsigned long B) - - Function: int mpz_si_kronecker (long A, mpz_t B) - - Function: int mpz_ui_kronecker (unsigned long A, mpz_t B) - Calculate the Jacobi symbol (A/B) with the Kronecker extension - (a/2)=(2/a) when a odd, or (a/2)=0 when a even. - - When B is odd the Jacobi symbol and Kronecker symbol are - identical, so `mpz_kronecker_ui' etc can be used for mixed - precision Jacobi symbols too. - - For more information see Henri Cohen section 1.4.2 (*note - References::), or any number theory textbook. See also the - example program `demos/qcn.c' which uses `mpz_kronecker_ui'. - - - Function: unsigned long int mpz_remove (mpz_t ROP, mpz_t OP, mpz_t F) - Remove all occurrences of the factor F from OP and store the - result in ROP. Return the multiplicity of F in OP. - - - Function: void mpz_fac_ui (mpz_t ROP, unsigned long int OP) - Set ROP to OP!, the factorial of OP. - - - Function: void mpz_bin_ui (mpz_t ROP, mpz_t N, unsigned long int K) - - Function: void mpz_bin_uiui (mpz_t ROP, unsigned long int N, - unsigned long int K) - Compute the binomial coefficient N over K and store the result in - ROP. Negative values of N are supported by `mpz_bin_ui', using - the identity bin(-n,k) = (-1)^k * bin(n+k-1,k), see Knuth volume 1 - section 1.2.6 part G. - - - Function: void mpz_fib_ui (mpz_t FN, unsigned long int N) - - Function: void mpz_fib2_ui (mpz_t FN, mpz_t FNSUB1, unsigned long - int N) - `mpz_fib_ui' sets FN to to F[n], the N'th Fibonacci number. - `mpz_fib2_ui' sets FN to F[n], and FNSUB1 to F[n-1]. - - These functions are designed for calculating isolated Fibonacci - numbers. When a sequence of values is wanted it's best to start - with `mpz_fib2_ui' and iterate the defining F[n+1]=F[n]+F[n-1] or - similar. - - - Function: void mpz_lucnum_ui (mpz_t LN, unsigned long int N) - - Function: void mpz_lucnum2_ui (mpz_t LN, mpz_t LNSUB1, unsigned long - int N) - `mpz_lucnum_ui' sets LN to to L[n], the N'th Lucas number. - `mpz_lucnum2_ui' sets LN to L[n], and LNSUB1 to L[n-1]. - - These functions are designed for calculating isolated Lucas - numbers. When a sequence of values is wanted it's best to start - with `mpz_lucnum2_ui' and iterate the defining L[n+1]=L[n]+L[n-1] - or similar. - - The Fibonacci numbers and Lucas numbers are related sequences, so - it's never necessary to call both `mpz_fib2_ui' and - `mpz_lucnum2_ui'. The formulas for going from Fibonacci to Lucas - can be found in *Note Lucas Numbers Algorithm::, the reverse is - straightforward too. diff -Naur gmp-4.1/gmp.info-3 gmp-4.1.1/gmp.info-3 --- gmp-4.1/gmp.info-3 Fri May 24 12:55:23 2002 +++ gmp-4.1.1/gmp.info-3 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -19,6 +19,137 @@ END-INFO-DIR-ENTRY  +File: gmp.info, Node: Number Theoretic Functions, Next: Integer Comparisons, Prev: Integer Roots, Up: Integer Functions + +Number Theoretic Functions +========================== + + - Function: int mpz_probab_prime_p (mpz_t N, int REPS) + Determine whether N is prime. Return 2 if N is definitely prime, + return 1 if N is probably prime (without being certain), or return + 0 if N is definitely composite. + + This function does some trial divisions, then some Miller-Rabin + probabilistic primality tests. REPS controls how many such tests + are done, 5 to 10 is a reasonable number, more will reduce the + chances of a composite being returned as "probably prime". + + Miller-Rabin and similar tests can be more properly called + compositeness tests. Numbers which fail are known to be composite + but those which pass might be prime or might be composite. Only a + few composites pass, hence those which pass are considered + probably prime. + + - Function: void mpz_nextprime (mpz_t ROP, mpz_t OP) + Set ROP to the next prime greater than OP. + + This function uses a probabilistic algorithm to identify primes. + For practical purposes it's adequate, the chance of a composite + passing will be extremely small. + + - Function: void mpz_gcd (mpz_t ROP, mpz_t OP1, mpz_t OP2) + Set ROP to the greatest common divisor of OP1 and OP2. The result + is always positive even if one or both input operands are negative. + + - Function: unsigned long int mpz_gcd_ui (mpz_t ROP, mpz_t OP1, + unsigned long int OP2) + Compute the greatest common divisor of OP1 and OP2. If ROP is not + `NULL', store the result there. + + If the result is small enough to fit in an `unsigned long int', it + is returned. If the result does not fit, 0 is returned, and the + result is equal to the argument OP1. Note that the result will + always fit if OP2 is non-zero. + + - Function: void mpz_gcdext (mpz_t G, mpz_t S, mpz_t T, mpz_t A, mpz_t + B) + Set G to the greatest common divisor of A and B, and in addition + set S and T to coefficients satisfying A*S + B*T = G. G is always + positive, even if one or both of A and B are negative. + + If T is `NULL' then that value is not computed. + + - Function: void mpz_lcm (mpz_t ROP, mpz_t OP1, mpz_t OP2) + - Function: void mpz_lcm_ui (mpz_t ROP, mpz_t OP1, unsigned long OP2) + Set ROP to the least common multiple of OP1 and OP2. ROP is + always positive, irrespective of the signs of OP1 and OP2. ROP + will be zero if either OP1 or OP2 is zero. + + - Function: int mpz_invert (mpz_t ROP, mpz_t OP1, mpz_t OP2) + Compute the inverse of OP1 modulo OP2 and put the result in ROP. + If the inverse exists, the return value is non-zero and ROP will + satisfy 0 <= ROP < OP2. If an inverse doesn't exist the return + value is zero and ROP is undefined. + + - Function: int mpz_jacobi (mpz_t A, mpz_t B) + Calculate the Jacobi symbol (A/B). This is defined only for B odd. + + - Function: int mpz_legendre (mpz_t A, mpz_t P) + Calculate the Legendre symbol (A/P). This is defined only for P + an odd positive prime, and for such P it's identical to the Jacobi + symbol. + + - Function: int mpz_kronecker (mpz_t A, mpz_t B) + - Function: int mpz_kronecker_si (mpz_t A, long B) + - Function: int mpz_kronecker_ui (mpz_t A, unsigned long B) + - Function: int mpz_si_kronecker (long A, mpz_t B) + - Function: int mpz_ui_kronecker (unsigned long A, mpz_t B) + Calculate the Jacobi symbol (A/B) with the Kronecker extension + (a/2)=(2/a) when a odd, or (a/2)=0 when a even. + + When B is odd the Jacobi symbol and Kronecker symbol are + identical, so `mpz_kronecker_ui' etc can be used for mixed + precision Jacobi symbols too. + + For more information see Henri Cohen section 1.4.2 (*note + References::), or any number theory textbook. See also the + example program `demos/qcn.c' which uses `mpz_kronecker_ui'. + + - Function: unsigned long int mpz_remove (mpz_t ROP, mpz_t OP, mpz_t F) + Remove all occurrences of the factor F from OP and store the + result in ROP. The return value is how many such occurrences were + removed. + + - Function: void mpz_fac_ui (mpz_t ROP, unsigned long int OP) + Set ROP to OP!, the factorial of OP. + + - Function: void mpz_bin_ui (mpz_t ROP, mpz_t N, unsigned long int K) + - Function: void mpz_bin_uiui (mpz_t ROP, unsigned long int N, + unsigned long int K) + Compute the binomial coefficient N over K and store the result in + ROP. Negative values of N are supported by `mpz_bin_ui', using + the identity bin(-n,k) = (-1)^k * bin(n+k-1,k), see Knuth volume 1 + section 1.2.6 part G. + + - Function: void mpz_fib_ui (mpz_t FN, unsigned long int N) + - Function: void mpz_fib2_ui (mpz_t FN, mpz_t FNSUB1, unsigned long + int N) + `mpz_fib_ui' sets FN to to F[n], the N'th Fibonacci number. + `mpz_fib2_ui' sets FN to F[n], and FNSUB1 to F[n-1]. + + These functions are designed for calculating isolated Fibonacci + numbers. When a sequence of values is wanted it's best to start + with `mpz_fib2_ui' and iterate the defining F[n+1]=F[n]+F[n-1] or + similar. + + - Function: void mpz_lucnum_ui (mpz_t LN, unsigned long int N) + - Function: void mpz_lucnum2_ui (mpz_t LN, mpz_t LNSUB1, unsigned long + int N) + `mpz_lucnum_ui' sets LN to to L[n], the N'th Lucas number. + `mpz_lucnum2_ui' sets LN to L[n], and LNSUB1 to L[n-1]. + + These functions are designed for calculating isolated Lucas + numbers. When a sequence of values is wanted it's best to start + with `mpz_lucnum2_ui' and iterate the defining L[n+1]=L[n]+L[n-1] + or similar. + + The Fibonacci numbers and Lucas numbers are related sequences, so + it's never necessary to call both `mpz_fib2_ui' and + `mpz_lucnum2_ui'. The formulas for going from Fibonacci to Lucas + can be found in *Note Lucas Numbers Algorithm::, the reverse is + straightforward too. + + File: gmp.info, Node: Integer Comparisons, Next: Integer Logic and Bit Fiddling, Prev: Number Theoretic Functions, Up: Integer Functions Comparison Functions @@ -850,7 +981,7 @@ - Function: double mpf_get_d (mpf_t OP) Convert OP to a `double'. - - Function: double mpf_get_d_2exp (signed long int EXP, mpf_t OP) + - Function: double mpf_get_d_2exp (signed long int *EXP, mpf_t OP) Find D and EXP such that D times 2 raised to EXP, with 0.5<=abs(D)<1, is a good approximation to OP. This is similar to the standard C function `frexp'. @@ -877,7 +1008,7 @@ `strlen(str)+1' bytes, that being exactly enough for the string and null-terminator. - If STR is not `NULL', it should point to a block of N\_DIGITS + 2 + If STR is not `NULL', it should point to a block of N_DIGITS + 2 bytes, that being enough for the mantissa, a possible minus sign, and a null-terminator. When N_DIGITS is 0 to get all significant digits, an application won't be able to know the space required, @@ -1031,48 +1162,4 @@ This is so that numbers like `0.23' are not interpreted as octal. Return the number of bytes read, or if an error occurred, return 0. - - -File: gmp.info, Node: Miscellaneous Float Functions, Prev: I/O of Floats, Up: Floating-point Functions - -Miscellaneous Functions -======================= - - - Function: void mpf_ceil (mpf_t ROP, mpf_t OP) - - Function: void mpf_floor (mpf_t ROP, mpf_t OP) - - Function: void mpf_trunc (mpf_t ROP, mpf_t OP) - Set ROP to OP rounded to an integer. `mpf_ceil' rounds to the - next higher integer, `mpf_floor' to the next lower, and `mpf_trunc' - to the integer towards zero. - - - Function: int mpf_integer_p (mpf_t OP) - Return non-zero if OP is an integer. - - - Function: int mpf_fits_ulong_p (mpf_t OP) - - Function: int mpf_fits_slong_p (mpf_t OP) - - Function: int mpf_fits_uint_p (mpf_t OP) - - Function: int mpf_fits_sint_p (mpf_t OP) - - Function: int mpf_fits_ushort_p (mpf_t OP) - - Function: int mpf_fits_sshort_p (mpf_t OP) - Return non-zero if OP would fit in the respective C data type, when - truncated to an integer. - - - Function: void mpf_urandomb (mpf_t ROP, gmp_randstate_t STATE, - unsigned long int NBITS) - Generate a uniformly distributed random float in ROP, such that 0 - <= ROP < 1, with NBITS significant bits in the mantissa. - - The variable STATE must be initialized by calling one of the - `gmp_randinit' functions (*Note Random State Initialization::) - before invoking this function. - - - Function: void mpf_random2 (mpf_t ROP, mp_size_t MAX_SIZE, mp_exp_t - EXP) - Generate a random float of at most MAX_SIZE limbs, with long - strings of zeros and ones in the binary representation. The - exponent of the number is in the interval -EXP to EXP. This - function is useful for testing functions and algorithms, since - this kind of random numbers have proven to be more likely to - trigger corner-case bugs. Negative random numbers are generated - when MAX_SIZE is negative. diff -Naur gmp-4.1/gmp.info-4 gmp-4.1.1/gmp.info-4 --- gmp-4.1/gmp.info-4 Fri May 24 12:55:23 2002 +++ gmp-4.1.1/gmp.info-4 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -19,6 +19,50 @@ END-INFO-DIR-ENTRY  +File: gmp.info, Node: Miscellaneous Float Functions, Prev: I/O of Floats, Up: Floating-point Functions + +Miscellaneous Functions +======================= + + - Function: void mpf_ceil (mpf_t ROP, mpf_t OP) + - Function: void mpf_floor (mpf_t ROP, mpf_t OP) + - Function: void mpf_trunc (mpf_t ROP, mpf_t OP) + Set ROP to OP rounded to an integer. `mpf_ceil' rounds to the + next higher integer, `mpf_floor' to the next lower, and `mpf_trunc' + to the integer towards zero. + + - Function: int mpf_integer_p (mpf_t OP) + Return non-zero if OP is an integer. + + - Function: int mpf_fits_ulong_p (mpf_t OP) + - Function: int mpf_fits_slong_p (mpf_t OP) + - Function: int mpf_fits_uint_p (mpf_t OP) + - Function: int mpf_fits_sint_p (mpf_t OP) + - Function: int mpf_fits_ushort_p (mpf_t OP) + - Function: int mpf_fits_sshort_p (mpf_t OP) + Return non-zero if OP would fit in the respective C data type, when + truncated to an integer. + + - Function: void mpf_urandomb (mpf_t ROP, gmp_randstate_t STATE, + unsigned long int NBITS) + Generate a uniformly distributed random float in ROP, such that 0 + <= ROP < 1, with NBITS significant bits in the mantissa. + + The variable STATE must be initialized by calling one of the + `gmp_randinit' functions (*Note Random State Initialization::) + before invoking this function. + + - Function: void mpf_random2 (mpf_t ROP, mp_size_t MAX_SIZE, mp_exp_t + EXP) + Generate a random float of at most MAX_SIZE limbs, with long + strings of zeros and ones in the binary representation. The + exponent of the number is in the interval -EXP to EXP. This + function is useful for testing functions and algorithms, since + this kind of random numbers have proven to be more likely to + trigger corner-case bugs. Negative random numbers are generated + when MAX_SIZE is negative. + + File: gmp.info, Node: Low-level Functions, Next: Random Number Functions, Prev: Floating-point Functions, Up: Top Low-level Functions @@ -356,7 +400,7 @@ BASE, and return the number of characters produced. There may be leading zeros in the string. The string is not in ASCII; to convert it to printable format, add the ASCII codes for `0' or - `A', depending on the base and range. + `A', depending on the base and range. BASE can vary from 2 to 256. The most significant limb of the input {S1P, S1N} must be non-zero. The input {S1P, S1N} is clobbered, except when BASE is @@ -365,8 +409,8 @@ The area at STR has to have space for the largest possible number represented by a S1N long limb array, plus one extra character. - - Function: mp_size_t mpn_set_str (mp_limb_t *RP, const char *STR, - size_t STRSIZE, int BASE) + - Function: mp_size_t mpn_set_str (mp_limb_t *RP, const unsigned char + *STR, size_t STRSIZE, int BASE) Convert bytes {STR,STRSIZE} in the given BASE to limbs at RP. STR[0] is the most significant byte and STR[STRSIZE-1] is the @@ -545,7 +589,7 @@ Initialize STATE for a linear congruential algorithm as per `gmp_randinit_lc_2exp'. A, C and M2EXP are selected from a table, chosen so that SIZE bits (or more) of each X will be used, ie. - M2EXP >= SIZE/2. + M2EXP/2 >= SIZE. If successful the return value is non-zero. If SIZE is bigger than the table data provides then the return value is zero. The @@ -965,7 +1009,7 @@ d decimal integer e E f g G float i integer with base indicator - n characters written so far + n characters read so far o octal integer p pointer s string of non-whitespace characters @@ -1124,90 +1168,4 @@ * C++ Interface MPFR:: * C++ Interface Random Numbers:: * C++ Interface Limitations:: - - -File: gmp.info, Node: C++ Interface General, Next: C++ Interface Integers, Prev: C++ Class Interface, Up: C++ Class Interface - -C++ Interface General -===================== - -All the C++ classes and functions are available with - - #include - -The classes defined are - - - Class: mpz_class - - Class: mpq_class - - Class: mpf_class - - The standard operators and various standard functions are overloaded -to allow arithmetic with these classes. For example, - - int - main (void) - { - mpz_class a, b, c; - - a = 1234; - b = "-5678"; - c = a+b; - cout << "sum is " << c << "\n"; - cout << "absolute value is " << abs(c) << "\n"; - - return 0; - } - - An important feature of the implementation is that an expression like -`a=b+c' results in a single call to the corresponding `mpz_add', -without using a temporary for the `b+c' part. Expressions which by -their nature imply intermediate values, like `a=b*c+d*e', still use -temporaries though. - - The classes can be freely intermixed in expressions, as can the -classes and the standard types `long', `unsigned long' and `double'. -Smaller types like `int' or `float' can also be intermixed, since C++ -will promote them. - - Note that `bool' is not accepted directly, but must be explicitly -cast to an `int' first. This is because C++ will automatically convert -any pointer to a `bool', so if GMP accepted `bool' it would make all -sorts of invalid class and pointer combinations compile but almost -certainly not do anything sensible. - - Conversions back from the classes to standard C++ types aren't done -automatically, instead member functions like `get_si' are provided (see -the following sections for details). - - Also there are no automatic conversions from the classes to the -corresponding GMP C types, instead a reference to the underlying C -object can be obtained with the following functions, - - - Function: mpz_t mpz_class::get_mpz_t () - - Function: mpq_t mpq_class::get_mpq_t () - - Function: mpf_t mpf_class::get_mpf_t () - - These can be used to call a C function which doesn't have a C++ class -interface. For example to set `a' to the GCD of `b' and `c', - - mpz_class a, b, c; - ... - mpz_gcd (a.get_mpz_t(), b.get_mpz_t(), c.get_mpz_t()); - - In the other direction, a class can be initialized from the -corresponding GMP C type, or assigned to if an explicit constructor is -used. In both cases this makes a copy of the value, it doesn't create -any sort of association. For example, - - mpz_t z; - // ... init and calculate z ... - mpz_class x(z); - mpz_class y; - y = mpz_class (z); - - There are no namespace setups in `gmpxx.h', all types and functions -are simply put into the global namespace. This is what `gmp.h' has -done in the past, and continues to do for compatibility. The extras -provided by `gmpxx.h' follow GMP naming conventions and are unlikely to -clash with anything. diff -Naur gmp-4.1/gmp.info-5 gmp-4.1.1/gmp.info-5 --- gmp-4.1/gmp.info-5 Fri May 24 12:55:23 2002 +++ gmp-4.1.1/gmp.info-5 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -19,6 +19,97 @@ END-INFO-DIR-ENTRY  +File: gmp.info, Node: C++ Interface General, Next: C++ Interface Integers, Prev: C++ Class Interface, Up: C++ Class Interface + +C++ Interface General +===================== + +All the C++ classes and functions are available with + + #include + + Programs should be linked with the `libgmpxx' and `libgmp' +libraries. For example, + + g++ mycxxprog.cc -lgmpxx -lgmp + +The classes defined are + + - Class: mpz_class + - Class: mpq_class + - Class: mpf_class + + The standard operators and various standard functions are overloaded +to allow arithmetic with these classes. For example, + + int + main (void) + { + mpz_class a, b, c; + + a = 1234; + b = "-5678"; + c = a+b; + cout << "sum is " << c << "\n"; + cout << "absolute value is " << abs(c) << "\n"; + + return 0; + } + + An important feature of the implementation is that an expression like +`a=b+c' results in a single call to the corresponding `mpz_add', +without using a temporary for the `b+c' part. Expressions which by +their nature imply intermediate values, like `a=b*c+d*e', still use +temporaries though. + + The classes can be freely intermixed in expressions, as can the +classes and the standard types `long', `unsigned long' and `double'. +Smaller types like `int' or `float' can also be intermixed, since C++ +will promote them. + + Note that `bool' is not accepted directly, but must be explicitly +cast to an `int' first. This is because C++ will automatically convert +any pointer to a `bool', so if GMP accepted `bool' it would make all +sorts of invalid class and pointer combinations compile but almost +certainly not do anything sensible. + + Conversions back from the classes to standard C++ types aren't done +automatically, instead member functions like `get_si' are provided (see +the following sections for details). + + Also there are no automatic conversions from the classes to the +corresponding GMP C types, instead a reference to the underlying C +object can be obtained with the following functions, + + - Function: mpz_t mpz_class::get_mpz_t () + - Function: mpq_t mpq_class::get_mpq_t () + - Function: mpf_t mpf_class::get_mpf_t () + + These can be used to call a C function which doesn't have a C++ class +interface. For example to set `a' to the GCD of `b' and `c', + + mpz_class a, b, c; + ... + mpz_gcd (a.get_mpz_t(), b.get_mpz_t(), c.get_mpz_t()); + + In the other direction, a class can be initialized from the +corresponding GMP C type, or assigned to if an explicit constructor is +used. In both cases this makes a copy of the value, it doesn't create +any sort of association. For example, + + mpz_t z; + // ... init and calculate z ... + mpz_class x(z); + mpz_class y; + y = mpz_class (z); + + There are no namespace setups in `gmpxx.h', all types and functions +are simply put into the global namespace. This is what `gmp.h' has +done in the past, and continues to do for compatibility. The extras +provided by `gmpxx.h' follow GMP naming conventions and are unlikely to +clash with anything. + + File: gmp.info, Node: C++ Interface Integers, Next: C++ Interface Rationals, Prev: C++ Interface General, Up: C++ Class Interface C++ Interface Integers @@ -604,6 +695,9 @@ * LiDIA `http://www.informatik.tu-darmstadt.de/TI/LiDIA' A C++ library for computational number theory. + * Linbox `http://www.linalg.org' + Sparse vectors and matrices. + * NTL `http://www.shoup.net/ntl' A C++ number theory library. @@ -630,7 +724,7 @@ Optionally provides an arbitrary precision `mpeval'. ML - * MLton compiler `http://www.sourcelight.com/MLton' + * MLton compiler `http://www.mlton.org' Oz * Mozart `http://www.mozart-oz.org' @@ -1048,169 +1142,4 @@ interpolation steps. The diagram shown for the 3-way is attractive, but again doesn't have to be implemented that way and for example with a bit of rearrangement just one division by 6 can be done. - - -File: gmp.info, Node: FFT Multiplication, Next: Other Multiplication, Prev: Toom-Cook 3-Way Multiplication, Up: Multiplication Algorithms - -FFT Multiplication ------------------- - - At large to very large sizes a Fermat style FFT multiplication is -used, following Scho"nhage and Strassen (*note References::). -Descriptions of FFTs in various forms can be found in many textbooks, -for instance Knuth section 4.3.3 part C or Lipson chapter IX. A brief -description of the form used in GMP is given here. - - The multiplication done is x*y mod 2^N+1, for a given N. A full -product x*y is obtained by choosing N>=bits(x)+bits(y) and padding x -and y with high zero limbs. The modular product is the native form for -the algorithm, so padding to get a full product is unavoidable. - - The algorithm follows a split, evaluate, pointwise multiply, -interpolate and combine similar to that described above for Karatsuba -and Toom-3. A k parameter controls the split, with an FFT-k splitting -into 2^k pieces of M=N/2^k bits each. N must be a multiple of -(2^k)*mp_bits_per_limb so the split falls on limb boundaries, avoiding -bit shifts in the split and combine stages. - - The evaluations, pointwise multiplications, and interpolation, are -all done modulo 2^N'+1 where N' is 2M+k+3 rounded up to a multiple of -2^k and of `mp_bits_per_limb'. The results of interpolation will be -the following negacyclic convolution of the input pieces, and the -choice of N' ensures these sums aren't truncated. - - --- - \ b - w[n] = / (-1) * x[i] * y[j] - --- - i+j==b*2^k+n - b=0,1 - - The points used for the evaluation are g^i for i=0 to 2^k-1 where -g=2^(2N'/2^k). g is a 2^k'th root of unity mod 2^N'+1, which produces -necessary cancellations at the interpolation stage, and it's also a -power of 2 so the fast fourier transforms used for the evaluation and -interpolation do only shifts, adds and negations. - - The pointwise multiplications are done modulo 2^N'+1 and either -recurse into a further FFT or use a plain multiplication (Toom-3, -Karatsuba or basecase), whichever is optimal at the size N'. The -interpolation is an inverse fast fourier transform. The resulting set -of sums of x[i]*y[j] are added at appropriate offsets to give the final -result. - - Squaring is the same, but x is the only input so it's one transform -at the evaluate stage and the pointwise multiplies are squares. The -interpolation is the same. - - For a mod 2^N+1 product, an FFT-k is an O(N^(k/(k-1))) algorithm, -the exponent representing 2^k recursed modular multiplies each -1/2^(k-1) the size of the original. Each successive k is an asymptotic -improvement, but overheads mean each is only faster at bigger and -bigger sizes. In the code, `MUL_FFT_TABLE' and `SQR_FFT_TABLE' are the -thresholds where each k is used. Each new k effectively swaps some -multiplying for some shifts, adds and overheads. - - A mod 2^N+1 product can be formed with a normal NxN->2N bit multiply -plus a subtraction, so an FFT and Toom-3 etc can be compared directly. -A k=4 FFT at O(N^1.333) can be expected to be the first faster than -Toom-3 at O(N^1.465). In practice this is what's found, with -`MUL_FFT_MODF_THRESHOLD' and `SQR_FFT_MODF_THRESHOLD' being between 300 -and 1000 limbs, depending on the CPU. So far it's been found that only -very large FFTs recurse into pointwise multiplies above these sizes. - - When an FFT is to give a full product, the change of N to 2N doesn't -alter the theoretical complexity for a given k, but for the purposes of -considering where an FFT might be first used it can be assumed that the -FFT is recursing into a normal multiply and that on that basis it's -doing 2^k recursed multiplies each 1/2^(k-2) the size of the inputs, -making it O(N^(k/(k-2))). This would mean k=7 at O(N^1.4) would be the -first FFT faster than Toom-3. In practice `MUL_FFT_THRESHOLD' and -`SQR_FFT_THRESHOLD' have been found to be in the k=8 range, somewhere -between 3000 and 10000 limbs. - - The way N is split into 2^k pieces and then 2M+k+3 is rounded up to -a multiple of 2^k and `mp_bits_per_limb' means that when -2^k>=mp_bits_per_limb the effective N is a multiple of 2^(2k-1) bits. -The +k+3 means some values of N just under such a multiple will be -rounded to the next. The complexity calculations above assume that a -favourable size is used, meaning one which isn't padded through -rounding, and it's also assumed that the extra +k+3 bits are negligible -at typical FFT sizes. - - The practical effect of the 2^(2k-1) constraint is to introduce a -step-effect into measured speeds. For example k=8 will round N up to a -multiple of 32768 bits, so for a 32-bit limb there'll be 512 limb -groups of sizes for which `mpn_mul_n' runs at the same speed. Or for -k=9 groups of 2048 limbs, k=10 groups of 8192 limbs, etc. In practice -it's been found each k is used at quite small multiples of its size -constraint and so the step effect is quite noticeable in a time versus -size graph. - - The threshold determinations currently measure at the mid-points of -size steps, but this is sub-optimal since at the start of a new step it -can happen that it's better to go back to the previous k for a while. -Something more sophisticated for `MUL_FFT_TABLE' and `SQR_FFT_TABLE' -will be needed. - - -File: gmp.info, Node: Other Multiplication, Prev: FFT Multiplication, Up: Multiplication Algorithms - -Other Multiplication --------------------- - - The 3-way Toom-Cook algorithm described above (*note Toom-Cook 3-Way -Multiplication::) generalizes to split into an arbitrary number of -pieces, as per Knuth section 4.3.3 algorithm C. This is not currently -used, though it's possible a Toom-4 might fit in between Toom-3 and the -FFTs. The notes here are merely for interest. - - In general a split into r+1 pieces is made, and evaluations and -pointwise multiplications done at 2*r+1 points. A 4-way split does 7 -pointwise multiplies, 5-way does 9, etc. Asymptotically an (r+1)-way -algorithm is O(N^(log(2*r+1)/log(r+1))). Only the pointwise -multiplications count towards big-O complexity, but the time spent in -the evaluate and interpolate stages grows with r and has a significant -practical impact, with the asymptotic advantage of each r realized only -at bigger and bigger sizes. The overheads grow as O(N*r), whereas in -an r=2^k FFT they grow only as O(N*log(r)). - - Knuth algorithm C evaluates at points 0,1,2,...,2*r, but exercise 4 -uses -r,...,0,...,r and the latter saves some small multiplies in the -evaluate stage (or rather trades them for additions), and has a further -saving of nearly half the interpolate steps. The idea is to separate -odd and even final coefficients and then perform algorithm C steps C7 -and C8 on them separately. The divisors at step C7 become j^2 and the -multipliers at C8 become 2*t*j-j^2. - - Splitting odd and even parts through positive and negative points -can be thought of as using -1 as a square root of unity. If a 4th root -of unity was available then a further split and speedup would be -possible, but no such root exists for plain integers. Going to complex -integers with i=sqrt(-1) doesn't help, essentially because in cartesian -form it takes three real multiplies to do a complex multiply. The -existence of 2^k'th roots of unity in a suitable ring or field lets the -fast fourier transform keep splitting and get to O(N*log(r)). - - Floating point FFTs use complex numbers approximating Nth roots of -unity. Some processors have special support for such FFTs. But these -are not used in GMP since it's very difficult to guarantee an exact -result (to some number of bits). An occasional difference of 1 in the -last bit might not matter to a typical signal processing algorithm, but -is of course of vital importance to GMP. - - -File: gmp.info, Node: Division Algorithms, Next: Greatest Common Divisor Algorithms, Prev: Multiplication Algorithms, Up: Algorithms - -Division Algorithms -=================== - -* Menu: - -* Single Limb Division:: -* Basecase Division:: -* Divide and Conquer Division:: -* Exact Division:: -* Exact Remainder:: -* Small Quotient Division:: diff -Naur gmp-4.1/gmp.info-6 gmp-4.1.1/gmp.info-6 --- gmp-4.1/gmp.info-6 Fri May 24 12:55:23 2002 +++ gmp-4.1.1/gmp.info-6 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -19,6 +19,171 @@ END-INFO-DIR-ENTRY  +File: gmp.info, Node: FFT Multiplication, Next: Other Multiplication, Prev: Toom-Cook 3-Way Multiplication, Up: Multiplication Algorithms + +FFT Multiplication +------------------ + + At large to very large sizes a Fermat style FFT multiplication is +used, following Scho"nhage and Strassen (*note References::). +Descriptions of FFTs in various forms can be found in many textbooks, +for instance Knuth section 4.3.3 part C or Lipson chapter IX. A brief +description of the form used in GMP is given here. + + The multiplication done is x*y mod 2^N+1, for a given N. A full +product x*y is obtained by choosing N>=bits(x)+bits(y) and padding x +and y with high zero limbs. The modular product is the native form for +the algorithm, so padding to get a full product is unavoidable. + + The algorithm follows a split, evaluate, pointwise multiply, +interpolate and combine similar to that described above for Karatsuba +and Toom-3. A k parameter controls the split, with an FFT-k splitting +into 2^k pieces of M=N/2^k bits each. N must be a multiple of +(2^k)*mp_bits_per_limb so the split falls on limb boundaries, avoiding +bit shifts in the split and combine stages. + + The evaluations, pointwise multiplications, and interpolation, are +all done modulo 2^N'+1 where N' is 2M+k+3 rounded up to a multiple of +2^k and of `mp_bits_per_limb'. The results of interpolation will be +the following negacyclic convolution of the input pieces, and the +choice of N' ensures these sums aren't truncated. + + --- + \ b + w[n] = / (-1) * x[i] * y[j] + --- + i+j==b*2^k+n + b=0,1 + + The points used for the evaluation are g^i for i=0 to 2^k-1 where +g=2^(2N'/2^k). g is a 2^k'th root of unity mod 2^N'+1, which produces +necessary cancellations at the interpolation stage, and it's also a +power of 2 so the fast fourier transforms used for the evaluation and +interpolation do only shifts, adds and negations. + + The pointwise multiplications are done modulo 2^N'+1 and either +recurse into a further FFT or use a plain multiplication (Toom-3, +Karatsuba or basecase), whichever is optimal at the size N'. The +interpolation is an inverse fast fourier transform. The resulting set +of sums of x[i]*y[j] are added at appropriate offsets to give the final +result. + + Squaring is the same, but x is the only input so it's one transform +at the evaluate stage and the pointwise multiplies are squares. The +interpolation is the same. + + For a mod 2^N+1 product, an FFT-k is an O(N^(k/(k-1))) algorithm, +the exponent representing 2^k recursed modular multiplies each +1/2^(k-1) the size of the original. Each successive k is an asymptotic +improvement, but overheads mean each is only faster at bigger and +bigger sizes. In the code, `MUL_FFT_TABLE' and `SQR_FFT_TABLE' are the +thresholds where each k is used. Each new k effectively swaps some +multiplying for some shifts, adds and overheads. + + A mod 2^N+1 product can be formed with a normal NxN->2N bit multiply +plus a subtraction, so an FFT and Toom-3 etc can be compared directly. +A k=4 FFT at O(N^1.333) can be expected to be the first faster than +Toom-3 at O(N^1.465). In practice this is what's found, with +`MUL_FFT_MODF_THRESHOLD' and `SQR_FFT_MODF_THRESHOLD' being between 300 +and 1000 limbs, depending on the CPU. So far it's been found that only +very large FFTs recurse into pointwise multiplies above these sizes. + + When an FFT is to give a full product, the change of N to 2N doesn't +alter the theoretical complexity for a given k, but for the purposes of +considering where an FFT might be first used it can be assumed that the +FFT is recursing into a normal multiply and that on that basis it's +doing 2^k recursed multiplies each 1/2^(k-2) the size of the inputs, +making it O(N^(k/(k-2))). This would mean k=7 at O(N^1.4) would be the +first FFT faster than Toom-3. In practice `MUL_FFT_THRESHOLD' and +`SQR_FFT_THRESHOLD' have been found to be in the k=8 range, somewhere +between 3000 and 10000 limbs. + + The way N is split into 2^k pieces and then 2M+k+3 is rounded up to +a multiple of 2^k and `mp_bits_per_limb' means that when +2^k>=mp_bits_per_limb the effective N is a multiple of 2^(2k-1) bits. +The +k+3 means some values of N just under such a multiple will be +rounded to the next. The complexity calculations above assume that a +favourable size is used, meaning one which isn't padded through +rounding, and it's also assumed that the extra +k+3 bits are negligible +at typical FFT sizes. + + The practical effect of the 2^(2k-1) constraint is to introduce a +step-effect into measured speeds. For example k=8 will round N up to a +multiple of 32768 bits, so for a 32-bit limb there'll be 512 limb +groups of sizes for which `mpn_mul_n' runs at the same speed. Or for +k=9 groups of 2048 limbs, k=10 groups of 8192 limbs, etc. In practice +it's been found each k is used at quite small multiples of its size +constraint and so the step effect is quite noticeable in a time versus +size graph. + + The threshold determinations currently measure at the mid-points of +size steps, but this is sub-optimal since at the start of a new step it +can happen that it's better to go back to the previous k for a while. +Something more sophisticated for `MUL_FFT_TABLE' and `SQR_FFT_TABLE' +will be needed. + + +File: gmp.info, Node: Other Multiplication, Prev: FFT Multiplication, Up: Multiplication Algorithms + +Other Multiplication +-------------------- + + The 3-way Toom-Cook algorithm described above (*note Toom-Cook 3-Way +Multiplication::) generalizes to split into an arbitrary number of +pieces, as per Knuth section 4.3.3 algorithm C. This is not currently +used, though it's possible a Toom-4 might fit in between Toom-3 and the +FFTs. The notes here are merely for interest. + + In general a split into r+1 pieces is made, and evaluations and +pointwise multiplications done at 2*r+1 points. A 4-way split does 7 +pointwise multiplies, 5-way does 9, etc. Asymptotically an (r+1)-way +algorithm is O(N^(log(2*r+1)/log(r+1))). Only the pointwise +multiplications count towards big-O complexity, but the time spent in +the evaluate and interpolate stages grows with r and has a significant +practical impact, with the asymptotic advantage of each r realized only +at bigger and bigger sizes. The overheads grow as O(N*r), whereas in +an r=2^k FFT they grow only as O(N*log(r)). + + Knuth algorithm C evaluates at points 0,1,2,...,2*r, but exercise 4 +uses -r,...,0,...,r and the latter saves some small multiplies in the +evaluate stage (or rather trades them for additions), and has a further +saving of nearly half the interpolate steps. The idea is to separate +odd and even final coefficients and then perform algorithm C steps C7 +and C8 on them separately. The divisors at step C7 become j^2 and the +multipliers at C8 become 2*t*j-j^2. + + Splitting odd and even parts through positive and negative points +can be thought of as using -1 as a square root of unity. If a 4th root +of unity was available then a further split and speedup would be +possible, but no such root exists for plain integers. Going to complex +integers with i=sqrt(-1) doesn't help, essentially because in cartesian +form it takes three real multiplies to do a complex multiply. The +existence of 2^k'th roots of unity in a suitable ring or field lets the +fast fourier transform keep splitting and get to O(N*log(r)). + + Floating point FFTs use complex numbers approximating Nth roots of +unity. Some processors have special support for such FFTs. But these +are not used in GMP since it's very difficult to guarantee an exact +result (to some number of bits). An occasional difference of 1 in the +last bit might not matter to a typical signal processing algorithm, but +is of course of vital importance to GMP. + + +File: gmp.info, Node: Division Algorithms, Next: Greatest Common Divisor Algorithms, Prev: Multiplication Algorithms, Up: Algorithms + +Division Algorithms +=================== + +* Menu: + +* Single Limb Division:: +* Basecase Division:: +* Divide and Conquer Division:: +* Exact Division:: +* Exact Remainder:: +* Small Quotient Division:: + + File: gmp.info, Node: Single Limb Division, Next: Basecase Division, Prev: Division Algorithms, Up: Division Algorithms Single Limb Division @@ -943,196 +1108,4 @@ `adc' or `sbb' forms would be better. And so unfortunately almost any loop involving carry bits needs to be coded in assembler for best results. - - -File: gmp.info, Node: Assembler Cache Handling, Next: Assembler Floating Point, Prev: Assembler Carry Propagation, Up: Assembler Coding - -Cache Handling --------------- - - GMP aims to perform well both on operands that fit entirely in L1 -cache and those which don't. - - Basic routines like `mpn_add_n' or `mpn_lshift' are often used on -large operands, so L2 and main memory performance is important for them. -`mpn_mul_1' and `mpn_addmul_1' are mostly used for multiply and square -basecases, so L1 performance matters most for them, unless assembler -versions of `mpn_mul_basecase' and `mpn_sqr_basecase' exist, in which -case the remaining uses are mostly for larger operands. - - For L2 or main memory operands, memory access times will almost -certainly be more than the calculation time. The aim therefore is to -maximize memory throughput, by starting a load of the next cache line -which processing the contents of the previous one. Clearly this is -only possible if the chip has a lock-up free cache or some sort of -prefetch instruction. Most current chips have both these features. - - Prefetching sources combines well with loop unrolling, since a -prefetch can be initiated once per unrolled loop (or more than once if -the loop covers more than one cache line). - - On CPUs without write-allocate caches, prefetching destinations will -ensure individual stores don't go further down the cache hierarchy, -limiting bandwidth. Of course for calculations which are slow anyway, -like `mpn_divrem_1', write-throughs might be fine. - - The distance ahead to prefetch will be determined by memory latency -versus throughput. The aim of course is to have data arriving -continuously, at peak throughput. Some CPUs have limits on the number -of fetches or prefetches in progress. - - If a special prefetch instruction doesn't exist then a plain load -can be used, but in that case care must be taken not to attempt to read -past the end of an operand, since that might produce a segmentation -violation. - - Some CPUs or systems have hardware that detects sequential memory -accesses and initiates suitable cache movements automatically, making -life easy. - - -File: gmp.info, Node: Assembler Floating Point, Next: Assembler SIMD Instructions, Prev: Assembler Cache Handling, Up: Assembler Coding - -Floating Point --------------- - - Floating point arithmetic is used in GMP for multiplications on CPUs -with poor integer multipliers. It's mostly useful for `mpn_mul_1', -`mpn_addmul_1' and `mpn_submul_1' on 64-bit machines, and -`mpn_mul_basecase' on both 32-bit and 64-bit machines. - - With IEEE 53-bit double precision floats, integer multiplications -producing up to 53 bits will give exact results. Breaking a 64x64 -multiplication into eight 16x32->48 bit pieces is convenient. With -some care though six 21x32->53 bit products can be used, if one of the -lower two 21-bit pieces also uses the sign bit. - - For the `mpn_mul_1' family of functions on a 64-bit machine, the -invariant single limb is split at the start, into 3 or 4 pieces. -Inside the loop, the bignum operand is split into 32-bit pieces. Fast -conversion of these unsigned 32-bit pieces to floating point is highly -machine-dependent. In some cases, reading the data into the integer -unit, zero-extending to 64-bits, then transferring to the floating -point unit back via memory is the only option. - - Converting partial products back to 64-bit limbs is usually best -done as a signed conversion. Since all values are smaller than 2^53, -signed and unsigned are the same, but most processors lack unsigned -conversions. - - - - Here is a diagram showing 16x32 bit products for an `mpn_mul_1' or -`mpn_addmul_1' with a 64-bit limb. The single limb operand V is split -into four 16-bit parts. The multi-limb operand U is split in the loop -into two 32-bit parts. - - +---+---+---+---+ - |v48|v32|v16|v00| V operand - +---+---+---+---+ - - +-------+---+---+ - x | u32 | u00 | U operand (one limb) - +---------------+ - - --------------------------------- - - +-----------+ - | u00 x v00 | p00 48-bit products - +-----------+ - +-----------+ - | u00 x v16 | p16 - +-----------+ - +-----------+ - | u00 x v32 | p32 - +-----------+ - +-----------+ - | u00 x v48 | p48 - +-----------+ - +-----------+ - | u32 x v00 | r32 - +-----------+ - +-----------+ - | u32 x v16 | r48 - +-----------+ - +-----------+ - | u32 x v32 | r64 - +-----------+ - +-----------+ - | u32 x v48 | r80 - +-----------+ - - p32 and r32 can be summed using floating-point addition, and -likewise p48 and r48. p00 and p16 can be summed with r64 and r80 from -the previous iteration. - - For each loop then, four 49-bit quantities are transfered to the -integer unit, aligned as follows, - - |-----64bits----|-----64bits----| - +------------+ - | p00 + r64' | i00 - +------------+ - +------------+ - | p16 + r80' | i16 - +------------+ - +------------+ - | p32 + r32 | i32 - +------------+ - +------------+ - | p48 + r48 | i48 - +------------+ - - The challenge then is to sum these efficiently and add in a carry -limb, generating a low 64-bit result limb and a high 33-bit carry limb -(i48 extends 33 bits into the high half). - - -File: gmp.info, Node: Assembler SIMD Instructions, Next: Assembler Software Pipelining, Prev: Assembler Floating Point, Up: Assembler Coding - -SIMD Instructions ------------------ - - The single-instruction multiple-data support in current -microprocessors is aimed at signal processing algorithms where each -data point can be treated more or less independently. There's -generally not much support for propagating the sort of carries that -arise in GMP. - - SIMD multiplications of say four 16x16 bit multiplies only do as much -work as one 32x32 from GMP's point of view, and need some shifts and -adds besides. But of course if say the SIMD form is fully pipelined -and uses less instruction decoding then it may still be worthwhile. - - On the 80x86 chips, MMX has so far found a use in `mpn_rshift' and -`mpn_lshift' since it allows 64-bit operations, and is used in a special -case for 16-bit multipliers in the P55 `mpn_mul_1'. 3DNow and SSE -haven't found a use so far. - - -File: gmp.info, Node: Assembler Software Pipelining, Next: Assembler Loop Unrolling, Prev: Assembler SIMD Instructions, Up: Assembler Coding - -Software Pipelining -------------------- - - Software pipelining consists of scheduling instructions around the -branch point in a loop. For example a loop taking a checksum of an -array of limbs might have a load and an add, but the load wouldn't be -for that add, rather for the one next time around the loop. Each load -then is effectively scheduled back in the previous iteration, allowing -latency to be hidden. - - Naturally this is wanted only when doing things like loads or -multiplies that take a few cycles to complete, and only where a CPU has -multiple functional units so that other work can be done while waiting. - - A pipeline with several stages will have a data value in progress at -each stage and each loop iteration moves them along one stage. This is -like juggling. - - Within the loop some moves between registers may be necessary to -have the right values in the right places for each iteration. Loop -unrolling can help this, with each unrolled block able to use different -registers for different values, even if some shuffling is still needed -just before going back to the top of the loop. diff -Naur gmp-4.1/gmp.info-7 gmp-4.1.1/gmp.info-7 --- gmp-4.1/gmp.info-7 Fri May 24 12:55:23 2002 +++ gmp-4.1.1/gmp.info-7 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -19,6 +19,198 @@ END-INFO-DIR-ENTRY  +File: gmp.info, Node: Assembler Cache Handling, Next: Assembler Floating Point, Prev: Assembler Carry Propagation, Up: Assembler Coding + +Cache Handling +-------------- + + GMP aims to perform well both on operands that fit entirely in L1 +cache and those which don't. + + Basic routines like `mpn_add_n' or `mpn_lshift' are often used on +large operands, so L2 and main memory performance is important for them. +`mpn_mul_1' and `mpn_addmul_1' are mostly used for multiply and square +basecases, so L1 performance matters most for them, unless assembler +versions of `mpn_mul_basecase' and `mpn_sqr_basecase' exist, in which +case the remaining uses are mostly for larger operands. + + For L2 or main memory operands, memory access times will almost +certainly be more than the calculation time. The aim therefore is to +maximize memory throughput, by starting a load of the next cache line +which processing the contents of the previous one. Clearly this is +only possible if the chip has a lock-up free cache or some sort of +prefetch instruction. Most current chips have both these features. + + Prefetching sources combines well with loop unrolling, since a +prefetch can be initiated once per unrolled loop (or more than once if +the loop covers more than one cache line). + + On CPUs without write-allocate caches, prefetching destinations will +ensure individual stores don't go further down the cache hierarchy, +limiting bandwidth. Of course for calculations which are slow anyway, +like `mpn_divrem_1', write-throughs might be fine. + + The distance ahead to prefetch will be determined by memory latency +versus throughput. The aim of course is to have data arriving +continuously, at peak throughput. Some CPUs have limits on the number +of fetches or prefetches in progress. + + If a special prefetch instruction doesn't exist then a plain load +can be used, but in that case care must be taken not to attempt to read +past the end of an operand, since that might produce a segmentation +violation. + + Some CPUs or systems have hardware that detects sequential memory +accesses and initiates suitable cache movements automatically, making +life easy. + + +File: gmp.info, Node: Assembler Floating Point, Next: Assembler SIMD Instructions, Prev: Assembler Cache Handling, Up: Assembler Coding + +Floating Point +-------------- + + Floating point arithmetic is used in GMP for multiplications on CPUs +with poor integer multipliers. It's mostly useful for `mpn_mul_1', +`mpn_addmul_1' and `mpn_submul_1' on 64-bit machines, and +`mpn_mul_basecase' on both 32-bit and 64-bit machines. + + With IEEE 53-bit double precision floats, integer multiplications +producing up to 53 bits will give exact results. Breaking a 64x64 +multiplication into eight 16x32->48 bit pieces is convenient. With +some care though six 21x32->53 bit products can be used, if one of the +lower two 21-bit pieces also uses the sign bit. + + For the `mpn_mul_1' family of functions on a 64-bit machine, the +invariant single limb is split at the start, into 3 or 4 pieces. +Inside the loop, the bignum operand is split into 32-bit pieces. Fast +conversion of these unsigned 32-bit pieces to floating point is highly +machine-dependent. In some cases, reading the data into the integer +unit, zero-extending to 64-bits, then transferring to the floating +point unit back via memory is the only option. + + Converting partial products back to 64-bit limbs is usually best +done as a signed conversion. Since all values are smaller than 2^53, +signed and unsigned are the same, but most processors lack unsigned +conversions. + + + + Here is a diagram showing 16x32 bit products for an `mpn_mul_1' or +`mpn_addmul_1' with a 64-bit limb. The single limb operand V is split +into four 16-bit parts. The multi-limb operand U is split in the loop +into two 32-bit parts. + + +---+---+---+---+ + |v48|v32|v16|v00| V operand + +---+---+---+---+ + + +-------+---+---+ + x | u32 | u00 | U operand (one limb) + +---------------+ + + --------------------------------- + + +-----------+ + | u00 x v00 | p00 48-bit products + +-----------+ + +-----------+ + | u00 x v16 | p16 + +-----------+ + +-----------+ + | u00 x v32 | p32 + +-----------+ + +-----------+ + | u00 x v48 | p48 + +-----------+ + +-----------+ + | u32 x v00 | r32 + +-----------+ + +-----------+ + | u32 x v16 | r48 + +-----------+ + +-----------+ + | u32 x v32 | r64 + +-----------+ + +-----------+ + | u32 x v48 | r80 + +-----------+ + + p32 and r32 can be summed using floating-point addition, and +likewise p48 and r48. p00 and p16 can be summed with r64 and r80 from +the previous iteration. + + For each loop then, four 49-bit quantities are transfered to the +integer unit, aligned as follows, + + |-----64bits----|-----64bits----| + +------------+ + | p00 + r64' | i00 + +------------+ + +------------+ + | p16 + r80' | i16 + +------------+ + +------------+ + | p32 + r32 | i32 + +------------+ + +------------+ + | p48 + r48 | i48 + +------------+ + + The challenge then is to sum these efficiently and add in a carry +limb, generating a low 64-bit result limb and a high 33-bit carry limb +(i48 extends 33 bits into the high half). + + +File: gmp.info, Node: Assembler SIMD Instructions, Next: Assembler Software Pipelining, Prev: Assembler Floating Point, Up: Assembler Coding + +SIMD Instructions +----------------- + + The single-instruction multiple-data support in current +microprocessors is aimed at signal processing algorithms where each +data point can be treated more or less independently. There's +generally not much support for propagating the sort of carries that +arise in GMP. + + SIMD multiplications of say four 16x16 bit multiplies only do as much +work as one 32x32 from GMP's point of view, and need some shifts and +adds besides. But of course if say the SIMD form is fully pipelined +and uses less instruction decoding then it may still be worthwhile. + + On the 80x86 chips, MMX has so far found a use in `mpn_rshift' and +`mpn_lshift' since it allows 64-bit operations, and is used in a special +case for 16-bit multipliers in the P55 `mpn_mul_1'. 3DNow and SSE +haven't found a use so far. + + +File: gmp.info, Node: Assembler Software Pipelining, Next: Assembler Loop Unrolling, Prev: Assembler SIMD Instructions, Up: Assembler Coding + +Software Pipelining +------------------- + + Software pipelining consists of scheduling instructions around the +branch point in a loop. For example a loop taking a checksum of an +array of limbs might have a load and an add, but the load wouldn't be +for that add, rather for the one next time around the loop. Each load +then is effectively scheduled back in the previous iteration, allowing +latency to be hidden. + + Naturally this is wanted only when doing things like loads or +multiplies that take a few cycles to complete, and only where a CPU has +multiple functional units so that other work can be done while waiting. + + A pipeline with several stages will have a data value in progress at +each stage and each loop iteration moves them along one stage. This is +like juggling. + + Within the loop some moves between registers may be necessary to +have the right values in the right places for each iteration. Loop +unrolling can help this, with each unrolled block able to use different +registers for different values, even if some shuffling is still needed +just before going back to the top of the loop. + + File: gmp.info, Node: Assembler Loop Unrolling, Prev: Assembler Software Pipelining, Up: Assembler Coding Loop Unrolling @@ -639,389 +831,4 @@ Reprinted as "More on Multiplying and Squaring Large Integers", IEEE Transactions on Computers, volume 43, number 8, August 1994, pp. 899-908. - - -File: gmp.info, Node: GNU Free Documentation License, Next: Concept Index, Prev: References, Up: Top - -GNU Free Documentation License -****************************** - - Version 1.1, March 2000 - Copyright (C) 2000 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - written document "free" in the sense of freedom: to assure everyone - the effective freedom to copy and redistribute it, with or without - modifying it, either commercially or noncommercially. Secondarily, - this License preserves for the author and publisher a way to get - credit for their work, while not being considered responsible for - modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work that contains a - notice placed by the copyright holder saying it can be distributed - under the terms of this License. The "Document", below, refers to - any such manual or work. Any member of the public is a licensee, - and is addressed as "you". - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter - section of the Document that deals exclusively with the - relationship of the publishers or authors of the Document to the - Document's overall subject (or to related matters) and contains - nothing that could fall directly within that overall subject. - (For example, if the Document is in part a textbook of - mathematics, a Secondary Section may not explain any mathematics.) - The relationship could be a matter of historical connection with - the subject or with related matters, or of legal, commercial, - philosophical, ethical or political position regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, whose contents can be viewed and edited directly - and straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup has been designed - to thwart or discourage subsequent modification by readers is not - Transparent. A copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML designed for human modification. - Opaque formats include PostScript, PDF, proprietary formats that - can be read and edited only by proprietary word processors, SGML - or XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML produced by some word - processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies of the Document numbering more than - 100, and the Document's license notice requires Cover Texts, you - must enclose the copies in covers that carry, clearly and legibly, - all these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a publicly-accessible - computer-network location containing a complete Transparent copy - of the Document, free of added material, which the general - network-using public has access to download anonymously at no - charge using public-standard network protocols. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has less than five). - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section entitled "History", and its title, and - add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. In any section entitled "Acknowledgments" or "Dedications", - preserve the section's title, and preserve in the section all - the substance and tone of each of the contributor - acknowledgments and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section as "Endorsements" or to - conflict in title with any Invariant Section. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections entitled - "History" in the various original documents, forming one section - entitled "History"; likewise combine any sections entitled - "Acknowledgments", and any sections entitled "Dedications". You - must delete all sections entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, does not as a whole count as a - Modified Version of the Document, provided no compilation - copyright is claimed for the compilation. Such a compilation is - called an "aggregate", and this License does not apply to the - other self-contained works thus compiled with the Document, on - account of their being thus compiled, if they are not themselves - derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one - quarter of the entire aggregate, the Document's Cover Texts may be - placed on covers that surround only the Document within the - aggregate. Otherwise they must appear on covers around the whole - aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License provided that you also include the - original English version of this License. In case of a - disagreement between the translation and the original English - version of this License, the original English version will prevail. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided for under this License. Any other - attempt to copy, modify, sublicense or distribute the Document is - void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, - from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. - -ADDENDUM: How to use this License for your documents -==================================================== - - To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 - or any later version published by the Free Software Foundation; - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have no Invariant Sections, write "with no Invariant Sections" -instead of saying which ones are invariant. If you have no Front-Cover -Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being -LIST"; likewise for Back-Cover Texts. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. diff -Naur gmp-4.1/gmp.info-8 gmp-4.1.1/gmp.info-8 --- gmp-4.1/gmp.info-8 Fri May 24 12:55:24 2002 +++ gmp-4.1.1/gmp.info-8 Wed Nov 27 23:34:33 2002 @@ -1,7 +1,7 @@ This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. This manual describes how to install and use the GNU multiple precision -arithmetic library, version 4.1. +arithmetic library, version 4.1.1. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @@ -19,6 +19,391 @@ END-INFO-DIR-ENTRY  +File: gmp.info, Node: GNU Free Documentation License, Next: Concept Index, Prev: References, Up: Top + +GNU Free Documentation License +****************************** + + Version 1.1, March 2000 + Copyright (C) 2000 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + written document "free" in the sense of freedom: to assure everyone + the effective freedom to copy and redistribute it, with or without + modifying it, either commercially or noncommercially. Secondarily, + this License preserves for the author and publisher a way to get + credit for their work, while not being considered responsible for + modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. + We recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work that contains a + notice placed by the copyright holder saying it can be distributed + under the terms of this License. The "Document", below, refers to + any such manual or work. Any member of the public is a licensee, + and is addressed as "you". + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter + section of the Document that deals exclusively with the + relationship of the publishers or authors of the Document to the + Document's overall subject (or to related matters) and contains + nothing that could fall directly within that overall subject. + (For example, if the Document is in part a textbook of + mathematics, a Secondary Section may not explain any mathematics.) + The relationship could be a matter of historical connection with + the subject or with related matters, or of legal, commercial, + philosophical, ethical or political position regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in + the notice that says that the Document is released under this + License. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, whose contents can be viewed and edited directly + and straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for drawings) some + widely available drawing editor, and that is suitable for input to + text formatters or for automatic translation to a variety of + formats suitable for input to text formatters. A copy made in an + otherwise Transparent file format whose markup has been designed + to thwart or discourage subsequent modification by readers is not + Transparent. A copy that is not "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and + standard-conforming simple HTML designed for human modification. + Opaque formats include PostScript, PDF, proprietary formats that + can be read and edited only by proprietary word processors, SGML + or XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML produced by some word + processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow + the conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies of the Document numbering more than + 100, and the Document's license notice requires Cover Texts, you + must enclose the copies in covers that carry, clearly and legibly, + all these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the + title equally prominent and visible. You may add other material + on the covers in addition. Copying with changes limited to the + covers, as long as they preserve the title of the Document and + satisfy these conditions, can be treated as verbatim copying in + other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque copy, or + state in or with each Opaque copy a publicly-accessible + computer-network location containing a complete Transparent copy + of the Document, free of added material, which the general + network-using public has access to download anonymously at no + charge using public-standard network protocols. If you use the + latter option, you must take reasonably prudent steps, when you + begin distribution of Opaque copies in quantity, to ensure that + this Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents or + retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of + copies, to give them a chance to provide you with an updated + version of the Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with + the Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version to + whoever possesses a copy of it. In addition, you must do these + things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of + previous versions (which should, if there were any, be listed + in the History section of the Document). You may use the + same title as a previous version if the original publisher of + that version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has less than five). + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section entitled "History", and its title, and + add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on + the Title Page. If there is no section entitled "History" in + the Document, create one stating the title, year, authors, + and publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as stated in + the previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in + the "History" section. You may omit a network location for a + work that was published at least four years before the + Document itself, or if the original publisher of the version + it refers to gives permission. + + K. In any section entitled "Acknowledgments" or "Dedications", + preserve the section's title, and preserve in the section all + the substance and tone of each of the contributor + acknowledgments and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section + titles. + + M. Delete any section entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section as "Endorsements" or to + conflict in title with any Invariant Section. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option + designate some or all of these sections as invariant. To do this, + add their titles to the list of Invariant Sections in the Modified + Version's license notice. These titles must be distinct from any + other section titles. + + You may add a section entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end + of the list of Cover Texts in the Modified Version. Only one + passage of Front-Cover Text and one of Back-Cover Text may be + added by (or through arrangements made by) any one entity. If the + Document already includes a cover text for the same cover, + previously added by you or by arrangement made by the same entity + you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination + all of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections entitled + "History" in the various original documents, forming one section + entitled "History"; likewise combine any sections entitled + "Acknowledgments", and any sections entitled "Dedications". You + must delete all sections entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow + this License in all other respects regarding verbatim copying of + that document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of + a storage or distribution medium, does not as a whole count as a + Modified Version of the Document, provided no compilation + copyright is claimed for the compilation. Such a compilation is + called an "aggregate", and this License does not apply to the + other self-contained works thus compiled with the Document, on + account of their being thus compiled, if they are not themselves + derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one + quarter of the entire aggregate, the Document's Cover Texts may be + placed on covers that surround only the Document within the + aggregate. Otherwise they must appear on covers around the whole + aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License provided that you also include the + original English version of this License. In case of a + disagreement between the translation and the original English + version of this License, the original English version will prevail. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided for under this License. Any other + attempt to copy, modify, sublicense or distribute the Document is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + `http://www.gnu.org/copyleft/'. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. + +ADDENDUM: How to use this License for your documents +==================================================== + + To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no Front-Cover +Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being +LIST"; likewise for Back-Cover Texts. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. + + File: gmp.info, Node: Concept Index, Next: Function Index, Prev: GNU Free Documentation License, Up: Top Concept Index @@ -33,11 +418,11 @@ * Allocation of memory: Custom Allocation. * Anonymous FTP of latest version: Introduction to GMP. * Application Binary Interface: ABI and ISA. -* Arithmetic functions <1>: Rational Arithmetic. -* Arithmetic functions <2>: Integer Arithmetic. -* Arithmetic functions: Float Arithmetic. -* Assignment functions <1>: Assigning Integers. -* Assignment functions: Assigning Floats. +* Arithmetic functions <1>: Float Arithmetic. +* Arithmetic functions <2>: Rational Arithmetic. +* Arithmetic functions: Integer Arithmetic. +* Assignment functions <1>: Assigning Floats. +* Assignment functions: Assigning Integers. * Autoconf detections: Autoconf. * Basics: GMP Basics. * Berkeley MP compatible functions: BSD Compatible Functions. @@ -56,9 +441,9 @@ * C++ Interface: C++ Class Interface. * C++ istream input: C++ Formatted Input. * C++ ostream output: C++ Formatted Output. -* Comparison functions <1>: Comparing Rationals. -* Comparison functions <2>: Float Comparison. -* Comparison functions: Integer Comparisons. +* Comparison functions <1>: Float Comparison. +* Comparison functions <2>: Integer Comparisons. +* Comparison functions: Comparing Rationals. * Compatibility with older versions: Compatibility with older versions. * Conditions for copying GNU MP: Copying. * Configuring GMP: Installing GMP. @@ -66,24 +451,25 @@ * Contributors: Contributors. * Conventions for parameters: Parameter Conventions. * Conventions for variables: Variable Conventions. -* Conversion functions <1>: Converting Floats. +* Conversion functions <1>: Converting Integers. * Conversion functions <2>: Rational Conversions. -* Conversion functions: Converting Integers. +* Conversion functions: Converting Floats. * Copying conditions: Copying. * CPUs supported: Introduction to GMP. * Custom allocation: Custom Allocation. * Debugging: Debugging. -* Demonstration programs: Build Options. +* Demonstration programs: Demonstration Programs. * DESTDIR: Known Build Problems. * Division algorithms: Division Algorithms. -* Division functions <1>: Integer Division. -* Division functions <2>: Float Arithmetic. -* Division functions: Rational Arithmetic. +* Division functions <1>: Rational Arithmetic. +* Division functions <2>: Integer Division. +* Division functions: Float Arithmetic. * Efficiency: Efficiency. +* Emacs: Emacs. * Exact division functions: Integer Division. -* Example programs: Build Options. -* Exponentiation functions <1>: Integer Exponentiation. -* Exponentiation functions: Float Arithmetic. +* Example programs: Demonstration Programs. +* Exponentiation functions <1>: Float Arithmetic. +* Exponentiation functions: Integer Exponentiation. * Export: Integer Import and Export. * Extended GCD: Number Theoretic Functions. * Factorial functions: Number Theoretic Functions. @@ -114,17 +500,17 @@ * Headers: Headers and Libraries. * Home page: Introduction to GMP. * I/O functions <1>: I/O of Integers. -* I/O functions <2>: I/O of Rationals. -* I/O functions: I/O of Floats. +* I/O functions <2>: I/O of Floats. +* I/O functions: I/O of Rationals. * Import: Integer Import and Export. * Initialization and assignment functions <1>: Initializing Rationals. -* Initialization and assignment functions <2>: Simultaneous Integer Init & Assign. -* Initialization and assignment functions: Simultaneous Float Init & Assign. -* Initialization functions <1>: Initializing Floats. -* Initialization functions: Initializing Integers. -* Input functions <1>: I/O of Rationals. +* Initialization and assignment functions <2>: Simultaneous Float Init & Assign. +* Initialization and assignment functions: Simultaneous Integer Init & Assign. +* Initialization functions <1>: Initializing Integers. +* Initialization functions: Initializing Floats. +* Input functions <1>: I/O of Floats. * Input functions <2>: I/O of Integers. -* Input functions: I/O of Floats. +* Input functions: I/O of Rationals. * Installing GMP: Installing GMP. * Instruction Set Architecture: ABI and ISA. * Integer: Nomenclature and Types. @@ -161,7 +547,7 @@ * Logical functions: Integer Logic and Bit Fiddling. * Low-level functions: Low-level Functions. * Lucas number functions: Number Theoretic Functions. -* Mailing list: Introduction to GMP. +* Mailing lists: Introduction to GMP. * Memory allocation: Custom Allocation. * Memory Management: Memory Management. * Miscellaneous float functions: Miscellaneous Float Functions. @@ -177,12 +563,13 @@ * Number theoretic functions: Number Theoretic Functions. * Numerator and denominator: Applying Integer Functions. * ostream output: C++ Formatted Output. -* Output functions <1>: I/O of Rationals. -* Output functions <2>: I/O of Floats. -* Output functions: I/O of Integers. +* Output functions <1>: I/O of Floats. +* Output functions <2>: I/O of Integers. +* Output functions: I/O of Rationals. * Packaged builds: Notes for Package Builds. * Parameter conventions: Parameter Conventions. * Particular systems: Notes for Particular Systems. +* perl: Demonstration Programs. * Powering algorithms: Powering Algorithms. * Powering functions <1>: Float Arithmetic. * Powering functions: Integer Exponentiation. @@ -191,8 +578,8 @@ * printf formatted output: Formatted Output. * Profiling: Profiling. * Radix conversion algorithms: Radix Conversion Algorithms. -* Random number functions <1>: Integer Random Numbers. -* Random number functions: Random Number Functions. +* Random number functions <1>: Random Number Functions. +* Random number functions: Integer Random Numbers. * Random number seeding: Random State Seeding. * Random number state: Random State Initialization. * Rational arithmetic functions: Rational Arithmetic. @@ -210,11 +597,12 @@ * Root extraction algorithms: Root Extraction Algorithms. * Root extraction functions <1>: Float Arithmetic. * Root extraction functions: Integer Roots. +* Sample programs: Demonstration Programs. * scanf formatted input: Formatted Input. * Shared library versioning: Notes for Package Builds. -* Sign tests <1>: Float Comparison. +* Sign tests <1>: Integer Comparisons. * Sign tests <2>: Comparing Rationals. -* Sign tests: Integer Comparisons. +* Sign tests: Float Comparison. * Stack overflow segfaults: Build Options. * Stripped libraries: Known Build Problems. * Systems: Notes for Particular Systems. @@ -226,423 +614,4 @@ * Variable conventions: Variable Conventions. * Version number: Useful Macros and Constants. * Web page: Introduction to GMP. - - -File: gmp.info, Node: Function Index, Prev: Concept Index, Up: Top - -Function and Type Index -*********************** - -* Menu: - -* *mpz_export: Integer Import and Export. -* __GNU_MP_VERSION: Useful Macros and Constants. -* __GNU_MP_VERSION_MINOR: Useful Macros and Constants. -* __GNU_MP_VERSION_PATCHLEVEL: Useful Macros and Constants. -* _mpz_realloc: Initializing Integers. -* abs <1>: C++ Interface Floats. -* abs <2>: C++ Interface Rationals. -* abs: C++ Interface Integers. -* allocate_function: Custom Allocation. -* ceil: C++ Interface Floats. -* cmp <1>: C++ Interface Integers. -* cmp <2>: C++ Interface Rationals. -* cmp: C++ Interface Floats. -* deallocate_function: Custom Allocation. -* floor: C++ Interface Floats. -* gcd: BSD Compatible Functions. -* gmp_asprintf: Formatted Output Functions. -* gmp_fprintf: Formatted Output Functions. -* gmp_fscanf: Formatted Input Functions. -* GMP_LIMB_BITS: Low-level Functions. -* GMP_NAIL_BITS: Low-level Functions. -* GMP_NAIL_MASK: Low-level Functions. -* GMP_NUMB_BITS: Low-level Functions. -* GMP_NUMB_MASK: Low-level Functions. -* GMP_NUMB_MAX: Low-level Functions. -* gmp_obstack_printf: Formatted Output Functions. -* gmp_obstack_vprintf: Formatted Output Functions. -* gmp_printf: Formatted Output Functions. -* gmp_randclass: C++ Interface Random Numbers. -* gmp_randclass::get_f: C++ Interface Random Numbers. -* gmp_randclass::get_z_bits: C++ Interface Random Numbers. -* gmp_randclass::get_z_range: C++ Interface Random Numbers. -* gmp_randclass::gmp_randclass: C++ Interface Random Numbers. -* gmp_randclass::seed: C++ Interface Random Numbers. -* gmp_randclear: Random State Initialization. -* gmp_randinit: Random State Initialization. -* gmp_randinit_default: Random State Initialization. -* gmp_randinit_lc_2exp: Random State Initialization. -* gmp_randinit_lc_2exp_size: Random State Initialization. -* gmp_randseed: Random State Seeding. -* gmp_randseed_ui: Random State Seeding. -* gmp_scanf: Formatted Input Functions. -* gmp_snprintf: Formatted Output Functions. -* gmp_sprintf: Formatted Output Functions. -* gmp_sscanf: Formatted Input Functions. -* gmp_vasprintf: Formatted Output Functions. -* gmp_version: Useful Macros and Constants. -* gmp_vfprintf: Formatted Output Functions. -* gmp_vfscanf: Formatted Input Functions. -* gmp_vprintf: Formatted Output Functions. -* gmp_vscanf: Formatted Input Functions. -* gmp_vsnprintf: Formatted Output Functions. -* gmp_vsprintf: Formatted Output Functions. -* gmp_vsscanf: Formatted Input Functions. -* hypot: C++ Interface Floats. -* itom: BSD Compatible Functions. -* madd: BSD Compatible Functions. -* mcmp: BSD Compatible Functions. -* mdiv: BSD Compatible Functions. -* mfree: BSD Compatible Functions. -* min: BSD Compatible Functions. -* mout: BSD Compatible Functions. -* move: BSD Compatible Functions. -* mp_bits_per_limb: Useful Macros and Constants. -* mp_limb_t: Nomenclature and Types. -* mp_set_memory_functions: Custom Allocation. -* mpf_abs: Float Arithmetic. -* mpf_add: Float Arithmetic. -* mpf_add_ui: Float Arithmetic. -* mpf_ceil: Miscellaneous Float Functions. -* mpf_class: C++ Interface General. -* mpf_class::fits_sint_p: C++ Interface Floats. -* mpf_class::fits_slong_p: C++ Interface Floats. -* mpf_class::fits_sshort_p: C++ Interface Floats. -* mpf_class::fits_uint_p: C++ Interface Floats. -* mpf_class::fits_ulong_p: C++ Interface Floats. -* mpf_class::fits_ushort_p: C++ Interface Floats. -* mpf_class::get_d: C++ Interface Floats. -* mpf_class::get_mpf_t: C++ Interface General. -* mpf_class::get_prec: C++ Interface Floats. -* mpf_class::get_si: C++ Interface Floats. -* mpf_class::get_ui: C++ Interface Floats. -* mpf_class::mpf_class: C++ Interface Floats. -* mpf_class::set_prec: C++ Interface Floats. -* mpf_class::set_prec_raw: C++ Interface Floats. -* mpf_clear: Initializing Floats. -* mpf_cmp: Float Comparison. -* mpf_cmp_d: Float Comparison. -* mpf_cmp_si: Float Comparison. -* mpf_cmp_ui: Float Comparison. -* mpf_div: Float Arithmetic. -* mpf_div_2exp: Float Arithmetic. -* mpf_div_ui: Float Arithmetic. -* mpf_eq: Float Comparison. -* mpf_fits_sint_p: Miscellaneous Float Functions. -* mpf_fits_slong_p: Miscellaneous Float Functions. -* mpf_fits_sshort_p: Miscellaneous Float Functions. -* mpf_fits_uint_p: Miscellaneous Float Functions. -* mpf_fits_ulong_p: Miscellaneous Float Functions. -* mpf_fits_ushort_p: Miscellaneous Float Functions. -* mpf_floor: Miscellaneous Float Functions. -* mpf_get_d: Converting Floats. -* mpf_get_d_2exp: Converting Floats. -* mpf_get_default_prec: Initializing Floats. -* mpf_get_prec: Initializing Floats. -* mpf_get_si: Converting Floats. -* mpf_get_str: Converting Floats. -* mpf_get_ui: Converting Floats. -* mpf_init: Initializing Floats. -* mpf_init2: Initializing Floats. -* mpf_init_set: Simultaneous Float Init & Assign. -* mpf_init_set_d: Simultaneous Float Init & Assign. -* mpf_init_set_si: Simultaneous Float Init & Assign. -* mpf_init_set_str: Simultaneous Float Init & Assign. -* mpf_init_set_ui: Simultaneous Float Init & Assign. -* mpf_inp_str: I/O of Floats. -* mpf_integer_p: Miscellaneous Float Functions. -* mpf_mul: Float Arithmetic. -* mpf_mul_2exp: Float Arithmetic. -* mpf_mul_ui: Float Arithmetic. -* mpf_neg: Float Arithmetic. -* mpf_out_str: I/O of Floats. -* mpf_pow_ui: Float Arithmetic. -* mpf_random2: Miscellaneous Float Functions. -* mpf_reldiff: Float Comparison. -* mpf_set: Assigning Floats. -* mpf_set_d: Assigning Floats. -* mpf_set_default_prec: Initializing Floats. -* mpf_set_prec: Initializing Floats. -* mpf_set_prec_raw: Initializing Floats. -* mpf_set_q: Assigning Floats. -* mpf_set_si: Assigning Floats. -* mpf_set_str: Assigning Floats. -* mpf_set_ui: Assigning Floats. -* mpf_set_z: Assigning Floats. -* mpf_sgn: Float Comparison. -* mpf_sqrt: Float Arithmetic. -* mpf_sqrt_ui: Float Arithmetic. -* mpf_sub: Float Arithmetic. -* mpf_sub_ui: Float Arithmetic. -* mpf_swap: Assigning Floats. -* mpf_t: Nomenclature and Types. -* mpf_trunc: Miscellaneous Float Functions. -* mpf_ui_div: Float Arithmetic. -* mpf_ui_sub: Float Arithmetic. -* mpf_urandomb: Miscellaneous Float Functions. -* mpfr_class: C++ Interface MPFR. -* mpn_add: Low-level Functions. -* mpn_add_1: Low-level Functions. -* mpn_add_n: Low-level Functions. -* mpn_addmul_1: Low-level Functions. -* mpn_bdivmod: Low-level Functions. -* mpn_cmp: Low-level Functions. -* mpn_divexact_by3: Low-level Functions. -* mpn_divexact_by3c: Low-level Functions. -* mpn_divmod: Low-level Functions. -* mpn_divmod_1: Low-level Functions. -* mpn_divrem: Low-level Functions. -* mpn_divrem_1: Low-level Functions. -* mpn_gcd: Low-level Functions. -* mpn_gcd_1: Low-level Functions. -* mpn_gcdext: Low-level Functions. -* mpn_get_str: Low-level Functions. -* mpn_hamdist: Low-level Functions. -* mpn_lshift: Low-level Functions. -* mpn_mod_1: Low-level Functions. -* mpn_mul: Low-level Functions. -* mpn_mul_1: Low-level Functions. -* mpn_mul_n: Low-level Functions. -* mpn_perfect_square_p: Low-level Functions. -* mpn_popcount: Low-level Functions. -* mpn_random: Low-level Functions. -* mpn_random2: Low-level Functions. -* mpn_rshift: Low-level Functions. -* mpn_scan0: Low-level Functions. -* mpn_scan1: Low-level Functions. -* mpn_set_str: Low-level Functions. -* mpn_sqrtrem: Low-level Functions. -* mpn_sub: Low-level Functions. -* mpn_sub_1: Low-level Functions. -* mpn_sub_n: Low-level Functions. -* mpn_submul_1: Low-level Functions. -* mpn_tdiv_qr: Low-level Functions. -* mpq_abs: Rational Arithmetic. -* mpq_add: Rational Arithmetic. -* mpq_canonicalize: Rational Number Functions. -* mpq_class: C++ Interface General. -* mpq_class::canonicalize: C++ Interface Rationals. -* mpq_class::get_d: C++ Interface Rationals. -* mpq_class::get_den: C++ Interface Rationals. -* mpq_class::get_den_mpz_t: C++ Interface Rationals. -* mpq_class::get_mpq_t: C++ Interface General. -* mpq_class::get_num: C++ Interface Rationals. -* mpq_class::get_num_mpz_t: C++ Interface Rationals. -* mpq_class::mpq_class: C++ Interface Rationals. -* mpq_clear: Initializing Rationals. -* mpq_cmp: Comparing Rationals. -* mpq_cmp_si: Comparing Rationals. -* mpq_cmp_ui: Comparing Rationals. -* mpq_denref: Applying Integer Functions. -* mpq_div: Rational Arithmetic. -* mpq_div_2exp: Rational Arithmetic. -* mpq_equal: Comparing Rationals. -* mpq_get_d: Rational Conversions. -* mpq_get_den: Applying Integer Functions. -* mpq_get_num: Applying Integer Functions. -* mpq_get_str: Rational Conversions. -* mpq_init: Initializing Rationals. -* mpq_inp_str: I/O of Rationals. -* mpq_inv: Rational Arithmetic. -* mpq_mul: Rational Arithmetic. -* mpq_mul_2exp: Rational Arithmetic. -* mpq_neg: Rational Arithmetic. -* mpq_numref: Applying Integer Functions. -* mpq_out_str: I/O of Rationals. -* mpq_set: Initializing Rationals. -* mpq_set_d: Rational Conversions. -* mpq_set_den: Applying Integer Functions. -* mpq_set_f: Rational Conversions. -* mpq_set_num: Applying Integer Functions. -* mpq_set_si: Initializing Rationals. -* mpq_set_str: Initializing Rationals. -* mpq_set_ui: Initializing Rationals. -* mpq_set_z: Initializing Rationals. -* mpq_sgn: Comparing Rationals. -* mpq_sub: Rational Arithmetic. -* mpq_swap: Initializing Rationals. -* mpq_t: Nomenclature and Types. -* mpz_abs: Integer Arithmetic. -* mpz_add: Integer Arithmetic. -* mpz_add_ui: Integer Arithmetic. -* mpz_addmul: Integer Arithmetic. -* mpz_addmul_ui: Integer Arithmetic. -* mpz_and: Integer Logic and Bit Fiddling. -* mpz_array_init: Initializing Integers. -* mpz_bin_ui: Number Theoretic Functions. -* mpz_bin_uiui: Number Theoretic Functions. -* mpz_cdiv_q: Integer Division. -* mpz_cdiv_q_2exp: Integer Division. -* mpz_cdiv_q_ui: Integer Division. -* mpz_cdiv_qr: Integer Division. -* mpz_cdiv_qr_ui: Integer Division. -* mpz_cdiv_r: Integer Division. -* mpz_cdiv_r_2exp: Integer Division. -* mpz_cdiv_r_ui: Integer Division. -* mpz_cdiv_ui: Integer Division. -* mpz_class: C++ Interface General. -* mpz_class::fits_sint_p: C++ Interface Integers. -* mpz_class::fits_slong_p: C++ Interface Integers. -* mpz_class::fits_sshort_p: C++ Interface Integers. -* mpz_class::fits_uint_p: C++ Interface Integers. -* mpz_class::fits_ulong_p: C++ Interface Integers. -* mpz_class::fits_ushort_p: C++ Interface Integers. -* mpz_class::get_d: C++ Interface Integers. -* mpz_class::get_mpz_t: C++ Interface General. -* mpz_class::get_si: C++ Interface Integers. -* mpz_class::get_ui: C++ Interface Integers. -* mpz_class::mpz_class: C++ Interface Integers. -* mpz_clear: Initializing Integers. -* mpz_clrbit: Integer Logic and Bit Fiddling. -* mpz_cmp: Integer Comparisons. -* mpz_cmp_d: Integer Comparisons. -* mpz_cmp_si: Integer Comparisons. -* mpz_cmp_ui: Integer Comparisons. -* mpz_cmpabs: Integer Comparisons. -* mpz_cmpabs_d: Integer Comparisons. -* mpz_cmpabs_ui: Integer Comparisons. -* mpz_com: Integer Logic and Bit Fiddling. -* mpz_congruent_2exp_p: Integer Division. -* mpz_congruent_p: Integer Division. -* mpz_congruent_ui_p: Integer Division. -* mpz_divexact: Integer Division. -* mpz_divexact_ui: Integer Division. -* mpz_divisible_2exp_p: Integer Division. -* mpz_divisible_p: Integer Division. -* mpz_divisible_ui_p: Integer Division. -* mpz_even_p: Miscellaneous Integer Functions. -* mpz_fac_ui: Number Theoretic Functions. -* mpz_fdiv_q: Integer Division. -* mpz_fdiv_q_2exp: Integer Division. -* mpz_fdiv_q_ui: Integer Division. -* mpz_fdiv_qr: Integer Division. -* mpz_fdiv_qr_ui: Integer Division. -* mpz_fdiv_r: Integer Division. -* mpz_fdiv_r_2exp: Integer Division. -* mpz_fdiv_r_ui: Integer Division. -* mpz_fdiv_ui: Integer Division. -* mpz_fib2_ui: Number Theoretic Functions. -* mpz_fib_ui: Number Theoretic Functions. -* mpz_fits_sint_p: Miscellaneous Integer Functions. -* mpz_fits_slong_p: Miscellaneous Integer Functions. -* mpz_fits_sshort_p: Miscellaneous Integer Functions. -* mpz_fits_uint_p: Miscellaneous Integer Functions. -* mpz_fits_ulong_p: Miscellaneous Integer Functions. -* mpz_fits_ushort_p: Miscellaneous Integer Functions. -* mpz_gcd: Number Theoretic Functions. -* mpz_gcd_ui: Number Theoretic Functions. -* mpz_gcdext: Number Theoretic Functions. -* mpz_get_d: Converting Integers. -* mpz_get_d_2exp: Converting Integers. -* mpz_get_si: Converting Integers. -* mpz_get_str: Converting Integers. -* mpz_get_ui: Converting Integers. -* mpz_getlimbn: Converting Integers. -* mpz_hamdist: Integer Logic and Bit Fiddling. -* mpz_import: Integer Import and Export. -* mpz_init: Initializing Integers. -* mpz_init2: Initializing Integers. -* mpz_init_set: Simultaneous Integer Init & Assign. -* mpz_init_set_d: Simultaneous Integer Init & Assign. -* mpz_init_set_si: Simultaneous Integer Init & Assign. -* mpz_init_set_str: Simultaneous Integer Init & Assign. -* mpz_init_set_ui: Simultaneous Integer Init & Assign. -* mpz_inp_raw: I/O of Integers. -* mpz_inp_str: I/O of Integers. -* mpz_invert: Number Theoretic Functions. -* mpz_ior: Integer Logic and Bit Fiddling. -* mpz_jacobi: Number Theoretic Functions. -* mpz_kronecker: Number Theoretic Functions. -* mpz_kronecker_si: Number Theoretic Functions. -* mpz_kronecker_ui: Number Theoretic Functions. -* mpz_lcm: Number Theoretic Functions. -* mpz_lcm_ui: Number Theoretic Functions. -* mpz_legendre: Number Theoretic Functions. -* mpz_lucnum2_ui: Number Theoretic Functions. -* mpz_lucnum_ui: Number Theoretic Functions. -* mpz_mod: Integer Division. -* mpz_mod_ui: Integer Division. -* mpz_mul: Integer Arithmetic. -* mpz_mul_2exp: Integer Arithmetic. -* mpz_mul_si: Integer Arithmetic. -* mpz_mul_ui: Integer Arithmetic. -* mpz_neg: Integer Arithmetic. -* mpz_nextprime: Number Theoretic Functions. -* mpz_odd_p: Miscellaneous Integer Functions. -* mpz_out_raw: I/O of Integers. -* mpz_out_str: I/O of Integers. -* mpz_perfect_power_p: Integer Roots. -* mpz_perfect_square_p: Integer Roots. -* mpz_popcount: Integer Logic and Bit Fiddling. -* mpz_pow_ui: Integer Exponentiation. -* mpz_powm: Integer Exponentiation. -* mpz_powm_ui: Integer Exponentiation. -* mpz_probab_prime_p: Number Theoretic Functions. -* mpz_random: Integer Random Numbers. -* mpz_random2: Integer Random Numbers. -* mpz_realloc2: Initializing Integers. -* mpz_remove: Number Theoretic Functions. -* mpz_root: Integer Roots. -* mpz_rrandomb: Integer Random Numbers. -* mpz_scan0: Integer Logic and Bit Fiddling. -* mpz_scan1: Integer Logic and Bit Fiddling. -* mpz_set: Assigning Integers. -* mpz_set_d: Assigning Integers. -* mpz_set_f: Assigning Integers. -* mpz_set_q: Assigning Integers. -* mpz_set_si: Assigning Integers. -* mpz_set_str: Assigning Integers. -* mpz_set_ui: Assigning Integers. -* mpz_setbit: Integer Logic and Bit Fiddling. -* mpz_sgn: Integer Comparisons. -* mpz_si_kronecker: Number Theoretic Functions. -* mpz_size: Miscellaneous Integer Functions. -* mpz_sizeinbase: Miscellaneous Integer Functions. -* mpz_sqrt: Integer Roots. -* mpz_sqrtrem: Integer Roots. -* mpz_sub: Integer Arithmetic. -* mpz_sub_ui: Integer Arithmetic. -* mpz_submul: Integer Arithmetic. -* mpz_submul_ui: Integer Arithmetic. -* mpz_swap: Assigning Integers. -* mpz_t: Nomenclature and Types. -* mpz_tdiv_q: Integer Division. -* mpz_tdiv_q_2exp: Integer Division. -* mpz_tdiv_q_ui: Integer Division. -* mpz_tdiv_qr: Integer Division. -* mpz_tdiv_qr_ui: Integer Division. -* mpz_tdiv_r: Integer Division. -* mpz_tdiv_r_2exp: Integer Division. -* mpz_tdiv_r_ui: Integer Division. -* mpz_tdiv_ui: Integer Division. -* mpz_tstbit: Integer Logic and Bit Fiddling. -* mpz_ui_kronecker: Number Theoretic Functions. -* mpz_ui_pow_ui: Integer Exponentiation. -* mpz_ui_sub: Integer Arithmetic. -* mpz_urandomb: Integer Random Numbers. -* mpz_urandomm: Integer Random Numbers. -* mpz_xor: Integer Logic and Bit Fiddling. -* msqrt: BSD Compatible Functions. -* msub: BSD Compatible Functions. -* mtox: BSD Compatible Functions. -* mult: BSD Compatible Functions. -* operator%: C++ Interface Integers. -* operator/: C++ Interface Integers. -* operator<<: C++ Formatted Output. -* operator>> <1>: C++ Formatted Input. -* operator>> <2>: C++ Interface Rationals. -* operator>>: C++ Formatted Input. -* pow: BSD Compatible Functions. -* reallocate_function: Custom Allocation. -* rpow: BSD Compatible Functions. -* sdiv: BSD Compatible Functions. -* sgn <1>: C++ Interface Floats. -* sgn <2>: C++ Interface Integers. -* sgn: C++ Interface Rationals. -* sqrt <1>: C++ Interface Floats. -* sqrt: C++ Interface Integers. -* trunc: C++ Interface Floats. -* xtom: BSD Compatible Functions. - diff -Naur gmp-4.1/gmp.info-9 gmp-4.1.1/gmp.info-9 --- gmp-4.1/gmp.info-9 Thu Jan 1 01:00:00 1970 +++ gmp-4.1.1/gmp.info-9 Wed Nov 27 23:34:33 2002 @@ -0,0 +1,439 @@ +This is gmp.info, produced by makeinfo version 4.2 from gmp.texi. + +This manual describes how to install and use the GNU multiple precision +arithmetic library, version 4.1.1. + + Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002 Free Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version +1.1 or any later version published by the Free Software Foundation; +with no Invariant Sections, with the Front-Cover Texts being "A GNU +Manual", and with the Back-Cover Texts being "You have freedom to copy +and modify this GNU Manual, like GNU software". A copy of the license +is included in *Note GNU Free Documentation License::. +INFO-DIR-SECTION GNU libraries +START-INFO-DIR-ENTRY +* gmp: (gmp). GNU Multiple Precision Arithmetic Library. +END-INFO-DIR-ENTRY + + +File: gmp.info, Node: Function Index, Prev: Concept Index, Up: Top + +Function and Type Index +*********************** + +* Menu: + +* *mpz_export: Integer Import and Export. +* __GNU_MP_VERSION: Useful Macros and Constants. +* __GNU_MP_VERSION_MINOR: Useful Macros and Constants. +* __GNU_MP_VERSION_PATCHLEVEL: Useful Macros and Constants. +* _mpz_realloc: Initializing Integers. +* abs <1>: C++ Interface Floats. +* abs <2>: C++ Interface Rationals. +* abs: C++ Interface Integers. +* allocate_function: Custom Allocation. +* ceil: C++ Interface Floats. +* cmp <1>: C++ Interface Integers. +* cmp <2>: C++ Interface Rationals. +* cmp: C++ Interface Floats. +* deallocate_function: Custom Allocation. +* floor: C++ Interface Floats. +* gcd: BSD Compatible Functions. +* gmp_asprintf: Formatted Output Functions. +* gmp_fprintf: Formatted Output Functions. +* gmp_fscanf: Formatted Input Functions. +* GMP_LIMB_BITS: Low-level Functions. +* GMP_NAIL_BITS: Low-level Functions. +* GMP_NAIL_MASK: Low-level Functions. +* GMP_NUMB_BITS: Low-level Functions. +* GMP_NUMB_MASK: Low-level Functions. +* GMP_NUMB_MAX: Low-level Functions. +* gmp_obstack_printf: Formatted Output Functions. +* gmp_obstack_vprintf: Formatted Output Functions. +* gmp_printf: Formatted Output Functions. +* gmp_randclass: C++ Interface Random Numbers. +* gmp_randclass::get_f: C++ Interface Random Numbers. +* gmp_randclass::get_z_bits: C++ Interface Random Numbers. +* gmp_randclass::get_z_range: C++ Interface Random Numbers. +* gmp_randclass::gmp_randclass: C++ Interface Random Numbers. +* gmp_randclass::seed: C++ Interface Random Numbers. +* gmp_randclear: Random State Initialization. +* gmp_randinit: Random State Initialization. +* gmp_randinit_default: Random State Initialization. +* gmp_randinit_lc_2exp: Random State Initialization. +* gmp_randinit_lc_2exp_size: Random State Initialization. +* gmp_randseed: Random State Seeding. +* gmp_randseed_ui: Random State Seeding. +* gmp_scanf: Formatted Input Functions. +* gmp_snprintf: Formatted Output Functions. +* gmp_sprintf: Formatted Output Functions. +* gmp_sscanf: Formatted Input Functions. +* gmp_vasprintf: Formatted Output Functions. +* gmp_version: Useful Macros and Constants. +* gmp_vfprintf: Formatted Output Functions. +* gmp_vfscanf: Formatted Input Functions. +* gmp_vprintf: Formatted Output Functions. +* gmp_vscanf: Formatted Input Functions. +* gmp_vsnprintf: Formatted Output Functions. +* gmp_vsprintf: Formatted Output Functions. +* gmp_vsscanf: Formatted Input Functions. +* hypot: C++ Interface Floats. +* itom: BSD Compatible Functions. +* madd: BSD Compatible Functions. +* mcmp: BSD Compatible Functions. +* mdiv: BSD Compatible Functions. +* mfree: BSD Compatible Functions. +* min: BSD Compatible Functions. +* mout: BSD Compatible Functions. +* move: BSD Compatible Functions. +* mp_bits_per_limb: Useful Macros and Constants. +* mp_limb_t: Nomenclature and Types. +* mp_set_memory_functions: Custom Allocation. +* mpf_abs: Float Arithmetic. +* mpf_add: Float Arithmetic. +* mpf_add_ui: Float Arithmetic. +* mpf_ceil: Miscellaneous Float Functions. +* mpf_class: C++ Interface General. +* mpf_class::fits_sint_p: C++ Interface Floats. +* mpf_class::fits_slong_p: C++ Interface Floats. +* mpf_class::fits_sshort_p: C++ Interface Floats. +* mpf_class::fits_uint_p: C++ Interface Floats. +* mpf_class::fits_ulong_p: C++ Interface Floats. +* mpf_class::fits_ushort_p: C++ Interface Floats. +* mpf_class::get_d: C++ Interface Floats. +* mpf_class::get_mpf_t: C++ Interface General. +* mpf_class::get_prec: C++ Interface Floats. +* mpf_class::get_si: C++ Interface Floats. +* mpf_class::get_ui: C++ Interface Floats. +* mpf_class::mpf_class: C++ Interface Floats. +* mpf_class::set_prec: C++ Interface Floats. +* mpf_class::set_prec_raw: C++ Interface Floats. +* mpf_clear: Initializing Floats. +* mpf_cmp: Float Comparison. +* mpf_cmp_d: Float Comparison. +* mpf_cmp_si: Float Comparison. +* mpf_cmp_ui: Float Comparison. +* mpf_div: Float Arithmetic. +* mpf_div_2exp: Float Arithmetic. +* mpf_div_ui: Float Arithmetic. +* mpf_eq: Float Comparison. +* mpf_fits_sint_p: Miscellaneous Float Functions. +* mpf_fits_slong_p: Miscellaneous Float Functions. +* mpf_fits_sshort_p: Miscellaneous Float Functions. +* mpf_fits_uint_p: Miscellaneous Float Functions. +* mpf_fits_ulong_p: Miscellaneous Float Functions. +* mpf_fits_ushort_p: Miscellaneous Float Functions. +* mpf_floor: Miscellaneous Float Functions. +* mpf_get_d: Converting Floats. +* mpf_get_d_2exp: Converting Floats. +* mpf_get_default_prec: Initializing Floats. +* mpf_get_prec: Initializing Floats. +* mpf_get_si: Converting Floats. +* mpf_get_str: Converting Floats. +* mpf_get_ui: Converting Floats. +* mpf_init: Initializing Floats. +* mpf_init2: Initializing Floats. +* mpf_init_set: Simultaneous Float Init & Assign. +* mpf_init_set_d: Simultaneous Float Init & Assign. +* mpf_init_set_si: Simultaneous Float Init & Assign. +* mpf_init_set_str: Simultaneous Float Init & Assign. +* mpf_init_set_ui: Simultaneous Float Init & Assign. +* mpf_inp_str: I/O of Floats. +* mpf_integer_p: Miscellaneous Float Functions. +* mpf_mul: Float Arithmetic. +* mpf_mul_2exp: Float Arithmetic. +* mpf_mul_ui: Float Arithmetic. +* mpf_neg: Float Arithmetic. +* mpf_out_str: I/O of Floats. +* mpf_pow_ui: Float Arithmetic. +* mpf_random2: Miscellaneous Float Functions. +* mpf_reldiff: Float Comparison. +* mpf_set: Assigning Floats. +* mpf_set_d: Assigning Floats. +* mpf_set_default_prec: Initializing Floats. +* mpf_set_prec: Initializing Floats. +* mpf_set_prec_raw: Initializing Floats. +* mpf_set_q: Assigning Floats. +* mpf_set_si: Assigning Floats. +* mpf_set_str: Assigning Floats. +* mpf_set_ui: Assigning Floats. +* mpf_set_z: Assigning Floats. +* mpf_sgn: Float Comparison. +* mpf_sqrt: Float Arithmetic. +* mpf_sqrt_ui: Float Arithmetic. +* mpf_sub: Float Arithmetic. +* mpf_sub_ui: Float Arithmetic. +* mpf_swap: Assigning Floats. +* mpf_t: Nomenclature and Types. +* mpf_trunc: Miscellaneous Float Functions. +* mpf_ui_div: Float Arithmetic. +* mpf_ui_sub: Float Arithmetic. +* mpf_urandomb: Miscellaneous Float Functions. +* mpfr_class: C++ Interface MPFR. +* mpn_add: Low-level Functions. +* mpn_add_1: Low-level Functions. +* mpn_add_n: Low-level Functions. +* mpn_addmul_1: Low-level Functions. +* mpn_bdivmod: Low-level Functions. +* mpn_cmp: Low-level Functions. +* mpn_divexact_by3: Low-level Functions. +* mpn_divexact_by3c: Low-level Functions. +* mpn_divmod: Low-level Functions. +* mpn_divmod_1: Low-level Functions. +* mpn_divrem: Low-level Functions. +* mpn_divrem_1: Low-level Functions. +* mpn_gcd: Low-level Functions. +* mpn_gcd_1: Low-level Functions. +* mpn_gcdext: Low-level Functions. +* mpn_get_str: Low-level Functions. +* mpn_hamdist: Low-level Functions. +* mpn_lshift: Low-level Functions. +* mpn_mod_1: Low-level Functions. +* mpn_mul: Low-level Functions. +* mpn_mul_1: Low-level Functions. +* mpn_mul_n: Low-level Functions. +* mpn_perfect_square_p: Low-level Functions. +* mpn_popcount: Low-level Functions. +* mpn_random: Low-level Functions. +* mpn_random2: Low-level Functions. +* mpn_rshift: Low-level Functions. +* mpn_scan0: Low-level Functions. +* mpn_scan1: Low-level Functions. +* mpn_set_str: Low-level Functions. +* mpn_sqrtrem: Low-level Functions. +* mpn_sub: Low-level Functions. +* mpn_sub_1: Low-level Functions. +* mpn_sub_n: Low-level Functions. +* mpn_submul_1: Low-level Functions. +* mpn_tdiv_qr: Low-level Functions. +* mpq_abs: Rational Arithmetic. +* mpq_add: Rational Arithmetic. +* mpq_canonicalize: Rational Number Functions. +* mpq_class: C++ Interface General. +* mpq_class::canonicalize: C++ Interface Rationals. +* mpq_class::get_d: C++ Interface Rationals. +* mpq_class::get_den: C++ Interface Rationals. +* mpq_class::get_den_mpz_t: C++ Interface Rationals. +* mpq_class::get_mpq_t: C++ Interface General. +* mpq_class::get_num: C++ Interface Rationals. +* mpq_class::get_num_mpz_t: C++ Interface Rationals. +* mpq_class::mpq_class: C++ Interface Rationals. +* mpq_clear: Initializing Rationals. +* mpq_cmp: Comparing Rationals. +* mpq_cmp_si: Comparing Rationals. +* mpq_cmp_ui: Comparing Rationals. +* mpq_denref: Applying Integer Functions. +* mpq_div: Rational Arithmetic. +* mpq_div_2exp: Rational Arithmetic. +* mpq_equal: Comparing Rationals. +* mpq_get_d: Rational Conversions. +* mpq_get_den: Applying Integer Functions. +* mpq_get_num: Applying Integer Functions. +* mpq_get_str: Rational Conversions. +* mpq_init: Initializing Rationals. +* mpq_inp_str: I/O of Rationals. +* mpq_inv: Rational Arithmetic. +* mpq_mul: Rational Arithmetic. +* mpq_mul_2exp: Rational Arithmetic. +* mpq_neg: Rational Arithmetic. +* mpq_numref: Applying Integer Functions. +* mpq_out_str: I/O of Rationals. +* mpq_set: Initializing Rationals. +* mpq_set_d: Rational Conversions. +* mpq_set_den: Applying Integer Functions. +* mpq_set_f: Rational Conversions. +* mpq_set_num: Applying Integer Functions. +* mpq_set_si: Initializing Rationals. +* mpq_set_str: Initializing Rationals. +* mpq_set_ui: Initializing Rationals. +* mpq_set_z: Initializing Rationals. +* mpq_sgn: Comparing Rationals. +* mpq_sub: Rational Arithmetic. +* mpq_swap: Initializing Rationals. +* mpq_t: Nomenclature and Types. +* mpz_abs: Integer Arithmetic. +* mpz_add: Integer Arithmetic. +* mpz_add_ui: Integer Arithmetic. +* mpz_addmul: Integer Arithmetic. +* mpz_addmul_ui: Integer Arithmetic. +* mpz_and: Integer Logic and Bit Fiddling. +* mpz_array_init: Initializing Integers. +* mpz_bin_ui: Number Theoretic Functions. +* mpz_bin_uiui: Number Theoretic Functions. +* mpz_cdiv_q: Integer Division. +* mpz_cdiv_q_2exp: Integer Division. +* mpz_cdiv_q_ui: Integer Division. +* mpz_cdiv_qr: Integer Division. +* mpz_cdiv_qr_ui: Integer Division. +* mpz_cdiv_r: Integer Division. +* mpz_cdiv_r_2exp: Integer Division. +* mpz_cdiv_r_ui: Integer Division. +* mpz_cdiv_ui: Integer Division. +* mpz_class: C++ Interface General. +* mpz_class::fits_sint_p: C++ Interface Integers. +* mpz_class::fits_slong_p: C++ Interface Integers. +* mpz_class::fits_sshort_p: C++ Interface Integers. +* mpz_class::fits_uint_p: C++ Interface Integers. +* mpz_class::fits_ulong_p: C++ Interface Integers. +* mpz_class::fits_ushort_p: C++ Interface Integers. +* mpz_class::get_d: C++ Interface Integers. +* mpz_class::get_mpz_t: C++ Interface General. +* mpz_class::get_si: C++ Interface Integers. +* mpz_class::get_ui: C++ Interface Integers. +* mpz_class::mpz_class: C++ Interface Integers. +* mpz_clear: Initializing Integers. +* mpz_clrbit: Integer Logic and Bit Fiddling. +* mpz_cmp: Integer Comparisons. +* mpz_cmp_d: Integer Comparisons. +* mpz_cmp_si: Integer Comparisons. +* mpz_cmp_ui: Integer Comparisons. +* mpz_cmpabs: Integer Comparisons. +* mpz_cmpabs_d: Integer Comparisons. +* mpz_cmpabs_ui: Integer Comparisons. +* mpz_com: Integer Logic and Bit Fiddling. +* mpz_congruent_2exp_p: Integer Division. +* mpz_congruent_p: Integer Division. +* mpz_congruent_ui_p: Integer Division. +* mpz_divexact: Integer Division. +* mpz_divexact_ui: Integer Division. +* mpz_divisible_2exp_p: Integer Division. +* mpz_divisible_p: Integer Division. +* mpz_divisible_ui_p: Integer Division. +* mpz_even_p: Miscellaneous Integer Functions. +* mpz_fac_ui: Number Theoretic Functions. +* mpz_fdiv_q: Integer Division. +* mpz_fdiv_q_2exp: Integer Division. +* mpz_fdiv_q_ui: Integer Division. +* mpz_fdiv_qr: Integer Division. +* mpz_fdiv_qr_ui: Integer Division. +* mpz_fdiv_r: Integer Division. +* mpz_fdiv_r_2exp: Integer Division. +* mpz_fdiv_r_ui: Integer Division. +* mpz_fdiv_ui: Integer Division. +* mpz_fib2_ui: Number Theoretic Functions. +* mpz_fib_ui: Number Theoretic Functions. +* mpz_fits_sint_p: Miscellaneous Integer Functions. +* mpz_fits_slong_p: Miscellaneous Integer Functions. +* mpz_fits_sshort_p: Miscellaneous Integer Functions. +* mpz_fits_uint_p: Miscellaneous Integer Functions. +* mpz_fits_ulong_p: Miscellaneous Integer Functions. +* mpz_fits_ushort_p: Miscellaneous Integer Functions. +* mpz_gcd: Number Theoretic Functions. +* mpz_gcd_ui: Number Theoretic Functions. +* mpz_gcdext: Number Theoretic Functions. +* mpz_get_d: Converting Integers. +* mpz_get_d_2exp: Converting Integers. +* mpz_get_si: Converting Integers. +* mpz_get_str: Converting Integers. +* mpz_get_ui: Converting Integers. +* mpz_getlimbn: Converting Integers. +* mpz_hamdist: Integer Logic and Bit Fiddling. +* mpz_import: Integer Import and Export. +* mpz_init: Initializing Integers. +* mpz_init2: Initializing Integers. +* mpz_init_set: Simultaneous Integer Init & Assign. +* mpz_init_set_d: Simultaneous Integer Init & Assign. +* mpz_init_set_si: Simultaneous Integer Init & Assign. +* mpz_init_set_str: Simultaneous Integer Init & Assign. +* mpz_init_set_ui: Simultaneous Integer Init & Assign. +* mpz_inp_raw: I/O of Integers. +* mpz_inp_str: I/O of Integers. +* mpz_invert: Number Theoretic Functions. +* mpz_ior: Integer Logic and Bit Fiddling. +* mpz_jacobi: Number Theoretic Functions. +* mpz_kronecker: Number Theoretic Functions. +* mpz_kronecker_si: Number Theoretic Functions. +* mpz_kronecker_ui: Number Theoretic Functions. +* mpz_lcm: Number Theoretic Functions. +* mpz_lcm_ui: Number Theoretic Functions. +* mpz_legendre: Number Theoretic Functions. +* mpz_lucnum2_ui: Number Theoretic Functions. +* mpz_lucnum_ui: Number Theoretic Functions. +* mpz_mod: Integer Division. +* mpz_mod_ui: Integer Division. +* mpz_mul: Integer Arithmetic. +* mpz_mul_2exp: Integer Arithmetic. +* mpz_mul_si: Integer Arithmetic. +* mpz_mul_ui: Integer Arithmetic. +* mpz_neg: Integer Arithmetic. +* mpz_nextprime: Number Theoretic Functions. +* mpz_odd_p: Miscellaneous Integer Functions. +* mpz_out_raw: I/O of Integers. +* mpz_out_str: I/O of Integers. +* mpz_perfect_power_p: Integer Roots. +* mpz_perfect_square_p: Integer Roots. +* mpz_popcount: Integer Logic and Bit Fiddling. +* mpz_pow_ui: Integer Exponentiation. +* mpz_powm: Integer Exponentiation. +* mpz_powm_ui: Integer Exponentiation. +* mpz_probab_prime_p: Number Theoretic Functions. +* mpz_random: Integer Random Numbers. +* mpz_random2: Integer Random Numbers. +* mpz_realloc2: Initializing Integers. +* mpz_remove: Number Theoretic Functions. +* mpz_root: Integer Roots. +* mpz_rrandomb: Integer Random Numbers. +* mpz_scan0: Integer Logic and Bit Fiddling. +* mpz_scan1: Integer Logic and Bit Fiddling. +* mpz_set: Assigning Integers. +* mpz_set_d: Assigning Integers. +* mpz_set_f: Assigning Integers. +* mpz_set_q: Assigning Integers. +* mpz_set_si: Assigning Integers. +* mpz_set_str: Assigning Integers. +* mpz_set_ui: Assigning Integers. +* mpz_setbit: Integer Logic and Bit Fiddling. +* mpz_sgn: Integer Comparisons. +* mpz_si_kronecker: Number Theoretic Functions. +* mpz_size: Miscellaneous Integer Functions. +* mpz_sizeinbase: Miscellaneous Integer Functions. +* mpz_sqrt: Integer Roots. +* mpz_sqrtrem: Integer Roots. +* mpz_sub: Integer Arithmetic. +* mpz_sub_ui: Integer Arithmetic. +* mpz_submul: Integer Arithmetic. +* mpz_submul_ui: Integer Arithmetic. +* mpz_swap: Assigning Integers. +* mpz_t: Nomenclature and Types. +* mpz_tdiv_q: Integer Division. +* mpz_tdiv_q_2exp: Integer Division. +* mpz_tdiv_q_ui: Integer Division. +* mpz_tdiv_qr: Integer Division. +* mpz_tdiv_qr_ui: Integer Division. +* mpz_tdiv_r: Integer Division. +* mpz_tdiv_r_2exp: Integer Division. +* mpz_tdiv_r_ui: Integer Division. +* mpz_tdiv_ui: Integer Division. +* mpz_tstbit: Integer Logic and Bit Fiddling. +* mpz_ui_kronecker: Number Theoretic Functions. +* mpz_ui_pow_ui: Integer Exponentiation. +* mpz_ui_sub: Integer Arithmetic. +* mpz_urandomb: Integer Random Numbers. +* mpz_urandomm: Integer Random Numbers. +* mpz_xor: Integer Logic and Bit Fiddling. +* msqrt: BSD Compatible Functions. +* msub: BSD Compatible Functions. +* mtox: BSD Compatible Functions. +* mult: BSD Compatible Functions. +* operator%: C++ Interface Integers. +* operator/: C++ Interface Integers. +* operator<<: C++ Formatted Output. +* operator>> <1>: C++ Formatted Input. +* operator>> <2>: C++ Interface Rationals. +* operator>>: C++ Formatted Input. +* pow: BSD Compatible Functions. +* reallocate_function: Custom Allocation. +* rpow: BSD Compatible Functions. +* sdiv: BSD Compatible Functions. +* sgn <1>: C++ Interface Floats. +* sgn <2>: C++ Interface Integers. +* sgn: C++ Interface Rationals. +* sqrt <1>: C++ Interface Floats. +* sqrt: C++ Interface Integers. +* trunc: C++ Interface Floats. +* xtom: BSD Compatible Functions. + + diff -Naur gmp-4.1/gmp.texi gmp-4.1.1/gmp.texi --- gmp-4.1/gmp.texi Fri May 24 00:19:31 2002 +++ gmp-4.1.1/gmp.texi Fri Nov 15 22:16:01 2002 @@ -448,10 +448,15 @@ and Pyramid AP/XP. -@cindex Mailing list -There is a mailing list for GMP users. To join it, send a mail to -@email{gmp-request@@swox.com} with the word @samp{subscribe} in the message -@strong{body} (not in the subject line). +@cindex Mailing lists +There are two public mailing lists of interest. One for general questions and +discussions about usage of the GMP library and one for discussions about +development of GMP. There's more information about the mailing lists at +@uref{http://swox.com/mailman/listinfo/}. These lists are @strong{not} for +bug reports. + +The proper place for bug reports is @email{bug-gmp@@gnu.org}. See +@ref{Reporting Bugs} for info about reporting bugs. @cindex Home page @cindex Web page @@ -976,19 +981,6 @@ finally fall back on generic C. Knowledgeable users with special requirements can specify a different path. Normally this is completely unnecessary. -@item Demonstration Programs -@cindex Demonstration programs -@cindex Example programs - -The @file{demos} subdirectory has some sample programs using GMP. These -aren't built or installed, but there's a @file{Makefile} with rules for them. -For instance, - -@example -make pexpr -./pexpr 68^975+10 -@end example - @item Documentation The document you're now reading is @file{gmp.texi}. The usual automake @@ -1124,28 +1116,19 @@ @sp 1 @need 1000 -@item PowerPC 64 (@samp{powerpc64*}) +@item PowerPC 64 (@samp{powerpc64}, @samp{powerpc620}, @samp{powerpc630}) @table @asis @item @samp{ABI=aix64} The AIX 64 ABI uses 64-bit limbs and pointers and is available on systems -@samp{powerpc64*-*-aix*}. Applications must be compiled (and linked) with +@samp{*-*-aix*}. Applications must be compiled (and linked) with @example gcc -maix64 xlc -q64 @end example -@item @samp{ABI=32L} - -This uses the 32-bit ABI but a 64-bit limb using GCC @code{long long} in -64-bit registers. Applications must be compiled with - -@example -gcc -mpowerpc64 -@end example - @item @samp{ABI=32} This is the basic 32-bit PowerPC ABI. No special compiler options are needed @@ -1291,9 +1274,22 @@ building a DLL, since libtool doesn't currently support C++ DLLs. This might change in the future. -GCC is recommended for compiling GMP, but the resulting DLL can be used with -any compiler. On mingw only the standard Windows libraries will be needed, on -Cygwin the usual cygwin runtime will be required. +@item Microsoft C +A MINGW DLL build of GMP can be used with Microsoft C. Libtool doesn't +install @file{.lib} and @file{.exp} files, but they can be created with the +following commands, where @file{/my/inst/dir} is the install directory (with a +@file{lib} subdirectory). + +@example +lib /machine:IX86 /def:_libs/libgmp-3.dll-def +cp libgmp-3.lib /my/inst/dir/lib +cp _libs/libgmp-3.dll-exp /my/inst/dir/lib/libgmp-3.exp +@end example + +MINGW uses @samp{msvcrt.dll} for I/O, so applications wanting to use the GMP +I/O routines must be compiled with @samp{cl /MD} to do the same. If one of +the other I/O choices provided by MS C is desired then the suggestion is to +use the GMP string functions and confine I/O to the application. @item Motorola 68k CPU Types @@ -1361,12 +1357,6 @@ Solaris 2.6 and 2.7 @command{as} generate incorrect object code for register to register @code{movq} instructions, and so can't be used for MMX code. Install a recent @command{gas} if MMX code is wanted on these systems. - -@item x86 GCC @samp{-march=pentiumpro} - -GCC 2.95.2 and 2.95.3 miscompiled some versions of @file{mpz/powm.c} when -@samp{-march=pentiumpro} was used, so for relevant CPUs that option is only in -the default @env{CFLAGS} for GCC 2.95.4 and up. @end table @@ -1394,11 +1384,10 @@ @item @samp{DESTDIR} and shared @file{libgmpxx} @cindex @samp{DESTDIR} - -@samp{make install DESTDIR=/my/staging/area} or the same with a @samp{prefix} -override to install to a temporary directory is not fully supported by current -versions of libtool when building a shared version of a library which depends -on another being built at the same time, like @file{libgmpxx} and +@samp{make install DESTDIR=/my/staging/area}, or the same with a @samp{prefix} +override, to install to a temporary directory is not fully supported by +current versions of libtool when building a shared version of a library which +depends on another being built at the same time, like @file{libgmpxx} and @file{libgmp}. The problem is that @file{libgmpxx} is relinked at the install stage to ensure @@ -1407,34 +1396,27 @@ directed to look only at the final location, not the staging area, so if @file{libgmp} is not already in that final location then the link will fail. -On systems which don't hard-code library paths, for instance SVR4 style -systems such as GNU/Linux, a workaround is to insert a suitable @code{-L} in -the @code{relink_command} of @file{libgmpxx.la} after building but before -installing. This can be automated with something like +A workaround for this on SVR4 style systems, such as GNU/Linux, where paths +are not hard-coded, is to include the staging area in the linker's search +using @code{LD_LIBRARY_PATH}. For example with @samp{--prefix=/usr} but +installing under @samp{/my/staging/area}, @example -sed '/^relink_command/s:libgmp.la:-L /my/staging/area libgmp.la:' \ - libgmpxx.new -mv libgmpxx.new libgmpxx.la +LD_LIBRARY_PATH=/my/staging/area/usr/lib \ + make install DESTDIR=/my/staging/area @end example -@item GNU binutils @command{strip} +@item GNU binutils @command{strip} prior to 2.12 @cindex Stripped libraries -GNU binutils @command{strip} should not be used on the static libraries -@file{libgmp.a} and @file{libmp.a}, neither directly nor via @samp{make -install-strip}. It can be used on the shared libraries @file{libgmp.so} and -@file{libmp.so} though. - -Currently (binutils 2.10.0), @command{strip} unpacks an archive then operates -on the files, but GMP contains multiple object files of the same name -(eg. three versions of @file{init.o}), and they overwrite each other, leaving -only the one that happens to be last. - -If stripped static libraries are wanted, the suggested workaround is to build -normally, strip the separate object files, and do another @samp{make all} to -rebuild. Alternately @samp{CFLAGS} with @samp{-g} omitted can always be used -if it's just debugging which is unwanted. +@command{strip} from GNU binutils 2.11 and earlier should not be used on the +static libraries @file{libgmp.a} and @file{libmp.a} since it will discard all +but the last of multiple archive members with the same name, like the three +versions of @file{init.o} in @file{libgmp.a}. Binutils 2.12 or higher can be +used successfully. + +The shared libraries @file{libgmp.so} and @file{libmp.so} are not affected by +this and any version of @command{strip} can be used on them. @item @command{make} syntax error @@ -1452,6 +1434,15 @@ build work, but if any recompiling is done @file{libgmp.la} might not be rebuilt). +@item MacOS X and GCC +Libtool currently only knows how to create shared libraries on MacOS X using +the native @command{cc} (which is a modified GCC), not a plain GCC. A +static-only build should work though (@samp{--disable-shared}). + +Also, libtool currently cannot build C++ shared libraries on MacOS X, so if +@samp{--enable-cxx} is desired then @samp{--disable-shared} must be used. +Hopefully this will be fixed in the future. + @item NeXT prior to 3.3 The system compiler on old versions of NeXT was a massacred and old GCC, even @@ -1512,10 +1503,12 @@ * Reentrancy:: * Useful Macros and Constants:: * Compatibility with older versions:: +* Demonstration Programs:: * Efficiency:: * Debugging:: * Profiling:: * Autoconf:: +* Emacs:: @end menu @node Headers and Libraries, Nomenclature and Types, GMP Basics, GMP Basics @@ -1866,7 +1859,7 @@ @end deftypevr -@node Compatibility with older versions, Efficiency, Useful Macros and Constants, GMP Basics +@node Compatibility with older versions, Demonstration Programs, Useful Macros and Constants, GMP Basics @section Compatibility with older versions @cindex Compatibility with older versions @cindex Upward compatibility @@ -1944,7 +1937,53 @@ @need 1000 -@node Efficiency, Debugging, Compatibility with older versions, GMP Basics +@node Demonstration Programs, Efficiency, Compatibility with older versions, GMP Basics +@section Demonstration programs +@cindex Demonstration programs +@cindex Example programs +@cindex Sample programs +The @file{demos} subdirectory has some sample programs using GMP. These +aren't built or installed, but there's a @file{Makefile} with rules for them. +For instance, + +@example +make pexpr +./pexpr 68^975+10 +@end example + +@noindent +The following programs are provided + +@itemize @bullet +@item +@samp{pexpr} is an expression evaluator, the program used on the GMP web page. +@item +The @samp{calc} subdirectory has a similar but simpler evaluator using +@command{lex} and @command{yacc}. +@item +The @samp{expr} subdirectory is yet another expression evaluator, a library +designed for ease of use within a C program. See @file{demos/expr/README} for +more information. +@item +@samp{factorize} is a Pollard-Rho factorization program. +@item +@samp{isprime} is a command-line interface to the @code{mpz_probab_prime_p} +function. +@item +@samp{primes} counts or lists primes in an interval, using a sieve. +@item +@samp{qcn} is an example use of @code{mpz_kronecker_ui} to estimate quadratic +class numbers. +@item +@cindex @code{perl} +The @samp{perl} subdirectory is a comprehensive perl interface to GMP. See +@file{demos/perl/INSTALL} for more information. Documentation is in POD +format in @file{demos/perl/GMP.pm}. +@end itemize + + +@need 1000 +@node Efficiency, Debugging, Demonstration Programs, GMP Basics @section Efficiency @cindex Efficiency @@ -2255,7 +2294,7 @@ be expected to be valid, not the @samp{gprof -q} call graph. -@node Autoconf, , Profiling, GMP Basics +@node Autoconf, Emacs, Profiling, GMP Basics @section Autoconf @cindex Autoconf detections @@ -2329,6 +2368,32 @@ @end example +@node Emacs, , Autoconf, GMP Basics +@section Emacs +@cindex Emacs + +@key{C-h C-i} (@code{info-lookup-symbol}) is a good way to find documentation +on C functions while editing (@pxref{Info Lookup, , Info Documentation Lookup, +emacs, The Emacs Editor}). + +The GMP manual can be included in such lookups by putting the following in +your @file{.emacs}, + +@c This isn't pretty, but there doesn't seem to be a better way (in emacs +@c 21.2 at least). info-lookup->mode-value could be used for the "assoc"s, +@c but that function isn't documented, whereas info-lookup-alist is. +@c +@example +(eval-after-load "info-look" + '(let ((mode-value (assoc 'c-mode (assoc 'symbol info-lookup-alist)))) + (setcar (nthcdr 3 mode-value) + (cons '("(gmp)Function Index" nil "^ -.* " "\\>") + (nth 3 mode-value))))) +@end example + +The same can be done for MPFR, with @code{(mpfr)} in place of @code{(gmp)}. + + @node Reporting Bugs, Integer Functions, GMP Basics, Top @comment node-name, next, previous, up @chapter Reporting Bugs @@ -3071,7 +3136,8 @@ @deftypefun {unsigned long int} mpz_remove (mpz_t @var{rop}, mpz_t @var{op}, mpz_t @var{f}) Remove all occurrences of the factor @var{f} from @var{op} and store the -result in @var{rop}. Return the multiplicity of @var{f} in @var{op}. +result in @var{rop}. The return value is how many such occurrences were +removed. @end deftypefun @deftypefun void mpz_fac_ui (mpz_t @var{rop}, unsigned long int @var{op}) @@ -4026,7 +4092,7 @@ Convert @var{op} to a @code{double}. @end deftypefun -@deftypefun double mpf_get_d_2exp (signed long int @var{exp}, mpf_t @var{op}) +@deftypefun double mpf_get_d_2exp (signed long int *@var{exp}, mpf_t @var{op}) Find @var{d} and @var{exp} such that @m{@var{d}\times 2^{exp}, @var{d} times 2 raised to @var{exp}}, with @math{0.5@le{}@GMPabs{@var{d}}<1}, is a good approximation to @var{op}. This is similar to the standard C function @@ -4056,7 +4122,7 @@ null-terminator. If @var{str} is not @code{NULL}, it should point to a block of -@math{@var{n\_digits} + 2} bytes, that being enough for the mantissa, a +@math{@var{n_digits} + 2} bytes, that being enough for the mantissa, a possible minus sign, and a null-terminator. When @var{n_digits} is 0 to get all significant digits, an application won't be able to know the space required, and @var{str} should be @code{NULL} in that case. @@ -4649,7 +4715,7 @@ base @var{base}, and return the number of characters produced. There may be leading zeros in the string. The string is not in ASCII; to convert it to printable format, add the ASCII codes for @samp{0} or @samp{A}, depending on -the base and range. +the base and range. @var{base} can vary from 2 to 256. The most significant limb of the input @{@var{s1p}, @var{s1n}@} must be non-zero. The input @{@var{s1p}, @var{s1n}@} is clobbered, except when @@ -4659,7 +4725,7 @@ represented by a @var{s1n} long limb array, plus one extra character. @end deftypefun -@deftypefun mp_size_t mpn_set_str (mp_limb_t *@var{rp}, const char *@var{str}, size_t @var{strsize}, int @var{base}) +@deftypefun mp_size_t mpn_set_str (mp_limb_t *@var{rp}, const unsigned char *@var{str}, size_t @var{strsize}, int @var{base}) Convert bytes @{@var{str},@var{strsize}@} in the given @var{base} to limbs at @var{rp}. @@ -4838,7 +4904,7 @@ Initialize @var{state} for a linear congruential algorithm as per @code{gmp_randinit_lc_2exp}. @var{a}, @var{c} and @var{m2exp} are selected from a table, chosen so that @var{size} bits (or more) of each @math{X} will -be used, ie. @math{@var{m2exp} @ge{} @var{size}/2}. +be used, ie. @math{@var{m2exp}/2 @ge{} @var{size}}. If successful the return value is non-zero. If @var{size} is bigger than the table data provides then the return value is zero. The maximum @var{size} @@ -5305,7 +5371,7 @@ @item @nicode{e} @nicode{E} @nicode{f} @nicode{g} @nicode{G} @tab float @item @nicode{i} @tab integer with base indicator -@item @nicode{n} @tab characters written so far +@item @nicode{n} @tab characters read so far @item @nicode{o} @tab octal integer @item @nicode{p} @tab pointer @item @nicode{s} @tab string of non-whitespace characters @@ -5482,6 +5548,13 @@ #include @end example +Programs should be linked with the @file{libgmpxx} and @file{libgmp} +libraries. For example, + +@example +g++ mycxxprog.cc -lgmpxx -lgmp +@end example + @noindent The classes defined are @@ -6224,6 +6297,8 @@ LiDIA @spaceuref{http://www.informatik.tu-darmstadt.de/TI/LiDIA} @* A C++ library for computational number theory. @item +Linbox @spaceuref{http://www.linalg.org} @* Sparse vectors and matrices. +@item NTL @spaceuref{http://www.shoup.net/ntl} @* A C++ number theory library. @end itemize @@ -6267,7 +6342,7 @@ @item ML @itemize @bullet @item -MLton compiler @spaceuref{http://www.sourcelight.com/MLton} +MLton compiler @spaceuref{http://www.mlton.org} @end itemize @item Oz diff -Naur gmp-4.1/gmpxx.h gmp-4.1.1/gmpxx.h --- gmp-4.1/gmpxx.h Wed May 8 01:09:50 2002 +++ gmp-4.1.1/gmpxx.h Tue Nov 19 21:46:56 2002 @@ -982,7 +982,7 @@ mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); - b = (mpq_equal(q, temp) == 0); + b = (mpq_equal(q, temp) != 0); mpq_clear(temp); return b; } @@ -992,7 +992,7 @@ mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); - b = (mpq_equal(temp, q) == 0); + b = (mpq_equal(temp, q) != 0); mpq_clear(temp); return b; } @@ -1127,7 +1127,7 @@ mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); - b = (mpq_equal(q, temp) != 0); + b = (mpq_equal(q, temp) == 0); mpq_clear(temp); return b; } @@ -1137,7 +1137,7 @@ mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); - b = (mpq_equal(temp, q) != 0); + b = (mpq_equal(temp, q) == 0); mpq_clear(temp); return b; } @@ -2633,10 +2633,18 @@ } // conversion functions - const mpz_classref get_num() const { return mpz_classref(mpq_numref(mp)); } - mpz_classref get_num() { return mpz_classref(mpq_numref(mp)); } - const mpz_classref get_den() const { return mpz_classref(mpq_denref(mp)); } - mpz_classref get_den() { return mpz_classref(mpq_denref(mp)); } + + // casting a reference to an mpz_t to mpz_class & is a dirty hack, + // but works because the internal representation of mpz_class is + // exactly an mpz_t + const mpz_class & get_num() const + { return reinterpret_cast(*mpq_numref(mp)); } + mpz_class & get_num() + { return reinterpret_cast(*mpq_numref(mp)); } + const mpz_class & get_den() const + { return reinterpret_cast(*mpq_denref(mp)); } + mpz_class & get_den() + { return reinterpret_cast(*mpq_denref(mp)); } mpq_srcptr get_mpq_t() const { return mp; } mpq_ptr get_mpq_t() { return mp; } @@ -4968,6 +4976,12 @@ } }; +extern "C" { + typedef void __gmp_randinit_default_t (gmp_randstate_t); + typedef void __gmp_randinit_lc_2exp_t (gmp_randstate_t, mpz_srcptr, unsigned long int, unsigned long int); + typedef int __gmp_randinit_lc_2exp_size_t (gmp_randstate_t, unsigned long int); +} + class gmp_randclass { private: @@ -4988,17 +5002,16 @@ } // gmp_randinit_default - gmp_randclass(void (*f)(gmp_randstate_t)) + gmp_randclass(__gmp_randinit_default_t* f) { f(state); } // gmp_randinit_lc_2exp - gmp_randclass(void (*f)(gmp_randstate_t, mpz_srcptr, - unsigned long int, unsigned long int), + gmp_randclass(__gmp_randinit_lc_2exp_t* f, mpz_class z, unsigned long int l1, unsigned long int l2) { f(state, z.get_mpz_t(), l1, l2); } // gmp_randinit_lc_2exp_size - gmp_randclass(int (*f)(gmp_randstate_t, unsigned long int), + gmp_randclass(__gmp_randinit_lc_2exp_size_t* f, unsigned long int size) { f(state, size); } diff -Naur gmp-4.1/longlong.h gmp-4.1.1/longlong.h --- gmp-4.1/longlong.h Tue May 21 01:33:57 2002 +++ gmp-4.1.1/longlong.h Sat Nov 2 00:49:20 2002 @@ -136,6 +136,9 @@ #define UDIV_NEEDS_NORMALIZATION 1 #define UDIV_TIME 220 #endif /* LONGLONG_STANDALONE */ +/* clz_tab is required by mpn/alpha/cntlz.asm, and that file is built for + all alphas, even though ev67 and ev68 don't need it. */ +#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB #if HAVE_HOST_CPU_alphaev67 || HAVE_HOST_CPU_alphaev68 #define count_leading_zeros(COUNT,X) \ __asm__("ctlz %1,%0" : "=r"(COUNT) : "r"(X)) @@ -150,7 +153,6 @@ #endif #define count_leading_zeros(count, x) \ ((count) = __MPN(count_leading_zeros) (x)) -#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB #endif /* LONGLONG_STANDALONE */ #endif /* ! (ev67 || ev68) */ #endif /* __alpha */ @@ -685,7 +687,7 @@ #endif #endif /* 80x86 */ -#if defined (__x86_64) && W_TYPE_SIZE == 64 +#if defined (__x86_64__) && W_TYPE_SIZE == 64 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addq %5,%1\n\tadcq %3,%0" \ : "=r" ((UDItype)(sh)), "=&r" ((UDItype)(sl)) \ @@ -706,15 +708,15 @@ : "0" ((UDItype)(n0)), "1" ((UDItype)(n1)), "rm" ((UDItype)(dx))) #define count_leading_zeros(count, x) \ do { \ - USItype __cbtmp; \ + UDItype __cbtmp; \ ASSERT ((x) != 0); \ - __asm__ ("bsrq %1,%0" : "=r" (__cbtmp) : "rm" ((USItype)(x))); \ + __asm__ ("bsrq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ (count) = __cbtmp ^ 63; \ } while (0) #define count_trailing_zeros(count, x) \ do { \ ASSERT ((x) != 0); \ - __asm__ ("bsfq %1,%0" : "=r" (count) : "rm" ((USItype)(x))); \ + __asm__ ("bsfq %1,%0" : "=r" (count) : "rm" ((UDItype)(x))); \ } while (0) #endif /* x86_64 */ diff -Naur gmp-4.1/mpf/inp_str.c gmp-4.1.1/mpf/inp_str.c --- gmp-4.1/mpf/inp_str.c Tue Jan 2 09:53:42 2001 +++ gmp-4.1.1/mpf/inp_str.c Sat Aug 31 02:01:03 2002 @@ -1,7 +1,7 @@ /* mpf_inp_str(dest_float, stream, base) -- Input a number in base BASE from stdio stream STREAM and store the result in DEST_FLOAT. -Copyright 1996, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -64,6 +64,7 @@ c = getc (stream); } ungetc (c, stream); + nread--; if (str_size >= alloc_size) { @@ -74,9 +75,10 @@ str[str_size] = 0; retval = mpf_set_str (rop, str, base); + (*__gmp_free_func) (str, alloc_size); + if (retval == -1) return 0; /* error */ - (*__gmp_free_func) (str, alloc_size); return str_size + nread; } diff -Naur gmp-4.1/mpf/urandomb.c gmp-4.1.1/mpf/urandomb.c --- gmp-4.1/mpf/urandomb.c Tue May 14 18:59:48 2002 +++ gmp-4.1.1/mpf/urandomb.c Sat Nov 2 00:52:51 2002 @@ -32,6 +32,8 @@ mp_size_t nlimbs; mp_exp_t exp; + nbits = MIN (nbits, __GMPF_PREC_TO_BITS (rop->_mp_prec)); + rp = PTR (rop); nlimbs = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; diff -Naur gmp-4.1/mpfr/acinclude.m4 gmp-4.1.1/mpfr/acinclude.m4 --- gmp-4.1/mpfr/acinclude.m4 Tue Apr 16 00:45:52 2002 +++ gmp-4.1.1/mpfr/acinclude.m4 Sat Aug 31 02:51:49 2002 @@ -117,16 +117,30 @@ if test -n "$GCC"; then AC_CACHE_CHECK([for gcc float-conversion bug], mpfr_cv_gcc_floatconv_bug, [ AC_TRY_RUN([ +#include +#ifdef MPFR_HAVE_FESETROUND +#include +#endif int main() { double x = 0.5; int i; for (i = 1; i <= 11; i++) x *= x; - return x == 0; + if (x != 0) + return 1; +#ifdef MPFR_HAVE_FESETROUND + /* Useful test for the G4 PowerPC */ + fesetround(FE_TOWARDZERO); + x = DBL_MAX; + x *= 2.0; + if (x != DBL_MAX) + return 1; +#endif + return 0; } - ], [mpfr_cv_gcc_floatconv_bug="yes, use -ffloat-store"], - [mpfr_cv_gcc_floatconv_bug="no"], + ], [mpfr_cv_gcc_floatconv_bug="no"], + [mpfr_cv_gcc_floatconv_bug="yes, use -ffloat-store"], [mpfr_cv_gcc_floatconv_bug="cannot test, use -ffloat-store"]) ]) if test "$mpfr_cv_gcc_floatconv_bug" != "no"; then diff -Naur gmp-4.1/mpfr/mpfr-math.h gmp-4.1.1/mpfr/mpfr-math.h --- gmp-4.1/mpfr/mpfr-math.h Wed Apr 24 01:36:25 2002 +++ gmp-4.1.1/mpfr/mpfr-math.h Sat Aug 31 01:48:04 2002 @@ -58,7 +58,7 @@ || defined (__ibm032__) \ || defined (_IBMR2) || defined (_ARCH_PPC) \ || defined (__sh__) \ - || defined (__sparc) || defined (sparc) \ + || defined (__sparc) || defined (sparc) || defined (__sparc__) \ || defined (__we32k__) #define _MPFR_NAN_BYTES { 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 } #define _MPFR_INFP_BYTES { 0x7f, 0x80, 0, 0 } diff -Naur gmp-4.1/mpfr/mul_2si.c gmp-4.1.1/mpfr/mul_2si.c --- gmp-4.1/mpfr/mul_2si.c Mon Apr 15 23:55:48 2002 +++ gmp-4.1.1/mpfr/mul_2si.c Sat Aug 31 03:48:09 2002 @@ -1,6 +1,6 @@ /* mpfr_mul_2si -- multiply a floating-point number by a power of two -Copyright 1999, 2001 Free Software Foundation, Inc. +Copyright 1999, 2001, 2002 Free Software Foundation, Inc. This file is part of the MPFR Library. @@ -24,6 +24,12 @@ #include "mpfr.h" #include "mpfr-impl.h" + +/* In the overflow test "n > emax - emin" ensures "emax-n" doesn't wrap + around if n is big. It used to done with "emax < MPFR_EMIN_MIN + n", but + that provoked a compiler bug on mips gcc 2.95.3 in -O2 -mabi=n32. + Similarly for the underflow test. */ + int mpfr_mul_2si (mpfr_ptr y, mpfr_srcptr x, long int n, mp_rnd_t rnd_mode) { @@ -33,12 +39,16 @@ if (MPFR_IS_FP(y) && MPFR_NOTZERO(y)) { - if (n > 0 && (__mpfr_emax < MPFR_EMIN_MIN + n || - MPFR_EXP(y) > __mpfr_emax - n)) + if (n > 0 + && ((unsigned long) n > + (unsigned long) (mp_exp_unsigned_t) (__mpfr_emax - __mpfr_emin) + || MPFR_EXP(y) > __mpfr_emax - n)) return mpfr_set_overflow (y, rnd_mode, MPFR_SIGN(y)); - if (n < 0 && (__mpfr_emin > MPFR_EMAX_MAX + n || - MPFR_EXP(y) < __mpfr_emin - n)) + if (n < 0 + && ((unsigned long) -n > + (unsigned long) (mp_exp_unsigned_t) (__mpfr_emax - __mpfr_emin) + || MPFR_EXP(y) < __mpfr_emin - n)) return mpfr_set_underflow (y, rnd_mode, MPFR_SIGN(y)); MPFR_EXP(y) += n; diff -Naur gmp-4.1/mpfr/rnd_mode.c gmp-4.1.1/mpfr/rnd_mode.c --- gmp-4.1/mpfr/rnd_mode.c Mon Apr 15 23:55:48 2002 +++ gmp-4.1.1/mpfr/rnd_mode.c Sun Nov 24 00:40:15 2002 @@ -19,12 +19,14 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifdef MPFR_HAVE_FESETROUND #include #include -#include #include "gmp.h" +#include "gmp-impl.h" #include "mpfr.h" + +#ifdef MPFR_HAVE_FESETROUND +#include /* sets the machine rounding mode to the value rnd_mode */ void diff -Naur gmp-4.1/mpfr/set_q.c gmp-4.1.1/mpfr/set_q.c --- gmp-4.1/mpfr/set_q.c Mon Apr 15 23:55:49 2002 +++ gmp-4.1.1/mpfr/set_q.c Sat Aug 31 02:03:59 2002 @@ -32,23 +32,44 @@ mpz_srcptr num, den; mpfr_t n, d; int inexact; + mp_prec_t prec; - MPFR_CLEAR_FLAGS(f); + MPFR_CLEAR_FLAGS (f); num = mpq_numref (q); if (mpz_cmp_ui (num, 0) == 0) { - MPFR_SET_ZERO(f); - MPFR_SET_POS(f); - MPFR_RET(0); + MPFR_SET_ZERO (f); + MPFR_SET_POS (f); + MPFR_RET (0); } - den = mpq_denref(q); - mpfr_init2 (n, mpz_sizeinbase(num, 2)); - mpfr_set_z (n, num, GMP_RNDZ); /* result is exact */ - mpfr_init2 (d, mpz_sizeinbase(den, 2)); - mpfr_set_z (d, den, GMP_RNDZ); /* result is exact */ + den = mpq_denref (q); + mpfr_save_emin_emax (); + prec = mpz_sizeinbase (num, 2); + if (prec < MPFR_PREC_MIN) + prec = MPFR_PREC_MIN; + mpfr_init2 (n, prec); + if (mpfr_set_z (n, num, GMP_RNDZ)) /* result is exact unless overflow */ + { + mpfr_clear (n); + mpfr_restore_emin_emax (); + MPFR_SET_NAN (f); + MPFR_RET_NAN; + } + prec = mpz_sizeinbase(den, 2); + if (prec < MPFR_PREC_MIN) + prec = MPFR_PREC_MIN; + mpfr_init2 (d, prec); + if (mpfr_set_z (d, den, GMP_RNDZ)) /* result is exact unless overflow */ + { + mpfr_clear (d); + mpfr_clear (n); + mpfr_restore_emin_emax (); + MPFR_SET_NAN (f); + MPFR_RET_NAN; + } inexact = mpfr_div (f, n, d, rnd); mpfr_clear (n); mpfr_clear (d); - MPFR_RET(inexact); + MPFR_RESTORE_RET (inexact, f, rnd); } diff -Naur gmp-4.1/mpfr/tests/Makefile.am gmp-4.1.1/mpfr/tests/Makefile.am --- gmp-4.1/mpfr/tests/Makefile.am Mon Apr 15 23:55:50 2002 +++ gmp-4.1.1/mpfr/tests/Makefile.am Sun Nov 24 23:00:42 2002 @@ -25,7 +25,7 @@ CFLAGS = @MPFR_CFLAGS@ LIBS = @MPFR_LIBS@ -LDADD = ../libmpfr.a $(top_builddir)/libgmp.la $(LIBM) +LDADD = ../libmpfr.a $(top_builddir)/libgmp.la if WANT_MPFR check_PROGRAMS= reuse tabs tadd tagm tcan_round tcmp tcmp2 tcmp_ui tdiv tdiv_ui tdump teq texp tget_str tlog tconst_log2 tmul tmul_2exp tmul_ui tout_str tconst_pi tpow trandom tround_prec tset_d tset_f tset_q tset_si tset_str tset_z tsqrt tsqrt_ui tui_div tui_sub tswap ttrunc trint tisnan tget_d tatan tcosh tsinh ttanh tacosh tasinh tatanh thyperbolic texp2 tfactorial tsub tasin tconst_euler tcos tsin ttan tsub_ui tset tlog1p texpm1 tlog2 tlog10 tui_pow tpow3 tadd_ui texceptions tfma thypot tacos diff -Naur gmp-4.1/mpfr/tests/Makefile.in gmp-4.1.1/mpfr/tests/Makefile.in --- gmp-4.1/mpfr/tests/Makefile.in Fri May 24 12:55:19 2002 +++ gmp-4.1.1/mpfr/tests/Makefile.in Sun Nov 24 23:06:17 2002 @@ -141,7 +141,7 @@ CFLAGS = @MPFR_CFLAGS@ LIBS = @MPFR_LIBS@ -LDADD = ../libmpfr.a $(top_builddir)/libgmp.la $(LIBM) +LDADD = ../libmpfr.a $(top_builddir)/libgmp.la @WANT_MPFR_TRUE@check_PROGRAMS = reuse tabs tadd tagm tcan_round tcmp tcmp2 tcmp_ui tdiv tdiv_ui tdump teq texp tget_str tlog tconst_log2 tmul tmul_2exp tmul_ui tout_str tconst_pi tpow trandom tround_prec tset_d tset_f tset_q tset_si tset_str tset_z tsqrt tsqrt_ui tui_div tui_sub tswap ttrunc trint tisnan tget_d tatan tcosh tsinh ttanh tacosh tasinh tatanh thyperbolic texp2 tfactorial tsub tasin tconst_euler tcos tsin ttan tsub_ui tset tlog1p texpm1 tlog2 tlog10 tui_pow tpow3 tadd_ui texceptions tfma thypot tacos @WANT_MPFR_TRUE@TESTS = $(check_PROGRAMS) diff -Naur gmp-4.1/mpfr/tests/tadd.c gmp-4.1.1/mpfr/tests/tadd.c --- gmp-4.1/mpfr/tests/tadd.c Mon Apr 15 23:55:50 2002 +++ gmp-4.1.1/mpfr/tests/tadd.c Thu Nov 21 22:35:37 2002 @@ -29,7 +29,6 @@ #include "mpfr-impl.h" #include "mpfr-test.h" -void check _PROTO((double, double, mp_rnd_t, unsigned int, unsigned int, unsigned int, double)); void checknan _PROTO((double, double, mp_rnd_t, unsigned int, unsigned int, unsigned int)); void check3 _PROTO((double, double, mp_rnd_t)); void check4 _PROTO((double, double, mp_rnd_t)); @@ -42,11 +41,22 @@ void check_case_2 _PROTO((void)); void check_inexact _PROTO((void)); + +/* Parameter "z1" of check() used to be last in the argument list, but that + tickled a bug in 32-bit sparc gcc 2.95.2. A "double" in that position is + passed on the stack at an address which is 4mod8, but the generated code + didn't take into account that alignment, resulting in bus errors. The + easiest workaround is to move it to the start of the arg list (where it's + passed in registers), this macro does that. FIXME: Change the actual + calls to check(), rather than using a macro. */ + +#define check(x,y,rnd_mode,px,py,pz,z1) _check(x,y,z1,rnd_mode,px,py,pz) + /* checks that x+y gives the same results in double and with mpfr with 53 bits of precision */ void -check (double x, double y, mp_rnd_t rnd_mode, unsigned int px, - unsigned int py, unsigned int pz, double z1) +_check (double x, double y, double z1, mp_rnd_t rnd_mode, unsigned int px, + unsigned int py, unsigned int pz) { double z2; mpfr_t xx,yy,zz; int cert=0; @@ -811,9 +821,11 @@ check53(5.76707395945001907217e-58, 4.74752971449827687074e-51, GMP_RNDD, 4.747530291205672325e-51); check53(277363943109.0, 11.0, GMP_RNDN, 277363943120.0); +#if 0 /* disabled since it seems silly to use denorms * /* test denormalized numbers too */ check53(8.06294740693074521573e-310, 6.95250701071929654575e-310, GMP_RNDU, 1.5015454417650041761e-309); +#endif #ifdef HAVE_INFS /* the following check double overflow */ check53(6.27557402141211962228e+307, 1.32141396570101687757e+308, diff -Naur gmp-4.1/mpfr/tests/tdiv.c gmp-4.1.1/mpfr/tests/tdiv.c --- gmp-4.1/mpfr/tests/tdiv.c Mon Apr 15 23:55:50 2002 +++ gmp-4.1.1/mpfr/tests/tdiv.c Mon Nov 25 10:44:39 2002 @@ -495,7 +495,7 @@ 2.810583051186143125e102); #ifdef MPFR_HAVE_FESETROUND - N = (argc>1) ? atoi(argv[1]) : 100000; + N = (argc>1) ? atoi(argv[1]) : 10000; SEED_RAND (time(NULL)); for (i=0;i c) x += d; - ASSERT (x < d); + ASSERT (x <= d); return x; } else @@ -105,7 +105,7 @@ c += h; - ASSERT (c < d); + ASSERT (c <= d); return c; } } diff -Naur gmp-4.1/mpn/cray/ieee/addmul_1.c gmp-4.1.1/mpn/cray/ieee/addmul_1.c --- gmp-4.1/mpn/cray/ieee/addmul_1.c Thu Nov 22 21:17:12 2001 +++ gmp-4.1.1/mpn/cray/ieee/addmul_1.c Sat Nov 2 00:39:26 2002 @@ -1,7 +1,7 @@ /* Cray PVP/IEEE mpn_addmul_1 -- multiply a limb vector with a limb and add the result to a second limb vector. -Copyright 2000, 2001 Free Software Foundation, Inc. +Copyright 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -35,6 +35,15 @@ mp_limb_t a, b, r, s0, s1, c0, c1; mp_size_t i; int more_carries; + + if (up == rp) + { + /* The algorithm used below cannot handle overlap. Handle it here by + making a temporary copy of the source vector, then call ourselves. */ + mp_limb_t xp[n]; + MPN_COPY (xp, up, n); + return mpn_addmul_1 (rp, xp, n, vl); + } a = up[0] * vl; r = rp[0]; diff -Naur gmp-4.1/mpn/cray/ieee/submul_1.c gmp-4.1.1/mpn/cray/ieee/submul_1.c --- gmp-4.1/mpn/cray/ieee/submul_1.c Thu Nov 22 21:17:04 2001 +++ gmp-4.1.1/mpn/cray/ieee/submul_1.c Sat Nov 2 00:39:39 2002 @@ -1,7 +1,7 @@ /* Cray PVP/IEEE mpn_submul_1 -- multiply a limb vector with a limb and subtract the result from a second limb vector. -Copyright 2000, 2001 Free Software Foundation, Inc. +Copyright 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -35,6 +35,15 @@ mp_limb_t a, b, r, s0, s1, c0, c1; mp_size_t i; int more_carries; + + if (up == rp) + { + /* The algorithm used below cannot handle overlap. Handle it here by + making a temporary copy of the source vector, then call ourselves. */ + mp_limb_t xp[n]; + MPN_COPY (xp, up, n); + return mpn_submul_1 (rp, xp, n, vl); + } a = up[0] * vl; r = rp[0]; diff -Naur gmp-4.1/mpn/generic/mode1o.c gmp-4.1.1/mpn/generic/mode1o.c --- gmp-4.1/mpn/generic/mode1o.c Tue Apr 16 02:18:54 2002 +++ gmp-4.1.1/mpn/generic/mode1o.c Mon Nov 4 00:31:39 2002 @@ -160,7 +160,7 @@ if (l > c) l += d; - ASSERT (l < d); + ASSERT (l <= d); return l; } else @@ -172,7 +172,7 @@ umul_ppmm (h, dummy, l, dmul); c += h; - ASSERT (c < d); + ASSERT (c <= d); return c; } } diff -Naur gmp-4.1/mpn/generic/rootrem.c gmp-4.1.1/mpn/generic/rootrem.c --- gmp-4.1/mpn/generic/rootrem.c Sat May 11 16:23:33 2002 +++ gmp-4.1.1/mpn/generic/rootrem.c Sat Oct 19 00:20:54 2002 @@ -70,7 +70,7 @@ count_leading_zeros (cnt, up[un - 1]); unb = un * GMP_NUMB_BITS - cnt + GMP_NAIL_BITS; - xnb = (unb + nth - 1) / nth; + xnb = (unb - 1) / nth + 1; if (xnb == 1) { if (remp == NULL) diff -Naur gmp-4.1/mpn/generic/tdiv_qr.c gmp-4.1.1/mpn/generic/tdiv_qr.c --- gmp-4.1/mpn/generic/tdiv_qr.c Wed Apr 10 01:18:45 2002 +++ gmp-4.1.1/mpn/generic/tdiv_qr.c Tue Nov 12 00:34:43 2002 @@ -31,6 +31,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include #include "gmp.h" #include "gmp-impl.h" #include "longlong.h" @@ -51,7 +52,6 @@ ASSERT (nn >= 0); ASSERT (dn >= 0); ASSERT (dn == 0 || dp[dn - 1] != 0); - ASSERT (! MPN_OVERLAP_P (np, nn, dp, dn)); ASSERT (! MPN_OVERLAP_P (qp, nn - dn + 1 + qxn, np, nn)); ASSERT (! MPN_OVERLAP_P (qp, nn - dn + 1 + qxn, dp, dn)); diff -Naur gmp-4.1/mpn/ia64/README gmp-4.1.1/mpn/ia64/README --- gmp-4.1/mpn/ia64/README Tue May 14 18:59:48 2002 +++ gmp-4.1.1/mpn/ia64/README Fri Nov 22 03:09:42 2002 @@ -22,37 +22,29 @@ -The IA-64 ISA is strange and the Itanium pipeline is bizarre! How -come everybody else is moving from static to dynamic OOO pipelines, -and Intel moves in the opposite direction? Compiler writers failed to -generate reasonable code for the static RISC pipelines of the mid -1990'ies, and they sure won't do any better with the IA-64 ISA and its -Itanium implementation! - The IA-64 ISA keeps instructions three and three in 128 bit bundles. -Programmers/compilers need to put explicit breaks `;;' between WAW or -RAW dependencies. Such breaks can be anywhere in a bundle, or between -bundles. - -The Itanium implementation can under ideal conditions execute two -bundles per cycle. But to reach that rate for integer code, one needs -to sprinkle the code with `nop.f' instructions, one per bundle. With -good scheduling, one can thus reach a peak execution rate of 4 -instructions/cycle. +Programmers/compilers need to put explicit breaks `;;' when there are +WAW or RAW dependencies. Such breaks can typically just be at the end +of a bundle, with some exceptions. + +The Itanium and Itanium 2 implementations can under ideal conditions +execute two bundles per cycle. The Itanium 2 allows 4 of these +instructions to do integer operations, while the Itanium 2 allows all +6 to be integer operations. Taken cloop branches seem to insert a bubble into the pipeline most of the time. Loads to the fp registers bypass the L1 cache and thus get extremely -long latencies, 9 cycles. +long latencies, 9 cycles on the Itanium and 7 cycles on the Itanium 2. The software pipeline stuff using br.ctop instruction causes delays, since many issue slots are taken up by instructions with zero -predicates, and since about 15 extra instructions are needed to set +predicates, and since about many extra instructions are needed to set things up. These features are designed for code density, not maximum speed. -Misc pipeline limitations: +Misc pipeline limitations (Itanium): * The getf.sig instruction can only execute in M0. * At most four integer instructions/cycle. * Nops take up resources like any plain instructions. diff -Naur gmp-4.1/mpn/ia64/add_n.asm gmp-4.1.1/mpn/ia64/add_n.asm --- gmp-4.1/mpn/ia64/add_n.asm Thu Dec 20 06:22:28 2001 +++ gmp-4.1.1/mpn/ia64/add_n.asm Mon Nov 18 00:47:53 2002 @@ -1,7 +1,7 @@ dnl IA-64 mpn_add_n -- Add two limb vectors of the same length > 0 and store dnl sum in a third limb vector. -dnl Copyright (C) 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -28,50 +28,95 @@ C vp = r34 C n = r35 -C This code runs at 3.0 cycles/limb on the Itanium, for large operands. +C cycles/limb +C Itanium: 6 +C Itanium 2: ? + ASM_START() PROLOGUE(mpn_add_n) .prologue - .save ar.lc, r2 - { .mib cmp.eq p6, p7 = 1, r35 +ifdef(`HAVE_ABI_32', +` addp4 r32 = 0, r32 + addp4 r33 = 0, r33 + addp4 r34 = 0, r34 + sxt4 r35 = r35 + ;; +') + { .mib; cmp.eq p6, p7 = 1, r35 add r35 = -2, r35 nop.b 0 -} { .mib cmp.ne p8, p9 = r0, r0 +} { .mib; cmp.ne p8, p9 = r0, r0 + .save ar.lc, r2 mov r2 = ar.lc + .body nop.b 0 ;; -} { .mib ld8 r16 = [r33], 8 +} { .mib; ld8 r16 = [r33], 8 mov ar.lc = r35 nop.b 0 -} { .mib ld8 r17 = [r34], 8 +} { .mib; ld8 r17 = [r34], 8 nop.i 0 - (p6) br .Lend ;; + (p6) br.dptk .Lend ;; } .align 32 .Loop: - { .mii mov r20 = r16 + .pred.rel "mutex",p8,p9 + { .mii; mov r20 = r16 (p8) add r19 = r16, r17, 1 (p9) add r19 = r16, r17 ;; -} { .mfi ld8 r16 = [r33], 8 +} { .mfi; ld8 r16 = [r33], 8 + nop.f 0 + (p8) cmp.leu p6, p7 = r19, r20 +} { .mfi; ld8 r17 = [r34], 8 + nop.f 0 + (p9) cmp.ltu p6, p7 = r19, r20 +} { .mbb; st8 [r32] = r19, 8 + nop.b 0 + br.cloop.dptk .Loopm ;; +} + .pred.rel "mutex",p6,p7 + { .mfi; (p6) add r19 = r16, r17, 1 nop.f 0 - (p8) cmp.leu p8, p9 = r19, r20 -} { .mfi ld8 r17 = [r34], 8 + (p7) add r19 = r16, r17 ;; +} { .mii; st8 [r32] = r19 + (p6) cmp.leu p8, p9 = r19, r16 + (p7) cmp.ltu p8, p9 = r19, r16 ;; +} + .pred.rel "mutex",p8,p9 + { .mfi; (p8) mov r8 = 1 + nop.f 0 + (p9) mov r8 = 0 +} + mov ar.lc = r2 + br.ret.sptk.many b0 +.Loopm: + .pred.rel "mutex",p6,p7 + { .mii; mov r20 = r16 + (p6) add r19 = r16, r17, 1 + (p7) add r19 = r16, r17 ;; +} { .mfi; ld8 r16 = [r33], 8 nop.f 0 - (p9) cmp.ltu p8, p9 = r19, r20 -} { .mbb st8 [r32] = r19, 8 + (p6) cmp.leu p8, p9 = r19, r20 +} { .mfi; ld8 r17 = [r34], 8 + nop.f 0 + (p7) cmp.ltu p8, p9 = r19, r20 +} { .mbb; st8 [r32] = r19, 8 nop.b 0 br.cloop.dptk .Loop ;; } .Lend: - { .mfi (p8) add r19 = r16, r17, 1 + .pred.rel "mutex",p8,p9 + { .mfi; (p8) add r19 = r16, r17, 1 nop.f 0 (p9) add r19 = r16, r17 ;; -} { .mii st8 [r32] = r19 - (p8) cmp.leu p8, p9 = r19, r16 - (p9) cmp.ltu p8, p9 = r19, r16 ;; -} { .mfi (p8) mov r8 = 1 +} { .mii; st8 [r32] = r19 + (p8) cmp.leu p6, p7 = r19, r16 + (p9) cmp.ltu p6, p7 = r19, r16 ;; +} + .pred.rel "mutex",p6,p7 + { .mfi; (p6) mov r8 = 1 nop.f 0 - (p9) mov r8 = 0 + (p7) mov r8 = 0 } mov ar.lc = r2 br.ret.sptk.many b0 diff -Naur gmp-4.1/mpn/ia64/addmul_1.asm gmp-4.1.1/mpn/ia64/addmul_1.asm --- gmp-4.1/mpn/ia64/addmul_1.asm Thu Dec 20 09:27:34 2001 +++ gmp-4.1.1/mpn/ia64/addmul_1.asm Mon Nov 18 00:47:53 2002 @@ -1,7 +1,7 @@ dnl IA-64 mpn_addmul_1 -- Multiply a limb vector with a limb and add the dnl result to a second limb vector. -dnl Copyright (C) 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -28,58 +28,78 @@ C n = r34 C v = r35 -C This code runs at 3.7 cycles/limb on the Itanium, but that speed is reached -C only for really huge operands. See README for possible improvements. +C cycles/limb +C Itanium: 4 +C Itanium 2: ? + +C The full speed is reached C only for really huge operands. See README for +C possible improvements. + ASM_START() PROLOGUE(mpn_addmul_1) .prologue - .save ar.lc, r2 + .save ar.pfs, r21 alloc r21 = ar.pfs, 4, 12, 0, 16 + .save ar.lc, r2 mov r2 = ar.lc mov r20 = ar.ec + .save pr, r22 mov r22 = pr .body - { .mfi setf.sig f16 = r35 +ifdef(`HAVE_ABI_32', +` addp4 r32 = 0, r32 + addp4 r33 = 0, r33 + sxt4 r34 = r34 + ;; +') + { .mfi; setf.sig f6 = r35 nop.f 0 adds r19 = -1, r34 C n - 1 -} { .mfi cmp.ne p6, p7 = r0, r0 +} { .mfi; cmp.ne p6, p7 = r0, r0 nop.f 0 mov r18 = r32 ;; -} { .mfi mov r16 = r32 +} { .mfi; mov r16 = r32 nop.f 0 mov ar.lc = r19 -} { .mfi mov r17 = r33 +} { .mfi; mov r17 = r33 nop.f 0 mov ar.ec = 7 -} { .mii cmp.ne p6, p7 = r0, r0 +} { .mii; cmp.ne p6, p7 = r0, r0 mov pr.rot = 1<<16 mov r32 = 0 C clear "carry in" -} { .mib mov r33 = 0 C clear for cmp +} { .mib; mov r33 = 0 C clear for cmp mov r34 = 0 C clear for cmp nop.b 0 -} { .mib mov r35 = 0 C clear for cmp +} { .mib; mov r35 = 0 C clear for cmp mov r36 = 0 C clear for cmp nop.b 0 ;; } .align 32 .Loop: - { .mfi (p16) ldf8 f32 = [r17], 8 C *0,3,6,9,12,15,18 - (p19) xma.l f40 = f35, f16, f39 C 0,3,6,*9,12,15,18 + .pred.rel "mutex",p6,p7 + { .mfi; (p16) ldf8 f32 = [r17], 8 C *0,3,6,9,12,15,18 + (p19) xma.l f40 = f35, f6, f39 C 0,3,6,*9,12,15,18 (p6) add r14 = r33, r38, 1 C 0,3,6,9,12,15,*18 -} { .mfi (p16) ldf8 f36 = [r16], 8 C *0,3,6,9,12,15,18 - (p19) xma.hu f44 = f35, f16, f39 C 0,3,6,*9,12,15,18 +} { .mfi; (p16) ldf8 f36 = [r16], 8 C *0,3,6,9,12,15,18 + (p19) xma.hu f44 = f35, f6, f39 C 0,3,6,*9,12,15,18 (p7) add r14 = r33, r38 ;; C 0,3,6,9,12,15,*18 -} { .mii (p21) getf.sig r32 = f42 C 1,4,7,10,13,*16,19 - (p6) cmp.leu p6, p7 = r14, r33 C 1,4,7,10,13,16,*19 - (p7) cmp.ltu p6, p7 = r14, r33;; C 1,4,7,10,13,16,*19 -} { .mmb (p21) getf.sig r36 = f46 C 2,5,8,11,14,*17,20 - (p22) st8 [r18] = r14, 8 C 2,5,8,11,14,17,*20 +} { .mii; (p21) getf.sig r32 = f42 C 1,4,7,10,13,*16,19 + (p6) cmp.leu p8, p9 = r14, r33 C 1,4,7,10,13,16,*19 + (p7) cmp.ltu p8, p9 = r14, r33;; C 1,4,7,10,13,16,*19 +} + .pred.rel "mutex",p8,p9 + { .mib; (p21) getf.sig r36 = f46 C 2,5,8,11,14,*17,20 + (p8) cmp.eq p6, p7 = r0, r0 + nop.b 0 +} { .mib; (p22) st8 [r18] = r14, 8 C 2,5,8,11,14,17,*20 + (p9) cmp.ne p6, p7 = r0, r0 br.ctop.sptk .Loop ;; } + .pred.rel "mutex",p6,p7 (p6) add r8 = 1, r38 (p7) mov r8 = r38 - mov pr = r22,0xfffffffffffffffe + mov pr = r22,0x1fffe mov ar.lc = r2 mov ar.ec = r20 mov ar.pfs = r21;; diff -Naur gmp-4.1/mpn/ia64/copyd.asm gmp-4.1.1/mpn/ia64/copyd.asm --- gmp-4.1/mpn/ia64/copyd.asm Mon Feb 5 05:07:27 2001 +++ gmp-4.1.1/mpn/ia64/copyd.asm Mon Nov 18 00:47:53 2002 @@ -1,6 +1,6 @@ dnl IA-64 mpn_copyd -- copy limb vector, decrementing. -dnl Copyright (C) 2001 Free Software Foundation, Inc. +dnl Copyright 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -30,8 +30,14 @@ PROLOGUE(mpn_copyd) .prologue .save ar.lc, r2 - .body mov r2 = ar.lc + .body +ifdef(`HAVE_ABI_32', +` addp4 r32 = 0, r32 + addp4 r33 = 0, r33 + sxt4 r34 = r34 + ;; +') and r14 = 3, r34 cmp.ge p14, p15 = 3, r34 add r34 = -1, r34 @@ -43,12 +49,12 @@ cmp.eq p10, p11 = 2, r14 cmp.eq p12, p13 = 3, r14 ;; - (p8) br .Lb01 - (p10) br .Lb10 - (p12) br .Lb11 + (p8) br.dptk .Lb01 + (p10) br.dptk .Lb10 + (p12) br.dptk .Lb11 .Lb00: C n = 4, 8, 12, ... - (p14) br .Ls00 + (p14) br.dptk .Ls00 ;; ld8 r16 = [r33], -8 shr r15 = r34, 2 @@ -61,13 +67,13 @@ ld8 r19 = [r33], -8 br.cloop.dptk .Loop ;; - br .Lend + br.sptk .Lend ;; .Lb01: C n = 1, 5, 9, 13, ... ld8 r19 = [r33], -8 shr r15 = r34, 2 - (p14) br .Ls01 + (p14) br.dptk .Ls01 ;; ld8 r16 = [r33], -8 mov ar.lc = r15 @@ -75,7 +81,7 @@ ld8 r17 = [r33], -8 ;; ld8 r18 = [r33], -8 - br .Li01 + br.sptk .Li01 ;; .Lb10: C n = 2,6, 10, 14, ... @@ -84,12 +90,12 @@ ;; ld8 r19 = [r33], -8 mov ar.lc = r15 - (p14) br .Ls10 + (p14) br.dptk .Ls10 ;; ld8 r16 = [r33], -8 ;; ld8 r17 = [r33], -8 - br .Li10 + br.sptk .Li10 ;; .Lb11: C n = 3, 7, 11, 15, ... @@ -100,30 +106,30 @@ mov ar.lc = r15 ;; ld8 r19 = [r33], -8 - (p14) br .Ls11 + (p14) br.dptk .Ls11 ;; ld8 r16 = [r33], -8 - br .Li11 + br.sptk .Li11 ;; .Loop: .Li00: - { .mmb st8 [r32] = r16, -8 + { .mmb; st8 [r32] = r16, -8 ld8 r16 = [r33], -8 ;; } .Li11: - { .mmb st8 [r32] = r17, -8 + { .mmb; st8 [r32] = r17, -8 ld8 r17 = [r33], -8 ;; } .Li10: - { .mmb st8 [r32] = r18, -8 + { .mmb; st8 [r32] = r18, -8 ld8 r18 = [r33], -8 ;; } .Li01: - { .mmb st8 [r32] = r19, -8 + { .mmb; st8 [r32] = r19, -8 ld8 r19 = [r33], -8 br.cloop.dptk .Loop ;; diff -Naur gmp-4.1/mpn/ia64/copyi.asm gmp-4.1.1/mpn/ia64/copyi.asm --- gmp-4.1/mpn/ia64/copyi.asm Mon Feb 5 05:07:27 2001 +++ gmp-4.1.1/mpn/ia64/copyi.asm Mon Nov 18 00:47:53 2002 @@ -1,6 +1,6 @@ dnl IA-64 mpn_copyi -- copy limb vector, incrementing. -dnl Copyright (C) 2001 Free Software Foundation, Inc. +dnl Copyright 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -30,8 +30,14 @@ PROLOGUE(mpn_copyi) .prologue .save ar.lc, r2 - .body mov r2 = ar.lc + .body +ifdef(`HAVE_ABI_32', +` addp4 r32 = 0, r32 + addp4 r33 = 0, r33 + sxt4 r34 = r34 + ;; +') and r14 = 3, r34 cmp.ge p14, p15 = 3, r34 add r34 = -4, r34 @@ -40,12 +46,12 @@ cmp.eq p10, p11 = 2, r14 cmp.eq p12, p13 = 3, r14 ;; - (p8) br .Lb01 - (p10) br .Lb10 - (p12) br .Lb11 + (p8) br.dptk .Lb01 + (p10) br.dptk .Lb10 + (p12) br.dptk .Lb11 .Lb00: C n = 4, 8, 12, ... - (p14) br .Ls00 + (p14) br.dptk .Ls00 ;; ld8 r16 = [r33], 8 shr r15 = r34, 2 @@ -58,13 +64,13 @@ ld8 r19 = [r33], 8 br.cloop.dptk .Loop ;; - br .Lend + br.sptk .Lend ;; .Lb01: C n = 1, 5, 9, 13, ... ld8 r19 = [r33], 8 shr r15 = r34, 2 - (p14) br .Ls01 + (p14) br.dptk .Ls01 ;; ld8 r16 = [r33], 8 mov ar.lc = r15 @@ -72,7 +78,7 @@ ld8 r17 = [r33], 8 ;; ld8 r18 = [r33], 8 - br .Li01 + br.sptk .Li01 ;; .Lb10: C n = 2,6, 10, 14, ... @@ -81,12 +87,12 @@ ;; ld8 r19 = [r33], 8 mov ar.lc = r15 - (p14) br .Ls10 + (p14) br.dptk .Ls10 ;; ld8 r16 = [r33], 8 ;; ld8 r17 = [r33], 8 - br .Li10 + br.sptk .Li10 ;; .Lb11: C n = 3, 7, 11, 15, ... @@ -97,30 +103,30 @@ mov ar.lc = r15 ;; ld8 r19 = [r33], 8 - (p14) br .Ls11 + (p14) br.dptk .Ls11 ;; ld8 r16 = [r33], 8 - br .Li11 + br.sptk .Li11 ;; .Loop: .Li00: - { .mmb st8 [r32] = r16, 8 + { .mmb; st8 [r32] = r16, 8 ld8 r16 = [r33], 8 ;; } .Li11: - { .mmb st8 [r32] = r17, 8 + { .mmb; st8 [r32] = r17, 8 ld8 r17 = [r33], 8 ;; } .Li10: - { .mmb st8 [r32] = r18, 8 + { .mmb; st8 [r32] = r18, 8 ld8 r18 = [r33], 8 ;; } .Li01: - { .mmb st8 [r32] = r19, 8 + { .mmb; st8 [r32] = r19, 8 ld8 r19 = [r33], 8 br.cloop.dptk .Loop ;; diff -Naur gmp-4.1/mpn/ia64/lorrshift.asm gmp-4.1.1/mpn/ia64/lorrshift.asm --- gmp-4.1/mpn/ia64/lorrshift.asm Thu Nov 15 19:52:32 2001 +++ gmp-4.1.1/mpn/ia64/lorrshift.asm Mon Nov 18 00:47:53 2002 @@ -1,6 +1,6 @@ dnl IA-64 mpn_Xshift. -dnl Copyright (C) 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -55,9 +55,19 @@ ASM_START() PROLOGUE(func) + .prologue +ifdef(`HAVE_ABI_32', +` addp4 r32 = 0, r32 + addp4 r33 = 0, r33 + sxt4 r34 = r34 + zxt4 r35 = r35 + ;; +') add r34 = -1, r34 sub r31 = 64, r35 + .save ar.lc, r2 mov r2 = ar.lc;; + .body cmp.leu p6, p7 = 8,r34 ifdef(`OPERATION_lshift',` shladd r33 = r34, 3, r33 @@ -81,9 +91,9 @@ ld8 r16 = [r33], UPD FSH r26 = r19, r35 ;; BSH r27 = r16, r31 ;; - { .mib nop.b 0;; } C delay to save 6 cycles... - { .mib nop.b 0;; } C delay to save 6 cycles... - { .mib nop.b 0;; } C delay to save 6 cycles... + { .mib; nop.b 0;; } C delay to save 6 cycles... + { .mib; nop.b 0;; } C delay to save 6 cycles... + { .mib; nop.b 0;; } C delay to save 6 cycles... or r27 = r27, r26 mov r19 = r16 ;; st8 [r32] = r27, UPD @@ -104,9 +114,9 @@ ld8 r16 = [r33], UPD FSH r26 = r19, r35 ;; BSH r27 = r16, r31 ;; - { .mib nop.b 0;; } C delay to save 6 cycles... - { .mib nop.b 0;; } C delay to save 6 cycles... - { .mib nop.b 0;; } C delay to save 6 cycles... + { .mib; nop.b 0;; } C delay to save 6 cycles... + { .mib; nop.b 0;; } C delay to save 6 cycles... + { .mib; nop.b 0;; } C delay to save 6 cycles... or r27 = r27, r26 mov r19 = r16 ;; st8 [r32] = r27, UPD @@ -145,7 +155,7 @@ FSH r24 = r18, r35 br.cloop.dptk .Loop } - br .Lend2 + br.sptk .Lend2 .Loop: { .mmi st8 [r32] = r27, UPD diff -Naur gmp-4.1/mpn/ia64/mul_1.asm gmp-4.1.1/mpn/ia64/mul_1.asm --- gmp-4.1/mpn/ia64/mul_1.asm Thu Dec 20 09:27:34 2001 +++ gmp-4.1.1/mpn/ia64/mul_1.asm Mon Nov 18 00:47:53 2002 @@ -1,7 +1,7 @@ dnl IA-64 mpn_mul_1 -- Multiply a limb vector with a limb and store the result dnl in a second limb vector. -dnl Copyright (C) 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -28,58 +28,78 @@ C n = r34 C v = r35 -C This code runs at 3.7 cycles/limb on the Itanium, but that speed is reached -C only for really huge operands. See README for possible improvements. +C cycles/limb +C Itanium: 4 +C Itanium 2: ? + +C The full speed is reached C only for really huge operands. See README for +C possible improvements. + ASM_START() PROLOGUE(mpn_mul_1) .prologue - .save ar.lc, r2 + .save ar.pfs, r21 alloc r21 = ar.pfs, 4, 12, 0, 16 + .save ar.lc, r2 mov r2 = ar.lc mov r20 = ar.ec + .save pr, r22 mov r22 = pr .body - { .mfi setf.sig f16 = r35 +ifdef(`HAVE_ABI_32', +` addp4 r32 = 0, r32 + addp4 r33 = 0, r33 + sxt4 r34 = r34 + ;; +') + { .mfi; setf.sig f6 = r35 nop.f 0 adds r19 = -1, r34 C n - 1 -} { .mfi cmp.ne p6, p7 = r0, r0 +} { .mfi; cmp.ne p6, p7 = r0, r0 nop.f 0 mov r18 = r32 ;; -} { .mfi mov r16 = r32 +} { .mfi; mov r16 = r32 nop.f 0 mov ar.lc = r19 -} { .mfi mov r17 = r33 +} { .mfi; mov r17 = r33 nop.f 0 mov ar.ec = 7 -} { .mii cmp.ne p6, p7 = r0, r0 +} { .mii; cmp.ne p6, p7 = r0, r0 mov pr.rot = 1<<16 mov r32 = 0 C clear "carry in" -} { .mib mov r33 = 0 C clear for cmp +} { .mib; mov r33 = 0 C clear for cmp mov r34 = 0 C clear for cmp nop.b 0 -} { .mib mov r35 = 0 C clear for cmp +} { .mib; mov r35 = 0 C clear for cmp mov r36 = 0 C clear for cmp nop.b 0 ;; } .align 32 .Loop: - { .mfi (p16) ldf8 f32 = [r17], 8 C *0,3,6,9,12,15,18 - (p19) xma.l f40 = f35, f16, f0 C 0,3,6,*9,12,15,18 + .pred.rel "mutex",p6,p7 + { .mfi; (p16) ldf8 f32 = [r17], 8 C *0,3,6,9,12,15,18 + (p19) xma.l f40 = f35, f6, f0 C 0,3,6,*9,12,15,18 (p6) add r14 = r33, r38, 1 C 0,3,6,9,12,15,*18 -} { .mfi (p16) nop.m 0 - (p19) xma.hu f44 = f35, f16, f0 C 0,3,6,*9,12,15,18 +} { .mfi; (p16) nop.m 0 + (p19) xma.hu f44 = f35, f6, f0 C 0,3,6,*9,12,15,18 (p7) add r14 = r33, r38 ;; C 0,3,6,9,12,15,*18 -} { .mii (p21) getf.sig r32 = f42 C 1,4,7,10,13,*16,19 - (p6) cmp.leu p6, p7 = r14, r33 C 1,4,7,10,13,16,*19 - (p7) cmp.ltu p6, p7 = r14, r33;; C 1,4,7,10,13,16,*19 -} { .mmb (p21) getf.sig r36 = f46 C 2,5,8,11,14,*17,20 - (p22) st8 [r18] = r14, 8 C 2,5,8,11,14,17,*20 +} { .mii; (p21) getf.sig r32 = f42 C 1,4,7,10,13,*16,19 + (p6) cmp.leu p8, p9 = r14, r33 C 1,4,7,10,13,16,*19 + (p7) cmp.ltu p8, p9 = r14, r33;; C 1,4,7,10,13,16,*19 +} + .pred.rel "mutex",p8,p9 + { .mib; (p21) getf.sig r36 = f46 C 2,5,8,11,14,*17,20 + (p8) cmp.eq p6, p7 = r0, r0 + nop.b 0 +} { .mib; (p22) st8 [r18] = r14, 8 C 2,5,8,11,14,17,*20 + (p9) cmp.ne p6, p7 = r0, r0 br.ctop.sptk .Loop ;; } + .pred.rel "mutex",p6,p7 (p6) add r8 = 1, r38 (p7) mov r8 = r38 - mov pr = r22,0xfffffffffffffffe + mov pr = r22,0x1fffe mov ar.lc = r2 mov ar.ec = r20 mov ar.pfs = r21;; diff -Naur gmp-4.1/mpn/ia64/sub_n.asm gmp-4.1.1/mpn/ia64/sub_n.asm --- gmp-4.1/mpn/ia64/sub_n.asm Thu Dec 20 06:22:32 2001 +++ gmp-4.1.1/mpn/ia64/sub_n.asm Mon Nov 18 00:47:53 2002 @@ -1,7 +1,7 @@ dnl IA-64 mpn_sub_n -- Subtract two limb vectors of the same length > 0 and dnl store difference in a third limb vector. -dnl Copyright (C) 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -28,50 +28,95 @@ C vp = r34 C n = r35 -C This code runs at 3.0 cycles/limb on the Itanium, for large operands. +C cycles/limb +C Itanium: 6 +C Itanium 2: ? + ASM_START() PROLOGUE(mpn_sub_n) .prologue - .save ar.lc, r2 - { .mib cmp.eq p6, p7 = 1, r35 +ifdef(`HAVE_ABI_32', +` addp4 r32 = 0, r32 + addp4 r33 = 0, r33 + addp4 r34 = 0, r34 + sxt4 r35 = r35 + ;; +') + { .mib; cmp.eq p6, p7 = 1, r35 add r35 = -2, r35 nop.b 0 -} { .mib cmp.ne p8, p9 = r0, r0 +} { .mib; cmp.ne p8, p9 = r0, r0 + .save ar.lc, r2 mov r2 = ar.lc + .body nop.b 0 ;; -} { .mib ld8 r16 = [r33], 8 +} { .mib; ld8 r16 = [r33], 8 mov ar.lc = r35 nop.b 0 -} { .mib ld8 r17 = [r34], 8 +} { .mib; ld8 r17 = [r34], 8 nop.i 0 - (p6) br .Lend ;; + (p6) br.dptk .Lend ;; } .align 32 .Loop: - { .mii mov r20 = r16 + .pred.rel "mutex",p8,p9 + { .mii; mov r20 = r16 (p8) sub r19 = r16, r17, 1 (p9) sub r19 = r16, r17 ;; -} { .mfi ld8 r16 = [r33], 8 +} { .mfi; ld8 r16 = [r33], 8 + nop.f 0 + (p8) cmp.leu p6, p7 = r20, r19 +} { .mfi; ld8 r17 = [r34], 8 + nop.f 0 + (p9) cmp.ltu p6, p7 = r20, r19 +} { .mbb; st8 [r32] = r19, 8 + nop.b 0 + br.cloop.dptk .Loopm ;; +} + .pred.rel "mutex",p6,p7 + { .mfi; (p6) sub r19 = r16, r17, 1 nop.f 0 - (p8) cmp.leu p8, p9 = r20, r19 -} { .mfi ld8 r17 = [r34], 8 + (p7) sub r19 = r16, r17 ;; +} { .mii; st8 [r32] = r19 + (p6) cmp.leu p8, p9 = r16, r19 + (p7) cmp.ltu p8, p9 = r16, r19 ;; +} + .pred.rel "mutex",p8,p9 + { .mfi; (p8) mov r8 = 1 + nop.f 0 + (p9) mov r8 = 0 +} + mov ar.lc = r2 + br.ret.sptk.many b0 +.Loopm: + .pred.rel "mutex",p6,p7 + { .mii; mov r20 = r16 + (p6) sub r19 = r16, r17, 1 + (p7) sub r19 = r16, r17 ;; +} { .mfi; ld8 r16 = [r33], 8 nop.f 0 - (p9) cmp.ltu p8, p9 = r20, r19 -} { .mbb st8 [r32] = r19, 8 + (p6) cmp.leu p8, p9 = r20, r19 +} { .mfi; ld8 r17 = [r34], 8 + nop.f 0 + (p7) cmp.ltu p8, p9 = r20, r19 +} { .mbb; st8 [r32] = r19, 8 nop.b 0 br.cloop.dptk .Loop ;; } .Lend: - { .mfi (p8) sub r19 = r16, r17, 1 + .pred.rel "mutex",p8,p9 + { .mfi; (p8) sub r19 = r16, r17, 1 nop.f 0 (p9) sub r19 = r16, r17 ;; -} { .mii st8 [r32] = r19 - (p8) cmp.leu p8, p9 = r16, r19 - (p9) cmp.ltu p8, p9 = r16, r19 ;; -} { .mfi (p8) mov r8 = 1 +} { .mii; st8 [r32] = r19 + (p8) cmp.leu p6, p7 = r16, r19 + (p9) cmp.ltu p6, p7 = r16, r19 ;; +} + .pred.rel "mutex",p6,p7 + { .mfi; (p6) mov r8 = 1 nop.f 0 - (p9) mov r8 = 0 + (p7) mov r8 = 0 } mov ar.lc = r2 br.ret.sptk.many b0 diff -Naur gmp-4.1/mpn/ia64/submul_1.c gmp-4.1.1/mpn/ia64/submul_1.c --- gmp-4.1/mpn/ia64/submul_1.c Wed Dec 19 05:10:13 2001 +++ gmp-4.1.1/mpn/ia64/submul_1.c Sat Aug 31 02:02:10 2002 @@ -1,7 +1,7 @@ /* IA-64 mpn_submul_1 -- Multiply a limb vector with a limb and subtract the result from a second limb vector. -Copyright (C) 2000, 2001 Free Software Foundation, Inc. +Copyright 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -33,9 +33,12 @@ { mp_ptr tp; mp_limb_t cy; + TMP_DECL (marker); + TMP_MARK (marker); tp = TMP_ALLOC_LIMBS (n); cy = mpn_mul_1 (tp, s1p, n, s2d); cy += mpn_sub_n (rp, rp, tp, n); + TMP_FREE (marker); return cy; } diff -Naur gmp-4.1/mpn/m68k/lshift.asm gmp-4.1.1/mpn/m68k/lshift.asm --- gmp-4.1/mpn/m68k/lshift.asm Thu Nov 15 19:57:03 2001 +++ gmp-4.1.1/mpn/m68k/lshift.asm Sat Aug 31 01:19:41 2002 @@ -4,7 +4,7 @@ dnl shift==1 shift>1 dnl 68040: 3.5 9.5 -dnl Copyright 1996, 1999, 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 1996, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. dnl dnl This file is part of the GNU MP Library. dnl @@ -73,8 +73,8 @@ ',` movel s_size, d0 asll #2, d0 - addl s_size, s_ptr - addl s_size, res_ptr + addl d0, s_ptr + addl d0, res_ptr ') movel M(-,s_ptr), d2 movel d2, d0 diff -Naur gmp-4.1/mpn/m68k/rshift.asm gmp-4.1.1/mpn/m68k/rshift.asm --- gmp-4.1/mpn/m68k/rshift.asm Thu Nov 15 19:56:58 2001 +++ gmp-4.1.1/mpn/m68k/rshift.asm Sat Aug 31 01:20:08 2002 @@ -4,7 +4,7 @@ dnl shift==1 shift>1 dnl 68040: 7.0 9.5 -dnl Copyright 1996, 1999, 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 1996, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. dnl dnl This file is part of the GNU MP Library. dnl @@ -115,8 +115,8 @@ ',` movel s_size, d0 asll #2, d0 - addl s_size, s_ptr - addl s_size, res_ptr + addl d0, s_ptr + addl d0, res_ptr ') clrl d0 C initialize carry diff -Naur gmp-4.1/mpn/sparc32/sparc-defs.m4 gmp-4.1.1/mpn/sparc32/sparc-defs.m4 --- gmp-4.1/mpn/sparc32/sparc-defs.m4 Thu Jan 1 01:00:00 1970 +++ gmp-4.1.1/mpn/sparc32/sparc-defs.m4 Mon Sep 2 00:54:42 2002 @@ -0,0 +1,41 @@ +divert(-1) + +dnl m4 macros for SPARC assembler (32 and 64 bit). + + +dnl Copyright 2002 Free Software Foundation, Inc. +dnl +dnl This file is part of the GNU MP Library. +dnl +dnl The GNU MP Library is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Lesser General Public License as +dnl published by the Free Software Foundation; either version 2.1 of the +dnl License, or (at your option) any later version. +dnl +dnl The GNU MP Library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. +dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with the GNU MP Library; see the file COPYING.LIB. If +dnl not, write to the Free Software Foundation, Inc., 59 Temple Place - +dnl Suite 330, Boston, MA 02111-1307, USA. + + +changecom(!) + + +dnl Usage: REGISTER(reg,attr) +dnl +dnl Give a ".register reg,attr" directive, if the assembler supports it. +dnl HAVE_REGISTER comes from the GMP_ASM_SPARC_REGISTER configure test. + +define(REGISTER, +m4_assert_numargs(2) +m4_assert_defined(`HAVE_REGISTER') +`ifelse(HAVE_REGISTER,yes, +`.register `$1',`$2'')') + + +divert diff -Naur gmp-4.1/mpn/sparc64/add_n.asm gmp-4.1.1/mpn/sparc64/add_n.asm --- gmp-4.1/mpn/sparc64/add_n.asm Wed Feb 21 00:42:04 2001 +++ gmp-4.1.1/mpn/sparc64/add_n.asm Mon Sep 2 00:56:39 2002 @@ -1,7 +1,7 @@ dnl SPARC v9 mpn_add_n -- Add two limb vectors of the same length > 0 and dnl store sum in a third limb vector. -dnl Copyright 2001 Free Software Foundation, Inc. +dnl Copyright 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -50,8 +50,8 @@ define(`fmnop',`fmuld %f0,%f0,%f4') dnl A quasi nop running in the FM pipe ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) PROLOGUE(mpn_add_n) save %sp,-160,%sp diff -Naur gmp-4.1/mpn/sparc64/addmul_1.asm gmp-4.1.1/mpn/sparc64/addmul_1.asm --- gmp-4.1/mpn/sparc64/addmul_1.asm Fri Dec 28 00:51:01 2001 +++ gmp-4.1.1/mpn/sparc64/addmul_1.asm Mon Sep 2 00:56:39 2002 @@ -1,7 +1,7 @@ dnl SPARC v9 64-bit mpn_addmul_1 -- Multiply a limb vector with a limb and add dnl the result to a second limb vector. -dnl Copyright 1998, 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 1998, 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -67,8 +67,8 @@ C v i3 ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) define(`p00', `%f8') define(`p16',`%f10') define(`p32',`%f12') define(`p48',`%f14') define(`r32',`%f16') define(`r48',`%f18') define(`r64',`%f20') define(`r80',`%f22') diff -Naur gmp-4.1/mpn/sparc64/copyd.asm gmp-4.1.1/mpn/sparc64/copyd.asm --- gmp-4.1/mpn/sparc64/copyd.asm Wed Jan 9 01:52:44 2002 +++ gmp-4.1.1/mpn/sparc64/copyd.asm Mon Sep 2 00:56:39 2002 @@ -29,8 +29,8 @@ C This code runs at 2 cycles/limb on UltraSPARC 1 and 2. ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) PROLOGUE(mpn_copyd) sllx %o2,3,%g1 add %g1,%o0,%o0 diff -Naur gmp-4.1/mpn/sparc64/copyi.asm gmp-4.1.1/mpn/sparc64/copyi.asm --- gmp-4.1/mpn/sparc64/copyi.asm Wed Jan 9 01:52:44 2002 +++ gmp-4.1.1/mpn/sparc64/copyi.asm Mon Sep 2 00:56:39 2002 @@ -29,8 +29,8 @@ C This code runs at 2 cycles/limb on UltraSPARC 1 and 2. ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) PROLOGUE(mpn_copyi) addcc %o2,-8,%o2 bl,pt %icc,L(end01234567) diff -Naur gmp-4.1/mpn/sparc64/lshift.asm gmp-4.1.1/mpn/sparc64/lshift.asm --- gmp-4.1/mpn/sparc64/lshift.asm Tue Feb 20 15:28:58 2001 +++ gmp-4.1.1/mpn/sparc64/lshift.asm Mon Sep 2 00:56:39 2002 @@ -1,6 +1,6 @@ dnl SPARC v9 mpn_lshift -dnl Copyright 1996, 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 1996, 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -38,8 +38,8 @@ define(`fmnop',`fmuld %f0,%f0,%f4') dnl A quasi nop running in the FM pipe ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) PROLOGUE(mpn_lshift) save %sp,-160,%sp diff -Naur gmp-4.1/mpn/sparc64/mul_1.asm gmp-4.1.1/mpn/sparc64/mul_1.asm --- gmp-4.1/mpn/sparc64/mul_1.asm Fri Dec 28 00:51:01 2001 +++ gmp-4.1.1/mpn/sparc64/mul_1.asm Mon Sep 2 00:56:39 2002 @@ -1,7 +1,7 @@ dnl SPARC v9 64-bit mpn_mul_1 -- Multiply a limb vector with a limb and store dnl the result in a second limb vector. -dnl Copyright 1998, 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 1998, 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -66,8 +66,8 @@ C v i3 ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) define(`p00', `%f8') define(`p16',`%f10') define(`p32',`%f12') define(`p48',`%f14') define(`r32',`%f16') define(`r48',`%f18') define(`r64',`%f20') define(`r80',`%f22') diff -Naur gmp-4.1/mpn/sparc64/rshift.asm gmp-4.1.1/mpn/sparc64/rshift.asm --- gmp-4.1/mpn/sparc64/rshift.asm Tue Feb 20 15:28:58 2001 +++ gmp-4.1.1/mpn/sparc64/rshift.asm Mon Sep 2 00:56:39 2002 @@ -1,6 +1,6 @@ dnl SPARC v9 mpn_rshift -dnl Copyright 1996, 2000, 2001 Free Software Foundation, Inc. +dnl Copyright 1996, 2000, 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -38,8 +38,8 @@ define(`fmnop',`fmuld %f0,%f0,%f4') dnl A quasi nop running in the FM pipe ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) PROLOGUE(mpn_rshift) save %sp,-160,%sp diff -Naur gmp-4.1/mpn/sparc64/sqr_diagonal.asm gmp-4.1.1/mpn/sparc64/sqr_diagonal.asm --- gmp-4.1/mpn/sparc64/sqr_diagonal.asm Sat Dec 29 00:01:30 2001 +++ gmp-4.1.1/mpn/sparc64/sqr_diagonal.asm Mon Sep 2 00:56:39 2002 @@ -1,6 +1,6 @@ dnl SPARC v9 64-bit mpn_sqr_diagonal. -dnl Copyright 2001 Free Software Foundation, Inc. +dnl Copyright 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -29,8 +29,8 @@ C pipeline style as e.g., addmul_1.asm. ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) PROLOGUE(mpn_sqr_diagonal) save %sp, -240, %sp diff -Naur gmp-4.1/mpn/sparc64/sub_n.asm gmp-4.1.1/mpn/sparc64/sub_n.asm --- gmp-4.1/mpn/sparc64/sub_n.asm Wed Feb 21 00:42:04 2001 +++ gmp-4.1.1/mpn/sparc64/sub_n.asm Mon Sep 2 00:56:39 2002 @@ -1,7 +1,7 @@ dnl SPARC v9 mpn_sub_n -- Subtract two limb vectors of the same length > 0 and dnl store difference in a third limb vector. -dnl Copyright 2001 Free Software Foundation, Inc. +dnl Copyright 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -50,8 +50,8 @@ define(`fmnop',`fmuld %f0,%f0,%f4') dnl A quasi nop running in the FM pipe ASM_START() - .register %g2,#scratch - .register %g3,#scratch + REGISTER(%g2,#scratch) + REGISTER(%g3,#scratch) PROLOGUE(mpn_sub_n) save %sp,-160,%sp diff -Naur gmp-4.1/mpn/sparc64/submul_1.asm gmp-4.1.1/mpn/sparc64/submul_1.asm --- gmp-4.1/mpn/sparc64/submul_1.asm Sun Dec 16 03:17:46 2001 +++ gmp-4.1.1/mpn/sparc64/submul_1.asm Mon Sep 2 00:56:39 2002 @@ -1,7 +1,7 @@ dnl SPARC v9 64-bit mpn_submul_1 -- Multiply a limb vector with a limb and dnl subtract the result from a second limb vector. -dnl Copyright 2001 Free Software Foundation, Inc. +dnl Copyright 2001, 2002 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -29,7 +29,7 @@ C v i3 ASM_START() - .register %g2,#scratch + REGISTER(%g2,#scratch) PROLOGUE(mpn_submul_1) save %sp,-176,%sp diff -Naur gmp-4.1/mpz/export.c gmp-4.1.1/mpz/export.c --- gmp-4.1/mpz/export.c Tue May 7 00:20:11 2002 +++ gmp-4.1.1/mpz/export.c Sun Oct 20 03:34:05 2002 @@ -83,7 +83,7 @@ if (endian == 0) endian = HOST_ENDIAN; - align = (unsigned) data % sizeof (mp_limb_t); + align = ((char *) data - (char *) NULL) % sizeof (mp_limb_t); if (nail == GMP_NAIL_BITS) { diff -Naur gmp-4.1/mpz/import.c gmp-4.1.1/mpz/import.c --- gmp-4.1/mpz/import.c Sat May 11 16:24:47 2002 +++ gmp-4.1.1/mpz/import.c Sun Oct 20 03:34:58 2002 @@ -19,6 +19,7 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include /* for NULL */ #include "gmp.h" #include "gmp-impl.h" @@ -58,7 +59,7 @@ mask out the nail bits in the input data. */ if (nail == 0 && GMP_NAIL_BITS == 0) { - unsigned align = (unsigned long) data % sizeof (mp_limb_t); + unsigned align = ((char *) data - (char *) NULL) % sizeof (mp_limb_t); if (order == -1 && size == sizeof (mp_limb_t) diff -Naur gmp-4.1/mpz/powm_ui.c gmp-4.1.1/mpz/powm_ui.c --- gmp-4.1/mpz/powm_ui.c Tue May 14 18:59:49 2002 +++ gmp-4.1.1/mpz/powm_ui.c Sat Aug 31 02:21:36 2002 @@ -115,6 +115,17 @@ /* Main loop. */ + /* If m is already normalized (high bit of high limb set), and b is the + same size, but a bigger value, and e==1, then there's no modular + reductions done and we can end up with a result out of range at the + end. */ + if (c == 0) + { + if (xn == mn && mpn_cmp (xp, mp, mn) >= 0) + mpn_sub_n (xp, xp, mp, mn); + goto finishup; + } + while (c != 0) { mpn_sqr_n (tp, xp, xn); @@ -149,6 +160,7 @@ c--; } + finishup: /* We shifted m left m_zero_cnt steps. Adjust the result by reducing it with the original MOD. */ if (m_zero_cnt != 0) diff -Naur gmp-4.1/mpz/remove.c gmp-4.1.1/mpz/remove.c --- gmp-4.1/mpz/remove.c Tue Jan 2 09:12:08 2001 +++ gmp-4.1.1/mpz/remove.c Sat Aug 31 02:32:05 2002 @@ -1,6 +1,6 @@ /* mpz_remove -- divide out a factor and return its multiplicity. -Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -30,8 +30,16 @@ unsigned long int pwr; int p; - if (mpz_cmp_ui (f, 1) <= 0 || mpz_sgn (src) == 0) + if (mpz_cmp_ui (f, 1) <= 0) DIVIDE_BY_ZERO; + + if (SIZ (src) == 0) + { + if (src != dest) + mpz_set (dest, src); + return 0; + } + if (mpz_cmp_ui (f, 2) == 0) { unsigned long int s0; diff -Naur gmp-4.1/mpz/root.c gmp-4.1.1/mpz/root.c --- gmp-4.1/mpz/root.c Thu May 9 00:51:04 2002 +++ gmp-4.1.1/mpz/root.c Sat Oct 19 00:20:25 2002 @@ -64,7 +64,7 @@ count_leading_zeros (cnt, up[un - 1]); unb = un * GMP_NUMB_BITS - cnt + GMP_NAIL_BITS; - rootnb = (unb + nth - 1) / nth; + rootnb = (unb - 1) / nth + 1; rootn = (rootnb + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; if (r != NULL) diff -Naur gmp-4.1/randraw.c gmp-4.1.1/randraw.c --- gmp-4.1/randraw.c Tue May 14 18:59:44 2002 +++ gmp-4.1.1/randraw.c Sat Aug 31 01:40:42 2002 @@ -115,8 +115,6 @@ with C smaller than M*/ *rp = c; - ASSERT_ALWAYS (((mp_limb_t) 1 << m2exp) > c); - *seedp = c; SIZ (rstate->_mp_seed) = 1; return m2exp; diff -Naur gmp-4.1/stamp-vti gmp-4.1.1/stamp-vti --- gmp-4.1/stamp-vti Fri May 24 12:54:55 2002 +++ gmp-4.1.1/stamp-vti Wed Nov 27 23:34:09 2002 @@ -1,4 +1,4 @@ -@set UPDATED 24 May 2002 -@set UPDATED-MONTH May 2002 -@set EDITION 4.1 -@set VERSION 4.1 +@set UPDATED 15 November 2002 +@set UPDATED-MONTH November 2002 +@set EDITION 4.1.1 +@set VERSION 4.1.1 diff -Naur gmp-4.1/tests/misc/t-printf.c gmp-4.1.1/tests/misc/t-printf.c --- gmp-4.1/tests/misc/t-printf.c Mon Apr 22 11:01:04 2002 +++ gmp-4.1.1/tests/misc/t-printf.c Fri Nov 22 22:20:58 2002 @@ -907,8 +907,9 @@ /**/ z, z, z, z, z, z, z); /* %zd for size_t won't be available on old systems, and running something - to see if it works might be bad, so try it on glibc only */ -#ifdef __GLIBC__ + to see if it works might be bad, so only try it on glibc, and only on a + new enough version (glibc 2.0 doesn't have %zd) */ +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 0) mpz_set_ui (z, 789L); check_one ("456 789 blah", "%zd %Zd blah", (size_t) 456, z); #endif diff -Naur gmp-4.1/tests/misc/t-scanf.c gmp-4.1.1/tests/misc/t-scanf.c --- gmp-4.1/tests/misc/t-scanf.c Tue May 14 18:59:49 2002 +++ gmp-4.1.1/tests/misc/t-scanf.c Fri Nov 22 22:20:37 2002 @@ -65,10 +65,12 @@ int option_libc_scanf = 0; -typedef int (*fun1_t) _PROTO ((const char *, const char *, void *)); -typedef int (*fun2_t) _PROTO ((const char *, const char *, void *, void *)); +typedef int (*fun_t) _PROTO ((const char *, const char *, void *, void *)); +/* Convert fmt from a GMP scanf format string to an equivalent for a plain + libc scanf, for example "%Zd" becomes "%ld". Return 1 if this succeeds, + 0 if it cannot (or should not) be done. */ int libc_scanf_convert (char *fmt) { @@ -99,6 +101,7 @@ long got_ftell; int fromstring_next_c; +/* Call gmp_fscanf, reading the "input" string data provided. */ int #if HAVE_STDARG fromstring_gmp_fscanf (const char *input, const char *fmt, ...) @@ -133,33 +136,32 @@ fromstring_next_c = getc (fp); ASSERT_ALWAYS (fclose (fp) == 0); + va_end (ap); return ret; } + int -fromstring_fscanf1 (const char *input, const char *fmt, void *a1) +fun_gmp_sscanf (const char *input, const char *fmt, void *a1, void *a2) { - FILE *fp; - int ret; - - fp = fopen (TEMPFILE, "w+"); - ASSERT_ALWAYS (fp != NULL); - ASSERT_ALWAYS (fputs (input, fp) != EOF); - ASSERT_ALWAYS (fflush (fp) == 0); - rewind (fp); - - ret = fscanf (fp, fmt, a1); - got_ftell = ftell (fp); - ASSERT_ALWAYS (got_ftell != -1L); - - fromstring_next_c = getc (fp); + if (a2 == NULL) + return gmp_sscanf (input, fmt, a1); + else + return gmp_sscanf (input, fmt, a1, a2); +} - ASSERT_ALWAYS (fclose (fp) == 0); - return ret; +int +fun_gmp_fscanf (const char *input, const char *fmt, void *a1, void *a2) +{ + if (a2 == NULL) + return fromstring_gmp_fscanf (input, fmt, a1); + else + return fromstring_gmp_fscanf (input, fmt, a1, a2); } + int -fromstring_fscanf2 (const char *input, const char *fmt, void *a1, void *a2) +fun_fscanf (const char *input, const char *fmt, void *a1, void *a2) { FILE *fp; int ret; @@ -170,7 +172,11 @@ ASSERT_ALWAYS (fflush (fp) == 0); rewind (fp); - ret = fscanf (fp, fmt, a1, a2); + if (a2 == NULL) + ret = fscanf (fp, fmt, a1); + else + ret = fscanf (fp, fmt, a1, a2); + got_ftell = ftell (fp); ASSERT_ALWAYS (got_ftell != -1L); @@ -185,34 +191,26 @@ to be able to write into the input string. Ensure that this is possible, when gcc is putting the test data into a read-only section. - Actually we ought to only need this under SSCANF_WRITABLE_INPUT, but it's - just as easy to do it unconditionally, and in any case this code is only - executed under the -s option. */ + Actually we ought to only need this under SSCANF_WRITABLE_INPUT from + configure, but it's just as easy to do it unconditionally, and in any + case this code is only executed under the -s option. */ int -wrap_sscanf1 (const char *input, const char *fmt, void *a1) +fun_sscanf (const char *input, const char *fmt, void *a1, void *a2) { char *input_writable; size_t size; int ret; - size = strlen (input) + 1; - input_writable = (*__gmp_allocate_func) (size); - memcpy (input_writable, input, size); - ret = sscanf (input_writable, fmt, a1); - (*__gmp_free_func) (input_writable, size); - return ret; -} -int -wrap_sscanf2 (const char *input, const char *fmt, void *a1, void *a2) -{ - char *input_writable; - size_t size; - int ret; size = strlen (input) + 1; input_writable = (*__gmp_allocate_func) (size); memcpy (input_writable, input, size); - ret = sscanf (input_writable, fmt, a1, a2); + + if (a2 == NULL) + ret = sscanf (input_writable, fmt, a1); + else + ret = sscanf (input_writable, fmt, a1, a2); + (*__gmp_free_func) (input_writable, size); return ret; } @@ -452,8 +450,7 @@ mpz_t got, want; long got_l, want_ftell; int error = 0; - fun1_t fun1; - fun2_t fun2; + fun_t fun; const char *name; char fmt[128]; @@ -485,13 +482,11 @@ switch (j) { case 0: name = "gmp_sscanf"; - fun1 = (fun1_t) gmp_sscanf; - fun2 = (fun2_t) gmp_sscanf; + fun = fun_gmp_sscanf; break; case 1: name = "gmp_fscanf"; - fun1 = (fun1_t) fromstring_gmp_fscanf; - fun2 = (fun2_t) fromstring_gmp_fscanf; + fun = fun_gmp_fscanf; break; case 2: #ifdef __GLIBC__ @@ -501,8 +496,7 @@ if (! libc_scanf_convert (fmt)) continue; name = "standard sscanf"; - fun1 = (fun1_t) wrap_sscanf1; - fun2 = (fun2_t) wrap_sscanf2; + fun = fun_sscanf; break; case 3: #ifdef __GLIBC__ @@ -512,8 +506,7 @@ if (! libc_scanf_convert (fmt)) continue; name = "standard fscanf"; - fun1 = fromstring_fscanf1; - fun2 = fromstring_fscanf2; + fun = fun_fscanf; break; default: ASSERT_ALWAYS (0); @@ -528,17 +521,17 @@ case 1: mpz_set_si (got, -999L); if (ignore) - got_ret = (*fun1) (data[i].input, fmt, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_upto, NULL); else - got_ret = (*fun2) (data[i].input, fmt, got, &got_upto); + got_ret = (*fun) (data[i].input, fmt, got, &got_upto); break; case 2: case 3: got_l = -999L; if (ignore) - got_ret = (*fun1) (data[i].input, fmt, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_upto, NULL); else - got_ret = (*fun2) (data[i].input, fmt, &got_l, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_l, &got_upto); mpz_set_si (got, got_l); break; default: @@ -838,8 +831,7 @@ mpq_t got, want; long got_l, want_ftell; int error = 0; - fun1_t fun1; - fun2_t fun2; + fun_t fun; const char *name; char fmt[128]; @@ -874,13 +866,11 @@ switch (j) { case 0: name = "gmp_sscanf"; - fun1 = (fun1_t) gmp_sscanf; - fun2 = (fun2_t) gmp_sscanf; + fun = fun_gmp_sscanf; break; case 1: name = "gmp_fscanf"; - fun1 = (fun1_t) fromstring_gmp_fscanf; - fun2 = (fun2_t) fromstring_gmp_fscanf; + fun = fun_gmp_fscanf; break; case 2: if (strchr (data[i].input, '/') != NULL) @@ -888,8 +878,7 @@ if (! libc_scanf_convert (fmt)) continue; name = "standard sscanf"; - fun1 = (fun1_t) wrap_sscanf1; - fun2 = (fun2_t) wrap_sscanf2; + fun = fun_sscanf; break; case 3: if (strchr (data[i].input, '/') != NULL) @@ -897,8 +886,7 @@ if (! libc_scanf_convert (fmt)) continue; name = "standard fscanf"; - fun1 = fromstring_fscanf1; - fun2 = fromstring_fscanf2; + fun = fun_fscanf; break; default: ASSERT_ALWAYS (0); @@ -913,17 +901,17 @@ case 1: mpq_set_si (got, -999L, 121L); if (ignore) - got_ret = (*fun1) (data[i].input, fmt, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_upto, NULL); else - got_ret = (*fun2) (data[i].input, fmt, got, &got_upto); + got_ret = (*fun) (data[i].input, fmt, got, &got_upto); break; case 2: case 3: got_l = -999L; if (ignore) - got_ret = (*fun1) (data[i].input, fmt, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_upto, NULL); else - got_ret = (*fun2) (data[i].input, fmt, &got_l, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_l, &got_upto); mpq_set_si (got, got_l, (got_l == -999L ? 121L : 1L)); break; default: @@ -1094,8 +1082,7 @@ double got_d; long want_ftell; int error = 0; - fun1_t fun1; - fun2_t fun2; + fun_t fun; const char *name; char fmt[128]; @@ -1130,27 +1117,23 @@ switch (j) { case 0: name = "gmp_sscanf"; - fun1 = (fun1_t) gmp_sscanf; - fun2 = (fun2_t) gmp_sscanf; + fun = fun_gmp_sscanf; break; case 1: name = "gmp_fscanf"; - fun1 = (fun1_t) fromstring_gmp_fscanf; - fun2 = (fun2_t) fromstring_gmp_fscanf; + fun = fun_gmp_fscanf; break; case 2: if (! libc_scanf_convert (fmt)) continue; name = "standard sscanf"; - fun1 = (fun1_t) wrap_sscanf1; - fun2 = (fun2_t) wrap_sscanf2; + fun = fun_sscanf; break; case 3: if (! libc_scanf_convert (fmt)) continue; name = "standard fscanf"; - fun1 = fromstring_fscanf1; - fun2 = fromstring_fscanf2; + fun = fun_fscanf; break; default: ASSERT_ALWAYS (0); @@ -1165,17 +1148,17 @@ case 1: mpf_set_si (got, -999L); if (ignore) - got_ret = (*fun1) (data[i].input, fmt, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_upto, NULL); else - got_ret = (*fun2) (data[i].input, fmt, got, &got_upto); + got_ret = (*fun) (data[i].input, fmt, got, &got_upto); break; case 2: case 3: got_d = -999L; if (ignore) - got_ret = (*fun1) (data[i].input, fmt, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_upto, NULL); else - got_ret = (*fun2) (data[i].input, fmt, &got_d, &got_upto); + got_ret = (*fun) (data[i].input, fmt, &got_d, &got_upto); mpf_set_d (got, got_d); break; default: @@ -1426,7 +1409,7 @@ { ret = sscanf (" ", "%s", buf); ASSERT_ALWAYS (ret == -1); - ret = fromstring_fscanf1 (" ", "%s", buf); + ret = fun_fscanf (" ", "%s", buf, NULL); ASSERT_ALWAYS (ret == -1); } } @@ -1442,7 +1425,7 @@ { ret = sscanf ("123", "%*d%d", &x); ASSERT_ALWAYS (ret == -1); - ret = fromstring_fscanf1 ("123", "%*d%d", &x); + ret = fun_fscanf ("123", "%*d%d", &x, NULL); ASSERT_ALWAYS (ret == -1); } } @@ -1501,8 +1484,9 @@ #endif /* %zd etc won't be accepted by sscanf on old systems, and running - something to see if they work might be bad, so try it on glibc only */ -#ifdef __GLIBC__ + something to see if they work might be bad, so only try it on glibc, + and only on a new enough version (glibc 2.0 doesn't have %zd) */ +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 0) { mpz_t z; size_t s = -1; diff -Naur gmp-4.1/tests/mpz/t-cmp_d.c gmp-4.1.1/tests/mpz/t-cmp_d.c --- gmp-4.1/tests/mpz/t-cmp_d.c Tue Sep 25 23:05:12 2001 +++ gmp-4.1.1/tests/mpz/t-cmp_d.c Sat Aug 31 03:20:38 2002 @@ -1,6 +1,6 @@ /* Test mpz_cmp_d and mpz_cmpabs_d. -Copyright 2001 Free Software Foundation, Inc. +Copyright 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -33,7 +33,6 @@ #define SGN(n) ((n) > 0 ? 1 : (n) < 0 ? -1 : 0) -double fudge _PROTO ((double x)); void @@ -205,44 +204,37 @@ mpz_clear (x); } -/* Comparing 1 and 1+2^-n */ +/* Comparing 1 and 1+2^-n. "y" is volatile to make gcc store and fetch it, + which forces it to a 64-bit double, whereas on x86 it would otherwise + remain on the float stack as an 80-bit long double. */ void check_one_2exp (void) { - mpz_t x; - double y; - double e = 1.0; - int i; + double e; + mpz_t x; + volatile double y; + int i; mpz_init (x); + e = 1.0; for (i = 0; i < 128; i++) { e /= 2.0; - - y = fudge (1.0 + e); + y = 1.0 + e; if (y == 1.0) break; mpz_set_ui (x, 1L); check_one ("check_one_2exp", x, y, -1, -1); - check_one ("check_oen_2exp", x, -y, 1, -1); + check_one ("check_one_2exp", x, -y, 1, -1); mpz_set_si (x, -1L); check_one ("check_one_2exp", x, y, -1, -1); - check_one ("check_oen_2exp", x, -y, 1, -1); + check_one ("check_one_2exp", x, -y, 1, -1); } mpz_clear (x); -} - - -/* Stop the compiler getting too smart, in particular on x86 stop it keeping - a double in an 80-bit long double fp register. */ -double -fudge (double x) -{ - return x; } diff -Naur gmp-4.1/tests/mpz/t-jac.c gmp-4.1.1/tests/mpz/t-jac.c --- gmp-4.1/tests/mpz/t-jac.c Tue Apr 3 01:18:17 2001 +++ gmp-4.1.1/tests/mpz/t-jac.c Sat Aug 31 02:36:40 2002 @@ -1,7 +1,7 @@ /* Exercise mpz_*_kronecker_*() and mpz_jacobi() functions. */ /* -Copyright 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -153,7 +153,7 @@ void -try_si_zi (int a, mpz_srcptr b, int answer) +try_si_zi (long a, mpz_srcptr b, int answer) { int got; diff -Naur gmp-4.1/tests/mpz/t-sizeinbase.c gmp-4.1.1/tests/mpz/t-sizeinbase.c --- gmp-4.1/tests/mpz/t-sizeinbase.c Tue May 14 18:59:49 2002 +++ gmp-4.1.1/tests/mpz/t-sizeinbase.c Sat Aug 31 02:24:55 2002 @@ -80,7 +80,10 @@ { tests_start (); - check_sample (); + /* Disabled due to the bogosity of trying to fake an _mp_d pointer to + below an object. Has been seen to fail on a hppa system. */ + + /* check_sample (); */ tests_end (); exit (0); diff -Naur gmp-4.1/tune/speed.h gmp-4.1.1/tune/speed.h --- gmp-4.1/tune/speed.h Tue May 7 00:45:08 2002 +++ gmp-4.1.1/tune/speed.h Sat Aug 31 03:00:39 2002 @@ -1919,6 +1919,7 @@ while (--i != 0); \ t = speed_endtime (); \ \ + noop_1 (dummy); /* don't let the calls go dead */ \ TMP_FREE (marker); \ \ s->time_divisor = SPEED_BLOCK_SIZE; \ diff -Naur gmp-4.1/version.texi gmp-4.1.1/version.texi --- gmp-4.1/version.texi Fri May 24 12:54:55 2002 +++ gmp-4.1.1/version.texi Wed Nov 27 23:34:09 2002 @@ -1,4 +1,4 @@ -@set UPDATED 24 May 2002 -@set UPDATED-MONTH May 2002 -@set EDITION 4.1 -@set VERSION 4.1 +@set UPDATED 15 November 2002 +@set UPDATED-MONTH November 2002 +@set EDITION 4.1.1 +@set VERSION 4.1.1