]> Zhao Yanbai Git Server - minix.git/commitdiff
Enable optional GCC install and GCC improvements 71/671/2
authorLionel Sambuc <lionel@minix3.org>
Wed, 24 Apr 2013 16:57:59 +0000 (18:57 +0200)
committerLionel Sambuc <lionel@minix3.org>
Fri, 12 Jul 2013 12:22:03 +0000 (14:22 +0200)
 -By adding MKGCC=yes and MKGCCCMDS=yes on the make commandline
   it is now possible to compile and install GCC on the system.

   Before doing this, if you are not using the build.sh script,
   you will need to call the fetch scripts in order to retrieve
   the sources of GCC and its dependencies.

 -Reduce difference with NetBSD share/mk

   Move Minix-specific parameters from bsd.gcc.mk to bsd.own.mk,
   which is anyway patched, so that bsd.gcc.mk is now aligned
   on the NetBSD version.

 -Clean libraries dependencies, compiles stdc++ only if gcc is
   also compiled (it is part of the gcc sources)

 -Correct minix.h header sequence, cleanup spec headers.

 -Fix cross-compilation from a 32bit host targeting MINIX/arm

Change-Id: I1b234af18eed4ab5675188244e931b2a2b7bd943

95 files changed:
common/lib/libc/string/popcount32.c
common/lib/libc/string/popcount64.c
distrib/sets/lists/minix/md.evbarm
distrib/sets/lists/minix/md.i386
distrib/sets/lists/minix/mi
etc/mtree/Makefile
etc/mtree/Minix.gcccmds [new file with mode: 0644]
external/gpl3/gcc/Makefile
external/gpl3/gcc/fetch.sh
external/gpl3/gcc/files/arm-minix.h
external/gpl3/gcc/files/i386-minix.h
external/gpl3/gcc/files/minix-spec.h
external/gpl3/gcc/files/minix.h
external/gpl3/gcc/files/t-minix
external/gpl3/gcc/lib/Makefile
external/gpl3/gcc/lib/Makefile.hacks
external/gpl3/gcc/lib/libgcc/Makefile
external/gpl3/gcc/lib/libgcc/Makefile.inc
external/gpl3/gcc/lib/libgcc/arch/earm.mk
external/gpl3/gcc/lib/libgcc/arch/i386.mk
external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk
external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h
external/gpl3/gcc/lib/libgomp/arch/earm/config.h
external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec
external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h
external/gpl3/gcc/lib/libgomp/arch/earm/omp.h
external/gpl3/gcc/lib/libgomp/arch/i386/config.h
external/gpl3/gcc/lib/libiberty/arch/earm/config.h
external/gpl3/gcc/lib/libiberty/arch/i386/config.h
external/gpl3/gcc/lib/libiberty/defs.mk
external/gpl3/gcc/lib/libobjc/arch/earm/config.h
external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk
external/gpl3/gcc/lib/libobjc/arch/i386/config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/earm/defs.mk
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/i386/defs.mk
external/gpl3/gcc/lib/libsupc++/Makefile.common
external/gpl3/gcc/patches/0000-gcc_nbsd.patch
external/gpl3/gcc/patches/0001-minix.patch
external/gpl3/gcc/usr.bin/Makefile.backend
external/gpl3/gcc/usr.bin/Makefile.inc
external/gpl3/gcc/usr.bin/backend/Makefile
external/gpl3/gcc/usr.bin/cc1/Makefile
external/gpl3/gcc/usr.bin/cc1obj/Makefile
external/gpl3/gcc/usr.bin/cc1plus/Makefile
external/gpl3/gcc/usr.bin/cpp/Makefile
external/gpl3/gcc/usr.bin/g++/Makefile
external/gpl3/gcc/usr.bin/gcc/Makefile
external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/earm/gthr-default.h [deleted file]
external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list
external/gpl3/gcc/usr.bin/gcc/arch/earm/insn-modes.h [deleted file]
external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h
external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h
external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h
external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h
external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/i386/gthr-default.h [deleted file]
external/gpl3/gcc/usr.bin/gcc/arch/i386/gtyp-input.list
external/gpl3/gcc/usr.bin/gcc/arch/i386/tm.h
external/gpl3/gcc/usr.bin/gcov/Makefile
external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h
external/gpl3/gcc/usr.bin/libcpp/arch/i386/config.h
external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h
external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc [new file with mode: 0644]
external/lgpl3/gmp/lib/libgmp/arch/earm/config.h [new file with mode: 0644]
external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4 [new file with mode: 0644]
external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h [new file with mode: 0644]
external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h [new file with mode: 0644]
external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h [new file with mode: 0644]
lib/Makefile
lib/csu/arch/earm/crt0.S
lib/csu/common/crt0-common.c
lib/libm/Makefile
lib/libm/complex/Makefile.inc
servers/procfs/Makefile
servers/vfs/Makefile
share/mk/bsd.gcc.mk
share/mk/bsd.lib.mk
share/mk/bsd.own.mk
share/mk/bsd.prog.mk
share/mk/bsd.test.mk
share/mk/minix.service.mk
test/Makefile
tools/gcc/Makefile

index 6913fb8ade8707497b464b2907dedf5f414382f8..590316e280d4b50361f8292694117f7e69f138f1 100644 (file)
@@ -76,3 +76,8 @@ __strong_alias(popcount, popcount32)
 #if ULONG_MAX == 0xffffffffU
 __strong_alias(popcountl, popcount32)
 #endif
+
+#if defined(__minix)
+__strong_alias(__popcountsi2, popcount32)
+__strong_alias(__popcountdi2, popcount32)
+#endif
index 753fb9bd6e230a0999fbfb2f9b5194ffa28dbd64..7ae32542fb2647475df307ab216b81c4a51bdd93 100644 (file)
@@ -83,3 +83,6 @@ __strong_alias(popcountl, popcount64)
 __strong_alias(popcountll, popcount64)
 #endif
 
+#if defined(__minix)
+__strong_alias(popcountti2, popcount64)
+#endif
index a9c9df252740ed1de244d3c64ae97a783b4e7ce5..6cb871d91184e6aa95f1f22abe633e3cb93632dd 100644 (file)
@@ -91,6 +91,7 @@
 ./usr/include/evbarm/vm.h              minix-sys
 ./usr/include/evbarm/vmparam.h         minix-sys
 ./usr/include/evbarm/wchar_limits.h    minix-sys
+./usr/include/gcc-4.5/arm_neon.h       minix-sys       gcccmds
 ./usr/include/i386                     minix-sys       obsolete
 ./usr/lib/libclkconf.a                 minix-sys
 ./usr/lib/libclkconf_pic.a             minix-sys
 ./usr/sbin/fb                          minix-sys
 ./usr/sbin/gpio                                minix-sys
 ./usr/sbin/random                      minix-sys
+./usr/tests/minix-posix/mod            minix-sys
+./usr/tests/minix-posix/test63         minix-sys
index 1256cd01d1697b87f80454dfef351a126545eed7..6e01f485b16a48502509d5d4d73993a293c244fe 100644 (file)
@@ -1,3 +1,4 @@
+
 ./boot/minix/.temp/mod07_log           minix-sys
 ./boot/minix/.temp/mod08_tty           minix-sys
 ./boot/minix/.temp/mod09_mfs           minix-sys
 ./usr/bin/recwave                      minix-sys
 ./usr/bin/repartition                  minix-sys
 ./usr/bin/screendump                   minix-sys
+./usr/include/gcc-4.5/abmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/ammintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/avxintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/bmmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/cpuid.h          minix-sys       gcccmds
+./usr/include/gcc-4.5/cross-stdarg.h   minix-sys       gcccmds
+./usr/include/gcc-4.5/emmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/fma4intrin.h     minix-sys       gcccmds
+./usr/include/gcc-4.5/ia32intrin.h     minix-sys       gcccmds
+./usr/include/gcc-4.5/immintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/lwpintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/mm3dnow.h                minix-sys       gcccmds
+./usr/include/gcc-4.5/mm_malloc.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/nmmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/pmmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/popcntintrin.h   minix-sys       gcccmds
+./usr/include/gcc-4.5/smmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/tmmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/wmmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/x86intrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/xmmintrin.h      minix-sys       gcccmds
+./usr/include/gcc-4.5/xopintrin.h      minix-sys       gcccmds
 ./usr/include/i386                     minix-sys
 ./usr/include/i386/ansi.h              minix-sys
 ./usr/include/i386/archconst.h         minix-sys
index a645ab8664e0f4f86179b990002a1a86f24f57a0..bd30d1d18bcdd67fe8de36b74b442d45c8a4b11c 100644 (file)
 ./usr/bin/bzcat                                minix-sys
 ./usr/bin/bzip2                                minix-sys
 ./usr/bin/bzip2recover                 minix-sys
+./usr/bin/c++                          minix-sys       gcccmds
 ./usr/bin/cal                          minix-sys
 ./usr/bin/cawf                         minix-sys
 ./usr/bin/cc                           minix-sys
+./usr/bin/cc1                          minix-sys       gcccmds
+./usr/bin/cc1obj                       minix-sys       gcccmds
+./usr/bin/cc1plus                      minix-sys       gcccmds
 ./usr/bin/cdprobe                      minix-sys
 ./usr/bin/c++filt                      minix-sys       binutils
 ./usr/bin/checkhier                    minix-sys       obsolete
 ./usr/bin/comm                         minix-sys
 ./usr/bin/compress                     minix-sys
 ./usr/bin/cpio                         minix-sys
+./usr/bin/cpp                          minix-sys       gcccmds
 ./usr/bin/cprofalyze                   minix-sys
 ./usr/bin/crc                          minix-sys
 ./usr/bin/cron                         minix-sys
 ./usr/bin/from                         minix-sys
 ./usr/bin/fstat                                minix-sys
 ./usr/bin/ftp                          minix-sys
+./usr/bin/g++                          minix-sys       gcccmds
+./usr/bin/gcc                          minix-sys       gcccmds
 ./usr/bin/gcore                                minix-sys
+./usr/bin/gcov                         minix-sys       gcccmds
 ./usr/bin/gcov-pull                    minix-sys
+./usr/bin/gcpp                         minix-sys       gcccmds
 ./usr/bin/genassym                     minix-sys
 ./usr/bin/getopt                       minix-sys
 ./usr/bin/gprof                                minix-sys       binutils
 ./usr/include/ftw.h                    minix-sys
 ./usr/include/fuse.h                   minix-sys
 ./usr/include/fuse_opt.h               minix-sys
-./usr/include/g++                      minix-sys
-./usr/include/g++/FlexLexer.h          minix-sys
+./usr/include/g++                              minix-sys
+./usr/include/g++/algorithm                    minix-sys       gcccmds
+./usr/include/g++/array                                minix-sys       gcccmds
+./usr/include/g++/atomic                       minix-sys       gcccmds
+./usr/include/g++/backward                     minix-sys       gcccmds
+./usr/include/g++/backward/auto_ptr.h          minix-sys       gcccmds
+./usr/include/g++/backward/backward_warning.h  minix-sys       gcccmds
+./usr/include/g++/backward/binders.h           minix-sys       gcccmds
+./usr/include/g++/backward/hash_fun.h          minix-sys       gcccmds
+./usr/include/g++/backward/hash_map            minix-sys       gcccmds
+./usr/include/g++/backward/hash_set            minix-sys       gcccmds
+./usr/include/g++/backward/hashtable.h         minix-sys       gcccmds
+./usr/include/g++/backward/strstream           minix-sys       gcccmds
+./usr/include/g++/bits                         minix-sys       gcccmds
+./usr/include/g++/bits/algorithmfwd.h          minix-sys       gcccmds
+./usr/include/g++/bits/allocator.h             minix-sys       gcccmds
+./usr/include/g++/bits/atomic_0.h              minix-sys       gcccmds
+./usr/include/g++/bits/atomic_2.h              minix-sys       gcccmds
+./usr/include/g++/bits/atomic_base.h           minix-sys       gcccmds
+./usr/include/g++/bits/atomicfwd_c.h           minix-sys       gcccmds
+./usr/include/g++/bits/atomicfwd_cxx.h         minix-sys       gcccmds
+./usr/include/g++/bits/atomic_word.h           minix-sys       gcccmds
+./usr/include/g++/bits/basic_file.h            minix-sys       gcccmds
+./usr/include/g++/bits/basic_ios.h             minix-sys       gcccmds
+./usr/include/g++/bits/basic_ios.tcc           minix-sys       gcccmds
+./usr/include/g++/bits/basic_string.h          minix-sys       gcccmds
+./usr/include/g++/bits/basic_string.tcc                minix-sys       gcccmds
+./usr/include/g++/bits/boost_concept_check.h   minix-sys       gcccmds
+./usr/include/g++/bits/c++0x_warning.h         minix-sys       gcccmds
+./usr/include/g++/bits/c++allocator.h          minix-sys       gcccmds
+./usr/include/g++/bits/c++config.h             minix-sys       gcccmds
+./usr/include/g++/bits/char_traits.h           minix-sys       gcccmds
+./usr/include/g++/bits/c++io.h                 minix-sys       gcccmds
+./usr/include/g++/bits/c++locale.h             minix-sys       gcccmds
+./usr/include/g++/bits/cmath.tcc               minix-sys       gcccmds
+./usr/include/g++/bits/codecvt.h               minix-sys       gcccmds
+./usr/include/g++/bits/concept_check.h         minix-sys       gcccmds
+./usr/include/g++/bits/cpp_type_traits.h       minix-sys       gcccmds
+./usr/include/g++/bits/cpu_defines.h           minix-sys       gcccmds
+./usr/include/g++/bits/ctype_base.h            minix-sys       gcccmds
+./usr/include/g++/bits/ctype_inline.h          minix-sys       gcccmds
+./usr/include/g++/bits/ctype_noninline.h       minix-sys       gcccmds
+./usr/include/g++/bits/cxxabi_tweaks.h         minix-sys       gcccmds
+./usr/include/g++/bits/deque.tcc               minix-sys       gcccmds
+./usr/include/g++/bits/error_constants.h       minix-sys       gcccmds
+./usr/include/g++/bits/extc++.h                        minix-sys       gcccmds
+./usr/include/g++/bits/forward_list.h          minix-sys       gcccmds
+./usr/include/g++/bits/forward_list.tcc                minix-sys       gcccmds
+./usr/include/g++/bits/fstream.tcc             minix-sys       gcccmds
+./usr/include/g++/bits/functexcept.h           minix-sys       gcccmds
+./usr/include/g++/bits/functional_hash.h       minix-sys       gcccmds
+./usr/include/g++/bits/gslice_array.h          minix-sys       gcccmds
+./usr/include/g++/bits/gslice.h                        minix-sys       gcccmds
+./usr/include/g++/bits/gthr-default.h          minix-sys       gcccmds
+./usr/include/g++/bits/gthr.h                  minix-sys       gcccmds
+./usr/include/g++/bits/gthr-posix.h            minix-sys       gcccmds
+./usr/include/g++/bits/gthr-single.h           minix-sys       gcccmds
+./usr/include/g++/bits/gthr-tpf.h              minix-sys       gcccmds
+./usr/include/g++/bits/hashtable.h             minix-sys       gcccmds
+./usr/include/g++/bits/hashtable_policy.h      minix-sys       gcccmds
+./usr/include/g++/bits/indirect_array.h                minix-sys       gcccmds
+./usr/include/g++/bits/ios_base.h              minix-sys       gcccmds
+./usr/include/g++/bits/istream.tcc             minix-sys       gcccmds
+./usr/include/g++/bits/list.tcc                        minix-sys       gcccmds
+./usr/include/g++/bits/locale_classes.h                minix-sys       gcccmds
+./usr/include/g++/bits/locale_classes.tcc      minix-sys       gcccmds
+./usr/include/g++/bits/locale_facets.h         minix-sys       gcccmds
+./usr/include/g++/bits/locale_facets_nonio.h   minix-sys       gcccmds
+./usr/include/g++/bits/locale_facets_nonio.tcc minix-sys       gcccmds
+./usr/include/g++/bits/locale_facets.tcc       minix-sys       gcccmds
+./usr/include/g++/bits/localefwd.h             minix-sys       gcccmds
+./usr/include/g++/bits/mask_array.h            minix-sys       gcccmds
+./usr/include/g++/bits/messages_members.h      minix-sys       gcccmds
+./usr/include/g++/bits/move.h                  minix-sys       gcccmds
+./usr/include/g++/bits/os_defines.h            minix-sys       gcccmds
+./usr/include/g++/bits/ostream_insert.h                minix-sys       gcccmds
+./usr/include/g++/bits/ostream.tcc             minix-sys       gcccmds
+./usr/include/g++/bits/postypes.h              minix-sys       gcccmds
+./usr/include/g++/bits/random.h                        minix-sys       gcccmds
+./usr/include/g++/bits/random.tcc              minix-sys       gcccmds
+./usr/include/g++/bits/shared_ptr_base.h       minix-sys       gcccmds
+./usr/include/g++/bits/shared_ptr.h            minix-sys       gcccmds
+./usr/include/g++/bits/slice_array.h           minix-sys       gcccmds
+./usr/include/g++/bits/sstream.tcc             minix-sys       gcccmds
+./usr/include/g++/bits/stdc++.h                        minix-sys       gcccmds
+./usr/include/g++/bits/stdtr1c++.h             minix-sys       gcccmds
+./usr/include/g++/bits/stl_algobase.h          minix-sys       gcccmds
+./usr/include/g++/bits/stl_algo.h              minix-sys       gcccmds
+./usr/include/g++/bits/stl_bvector.h           minix-sys       gcccmds
+./usr/include/g++/bits/stl_construct.h         minix-sys       gcccmds
+./usr/include/g++/bits/stl_deque.h             minix-sys       gcccmds
+./usr/include/g++/bits/stl_function.h          minix-sys       gcccmds
+./usr/include/g++/bits/stl_heap.h              minix-sys       gcccmds
+./usr/include/g++/bits/stl_iterator_base_funcs.h       minix-sys       gcccmds
+./usr/include/g++/bits/stl_iterator_base_types.h       minix-sys       gcccmds
+./usr/include/g++/bits/stl_iterator.h          minix-sys       gcccmds
+./usr/include/g++/bits/stl_list.h              minix-sys       gcccmds
+./usr/include/g++/bits/stl_map.h               minix-sys       gcccmds
+./usr/include/g++/bits/stl_multimap.h          minix-sys       gcccmds
+./usr/include/g++/bits/stl_multiset.h          minix-sys       gcccmds
+./usr/include/g++/bits/stl_numeric.h           minix-sys       gcccmds
+./usr/include/g++/bits/stl_pair.h              minix-sys       gcccmds
+./usr/include/g++/bits/stl_queue.h             minix-sys       gcccmds
+./usr/include/g++/bits/stl_raw_storage_iter.h  minix-sys       gcccmds
+./usr/include/g++/bits/stl_relops.h            minix-sys       gcccmds
+./usr/include/g++/bits/stl_set.h               minix-sys       gcccmds
+./usr/include/g++/bits/stl_stack.h             minix-sys       gcccmds
+./usr/include/g++/bits/stl_tempbuf.h           minix-sys       gcccmds
+./usr/include/g++/bits/stl_tree.h              minix-sys       gcccmds
+./usr/include/g++/bits/stl_uninitialized.h     minix-sys       gcccmds
+./usr/include/g++/bits/stl_vector.h            minix-sys       gcccmds
+./usr/include/g++/bits/streambuf_iterator.h    minix-sys       gcccmds
+./usr/include/g++/bits/streambuf.tcc           minix-sys       gcccmds
+./usr/include/g++/bits/stream_iterator.h       minix-sys       gcccmds
+./usr/include/g++/bits/stringfwd.h             minix-sys       gcccmds
+./usr/include/g++/bits/time_members.h          minix-sys       gcccmds
+./usr/include/g++/bits/unique_ptr.h            minix-sys       gcccmds
+./usr/include/g++/bits/unordered_map.h         minix-sys       gcccmds
+./usr/include/g++/bits/unordered_set.h         minix-sys       gcccmds
+./usr/include/g++/bits/valarray_after.h                minix-sys       gcccmds
+./usr/include/g++/bits/valarray_array.h                minix-sys       gcccmds
+./usr/include/g++/bits/valarray_array.tcc      minix-sys       gcccmds
+./usr/include/g++/bits/valarray_before.h       minix-sys       gcccmds
+./usr/include/g++/bits/vector.tcc              minix-sys       gcccmds
+./usr/include/g++/bitset                       minix-sys       gcccmds
+./usr/include/g++/cassert                      minix-sys       gcccmds
+./usr/include/g++/ccomplex                     minix-sys       gcccmds
+./usr/include/g++/cctype                       minix-sys       gcccmds
+./usr/include/g++/cerrno                       minix-sys       gcccmds
+./usr/include/g++/cfenv                                minix-sys       gcccmds
+./usr/include/g++/cfloat                       minix-sys       gcccmds
+./usr/include/g++/chrono                       minix-sys       gcccmds
+./usr/include/g++/cinttypes                    minix-sys       gcccmds
+./usr/include/g++/ciso646                      minix-sys       gcccmds
+./usr/include/g++/climits                      minix-sys       gcccmds
+./usr/include/g++/clocale                      minix-sys       gcccmds
+./usr/include/g++/cmath                                minix-sys       gcccmds
+./usr/include/g++/complex                      minix-sys       gcccmds
+./usr/include/g++/complex.h                    minix-sys       gcccmds
+./usr/include/g++/condition_variable           minix-sys       gcccmds
+./usr/include/g++/csetjmp                      minix-sys       gcccmds
+./usr/include/g++/csignal                      minix-sys       gcccmds
+./usr/include/g++/cstdarg                      minix-sys       gcccmds
+./usr/include/g++/cstdbool                     minix-sys       gcccmds
+./usr/include/g++/cstddef                      minix-sys       gcccmds
+./usr/include/g++/cstdint                      minix-sys       gcccmds
+./usr/include/g++/cstdio                       minix-sys       gcccmds
+./usr/include/g++/cstdlib                      minix-sys       gcccmds
+./usr/include/g++/cstring                      minix-sys       gcccmds
+./usr/include/g++/ctgmath                      minix-sys       gcccmds
+./usr/include/g++/ctime                                minix-sys       gcccmds
+./usr/include/g++/cwchar                       minix-sys       gcccmds
+./usr/include/g++/cwctype                      minix-sys       gcccmds
+./usr/include/g++/cxxabi-forced.h              minix-sys       gcccmds
+./usr/include/g++/cxxabi.h                     minix-sys       gcccmds
+./usr/include/g++/debug                                minix-sys       gcccmds
+./usr/include/g++/debug/bitset                 minix-sys       gcccmds
+./usr/include/g++/debug/debug.h                        minix-sys       gcccmds
+./usr/include/g++/debug/deque                  minix-sys       gcccmds
+./usr/include/g++/debug/formatter.h            minix-sys       gcccmds
+./usr/include/g++/debug/functions.h            minix-sys       gcccmds
+./usr/include/g++/debug/list                   minix-sys       gcccmds
+./usr/include/g++/debug/macros.h               minix-sys       gcccmds
+./usr/include/g++/debug/map                    minix-sys       gcccmds
+./usr/include/g++/debug/map.h                  minix-sys       gcccmds
+./usr/include/g++/debug/multimap.h             minix-sys       gcccmds
+./usr/include/g++/debug/multiset.h             minix-sys       gcccmds
+./usr/include/g++/debug/safe_base.h            minix-sys       gcccmds
+./usr/include/g++/debug/safe_iterator.h                minix-sys       gcccmds
+./usr/include/g++/debug/safe_iterator.tcc      minix-sys       gcccmds
+./usr/include/g++/debug/safe_sequence.h                minix-sys       gcccmds
+./usr/include/g++/debug/set                    minix-sys       gcccmds
+./usr/include/g++/debug/set.h                  minix-sys       gcccmds
+./usr/include/g++/debug/string                 minix-sys       gcccmds
+./usr/include/g++/debug/unordered_map          minix-sys       gcccmds
+./usr/include/g++/debug/unordered_set          minix-sys       gcccmds
+./usr/include/g++/debug/vector                 minix-sys       gcccmds
+./usr/include/g++/decimal                      minix-sys       gcccmds
+./usr/include/g++/decimal/decimal              minix-sys       gcccmds
+./usr/include/g++/decimal/decimal.h            minix-sys       gcccmds
+./usr/include/g++/deque                                minix-sys       gcccmds
+./usr/include/g++/exception                    minix-sys       gcccmds
+./usr/include/g++/exception_defines.h          minix-sys       gcccmds
+./usr/include/g++/exception_ptr.h              minix-sys       gcccmds
+./usr/include/g++/ext                          minix-sys       gcccmds
+./usr/include/g++/ext/algorithm                        minix-sys       gcccmds
+./usr/include/g++/ext/array_allocator.h                minix-sys       gcccmds
+./usr/include/g++/ext/atomicity.h              minix-sys       gcccmds
+./usr/include/g++/ext/bitmap_allocator.h       minix-sys       gcccmds
+./usr/include/g++/ext/cast.h                   minix-sys       gcccmds
+./usr/include/g++/ext/codecvt_specializations.h        minix-sys       gcccmds
+./usr/include/g++/ext/concurrence.h            minix-sys       gcccmds
+./usr/include/g++/ext/debug_allocator.h                minix-sys       gcccmds
+./usr/include/g++/ext/enc_filebuf.h            minix-sys       gcccmds
+./usr/include/g++/ext/extptr_allocator.h       minix-sys       gcccmds
+./usr/include/g++/ext/functional               minix-sys       gcccmds
+./usr/include/g++/ext/hash_map                 minix-sys       gcccmds
+./usr/include/g++/ext/hash_set                 minix-sys       gcccmds
+./usr/include/g++/ext/iterator                 minix-sys       gcccmds
+./usr/include/g++/ext/malloc_allocator.h       minix-sys       gcccmds
+./usr/include/g++/ext/memory                   minix-sys       gcccmds
+./usr/include/g++/ext/mt_allocator.h           minix-sys       gcccmds
+./usr/include/g++/ext/new_allocator.h          minix-sys       gcccmds
+./usr/include/g++/ext/numeric                  minix-sys       gcccmds
+./usr/include/g++/ext/numeric_traits.h         minix-sys       gcccmds
+./usr/include/g++/ext/pod_char_traits.h                minix-sys       gcccmds
+./usr/include/g++/ext/pointer.h                        minix-sys       gcccmds
+./usr/include/g++/ext/pool_allocator.h         minix-sys       gcccmds
+./usr/include/g++/ext/rb_tree                  minix-sys       gcccmds
+./usr/include/g++/ext/rc_string_base.h         minix-sys       gcccmds
+./usr/include/g++/ext/rope                     minix-sys       gcccmds
+./usr/include/g++/ext/ropeimpl.h               minix-sys       gcccmds
+./usr/include/g++/ext/slist                    minix-sys       gcccmds
+./usr/include/g++/ext/sso_string_base.h                minix-sys       gcccmds
+./usr/include/g++/ext/stdio_filebuf.h          minix-sys       gcccmds
+./usr/include/g++/ext/stdio_sync_filebuf.h     minix-sys       gcccmds
+./usr/include/g++/ext/string_conversions.h     minix-sys       gcccmds
+./usr/include/g++/ext/throw_allocator.h                minix-sys       gcccmds
+./usr/include/g++/ext/typelist.h               minix-sys       gcccmds
+./usr/include/g++/ext/type_traits.h            minix-sys       gcccmds
+./usr/include/g++/ext/vstring_fwd.h            minix-sys       gcccmds
+./usr/include/g++/ext/vstring.h                        minix-sys       gcccmds
+./usr/include/g++/ext/vstring.tcc              minix-sys       gcccmds
+./usr/include/g++/ext/vstring_util.h           minix-sys       gcccmds
+./usr/include/g++/fenv.h                       minix-sys       gcccmds
+./usr/include/g++/FlexLexer.h                  minix-sys
+./usr/include/g++/forward_list                 minix-sys       gcccmds
+./usr/include/g++/fstream                      minix-sys       gcccmds
+./usr/include/g++/functional                   minix-sys       gcccmds
+./usr/include/g++/future                       minix-sys       gcccmds
+./usr/include/g++/initializer_list             minix-sys       gcccmds
+./usr/include/g++/iomanip                      minix-sys       gcccmds
+./usr/include/g++/ios                          minix-sys       gcccmds
+./usr/include/g++/iosfwd                       minix-sys       gcccmds
+./usr/include/g++/iostream                     minix-sys       gcccmds
+./usr/include/g++/istream                      minix-sys       gcccmds
+./usr/include/g++/iterator                     minix-sys       gcccmds
+./usr/include/g++/limits                       minix-sys       gcccmds
+./usr/include/g++/list                         minix-sys       gcccmds
+./usr/include/g++/locale                       minix-sys       gcccmds
+./usr/include/g++/map                          minix-sys       gcccmds
+./usr/include/g++/memory                       minix-sys       gcccmds
+./usr/include/g++/mutex                                minix-sys       gcccmds
+./usr/include/g++/nested_exception.h           minix-sys       gcccmds
+./usr/include/g++/new                          minix-sys       gcccmds
+./usr/include/g++/numeric                      minix-sys       gcccmds
+./usr/include/g++/ostream                      minix-sys       gcccmds
+./usr/include/g++/parallel                     minix-sys       gcccmds
+./usr/include/g++/parallel/algobase.h          minix-sys       gcccmds
+./usr/include/g++/parallel/algo.h              minix-sys       gcccmds
+./usr/include/g++/parallel/algorithm           minix-sys       gcccmds
+./usr/include/g++/parallel/algorithmfwd.h      minix-sys       gcccmds
+./usr/include/g++/parallel/balanced_quicksort.h        minix-sys       gcccmds
+./usr/include/g++/parallel/base.h              minix-sys       gcccmds
+./usr/include/g++/parallel/basic_iterator.h    minix-sys       gcccmds
+./usr/include/g++/parallel/checkers.h          minix-sys       gcccmds
+./usr/include/g++/parallel/compatibility.h     minix-sys       gcccmds
+./usr/include/g++/parallel/compiletime_settings.h      minix-sys       gcccmds
+./usr/include/g++/parallel/equally_split.h     minix-sys       gcccmds
+./usr/include/g++/parallel/features.h          minix-sys       gcccmds
+./usr/include/g++/parallel/find.h              minix-sys       gcccmds
+./usr/include/g++/parallel/find_selectors.h    minix-sys       gcccmds
+./usr/include/g++/parallel/for_each.h          minix-sys       gcccmds
+./usr/include/g++/parallel/for_each_selectors.h        minix-sys       gcccmds
+./usr/include/g++/parallel/iterator.h          minix-sys       gcccmds
+./usr/include/g++/parallel/list_partition.h    minix-sys       gcccmds
+./usr/include/g++/parallel/losertree.h         minix-sys       gcccmds
+./usr/include/g++/parallel/merge.h             minix-sys       gcccmds
+./usr/include/g++/parallel/multiseq_selection.h        minix-sys       gcccmds
+./usr/include/g++/parallel/multiway_merge.h    minix-sys       gcccmds
+./usr/include/g++/parallel/multiway_mergesort.h        minix-sys       gcccmds
+./usr/include/g++/parallel/numeric             minix-sys       gcccmds
+./usr/include/g++/parallel/numericfwd.h                minix-sys       gcccmds
+./usr/include/g++/parallel/omp_loop.h          minix-sys       gcccmds
+./usr/include/g++/parallel/omp_loop_static.h   minix-sys       gcccmds
+./usr/include/g++/parallel/parallel.h          minix-sys       gcccmds
+./usr/include/g++/parallel/par_loop.h          minix-sys       gcccmds
+./usr/include/g++/parallel/partial_sum.h       minix-sys       gcccmds
+./usr/include/g++/parallel/partition.h         minix-sys       gcccmds
+./usr/include/g++/parallel/queue.h             minix-sys       gcccmds
+./usr/include/g++/parallel/quicksort.h         minix-sys       gcccmds
+./usr/include/g++/parallel/random_number.h     minix-sys       gcccmds
+./usr/include/g++/parallel/random_shuffle.h    minix-sys       gcccmds
+./usr/include/g++/parallel/search.h            minix-sys       gcccmds
+./usr/include/g++/parallel/set_operations.h    minix-sys       gcccmds
+./usr/include/g++/parallel/settings.h          minix-sys       gcccmds
+./usr/include/g++/parallel/sort.h              minix-sys       gcccmds
+./usr/include/g++/parallel/tags.h              minix-sys       gcccmds
+./usr/include/g++/parallel/types.h             minix-sys       gcccmds
+./usr/include/g++/parallel/unique_copy.h       minix-sys       gcccmds
+./usr/include/g++/parallel/workstealing.h      minix-sys       gcccmds
+./usr/include/g++/queue                                minix-sys       gcccmds
+./usr/include/g++/random                       minix-sys       gcccmds
+./usr/include/g++/ratio                                minix-sys       gcccmds
+./usr/include/g++/regex                                minix-sys       gcccmds
+./usr/include/g++/set                          minix-sys       gcccmds
+./usr/include/g++/sstream                      minix-sys       gcccmds
+./usr/include/g++/stack                                minix-sys       gcccmds
+./usr/include/g++/stdatomic.h                  minix-sys       gcccmds
+./usr/include/g++/stdexcept                    minix-sys       gcccmds
+./usr/include/g++/streambuf                    minix-sys       gcccmds
+./usr/include/g++/string                       minix-sys       gcccmds
+./usr/include/g++/system_error                 minix-sys       gcccmds
+./usr/include/g++/tgmath.h                     minix-sys       gcccmds
+./usr/include/g++/thread                       minix-sys       gcccmds
+./usr/include/g++/tr1                          minix-sys       gcccmds
+./usr/include/g++/tr1/array                    minix-sys       gcccmds
+./usr/include/g++/tr1/bessel_function.tcc      minix-sys       gcccmds
+./usr/include/g++/tr1/beta_function.tcc                minix-sys       gcccmds
+./usr/include/g++/tr1/ccomplex                 minix-sys       gcccmds
+./usr/include/g++/tr1/cctype                   minix-sys       gcccmds
+./usr/include/g++/tr1/cfenv                    minix-sys       gcccmds
+./usr/include/g++/tr1/cfloat                   minix-sys       gcccmds
+./usr/include/g++/tr1/cinttypes                        minix-sys       gcccmds
+./usr/include/g++/tr1/climits                  minix-sys       gcccmds
+./usr/include/g++/tr1/cmath                    minix-sys       gcccmds
+./usr/include/g++/tr1/complex                  minix-sys       gcccmds
+./usr/include/g++/tr1/complex.h                        minix-sys       gcccmds
+./usr/include/g++/tr1/cstdarg                  minix-sys       gcccmds
+./usr/include/g++/tr1/cstdbool                 minix-sys       gcccmds
+./usr/include/g++/tr1/cstdint                  minix-sys       gcccmds
+./usr/include/g++/tr1/cstdio                   minix-sys       gcccmds
+./usr/include/g++/tr1/cstdlib                  minix-sys       gcccmds
+./usr/include/g++/tr1/ctgmath                  minix-sys       gcccmds
+./usr/include/g++/tr1/ctime                    minix-sys       gcccmds
+./usr/include/g++/tr1/ctype.h                  minix-sys       gcccmds
+./usr/include/g++/tr1/cwchar                   minix-sys       gcccmds
+./usr/include/g++/tr1/cwctype                  minix-sys       gcccmds
+./usr/include/g++/tr1/ell_integral.tcc         minix-sys       gcccmds
+./usr/include/g++/tr1/exp_integral.tcc         minix-sys       gcccmds
+./usr/include/g++/tr1/fenv.h                   minix-sys       gcccmds
+./usr/include/g++/tr1/float.h                  minix-sys       gcccmds
+./usr/include/g++/tr1/functional               minix-sys       gcccmds
+./usr/include/g++/tr1/functional_hash.h                minix-sys       gcccmds
+./usr/include/g++/tr1/gamma.tcc                        minix-sys       gcccmds
+./usr/include/g++/tr1/hashtable.h              minix-sys       gcccmds
+./usr/include/g++/tr1/hashtable_policy.h       minix-sys       gcccmds
+./usr/include/g++/tr1/hypergeometric.tcc       minix-sys       gcccmds
+./usr/include/g++/tr1/inttypes.h               minix-sys       gcccmds
+./usr/include/g++/tr1/legendre_function.tcc    minix-sys       gcccmds
+./usr/include/g++/tr1/limits.h                 minix-sys       gcccmds
+./usr/include/g++/tr1/math.h                   minix-sys       gcccmds
+./usr/include/g++/tr1/memory                   minix-sys       gcccmds
+./usr/include/g++/tr1/modified_bessel_func.tcc minix-sys       gcccmds
+./usr/include/g++/tr1/poly_hermite.tcc         minix-sys       gcccmds
+./usr/include/g++/tr1/poly_laguerre.tcc                minix-sys       gcccmds
+./usr/include/g++/tr1/random                   minix-sys       gcccmds
+./usr/include/g++/tr1/random.h                 minix-sys       gcccmds
+./usr/include/g++/tr1/random.tcc               minix-sys       gcccmds
+./usr/include/g++/tr1/regex                    minix-sys       gcccmds
+./usr/include/g++/tr1/riemann_zeta.tcc         minix-sys       gcccmds
+./usr/include/g++/tr1/shared_ptr.h             minix-sys       gcccmds
+./usr/include/g++/tr1/special_function_util.h  minix-sys       gcccmds
+./usr/include/g++/tr1/stdarg.h                 minix-sys       gcccmds
+./usr/include/g++/tr1/stdbool.h                        minix-sys       gcccmds
+./usr/include/g++/tr1/stdint.h                 minix-sys       gcccmds
+./usr/include/g++/tr1/stdio.h                  minix-sys       gcccmds
+./usr/include/g++/tr1/stdlib.h                 minix-sys       gcccmds
+./usr/include/g++/tr1/tgmath.h                 minix-sys       gcccmds
+./usr/include/g++/tr1/tuple                    minix-sys       gcccmds
+./usr/include/g++/tr1/type_traits              minix-sys       gcccmds
+./usr/include/g++/tr1/unordered_map            minix-sys       gcccmds
+./usr/include/g++/tr1/unordered_map.h          minix-sys       gcccmds
+./usr/include/g++/tr1/unordered_set            minix-sys       gcccmds
+./usr/include/g++/tr1/unordered_set.h          minix-sys       gcccmds
+./usr/include/g++/tr1/utility                  minix-sys       gcccmds
+./usr/include/g++/tr1/wchar.h                  minix-sys       gcccmds
+./usr/include/g++/tr1/wctype.h                 minix-sys       gcccmds
+./usr/include/g++/tr1_impl                     minix-sys       gcccmds
+./usr/include/g++/tr1_impl/array               minix-sys       gcccmds
+./usr/include/g++/tr1_impl/boost_sp_counted_base.h     minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cctype              minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cfenv               minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cinttypes           minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cmath               minix-sys       gcccmds
+./usr/include/g++/tr1_impl/complex             minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cstdint             minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cstdio              minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cstdlib             minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cwchar              minix-sys       gcccmds
+./usr/include/g++/tr1_impl/cwctype             minix-sys       gcccmds
+./usr/include/g++/tr1_impl/regex               minix-sys       gcccmds
+./usr/include/g++/tr1_impl/type_traits         minix-sys       gcccmds
+./usr/include/g++/tr1_impl/utility             minix-sys       gcccmds
+./usr/include/g++/tuple                                minix-sys       gcccmds
+./usr/include/g++/typeinfo                     minix-sys       gcccmds
+./usr/include/g++/type_traits                  minix-sys       gcccmds
+./usr/include/g++/unordered_map                        minix-sys       gcccmds
+./usr/include/g++/unordered_set                        minix-sys       gcccmds
+./usr/include/g++/utility                      minix-sys       gcccmds
+./usr/include/g++/valarray                     minix-sys       gcccmds
+./usr/include/g++/vector                       minix-sys       gcccmds
+./usr/include/gcc-4.5                          minix-sys       gcccmds
+./usr/include/gcc-4.5/mmintrin.h               minix-sys       gcccmds
+./usr/include/gcc-4.5/tgmath.h                 minix-sys       gcccmds
 ./usr/include/gelf.h                   minix-sys
 ./usr/include/getopt.h                 minix-sys
 ./usr/include/glob.h                   minix-sys
 ./usr/include/nlist.h                  minix-sys
 ./usr/include/nl_types.h               minix-sys
 ./usr/include/nsswitch.h               minix-sys
-./usr/include/objc                     minix-sys       obsolete
+./usr/include/objc                     minix-sys       gcccmds
+./usr/include/objc/encoding.h          minix-sys       gcccmds
+./usr/include/objc/hash.h              minix-sys       gcccmds
+./usr/include/objc/NXConstStr.h                minix-sys       gcccmds
+./usr/include/objc/objc-api.h          minix-sys       gcccmds
+./usr/include/objc/objc-decls.h                minix-sys       gcccmds
+./usr/include/objc/objc.h              minix-sys       gcccmds
+./usr/include/objc/objc-list.h         minix-sys       gcccmds
+./usr/include/objc/Object.h            minix-sys       gcccmds
+./usr/include/objc/Protocol.h          minix-sys       gcccmds
+./usr/include/objc/sarray.h            minix-sys       gcccmds
+./usr/include/objc/thr.h               minix-sys       gcccmds
+./usr/include/objc/typedstream.h       minix-sys       gcccmds
 ./usr/include/paths.h                  minix-sys
 ./usr/include/poll.h                   minix-sys
 ./usr/include/prop                     minix-sys
 ./usr/lib/libexec_pic.a                        minix-sys
 ./usr/lib/libfetch.a                   minix-sys
 ./usr/lib/libfl.a                      minix-sys
-./usr/lib/libgcc.a                     minix-sys
+./usr/lib/libgcc.a                     minix-sys       gcc=45
+./usr/lib/libgcc_eh.a                  minix-sys       gcccmds
+./usr/lib/libgcc_s.a                   minix-sys       gcccmds
+./usr/lib/libgcc_s.so                  minix-sys       gcccmds
+./usr/lib/libgcc_s.so.1.0              minix-sys       gcccmds
+./usr/lib/libgcc_s.so.1                        minix-sys       gcccmds
 ./usr/lib/libl.a                       minix-sys
 ./usr/lib/liblwip.a                    minix-sys
 ./usr/lib/liblwip_pic.a                        minix-sys
 ./usr/lib/libnetdriver_pic.a           minix-sys
 ./usr/lib/libnetsock.a                 minix-sys
 ./usr/lib/libnetsock_pic.a             minix-sys
+./usr/lib/libobjc.a                    minix-sys       gcccmds
+./usr/lib/libobjc_pic.a                        minix-sys       gcccmds
+./usr/lib/libobjc.so                   minix-sys       gcccmds
+./usr/lib/libobjc.so.3.0               minix-sys       gcccmds
+./usr/lib/libobjc.so.3                 minix-sys       gcccmds
 ./usr/lib/libopcodes.so.5.0            minix-sys       binutils
 ./usr/lib/libopcodes.so.5              minix-sys       binutils
 ./usr/lib/libprop.a                    minix-sys
 ./usr/lib/librmt.a                     minix-sys
 ./usr/lib/libsffs.a                    minix-sys
 ./usr/lib/libsffs_pic.a                        minix-sys
+./usr/lib/libstdc++.a                  minix-sys       gcccmds
+./usr/lib/libstdc++_pic.a              minix-sys       gcccmds
+./usr/lib/libstdc++.so                 minix-sys       gcccmds
+./usr/lib/libstdc++.so.7               minix-sys       gcccmds
+./usr/lib/libstdc++.so.7.1             minix-sys       gcccmds
+./usr/lib/libsupc++.a                  minix-sys       gcccmds
 ./usr/lib/libsys.a                     minix-sys
 ./usr/lib/libsys_pic.a                 minix-sys
 ./usr/lib/libsys.so.0.0                        minix-sys
 ./usr/libexec/makewhatis               minix-sys
 ./usr/log                              minix-sys
 ./usr/Makefile                         minix-sys
-./usr/man                                      minix-sys
+./usr/man                              minix-sys
 ./usr/man/man1                         minix-sys
 ./usr/man/man1/..1                     minix-sys
 ./usr/man/man1/[.1                     minix-sys
 ./usr/man/man1/bzcat.1                 minix-sys
 ./usr/man/man1/bzip2.1                 minix-sys
 ./usr/man/man1/bzip2recover.1          minix-sys
+./usr/man/man1/c++.1                   minix-sys       gcccmds
 ./usr/man/man1/cal.1                   minix-sys
 ./usr/man/man1/case.1                  minix-sys
 ./usr/man/man1/cat.1                   minix-sys
 ./usr/man/man1/cawf.1                  minix-sys
+./usr/man/man1/cc.1                    minix-sys       gcccmds
+./usr/man/man1/cccp.1                  minix-sys       gcccmds
 ./usr/man/man1/cd.1                    minix-sys
 ./usr/man/man1/c++filt.1               minix-sys       binutils
 ./usr/man/man1/chfn.1                  minix-sys
 ./usr/man/man1/cp.1                    minix-sys
 ./usr/man/man1/cpdir.1                 minix-sys
 ./usr/man/man1/cpio.1                  minix-sys
+./usr/man/man1/cpp.1                   minix-sys       gcccmds
 ./usr/man/man1/crc.1                   minix-sys
 ./usr/man/man1/crontab.1               minix-sys
 ./usr/man/man1/ctags.1                 minix-sys
 ./usr/man/man1/from.1                  minix-sys
 ./usr/man/man1/fsck.mfs.1              minix-sys
 ./usr/man/man1/ftp.1                   minix-sys
+./usr/man/man1/g++.1                   minix-sys       gcccmds
+./usr/man/man1/gcc.1                   minix-sys       gcccmds
+./usr/man/man1/gcov.1                  minix-sys       gcccmds
+./usr/man/man1/gcpp.1                  minix-sys       gcccmds
 ./usr/man/man1/genassym.1              minix-sys
 ./usr/man/man1/getopt.1                        minix-sys
 ./usr/man/man1/getopts.1               minix-sys
 ./usr/share/info/as.info               minix-sys       binutils
 ./usr/share/info/bfd.info              minix-sys       binutils
 ./usr/share/info/binutils.info         minix-sys       binutils
+./usr/share/info/cpp.info              minix-sys       gcccmds
 ./usr/share/info/dir                   minix-sys
+./usr/share/info/gcc.info              minix-sys       gcccmds
 ./usr/share/info/gprof.info            minix-sys       binutils
 ./usr/share/info/info.info             minix-sys
 ./usr/share/info/info-stnd.info                minix-sys
index 6f7259c055eba9e1b72795b352a6551dc8f0bae0..f0c25bfa383de83ac4872db43fceb60638ddb6b5 100644 (file)
@@ -10,6 +10,12 @@ EXTRA_DIST_FILES=    ${.CURDIR}/NetBSD.dist.XFree86
 . endif
 .endif
 
+.if defined(__MINIX)
+.if ${MKGCCCMDS} == "yes"
+EXTRA_DIST_FILES+=     ${.CURDIR}/Minix.gcccmds
+.endif
+.endif # defined(__MINIX)
+
 # XXX these are only used by compat currently, but they could be used
 # by something else; this may need to be fixed properly in the future.
 .if ${MKCOMPAT} != "no"
diff --git a/etc/mtree/Minix.gcccmds b/etc/mtree/Minix.gcccmds
new file mode 100644 (file)
index 0000000..70ad1cb
--- /dev/null
@@ -0,0 +1,12 @@
+ /set type=dir uid=0 gid=0 mode=0755
+
+./usr/include/g++/backward
+./usr/include/g++/bits
+./usr/include/g++/debug
+./usr/include/g++/decimal
+./usr/include/g++/ext
+./usr/include/g++/parallel
+./usr/include/g++/tr1
+./usr/include/g++/tr1_impl
+./usr/include/gcc-4.5
+./usr/include/objc
index 0116bdb9d306714a5ac51a3d0952251a1573b5c2..906e8f39813d9d0c7638cad8cbdf73cf49c950d1 100644 (file)
@@ -1,9 +1,5 @@
 #      $NetBSD: Makefile,v 1.1 2011/06/21 04:53:33 mrg Exp $
 
-.if !defined(__MINIX)
 SUBDIR+= lib .WAIT usr.bin
-.else
-SUBDIR+= lib .WAIT
-.endif # !defined(__MINIX)
 
 .include <bsd.subdir.mk>
index bd414a8fa7265b7c36202fe1bbd29479f905c268..de2a3cd637cd6e2ca0574d62e5e1fb5a384666c4 100755 (executable)
@@ -38,6 +38,7 @@ then
        rm -rf $DELETEDIRS && \
        cat ../patches/* | patch -p1 && \
        cp ../files/minix.h gcc/config/ && \
+       cp ../files/t-minix gcc/config/ && \
        cp ../files/minix-spec.h gcc/config/ && \
        cp ../files/arm-minix.h gcc/config/arm/minix.h && \
        cp ../files/i386-minix.h gcc/config/i386/minix.h && \
index 4b27aa7339eabfaa1782aff32cc82de478e1d2df..a9ea11fcdd050d4e5df493aec2547471e39fd9f3 100644 (file)
@@ -1,6 +1,7 @@
-/* Definitions for StrongARM running FreeBSD using the ELF format
+/* Definitions for ARM running MINIX using the ELF format
    Copyright (C) 2001, 2004, 2007 Free Software Foundation, Inc.
    Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
+   Adapted for MINIX by Lionel Sambuc <lionel@minix3.org>
 
    This file is part of GCC.
 
@@ -18,7 +19,6 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-
 #undef MINIX_TARGET_CPU_CPP_BUILTINS
 #define MINIX_TARGET_CPU_CPP_BUILTINS()        \
   do                                   \
     }                                  \
   while (0)
 
-/************************[  Target stuff  ]***********************************/
-
 /* Define the actual types of some ANSI-mandated types.  
    Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
-
-/* arm.h gets this wrong for FreeBSD.  We use the GCC defaults instead.  */
-
+   c-common.c, and config/<arch>/<arch>.h. */
 #undef  SIZE_TYPE
 #define SIZE_TYPE      "unsigned int"
 
 #undef WCHAR_TYPE
 #define WCHAR_TYPE     "int"
 
-/* Little endian by default */
-#undef TARGET_ENDIAN_DEFAULT
-#define TARGET_ENDIAN_DEFAULT 0
+/* VERY BIG NOTE: Change of structure alignment for NetBSD/arm.
+   There are consequences you should be aware of...
+
+   Normally GCC/arm uses a structure alignment of 32 for compatibility
+   with armcc.  This means that structures are padded to a word
+   boundary.  However this causes problems with bugged NetBSD kernel
+   code (possibly userland code as well - I have not checked every
+   binary).  The nature of this bugged code is to rely on sizeof()
+   returning the correct size of various structures rounded to the  
+   nearest byte (SCSI and ether code are two examples, the vm system
+   is another).  This code breaks when the structure alignment is 32
+   as sizeof() will report a word=rounded size.  By changing the        
+   structure alignment to 8. GCC will conform to what is expected by
+   NetBSD.
+   
+   This has several side effects that should be considered.
+   1. Structures will only be aligned to the size of the largest member.
+      i.e. structures containing only bytes will be byte aligned.
+           structures containing shorts will be half word aligned.          
+           structures containing ints will be word aligned.                 
+  
+      This means structures should be padded to a word boundary if
+      alignment of 32 is required for byte structures etc.
+       
+   2. A potential performance penalty may exist if strings are no longer
+      word aligned.  GCC will not be able to use word load/stores to copy
+      short strings.
+
+   This modification is not encouraged but with the present state of the
+   NetBSD source tree it is currently the only solution that meets the
+   requirements.  */
+
+#undef DEFAULT_STRUCTURE_SIZE_BOUNDARY
+#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8
+
+/* Fixed-sized enum by default (-fno-short-enums) */
+#undef MINIX_CC1_SPEC
+#define MINIX_CC1_SPEC "%{!fshort-enums:%{!fno-short-enums:-fno-short-enums}} "
 
 /* Use by default the new abi and calling standard */
 #undef ARM_DEFAULT_ABI
 #define ARM_DEFAULT_ABI ARM_ABI_AAPCS
 
-/* Fixed-sized enum by default (-fno-short-enums) */
-#undef CC1_SPEC
-#define CC1_SPEC                                                \
-       "%{!fshort-enums:%{!fno-short-enums:-fno-short-enums}} "
+/* LSC: FIXME: When activated, some programs crash on qemu with an illegal 
+ *             instruction.
+ *             The cause is unknown (Missing support on MINIX, missing support
+ *             on the emulator, library error...).
+ */
+#if 0
+/* Make sure we use hard-floating point ABI by default */
+#undef TARGET_DEFAULT_FLOAT_ABI
+#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
+#endif
+
+/* Default to full VFP if -mhard-float is specified.  */
+#undef MINIX_SUBTARGET_ASM_FLOAT_SPEC
+#define MINIX_SUBTARGET_ASM_FLOAT_SPEC                                 \
+       "%{mhard-float:{!mfpu=*:-mfpu=vfpv3-d16}}                       \
+        %{mfloat-abi=hard:{!mfpu=*:-mfpu=vfpv3-d16}}"
+
+#undef MINIX_SUBTARGET_EXTRA_ASM_SPEC
+#define MINIX_SUBTARGET_EXTRA_ASM_SPEC                                 \
+       "%{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu;:-meabi=5}"              \
+       TARGET_FIX_V4BX_SPEC                                            \
+       "%{fpic|fpie:-k} %{fPIC|fPIE:-k}"
 
-/* This defaults us to little-endian.  */
-#ifndef TARGET_ENDIAN_DEFAULT
+/* Little endian by default */
+#undef TARGET_ENDIAN_DEFAULT
 #define TARGET_ENDIAN_DEFAULT 0
-#endif
 
 #undef  SUBTARGET_CPU_DEFAULT
 #define SUBTARGET_CPU_DEFAULT  TARGET_CPU_cortexa8
 
 #undef TARGET_VERSION
 #define TARGET_VERSION fputs (" (MINIX/arm ELF EABI)", stderr);
-
-/* suppress -lgcc - don't include %G (-lgcc) in the libraries */
-#undef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "%L"
index cef452dc9e98b410ca0ec011cb4d09faa857baec..9aba9a32cde8cd060f1595cd0a3d201c29a64a75 100644 (file)
@@ -4,23 +4,24 @@
    Modified for stabs-in-ELF by H.J. Lu.
    Adapted from GNU/Linux version by John Polstra.
    Continued development by David O'Brien <obrien@freebsd.org>
+   Adapted for MINIX by Lionel Sambuc <lionel@minix3.org>
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 2, or (at your
+   option) any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+   You should have received a copy of the GNU General Public License
+   along with GCC; see the file COPYING.  If not, write to the 
+   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
 
 #undef  MINIX_TARGET_CPU_CPP_BUILTINS
 #define MINIX_TARGET_CPU_CPP_BUILTINS()          \
@@ -36,7 +37,17 @@ Boston, MA 02110-1301, USA.  */
     }                                           \
   while (0)
 
-#define TARGET_VERSION fprintf (stderr, " (MINIX/i586 ELF)");
+/* Define the actual types of some ANSI-mandated types.
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
+   c-common.c, and config/<arch>/<arch>.h. */
+#undef  SIZE_TYPE
+#define SIZE_TYPE      (TARGET_64BIT ? "long unsigned int" : "unsigned int")
+#undef  PTRDIFF_TYPE
+#define PTRDIFF_TYPE   (TARGET_64BIT ? "long int" : "int")
+  
+#undef  WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE        (TARGET_64BIT ? 32 : BITS_PER_WORD)
 
 /* Override the default comment-starter of "/".  */
 #undef  ASM_COMMENT_START
@@ -56,27 +67,14 @@ Boston, MA 02110-1301, USA.  */
 #define NO_PROFILE_COUNTERS    1
 
 /* Tell final.c that we don't need a label passed to mcount.  */
-
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
 
-/* Make gcc agree with <machine/ansi.h>.  */
-
-#undef  SIZE_TYPE
-#define SIZE_TYPE      (TARGET_64BIT ? "long unsigned int" : "unsigned int")
-#undef  PTRDIFF_TYPE
-#define PTRDIFF_TYPE   (TARGET_64BIT ? "long int" : "int")
-  
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE        (TARGET_64BIT ? 32 : BITS_PER_WORD)
-
 /* A C statement to output to the stdio stream FILE an assembler
    command to advance the location counter to a multiple of 1<<LOG
    bytes if it is within MAX_SKIP bytes.
 
    This is used to align code labels according to Intel recommendations.  */
-
 #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
 #undef  ASM_OUTPUT_MAX_SKIP_ALIGN
 #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP)                                 \
@@ -86,12 +84,8 @@ Boston, MA 02110-1301, USA.  */
   }
 #endif
 
-/* Don't default to pcc-struct-return, we want to retain compatibility with
-   older gcc versions AND pcc-struct-return is nonreentrant.
-   (even though the SVR4 ABI for the i386 says that records and unions are
-   returned in memory).  */
-
-#undef  DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
+#undef SUBTARGET32_DEFAULT_CPU
 #define SUBTARGET32_DEFAULT_CPU "i586"
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (MINIX/i586 ELF)");
index a4ecfcbe73e3702ff97ec25ff95c76d49633265e..767f7b9c946383b41b5a11bcc2d6b580c7224e25 100644 (file)
@@ -1,27 +1,39 @@
-/* Base configuration file for all FreeBSD targets.
+/* Base configuration file for all MINIX targets.
    Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Common MINIX configuration. 
-   All MINIX architectures should include this file, which will specify
-   their commonalities.
-*/
+   Adapted for MINIX by Lionel Sambuc <lionel@minix3.org>
+
+   This file is part of GCC.
+
+   GCC is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 2, or (at your
+   option) any later version.
+
+   GCC is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License 
+   along with GCC; see the file COPYING.  If not, write to the
+   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+/* MINIX defines 
+ * Default, architecture independent values for MINIX
+ *
+ * For this to work properly, the order in the tm_file variable has
+ * to be the following:
+ *   minix-spec.h $arch/minix.h minix.h
+ *
+ * minix-spec.h        : specifies default arch-independent values
+ * $arch/minix.h: redefines as needed default minix values
+ * minix.h     : maps GCC defines to the minix defines.
+ *
+ * WARNING:
+ *   When changing any default, also check in the arch headers
+ *   if the default is redefined and update them as required.
+ */
 
 /* In case we need to know.  */
 #define USING_CONFIG_MINIX_SPEC 1
@@ -30,7 +42,6 @@ Boston, MA 02110-1301, USA.  */
    the normal cases (defined in gcc.c) apply, and we also have -h* and
    -z* options (for the linker) (coming from SVR4).
    We also have -R (alias --rpath), no -z, --soname (-h), --assert etc.  */
-
 #define MINIX_SWITCH_TAKES_ARG(CHAR)                                   \
   (DEFAULT_SWITCH_TAKES_ARG (CHAR)                                     \
     || (CHAR) == 'h'                                                   \
@@ -38,7 +49,6 @@ Boston, MA 02110-1301, USA.  */
     || (CHAR) == 'R')
 
 /* This defines which multi-letter switches take arguments.  */
-
 #define MINIX_WORD_SWITCH_TAKES_ARG(STR)                                       \
   (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)                                 \
    || !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link")                \
@@ -49,6 +59,11 @@ Boston, MA 02110-1301, USA.  */
   do                                                                   \
     {                                                                  \
                builtin_define ("__minix");                             \
+               builtin_define ("__minix__");                           \
+               builtin_define ("__unix__");                            \
+               builtin_assert ("system=bsd");                          \
+               builtin_assert ("system=unix");                         \
+               builtin_assert ("system=minix");                        \
                MINIX_TARGET_CPU_CPP_BUILTINS();                        \
     }                                                                  \
   while (0)
@@ -57,45 +72,69 @@ Boston, MA 02110-1301, USA.  */
 #define MINIX_TARGET_CPU_CPP_BUILTINS() do {} while (0)
 
 /* Provide a CPP_SPEC appropriate for MINIX.  We just deal with the GCC 
-   option `-posix', and PIC issues.  */
+   option `-posix'.  */
+#define MINIX_CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
+
+#define MINIX_CC1_SPEC ""
+
+/* Pass -cxx-isystem to cc1plus.  */
+#define MINIX_CC1PLUS_SPEC "%{cxx-isystem}"
+
+#define MINIX_SUBTARGET_CPP_SPEC ""
+#define MINIX_SUBTARGET_EXTRA_ASM_SPEC ""
+#define MINIX_SUBTARGET_ASM_FLOAT_SPEC ""
+
+#define MINIX_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
+
+/* Under MINIX, just like on NetBSD, the normal location of the various 
+ *    *crt*.o files is the /usr/lib directory.  */
+#define MINIX_STANDARD_STARTFILE_PREFIX        "/usr/lib/"
 
-#define MINIX_CPP_SPEC "                                                       \
-  %(cpp_cpu)                                                           \
-  %(cpp_arch)                                                          \
-  %{posix:-D_POSIX_SOURCE}"
+/* suppress -lgcc - don't include %G (-lgcc) in the libraries */
+#define MINIX_LINK_GCC_C_SEQUENCE_SPEC "%L"
 
 /* Provide a STARTFILE_SPEC appropriate for MINIX.  Here we add
    the magical crtbegin.o file (see crtstuff.c) which provides part 
-       of the support for getting C++ file-scope static object constructed 
-       before entering `main'.  */
-   
-#define MINIX_STARTFILE_SPEC \
-  "%{!shared: \
-     %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} \
-                      %{!p:%{profile:gcrt0%O%s} \
-                        %{!profile:crt0%O%s}}}} \
-   crti%O%s %{!shared:crtbegin%O%s} %{shared:crtbeginS%O%s}"
-
-/* Provide a ENDFILE_SPEC appropriate for MINIX.  Here we tack on
-   the magical crtend.o file (see crtstuff.c) which provides part of 
-       the support for getting C++ file-scope static object constructed 
-       before entering `main', followed by a normal "finalizer" file, 
-       `crtn.o'.  */
-
-#define MINIX_ENDFILE_SPEC \
-  "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+   of the support for getting C++ file-scope static object constructed
+   before entering `main'.  */
+#define MINIX_STARTFILE_SPEC   \
+  "%{!shared:                  \
+     %{pg:gcrt0%O%s}           \
+     %{!pg:                    \
+        %{p:gcrt0%O%s}         \
+        %{!p:%{profile:gcrt0%O%s} \
+             %{!profile:crt0%O%s}}}} \
+   %:if-exists(crti%O%s)       \
+   %{static:%:if-exists-else(crtbeginT%O%s crtbegin%O%s)} \
+   %{!static:                   \
+     %{!shared:                        \
+        %{!pie:crtbegin%O%s}   \
+        %{pie:crtbeginS%O%s}}  \
+     %{shared:crtbeginS%O%s}}"
+
+/* Provide an ENDFILE_SPEC appropriate for NetBSD ELF.  Here we
+   add crtend.o, which provides part of the support for getting
+   C++ file-scope static objects deconstructed after exiting "main".  */
+#define MINIX_ENDFILE_SPEC     \
+  "%{!shared:                   \
+    %{!pie:crtend%O%s}          \
+    %{pie:crtendS%O%s}}         \
+   %{shared:crtendS%O%s}        \
+   %:if-exists(crtn%O%s)"
 
 /* Provide a LIB_SPEC appropriate for MINIX.  Just select the appropriate
    libc, depending on whether we're doing profiling or need threads support.
    (similar to the default, except no -lg, and no -p).  */
-
-#define MINIX_LIB_SPEC "                                                       \
-  %{pthread: %eThe -pthread option is only supported on MINIX when gcc \
+#define MINIX_LIB_SPEC "                                               \
+%{pthread: %eThe -pthread option is only supported on MINIX when gcc   \
 is built with the --enable-threads configure-time option.}             \
-  %{!shared:                                                           \
-    %{!pg: -lc}                                                                \
-    %{pg:  -lc_p}                                                      \
-  }"
+  %{shared:-lc}                        \
+  %{!shared:                   \
+    %{!symbolic:               \
+      %{!p:                    \
+       %{!pg:-lc}}             \
+      %{p:-lc_p}               \
+      %{pg:-lc_p}}}"
 
 /* Provide a LINK_SPEC appropriate for MINIX.  Here we provide support
    for the special GCC options -static and -shared, which allow us to
@@ -110,29 +149,15 @@ is built with the --enable-threads configure-time option.}                \
 
    When the -shared link option is used a final link is not being
    done.  */
-
-#define MINIX_LINK_SPEC "                                                      \
+#define MINIX_LINK_SPEC "                                              \
+  -X                                                                   \
   %{p:%nconsider using `-pg' instead of `-p' with gprof(1) }           \
-  %{v:-V}                                                              \
-  %{assert*} %{R*} %{rpath*} %{defsym*}                                        \
+  %{assert*} %{R*} %{rpath*}                                           \
   %{shared:-Bshareable %{h*} %{soname*}}                               \
+  %{symbolic:-Bsymbolic}                                               \
   %{!shared:                                                           \
+    -dc -dp                                                            \
     %{!static:                                                         \
       %{rdynamic:-export-dynamic}                                      \
       %{!dynamic-linker:-dynamic-linker %(minix_dynamic_linker) }}     \
-    %{static:-Bstatic}}                                                        \
-  %{symbolic:-Bsymbolic}"
-
-
-/* Under MINIX, just like on NetBSD, the normal location of the various 
- *    *crt*.o files is the /usr/lib directory.  */
-
-#undef STANDARD_STARTFILE_PREFIX
-#define STANDARD_STARTFILE_PREFIX      "/usr/lib/"
-#undef STANDARD_STARTFILE_PREFIX_1
-#define STANDARD_STARTFILE_PREFIX_1    "/usr/lib/"
-
-#define MINIX_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
-
-#define MINIX_SUBTARGET_EXTRA_SPECS \
-  { "minix_dynamic_linker", MINIX_DYNAMIC_LINKER }
+    %{static:-Bstatic}}"
index f86594fc6670fe29c72786aa1804bfb7f68cad91..64d671b75f590206af2ce7196bbe7a0ad17e25f9 100644 (file)
@@ -1,4 +1,4 @@
-/* Base configuration file for all FreeBSD targets.
+/* Base configuration file for all MINIX targets.
    Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -19,18 +19,20 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor,
 Boston, MA 02110-1301, USA.  */
 
 /* Common MINIX configuration. 
-   All FreeBSD architectures should include this file, which will specify
-   their commonalities.
-*/
+ * This file maps GCC defines to MINIX defines
+ *
+ * For this to work properly, the order in the tm_file variable has
+ * to be the following:
+ *   minix-spec.h $arch/minix.h minix.h
+ *
+ * minix-spec.h        : specifies default arch-independent values
+ * $arch/minix.h: redefines as needed default minix values
+ * minix.h     : maps GCC defines to the minix defines.
+ */
 
 /* In case we need to know.  */
 #define USING_CONFIG_MINIX 1
 
-/* This defines which switch letters take arguments.  On MINIX, most of
-   the normal cases (defined in gcc.c) apply, and we also have -h* and
-   -z* options (for the linker) (coming from SVR4).
-   We also have -R (alias --rpath), no -z, --soname (-h), --assert etc.  */
-
 #undef  SWITCH_TAKES_ARG
 #define SWITCH_TAKES_ARG(CHAR) (MINIX_SWITCH_TAKES_ARG(CHAR))
 
@@ -43,6 +45,12 @@ Boston, MA 02110-1301, USA.  */
 #undef  CPP_SPEC
 #define CPP_SPEC MINIX_CPP_SPEC
 
+#undef CC1_SPEC
+#define CC1_SPEC MINIX_CC1_SPEC
+
+#undef CC1PLUS_SPEC
+#define CC1PLUS_SPEC MINIX_CC1PLUS_SPEC
+
 #undef  STARTFILE_SPEC
 #define STARTFILE_SPEC MINIX_STARTFILE_SPEC
 
@@ -55,26 +63,56 @@ Boston, MA 02110-1301, USA.  */
 #undef LINK_SPEC
 #define LINK_SPEC MINIX_LINK_SPEC
 
+#undef STANDARD_STARTFILE_PREFIX
+#define STANDARD_STARTFILE_PREFIX MINIX_STANDARD_STARTFILE_PREFIX
+
+#undef STANDARD_STARTFILE_PREFIX_1
+#define STANDARD_STARTFILE_PREFIX_1 MINIX_STANDARD_STARTFILE_PREFIX
+
+#undef LINK_GCC_C_SEQUENCE_SPEC
+#define LINK_GCC_C_SEQUENCE_SPEC MINIX_LINK_GCC_C_SEQUENCE_SPEC
+
+/* This has to be here in order to allow architecture to define the default
+ * content of the additional specs. */
 #undef  SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS MINIX_SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS \
+  { "subtarget_extra_asm_spec", MINIX_SUBTARGET_EXTRA_ASM_SPEC },      \
+  { "subtarget_asm_float_spec", MINIX_SUBTARGET_ASM_FLOAT_SPEC },      \
+  { "minix_dynamic_linker", MINIX_DYNAMIC_LINKER }
 
 #undef  SUBTARGET_CPP_SPEC
-#define SUBTARGET_CPP_SPEC MINIX_CPP_SPEC
-
-/************************[  Target stuff  ]***********************************/
+#define SUBTARGET_CPP_SPEC MINIX_SUBTARGET_CPP_SPEC
 
 /* All MINIX Architectures support the ELF object file format.  */
 #undef  OBJECT_FORMAT_ELF
 #define OBJECT_FORMAT_ELF
 
+/* Use periods rather than dollar signs in special g++ assembler names.
+   This ensures the configuration knows our system correctly so we can link
+   with libraries compiled with the native cc.  */
+#undef NO_DOLLAR_IN_LABEL
+
 /* Don't assume anything about the header files.  */
 #undef  NO_IMPLICIT_EXTERN_C
 #define NO_IMPLICIT_EXTERN_C   1
 
-/* Code generation parameters.  */
+/* Handle #pragma weak and #pragma pack.  */
+#undef HANDLE_SYSV_PRAGMA
+#define HANDLE_SYSV_PRAGMA 1
 
-/* Use periods rather than dollar signs in special g++ assembler names.
-   This ensures the configuration knows our system correctly so we can link
-   with libraries compiled with the native cc.  */
-#undef NO_DOLLAR_IN_LABEL
+/* Don't default to pcc-struct-return, we want to retain compatibility with
+   older gcc versions AND pcc-struct-return is nonreentrant.
+   (even though the SVR4 ABI for the i386 says that records and unions are
+   returned in memory).  */
+
+#undef  DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+/* Use --as-needed -lgcc_s for eh support.  */
+#ifdef HAVE_LD_AS_NEEDED
+#define USE_LD_AS_NEEDED 1
+#endif
 
+#if defined(HAVE_LD_EH_FRAME_HDR)
+#define LINK_EH_SPEC "--eh-frame-hdr "
+#endif
index 211dbdf6b71811227ce2b82afdca67c354cafefd..0680618a6ec703efec0d50f05def28eda7ce1458 100644 (file)
@@ -1,5 +1,5 @@
 # Compile crtbeginS.o and crtendS.o with pic.
-CRTSTUFF_T_CFLAGS_S = -fPIC
+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
 
 # Compile libgcc.a with pic.
 TARGET_LIBGCC2_CFLAGS += -fPIC
index 9f011bd7c0ec00acaa2bcf4d99493173e8c0e067..23e61d796d3b24ab00fc9d361cd44099487c0609 100644 (file)
@@ -1,11 +1,10 @@
 #      $NetBSD: Makefile,v 1.4 2012/04/18 19:22:03 christos Exp $
 
 # crtstuff is built out of elsewhere, or not at all
-.if defined(__MINIX)
-SUBDIR+= libgcc
-.else
 SUBDIR+= libgcc libiberty libobjc libsupc++ libstdc++-v3 libgomp
+
+.if !defined(__MINIX)
 SUBDIR+= libmudflap libmudflapth
-.endif
+.endif # !defined(__MINIX)
 
 .include <bsd.subdir.mk>
index 85bedcc1408ff8f7e4b6cee661533e3dd7b6df32..425b4048e8a6690d2d371094b0c9ca2db5e29c8f 100644 (file)
@@ -14,7 +14,7 @@ CLEANFILES+=  ${FAKEHEADERS}
 # one here to help build libs before gcc itself is built.
 
 # XXX arm hack
-.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb"
+.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb" || ${MACHINE_ARCH} == "earm"
 ${OBJS}: insn-modes.h
 # XXX XXX
 ${__DPSRCS.d}: insn-modes.h
index d9aa6f2247046afba17c2dfdcea7a7158a2951ef..871d3d21d7127af86948ce35a2031e90c09802f1 100644 (file)
@@ -4,11 +4,13 @@ SUBDIR+=      libgcc
 
 .include <bsd.own.mk>
 
-.if !defined(__MINIX)
+.if ${MKGCCCMDS} == "yes"
 .if ${MKPIC} != "no"
 SUBDIR+=       libgcc_eh libgcc_s
 .endif
+.endif # ${MKGCCCMDS} == "yes"
 
+.if !defined(__MINIX)
 SUBDIR+=       libgcov
 .endif # !defined(__MINIX)
 
index 3584ff9b202ad2f923e9aa23563a6c4ca0a3aab2..e290d61350352f1083f175bed71e0b085247a4c7 100644 (file)
@@ -158,7 +158,7 @@ DPSRCS+=    ${FAKEHEADERS}
 CLEANFILES+=   ${FAKEHEADERS}
 
 # XXX arm hack
-.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb"
+.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb" || ${MACHINE_ARCH} == "earm"
 ${SRCS}: insn-modes.h
 # XXX XXX
 ${__DPSRCS.d}: insn-modes.h
index 7071515f8b682980d12f81e334decee3c2160b58..7005468a2e00890b5f46d8e4f88ae932d07e51c1 100644 (file)
@@ -4,23 +4,21 @@
 #
 G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber   
 G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/bpabi-netbsd.c ${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c
-.if !defined(__MINIX)
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c
-.endif # !defined(__MINIX)
 G_LIB2ADD_ST=
 G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _lshrdi3 _ashrdi3 _ashldi3 _arm_negdf2 _arm_addsubdf3 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 _arm_negsf2 _arm_addsubsf3 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 _arm_fixsfsi _arm_fixunssfsi _arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf _clzsi2 _clzdi2  _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod _floatundisf
 G_LIB1ASMSRC=arm/lib1funcs.asm
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf __gcc_bcmp
 G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/bpabi-netbsd.c ${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c
-G_LIBGCC2_CFLAGS=-O2   -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fno-inline -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED 
+G_LIBGCC2_CFLAGS=-O2   -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fno-inline -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
 G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
 G_SHLIB_MKMAP_OPTS=
 G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver
 G_SHLIB_NM_FLAGS=-pg
 G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h
 G_xm_defines=
-G_tm_defines=NETBSD_ENABLE_PTHREADS
+G_tm_defines=
 G_COLLECT2=collect2
 G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h
 G_xm_include_list=auto-host.h ansidecl.h
index 6b0ae5475ba374bfdf11db4b84925f5826c3f7dd..a51017546afebcefc4b07662d47ff3106575cca6 100644 (file)
@@ -4,23 +4,21 @@
 #
 G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber   -I/usr/include/libelf
 G_LIB2ADD=
-.if !defined(__MINIX)
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c
-.endif
 G_LIB2ADD_ST=
 G_LIB1ASMFUNCS=
 G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf __gcc_bcmp
 G_LIB2FUNCS_EXTRA=
-G_LIBGCC2_CFLAGS=-O2   -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED 
+G_LIBGCC2_CFLAGS=-O2   -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
 G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk
 G_SHLIB_MKMAP_OPTS=
 G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver
 G_SHLIB_NM_FLAGS=-pg
 G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/i386/cpuid.h ${GNUHOSTDIST}/gcc/config/i386/mmintrin.h ${GNUHOSTDIST}/gcc/config/i386/mm3dnow.h ${GNUHOSTDIST}/gcc/config/i386/xmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/emmintrin.h ${GNUHOSTDIST}/gcc/config/i386/pmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/tmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/ammintrin.h ${GNUHOSTDIST}/gcc/config/i386/smmintrin.h ${GNUHOSTDIST}/gcc/config/i386/nmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/bmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/fma4intrin.h ${GNUHOSTDIST}/gcc/config/i386/wmmintrin.h ${GNUHOSTDIST}/gcc/config/i386/immintrin.h ${GNUHOSTDIST}/gcc/config/i386/x86intrin.h ${GNUHOSTDIST}/gcc/config/i386/avxintrin.h ${GNUHOSTDIST}/gcc/config/i386/xopintrin.h ${GNUHOSTDIST}/gcc/config/i386/ia32intrin.h ${GNUHOSTDIST}/gcc/config/i386/cross-stdarg.h ${GNUHOSTDIST}/gcc/config/i386/lwpintrin.h ${GNUHOSTDIST}/gcc/config/i386/popcntintrin.h ${GNUHOSTDIST}/gcc/config/i386/abmintrin.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h mm_malloc.h
 G_xm_defines=
-G_tm_defines=NETBSD_ENABLE_PTHREADS
+G_tm_defines=
 G_COLLECT2=collect2
 G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h
 G_xm_include_list=auto-host.h ansidecl.h
index 660345a7d75d6f37e4ec79a26e3e1c8e542bbb00..63ea7704f790b0ef25e6b0d4d74dd50318f0a4a7 100644 (file)
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from:      NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp 
+# Generated from:      NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp 
 # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp 
 #
 G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior
index 5512d1771057c1695d5ec5709db9851b3dde1671..143cdfbe395c1809b9248b376aa8988a555f600d 100644 (file)
@@ -1,8 +1,8 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* Generated automatically by the program `build/gcov-iov'
-   from `4.5.3 (4 5) and  (*)'.  */
+   from `4.5.4 (4 5) and  (*)'.  */
 
 #define GCOV_VERSION ((gcov_unsigned_t)0x3430352a)  /* 405* */
index 30034f19c3425c1dec721bea0b149f457fab40cc..90185c1ffb35e74d880d6f67c22c852bfc2c28b5 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* config.h.  Generated from config.h.in by configure.  */
@@ -60,7 +60,7 @@
 #define HAVE_STRTOULL 1
 
 /* Define to 1 if the target supports __sync_*_compare_and_swap */
-/* #undef HAVE_SYNC_BUILTINS */
+#define HAVE_SYNC_BUILTINS 1
 
 /* Define to 1 if you have the <sys/loadavg.h> header file. */
 /* #undef HAVE_SYS_LOADAVG_H */
@@ -75,7 +75,7 @@
 #define HAVE_SYS_TYPES_H 1
 
 /* Define to 1 if the target supports thread-local storage. */
-#define HAVE_TLS 1
+/* #undef HAVE_TLS */
 
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
index 769fb36c72e5563fdc356efdc09feba66318b5f8..2268ba79937f00e9c73677819a0e23575156b4c7 100644 (file)
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from:      NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp 
+# Generated from:      NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp 
 # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp 
 #
 # This spec file is read by gcc when linking.  It is used to specify the
index 19a6a589ecc7b80f50a084d7be9d00d5428e30cf..34da0a8d5aeb88dc03a3cc2fd8905e70edb747cd 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
index f8c7797697c979305841975f07d80f70e5216dd9..942a4f28ff347a6bcd15044f2f96424a65c4b83c 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
index 4dc7ed783f35348fc0d4611337dc6ae3dee54fc7..90185c1ffb35e74d880d6f67c22c852bfc2c28b5 100644 (file)
@@ -75,7 +75,7 @@
 #define HAVE_SYS_TYPES_H 1
 
 /* Define to 1 if the target supports thread-local storage. */
-#define HAVE_TLS 1
+/* #undef HAVE_TLS */
 
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
index f1be432f08110f4dff60fba7136ff5cd0d03c565..18c9304d54fa664cdaceddba0802b39b51a3b94a 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 #define HAVE_GETPAGESIZE 1
 
 /* Define to 1 if you have the `getrusage' function. */
-#define HAVE_GETRUSAGE 1
+/* #undef HAVE_GETRUSAGE */
 
 /* Define to 1 if you have the `getsysinfo' function. */
 /* #undef HAVE_GETSYSINFO */
 /* #undef HAVE_MKSTEMPS */
 
 /* Define to 1 if you have a working `mmap' system call. */
-#define HAVE_MMAP 1
+/* #undef HAVE_MMAP */
 
 /* Define to 1 if you have the `on_exit' function. */
 /* #undef HAVE_ON_EXIT */
 #define HAVE_SETENV 1
 
 /* Define to 1 if you have the `sigsetmask' function. */
-#define HAVE_SIGSETMASK 1
+/* #undef HAVE_SIGSETMASK */
 
 /* Define to 1 if you have the `snprintf' function. */
 #define HAVE_SNPRINTF 1
 #define HAVE_SYSCONF 1
 
 /* Define to 1 if you have the `sysctl' function. */
-#define HAVE_SYSCTL 1
+/* #undef HAVE_SYSCTL */
 
 /* Define to 1 if you have the `sysmp' function. */
 /* #undef HAVE_SYSMP */
 
 /* Define if you have the sys_errlist variable. */
-#define HAVE_SYS_ERRLIST 1
+/* #undef HAVE_SYS_ERRLIST */
 
 /* Define to 1 if you have the <sys/file.h> header file. */
 #define HAVE_SYS_FILE_H 1
 #define HAVE_SYS_MMAN_H 1
 
 /* Define if you have the sys_nerr variable. */
-#define HAVE_SYS_NERR 1
+/* #undef HAVE_SYS_NERR */
 
 /* Define to 1 if you have the <sys/param.h> header file. */
 #define HAVE_SYS_PARAM_H 1
 #define HAVE_SYS_RESOURCE_H 1
 
 /* Define if you have the sys_siglist variable. */
-#define HAVE_SYS_SIGLIST 1
+/* #undef HAVE_SYS_SIGLIST */
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #define HAVE_SYS_STAT_H 1
 #define HAVE_VSPRINTF 1
 
 /* Define to 1 if you have the `wait3' function. */
-#define HAVE_WAIT3 1
+/* #undef HAVE_WAIT3 */
 
 /* Define to 1 if you have the `wait4' function. */
-#define HAVE_WAIT4 1
+/* #undef HAVE_WAIT4 */
 
 /* Define to 1 if you have the `waitpid' function. */
 #define HAVE_WAITPID 1
    it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows
    toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses
    STACK_DIRECTION = 0 => direction of growth unknown */
-#define STACK_DIRECTION 0
+#define STACK_DIRECTION -1
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
index 66d7202cf6b7b0960f0a627cd5ad4f53b2b572be..18c9304d54fa664cdaceddba0802b39b51a3b94a 100644 (file)
 #define HAVE_GETPAGESIZE 1
 
 /* Define to 1 if you have the `getrusage' function. */
-#define HAVE_GETRUSAGE 1
+/* #undef HAVE_GETRUSAGE */
 
 /* Define to 1 if you have the `getsysinfo' function. */
 /* #undef HAVE_GETSYSINFO */
 /* #undef HAVE_MKSTEMPS */
 
 /* Define to 1 if you have a working `mmap' system call. */
-#define HAVE_MMAP 1
+/* #undef HAVE_MMAP */
 
 /* Define to 1 if you have the `on_exit' function. */
 /* #undef HAVE_ON_EXIT */
 #define HAVE_SETENV 1
 
 /* Define to 1 if you have the `sigsetmask' function. */
-#define HAVE_SIGSETMASK 1
+/* #undef HAVE_SIGSETMASK */
 
 /* Define to 1 if you have the `snprintf' function. */
 #define HAVE_SNPRINTF 1
 #define HAVE_SYSCONF 1
 
 /* Define to 1 if you have the `sysctl' function. */
-#define HAVE_SYSCTL 1
+/* #undef HAVE_SYSCTL */
 
 /* Define to 1 if you have the `sysmp' function. */
 /* #undef HAVE_SYSMP */
 
 /* Define if you have the sys_errlist variable. */
-#define HAVE_SYS_ERRLIST 1
+/* #undef HAVE_SYS_ERRLIST */
 
 /* Define to 1 if you have the <sys/file.h> header file. */
 #define HAVE_SYS_FILE_H 1
 #define HAVE_SYS_MMAN_H 1
 
 /* Define if you have the sys_nerr variable. */
-#define HAVE_SYS_NERR 1
+/* #undef HAVE_SYS_NERR */
 
 /* Define to 1 if you have the <sys/param.h> header file. */
 #define HAVE_SYS_PARAM_H 1
 #define HAVE_SYS_RESOURCE_H 1
 
 /* Define if you have the sys_siglist variable. */
-#define HAVE_SYS_SIGLIST 1
+/* #undef HAVE_SYS_SIGLIST */
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #define HAVE_SYS_STAT_H 1
 #define HAVE_VSPRINTF 1
 
 /* Define to 1 if you have the `wait3' function. */
-#define HAVE_WAIT3 1
+/* #undef HAVE_WAIT3 */
 
 /* Define to 1 if you have the `wait4' function. */
-#define HAVE_WAIT4 1
+/* #undef HAVE_WAIT4 */
 
 /* Define to 1 if you have the `waitpid' function. */
 #define HAVE_WAITPID 1
    it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows
    toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses
    STACK_DIRECTION = 0 => direction of growth unknown */
-#define STACK_DIRECTION 0
+#define STACK_DIRECTION -1
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
index df03106cfc1e82388699fec5bc12b300eb25ebb1..ac22ba2916e0337079e24ef61bd1fc5fff6b72a5 100644 (file)
@@ -1,8 +1,9 @@
-# This file is automatically generated.  DO NOT EDIT!
-# Generated from:      NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp 
+# This file is automatically generated. DO NOT EDIT!
+# Generated from: NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp 
 # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp 
 #
 G_ALLOCA=
 G_EXTRA_OFILES=
-G_LIBOBJS=mempcpy.o mkstemps.o strverscmp.o strncmp.o
+G_LIBOBJS=mempcpy.o mkstemps.o sigsetmask.o strverscmp.o
+
 G_REQUIRED_OFILES=regex.o cplus-dem.o cp-demangle.o md5.o sha1.o alloca.o argv.o choose-temp.o concat.o cp-demint.o crc32.o dyn-string.o fdmatch.o fibheap.o filename_cmp.o floatformat.o fnmatch.o fopen_unlocked.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o hex.o lbasename.o lrealpath.o make-relative-prefix.o make-temp-file.o objalloc.o obstack.o partition.o pexecute.o physmem.o pex-common.o pex-one.o pex-unix.o safe-ctype.o sort.o spaces.o splay-tree.o strerror.o strsignal.o unlink-if-ordinary.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o xstrndup.o
index 3bcee757ad960a50e61efb446ff575452d70be9c..52082ac6146cdcf4ce76a8e7435bcbd391b06317 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* config.h.  Generated from config.h.in by configure.  */
@@ -9,7 +9,7 @@
 #define HAVE_DLFCN_H 1
 
 /* Define if the compiler has a thread header that is non single. */
-#define HAVE_GTHR_DEFAULT 1
+/* #undef HAVE_GTHR_DEFAULT */
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
index a059fd2dadf6b06b2048a730ce5ff85c2a372215..7c295a3151252dc7e3d1ce5e69967f898c5d718f 100644 (file)
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from:      NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp 
+# Generated from:      NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp 
 # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp 
 #
 G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt
index eef83e2589809108df9b574ac5213e53c5439023..52082ac6146cdcf4ce76a8e7435bcbd391b06317 100644 (file)
@@ -9,7 +9,7 @@
 #define HAVE_DLFCN_H 1
 
 /* Define if the compiler has a thread header that is non single. */
-#define HAVE_GTHR_DEFAULT 1
+/* #undef HAVE_GTHR_DEFAULT */
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
index eb6e606ad08aea54f8f4c3bd6cc6fb3280b3cf15..4e95dae741ac969fd220c6dfdcc2878dd05ff274 100644 (file)
@@ -542,7 +542,7 @@ _GLIBCXX_END_NAMESPACE
 
 /* Define if gthr-default.h exists (meaning that threading support is
    enabled). */
-#define _GLIBCXX_HAVE_GTHR_DEFAULT 1
+/* #undef _GLIBCXX_HAVE_GTHR_DEFAULT */
 
 /* Define to 1 if you have the `hypot' function. */
 /* #undef _GLIBCXX_HAVE_HYPOT */
@@ -734,7 +734,7 @@ _GLIBCXX_END_NAMESPACE
 /* #undef _GLIBCXX_HAVE_STRXFRM_L */
 
 /* Define to 1 if you have the <sys/filio.h> header file. */
-#define _GLIBCXX_HAVE_SYS_FILIO_H 1
+/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */
 
 /* Define to 1 if you have the <sys/ioctl.h> header file. */
 #define _GLIBCXX_HAVE_SYS_IOCTL_H 1
index c2d4147424f8b3d70c87658c7d79683f7d516560..310ab85e6f2fbff49130f72a0b817be860c6e4f1 100644 (file)
 
 /* Define if gthr-default.h exists (meaning that threading support is
    enabled). */
-#define HAVE_GTHR_DEFAULT 1
+/* #undef HAVE_GTHR_DEFAULT */
 
 /* Define to 1 if you have the `hypot' function. */
 /* #undef HAVE_HYPOT */
 /* #undef _GLIBCXX_HAS_GTHREADS */
 
 /* Define to 1 if a full hosted library is built, or 0 if freestanding. */
-#define _GLIBCXX_HOSTED 1
+#define _GLIBCXX_HOSTED 0
 
 /* Define if compatibility should be provided for -mlong-double-64. */
 /* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */
index 638aea13f980f102c599238c7c6b277cbcf3576d..03063bc5d9692adb9f1fd3ffb1ec01af4be34fba 100644 (file)
@@ -4,7 +4,7 @@
 #
 G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc
 G_LIBSUPCXX_C_SOURCES=cp-demangle.c 
-G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc  basic_file.cc c++locale.cc  parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc 
+G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc  basic_file.cc c++locale.cc
 G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
 G_CCODECVT_CC=config/locale/generic/codecvt_members.cc
 G_CCOLLATE_CC=config/locale/generic/collate_members.cc
index a0e43a3b6f42505401cd5a3b2fc46a8146f901bb..721cbbc40370b127a80a6e02d1e12dafd671db1a 100644 (file)
@@ -542,7 +542,7 @@ _GLIBCXX_END_NAMESPACE
 
 /* Define if gthr-default.h exists (meaning that threading support is
    enabled). */
-#define _GLIBCXX_HAVE_GTHR_DEFAULT 1
+/* #undef _GLIBCXX_HAVE_GTHR_DEFAULT */
 
 /* Define to 1 if you have the `hypot' function. */
 /* #undef _GLIBCXX_HAVE_HYPOT */
@@ -734,7 +734,7 @@ _GLIBCXX_END_NAMESPACE
 /* #undef _GLIBCXX_HAVE_STRXFRM_L */
 
 /* Define to 1 if you have the <sys/filio.h> header file. */
-#define _GLIBCXX_HAVE_SYS_FILIO_H 1
+/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */
 
 /* Define to 1 if you have the <sys/ioctl.h> header file. */
 #define _GLIBCXX_HAVE_SYS_IOCTL_H 1
index 64d781beddccbb1c1e1a338c2a49f9d9f94b0997..9ee5012a09ac10ed910a2f14d1942f9b307469d5 100644 (file)
 
 /* Define if gthr-default.h exists (meaning that threading support is
    enabled). */
-#define HAVE_GTHR_DEFAULT 1
+/* #undef HAVE_GTHR_DEFAULT */
 
 /* Define to 1 if you have the `hypot' function. */
 /* #undef HAVE_HYPOT */
 /* #undef _GLIBCXX_HAS_GTHREADS */
 
 /* Define to 1 if a full hosted library is built, or 0 if freestanding. */
-#define _GLIBCXX_HOSTED 1
+#define _GLIBCXX_HOSTED 0
 
 /* Define if compatibility should be provided for -mlong-double-64. */
 /* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */
index 6f74e31cc25830f977be0493da2f370c003295f4..ce6d470262a77d9590033b61acc85950a3065f09 100644 (file)
@@ -4,7 +4,7 @@
 #
 G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc
 G_LIBSUPCXX_C_SOURCES=cp-demangle.c 
-G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc  basic_file.cc c++locale.cc  parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc 
+G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc  basic_file.cc c++locale.cc
 G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
 G_CCODECVT_CC=config/locale/generic/codecvt_members.cc
 G_CCOLLATE_CC=config/locale/generic/collate_members.cc
index e084d4d1ebb90c81d614b3fa6f107ddb39b11593..3857a908b600aa8bcbc995854ad8ccdd720e52df 100644 (file)
@@ -12,6 +12,11 @@ CPPFLAGS+=   -I${DIST}/libstdc++-v3/libsupc++
 CPPFLAGS+=     -I${.CURDIR}/../libstdc++-v3_4/arch/${MACHINE_ARCH} -I.
 CPPFLAGS+=     -DHAVE_STDLIB_H -DHAVE_STRING_H
 
+.if defined(__MINIX)
+CPPFLAGS+=     -I${DESTDIR}/usr/include/g++
+CPPFLAGS+=     -I${DESTDIR}/usr/include/gcc-4.5
+.endif #defined(__MINIX)
+
 CPPFLAGS.cp-demangle.c=-DIN_GLIBCPP_V3
 #CPPFLAGS.dyn-string.c=-DIN_GLIBCPP_V3
 
index 80fb5b3a8fd2202849629910106dda045a801a43..d6c2efa6393b9aa316b0206ef587e22041299ecf 100644 (file)
@@ -6566,7 +6566,7 @@ diff -rNU3 -x *.info dist/gcc/config/arm/bpabi-netbsd.c dist.nbsd/gcc/config/arm
 diff -rNU3 -x *.info dist/gcc/config/arm/bpabi.h dist.nbsd/gcc/config/arm/bpabi.h
 --- dist/gcc/config/arm/bpabi.h        Wed Nov  7 13:40:05 2012
 +++ dist.nbsd/gcc/config/arm/bpabi.h   Wed Nov  7 11:47:25 2012
-@@ -20,13 +20,18 @@
+@@ -20,13 +20,16 @@
     <http://www.gnu.org/licenses/>.  */
  
  /* Use the AAPCS ABI by default.  */
@@ -6580,8 +6580,6 @@ diff -rNU3 -x *.info dist/gcc/config/arm/bpabi.h dist.nbsd/gcc/config/arm/bpabi.
  /* BPABI targets use EABI frame unwinding tables.  */
 +#undef MUST_USE_SJLJ_EXCEPTIONS
  #define TARGET_UNWIND_INFO 1
-+#undef ARM_EABI_UNWIND_TABLES
-+#define ARM_EABI_UNWIND_TABLES 1
  
  /* Section 4.1 of the AAPCS requires the use of VFP format.  */
  #undef  FPUTYPE_DEFAULT
index c2a7762b477c5f5cbfd5522771164db7a4fa7acd..c65396a64853e0db39f091ce2c5a4aa0c6a780a7 100644 (file)
@@ -1,6 +1,6 @@
 diff -r -x CVS -N -U 3 dist.orig/gcc/config.gcc dist/gcc/config.gcc
---- dist.orig/gcc/config.gcc   2012-10-31 15:54:54.495969517 +0100
-+++ dist/gcc/config.gcc        2012-10-31 16:05:31.749213764 +0100
+--- dist.orig/gcc/config.gcc   2013-07-10 19:52:43.574614401 +0200
++++ dist/gcc/config.gcc        2013-07-10 19:53:27.218820689 +0200
 @@ -799,7 +799,7 @@
        tmake_file="arm/t-arm arm/t-arm-elf"
        tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
@@ -15,30 +15,31 @@ diff -r -x CVS -N -U 3 dist.orig/gcc/config.gcc dist/gcc/config.gcc
          use_gcc_stdint=wrap
          ;;
 +      arm*-*-minix*)
-+        tm_file="$tm_file arm/eabi.h newlib-stdint.h minix-spec.h minix.h arm/minix.h"
-+        tmake_file="${tmake_file} arm/t-bpabi"
++        tm_file="$tm_file arm/eabi.h newlib-stdint.h minix-spec.h arm/minix.h minix.h"
++        tmake_file="${tmake_file} arm/t-bpabi t-minix"
 +        extra_options="${extra_options} arm/eabi.opt"
 +        use_gcc_stdint=wrap
 +        ;;
        arm*-*-symbianelf*)
          tm_file="${tm_file} arm/symbian.h"
          # We do not include t-bpabi for Symbian OS because the system
-@@ -1148,6 +1154,12 @@
+@@ -1148,6 +1154,13 @@
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
        tmake_file="${tmake_file} i386/t-crtstuff"
        ;;
 +i[34567]86-*-minix)
-+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h minix-spec.h minix.h i386/minix.h"
-+       gas=yes
-+       gnu_ld=yes
-+       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
-+       ;;
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h minix-spec.h i386/minix.h minix.h"
++      tmake_file="${tmake_file} t-minix"
++      gas=yes
++      gnu_ld=yes
++      extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++      ;;
  i[34567]86-*-netbsdelf*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
        tmake_file="${tmake_file} i386/t-crtstuff"
 diff -r -x CVS -N -U 3 dist.orig/gcc/gcov.c dist/gcc/gcov.c
---- dist.orig/gcc/gcov.c       2012-10-31 15:54:55.279319194 +0100
-+++ dist/gcc/gcov.c    2012-10-31 15:56:07.347483995 +0100
+--- dist.orig/gcc/gcov.c       2013-07-10 19:52:45.114645204 +0200
++++ dist/gcc/gcov.c    2013-07-10 19:53:27.218820689 +0200
 @@ -58,6 +58,10 @@
  
  #define STRING_SIZE 200
@@ -51,8 +52,8 @@ diff -r -x CVS -N -U 3 dist.orig/gcc/gcov.c dist/gcc/gcov.c
  struct block_info;
  struct source_info;
 diff -r -x CVS -N -U 3 dist.orig/gcc/ginclude/stddef.h dist/gcc/ginclude/stddef.h
---- dist.orig/gcc/ginclude/stddef.h    2012-10-31 15:54:54.629305630 +0100
-+++ dist/gcc/ginclude/stddef.h 2012-10-31 15:57:32.195913746 +0100
+--- dist.orig/gcc/ginclude/stddef.h    2013-07-10 19:52:43.677949802 +0200
++++ dist/gcc/ginclude/stddef.h 2013-07-10 19:53:27.218820689 +0200
 @@ -60,6 +60,9 @@
  #if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
  #include <sys/_types.h>
@@ -64,8 +65,8 @@ diff -r -x CVS -N -U 3 dist.orig/gcc/ginclude/stddef.h dist/gcc/ginclude/stddef.
  /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
     defined if the corresponding type is *not* defined.
 diff -r -x CVS -N -U 3 dist.orig/gcc/libgcov.c dist/gcc/libgcov.c
---- dist.orig/gcc/libgcov.c    2012-10-31 15:54:54.629305630 +0100
-+++ dist/gcc/libgcov.c 2012-10-31 16:07:58.948939980 +0100
+--- dist.orig/gcc/libgcov.c    2013-07-10 19:52:43.681283201 +0200
++++ dist/gcc/libgcov.c 2013-07-10 19:53:27.218820689 +0200
 @@ -40,6 +40,11 @@
  #define GCOV_LINKAGE /* nothing */
  #endif
@@ -96,9 +97,20 @@ diff -r -x CVS -N -U 3 dist.orig/gcc/libgcov.c dist/gcc/libgcov.c
  
        info->next = gcov_list;
        gcov_list = info;
+diff -r -x CVS -N -U 3 dist.orig/libcpp/configure dist/libcpp/configure
+--- dist.orig/libcpp/configure 2013-07-10 19:52:46.844679808 +0200
++++ dist/libcpp/configure      2013-07-10 19:55:08.447512095 +0200
+@@ -6870,6 +6870,7 @@
+ case $target in
+       alpha*-*-* | \
+       arm*-*-*eabi* | \
++      arm*-*-minix* | \
+       arm*-*-symbianelf* | \
+       x86_64-*-* | \
+       ia64-*-* | \
 diff -r -x CVS -N -U 3 dist.orig/libgcc/config.host dist/libgcc/config.host
---- dist.orig/libgcc/config.host       2012-10-31 15:54:55.649326910 +0100
-+++ dist/libgcc/config.host    2012-10-31 16:00:43.116548293 +0100
+--- dist.orig/libgcc/config.host       2013-07-10 19:52:52.828132820 +0200
++++ dist/libgcc/config.host    2013-07-10 19:53:27.218820689 +0200
 @@ -203,6 +203,8 @@
        ;;
  arm*-*-freebsd*)
index d8fcebabe525a71bac113c214f6fb3bc4f935328..a067bb6490c737b9d8e490e0a7fda06c8564a577 100644 (file)
@@ -1,7 +1,7 @@
 #      $NetBSD: Makefile.backend,v 1.2 2011/07/21 03:13:32 mrg Exp $
 
 NOMAN=         # defined
-BINDIR=                /usr/libexec
+BINDIR=                /usr/bin
 
 CPPFLAGS+=     -I${GCCARCH} -I${BACKENDOBJ} \
                ${G_ALL_CFLAGS:M-D*} ${G_INCLUDES:M-I*:N-I.*}
index 891b441e737be1f4046a51c21e5c06ebfb77e042..61ac4d93bfef9548f564ddee32d98e62b215db35 100644 (file)
@@ -10,7 +10,7 @@ DIST=         ${TOP}/external/gpl3/gcc/dist
 
 GCCARCH=       ${.CURDIR}/../gcc/arch/${MACHINE_ARCH}
 
-CPPFLAGS+=     -DLOCALEDIR=\"/usr/share/locale\" -DNETBSD_NATIVE
+CPPFLAGS+=     -DLOCALEDIR=\"/usr/share/locale\"
 HOST_CPPFLAGS+=        -I${.CURDIR}/..
 
 # Link in the GMP/MPFR/MPC headers since we don't install them
@@ -94,4 +94,11 @@ CPPFLAGS+=   -std=gnu89
 
 NOCLANGERROR=  # defined
 
+.if defined(__MINIX)
+CPPFLAGS+= -DSTANDARD_EXEC_PREFIX=\"/usr/lib/gcc\"
+CPPFLAGS+= -DSTANDARD_LIBEXEC_PREFIX=\"/usr/bin\"
+CPPFLAGS+= -DSTANDARD_BINDIR_PREFIX=\"/usr/bin/\"
+CPPFLAGS+= -DTOOLDIR_BASE_PREFIX=\"../../../../\"
+.endif # defined(__MINIX)
+
 .endif
index cefcc745871e91f5cf1f79d8b750a590ec75d45f..1b180b7273946d1af1a6f9f41d88c72edee371d9 100644 (file)
@@ -181,8 +181,8 @@ options.o: options.c coretypes.h opts.h intl.h
 #options.o: options.c ${G_CONFIG_H} ${G_SYSTEM_H} coretypes.h ${G_TM_H} opts.h intl.h
 
 # Yuck, we have to run configure to generate this one...
-CLEANFILES+=   auto-build.h
-auto-build.h: Makefile
+CLEANFILES+=   auto-host.h
+auto-host.h: Makefile
        ${_MKTARGET_CREATE}
        rm -rf .ab && \
        mkdir .ab && \
@@ -194,8 +194,7 @@ auto-build.h: Makefile
                ${HOST_SH} ${GNUHOSTDIST}/gcc/configure \
                        --build=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \
                        --host=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \
-                       --target=${MACHINE_GNU_PLATFORM} && \
-               mv auto-host.h ../auto-build.h) && \
+                       --target=${MACHINE_GNU_PLATFORM}) && \
        rm -rf .ab
 
 #
index 85cb7d4f7685d136f5604207cec386fab10d2bc6..0c9d47c9ae98934662b32b9c48d08a8c520debd5 100644 (file)
@@ -13,7 +13,12 @@ CPPFLAGS.c-cppbuiltin.c=     ${VER_CPPFLAGS}
 
 COPTS+=        -Wno-stack-protector
 
+.if defined(__MINIX)
+LDADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lz -lm
+DPADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} ${LIBZ} ${LIBM}
+.else
 LDADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lintl -lz -lm
 DPADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} ${LIBINTL} ${LIBZ} ${LIBM}
+.endif # defined(__MINIX)
 
 .PATH: ${DIST}/gcc ${G_out_file:H}
index fa0c99112e72a425582f0bdc78fc8bb531e117fb..94207ec199fbf4c8587f8629706d8ce9bb004556 100644 (file)
@@ -16,7 +16,12 @@ CPPFLAGS.c-cppbuiltin.c=     ${VER_CPPFLAGS}
 
 COPTS+=        -Wno-stack-protector
 
+.if defined(__MINIX)
+LDADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lz -lm
+DPADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} ${LIBZ} ${LIBM}
+.else
 LDADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lintl -lz -lm
 DPADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} ${LIBINTL} ${LIBZ} ${LIBM}
+.endif # defined(__MINIX)
 
 .PATH: ${DIST}/gcc/objc ${DIST}/gcc ${G_out_file:H}
index 2f76a9a75638cd07e58082f8d3e92360fbe6d12d..676fdaa9ad582c24f1d38c8d33f705e92e963533 100644 (file)
@@ -16,7 +16,12 @@ CPPFLAGS.c-cppbuiltin.c=     ${VER_CPPFLAGS}
 # YUCK.  but see timevar.h:POP_TIMEVAR_AND_RETURN
 CFLAGS+=       -Wno-error # not good enough: -Wno-return-type
 
+.if defined(__MINIX)
+LDADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lz -lm
+DPADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} ${LIBZ} ${LIBM}
+.else
 LDADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lintl -lz -lm
 DPADD+=        ${LIBMPC} ${LIBMPFR} ${LIBGMP} ${LIBINTL} ${LIBZ} ${LIBM}
+.endif # defined(__MINIX)
 
 .PATH: ${DIST}/gcc/cp ${DIST}/gcc ${G_out_file:H}
index c870fdac51b5f790f0d3f5b8613a4488702e9bc6..8f85f1f49495c39946d71592111cb6ecd9f1d1b0 100644 (file)
@@ -36,7 +36,9 @@ MLINKS+=      cpp.1 gcpp.1 cpp.1 cccp.1
 
 .include "../Makefile.frontend"
 
+.if !defined(__MINIX)
 LDADD+=                -lintl
+.endif # !defined(__MINIX)
 
 COPTS+=                -Wno-stack-protector
 
index a53d1dae7f059809fc577c3c2dfa85f53295fc70..8029c7145cc359bc6cc313ed0cb0a6c044441f85 100644 (file)
@@ -16,5 +16,7 @@ LINKS+=               ${BINDIR}/g++ ${BINDIR}/c++
 
 .PATH: ${DIST}/gcc ${DIST}/gcc/cp
 
+.if !defined(__MINIX)
 LDADD+=                -lintl
 DPADD+=                ${LIBINTL}
+.endif # !defined(__MINIX)
index 565d563a402104bc6017333512eb8c96eba2e5c9..44bd2c2a51e5cc70aea83580e9635da22f1f0122 100644 (file)
@@ -23,7 +23,9 @@ INFOFLAGS=      -I${DIST}/gcc/doc -I${DIST}/gcc/doc/include
 
 COPTS.builtins.c = -Wno-stack-protector
 
+.if !defined(__MINIX)
 LDADD+=                -lintl
 DPADD+=                ${LIBINTL}
+.endif # !defined(__MINIX)
 
 gcc.info: gcc-vers.texi
index 96de265fd502585ed9c1c2399599e89c0e834db0..fbe18bddcee8b95c0a92d4bd4f08fb10cc7911a4 100644 (file)
@@ -1,7 +1,3 @@
-/* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
-
 /* auto-host.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
 
 
 /* Define to enable LTO support. */
 #ifndef USED_FOR_TARGET
-/* #undef ENABLE_LTO */
+#define ENABLE_LTO 1
 #endif
 
 
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #ifndef USED_FOR_TARGET
-#define ENABLE_NLS 1
+/* #undef ENABLE_NLS */
 #endif
 
 
 /* Define to enable plugin support. */
 #ifndef USED_FOR_TARGET
-#define ENABLE_PLUGIN 1
+/* #undef ENABLE_PLUGIN */
 #endif
 
 
 
 /* Define 0/1 if your assembler and linker support COMDAT groups. */
 #ifndef USED_FOR_TARGET
-#define HAVE_COMDAT_GROUP 1
+#define HAVE_COMDAT_GROUP 0
 #endif
 
 
 /* Define to 1 if we found a declaration for 'getrusage', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETRUSAGE 1
+#define HAVE_DECL_GETRUSAGE 0
 #endif
 
 
 /* Define to 1 if we found a declaration for 'setrlimit', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
-#define HAVE_DECL_SETRLIMIT 1
+#define HAVE_DECL_SETRLIMIT 0
 #endif
 
 
 /* Define to 1 if we found a declaration for 'sigaltstack', otherwise define
    to 0. */
 #ifndef USED_FOR_TARGET
-#define HAVE_DECL_SIGALTSTACK 1
+#define HAVE_DECL_SIGALTSTACK 0
 #endif
 
 
 
 /* Define to 1 if you have the `elf_getshdrstrndx' function. */
 #ifndef USED_FOR_TARGET
-/* #undef HAVE_ELF_GETSHDRSTRNDX */
+#define HAVE_ELF_GETSHDRSTRNDX 1
 #endif
 
 
 
 
 /* Define if your assembler and linker support .hidden. */
-#define HAVE_GAS_HIDDEN 1
+/* #undef HAVE_GAS_HIDDEN */
 
 /* Define if your assembler supports .lcomm with an alignment field. */
 #ifndef USED_FOR_TARGET
 
 /* Define to 1 if you have the `getrusage' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_GETRUSAGE 1
+/* #undef HAVE_GETRUSAGE */
 #endif
 
 
 
 /* Define .init_array/.fini_array sections are available and working. */
 #ifndef USED_FOR_TARGET
-/* #undef HAVE_INITFINI_ARRAY */
+#define HAVE_INITFINI_ARRAY 1
 #endif
 
 
 
 /* Define to 1 if you have the `mincore' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MINCORE 1
+/* #undef HAVE_MINCORE */
 #endif
 
 
 /* Define to 1 if you have the `mmap' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP 1
+/* #undef HAVE_MMAP */
 #endif
 
 
 /* Define if mmap with MAP_ANON(YMOUS) works. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP_ANON 1
+/* #undef HAVE_MMAP_ANON */
 #endif
 
 
 /* Define if mmap of /dev/zero works. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP_DEV_ZERO 1
+/* #undef HAVE_MMAP_DEV_ZERO */
 #endif
 
 
 /* Define if read-only mmap of a plain file works. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP_FILE 1
+/* #undef HAVE_MMAP_FILE */
 #endif
 
 
 
 /* Define to 1 if you have the `setrlimit' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_SETRLIMIT 1
+/* #undef HAVE_SETRLIMIT */
 #endif
 
 
 
 /* Define if libelf is in use. */
 #ifndef USED_FOR_TARGET
-/* #undef HAVE_libelf */
+#define HAVE_libelf 1
 #endif
 
 
 
 /* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
 #ifndef USED_FOR_TARGET
-#define NEED_64BIT_HOST_WIDE_INT 1
+/* #undef NEED_64BIT_HOST_WIDE_INT */
 #endif
 
 
 
 /* Define to 1 if on MINIX. */
 #ifndef USED_FOR_TARGET
-/* #undef _MINIX */
+#define _MINIX 1
 #endif
 
 
 /* Define to 2 if the system does not provide POSIX.1 features except with
    this defined. */
 #ifndef USED_FOR_TARGET
-/* #undef _POSIX_1_SOURCE */
+#define _POSIX_1_SOURCE 2
 #endif
 
 
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 #ifndef USED_FOR_TARGET
-/* #undef _POSIX_SOURCE */
+#define _POSIX_SOURCE 1
 #endif
 
 
index 47537d7df101d46e3ecff490623c7866a4395242..3cc357decb47429e5ab02e02f6722e44733ef82b 100644 (file)
@@ -1,10 +1,10 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 #ifndef GCC_BCONFIG_H
 #define GCC_BCONFIG_H
-#include "auto-build.h"
+#include "auto-host.h"
 #ifdef IN_GCC
 # include "ansidecl.h"
 #endif
index 3c168f7af38ee84fc5777b35ae36219827a2f7b0..a1aebfeaa65111289bed87d9a759916b3c352fc3 100644 (file)
@@ -1,8 +1,8 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 #define BUILDING_GCC_MAJOR 4
 #define BUILDING_GCC_MINOR 5
-#define BUILDING_GCC_PATCHLEVEL 3
+#define BUILDING_GCC_PATCHLEVEL 4
 #define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR)
index 87fbdac8171df3a64591c9e244af2b9720078753..3f48d2a49ea402a853c398669bf7143aa68bc285 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 #ifndef GCC_CONFIG_H
index cb319961811c550dada089ebba848e0155899bcc..1e5e97227427d2cf8e897158deda92c4663020e5 100644 (file)
@@ -1,11 +1,11 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* Generated automatically. */
-static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=arm--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb2 20111202' --with-system-zlib --enable-__cxa_atexit --with-mpc=/u1/netbsd-HEAD/evbearm-el/root/usr --with-mpfr=/u1/netbsd-HEAD/evbearm-el/root/usr --with-gmp=/u1/netbsd-HEAD/evbearm-el/root/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.99.10 --host=arm--netbsdelf-eabi";
-static const char thread_model[] = "posix";
+static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=arm-elf32-minix --disable-libssp --disable-threads --disable-visibility --disable-libunwind --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-arch=armv7-a --with-mpc=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --with-mpfr=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --with-gmp=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --disable-nls --disable-multilib --program-transform-name=s,^,arm-elf32-minix-, --enable-languages=c --prefix=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686";
+static const char thread_model[] = "single";
 
 static const struct {
   const char *name, *value;
-} configure_default_options[] = { { NULL, NULL} };
+} configure_default_options[] = { { "arch", "armv7-a" } };
index 3a3ed41250e5472ec6bd3d77fa83dce326a01240..b44cab160bd5a893ac964259a5c282c571d43658 100644 (file)
@@ -1,5 +1,5 @@
-# This file is automatically generated.  DO NOT EDIT!
-# Generated from:      NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp 
+# This file is automatically generated. DO NOT EDIT!
+# Generated from:      NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp 
 # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp 
 #
 G_BUILD_EARLY_SUPPORT=
@@ -8,19 +8,19 @@ G_BUILD_PRINT=
 G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o
 G_BUILD_SUPPORT=
 G_BUILD_VARRAY=
-G_ALL_CFLAGS=  -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat   -DHAVE_CONFIG_H
-G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber    
+G_ALL_CFLAGS= -DIN_GCC  -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat  -DHAVE_CONFIG_H
+G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include   -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber  -I/usr/include/libelf
 G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o
 G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o
 G_CCCP_OBJS=
 G_GCOV_OBJS=gcov.o intl.o version.o errors.o
 G_PROTO_OBJS=
-G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber   
+G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include   -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber  -I/usr/include/libelf
 G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md
 G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o
-G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o  host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o
+G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o
 G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c
-G_version=4.5.3
+G_version=4.5.4
 G_BUILD_PREFIX=
 G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h
 G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h
@@ -29,20 +29,20 @@ G_GCC_H=gcc.h version.h
 G_GTFILES_SRCDIR=
 G_GTFILES_FILES_FILES=
 G_GTFILES_FILES_LANGS=
-G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h  ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h
+G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h  ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h    ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c \ ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h
 G_GTFILES_LANG_DIR_NAMES=
-G_tm_defines=NETBSD_ENABLE_PTHREADS
+G_tm_defines=
 G_host_xm_file=
 G_host_xm_defines=
 G_tm_p_file=
 G_target_cpu_default=TARGET_CPU_generic
-G_TM_H=tm.h      options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h
-G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt
-G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h
-G_build_xm_include_list=auto-build.h ansidecl.h
-G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h
+G_TM_H=tm.h   options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h
+G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt ${GNUHOSTDIST}/gcc/config/arm/eabi.opt
+G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/defaults.h
+G_build_xm_include_list=auto-host.h ansidecl.h
+G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h
 G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h
-G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm
+G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/unwind-generic.h unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h
 G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o
 G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o
 G_F77_OBJS=
diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/gthr-default.h
deleted file mode 100644 (file)
index 9dd297d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
-
-#include "gthr-posix.h"
index 21f9cc4dc9ef532d0859e719c8d2b71f70aba0bc..e236bd17282e7d1be42c83493b03b7141476ed9f 100644 (file)
@@ -8,14 +8,16 @@ SRCDIR/gcc/../include/ansidecl.h
 options.h
 SRCDIR/gcc/config/dbxelf.h
 SRCDIR/gcc/config/elfos.h
-SRCDIR/gcc/config/netbsd.h
-SRCDIR/gcc/config/netbsd-elf.h
+SRCDIR/gcc/config/arm/unknown-elf.h
 SRCDIR/gcc/config/arm/elf.h
+SRCDIR/gcc/config/arm/bpabi.h
+SRCDIR/gcc/config/arm/eabi.h
+SRCDIR/gcc/config/newlib-stdint.h
+SRCDIR/gcc/config/minix-spec.h
+SRCDIR/gcc/config/arm/minix.h
+SRCDIR/gcc/config/minix.h
 SRCDIR/gcc/config/arm/aout.h
 SRCDIR/gcc/config/arm/arm.h
-SRCDIR/gcc/config/arm/bpabi.h
-SRCDIR/gcc/config/arm/netbsd-elf.h
-SRCDIR/gcc/config/arm/netbsd-eabi.h
 SRCDIR/gcc/defaults.h
 SRCDIR/gcc/../include/hashtab.h
 SRCDIR/gcc/../include/splay-tree.h
diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/insn-modes.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/insn-modes.h
deleted file mode 100644 (file)
index 398e823..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/* Generated automatically from machmode.def and config/arm/arm-modes.def
-   by genmodes.  */
-
-#ifndef GCC_INSN_MODES_H
-#define GCC_INSN_MODES_H
-
-enum machine_mode
-{
-  VOIDmode,                /* machmode.def:169 */
-  BLKmode,                 /* machmode.def:173 */
-  CCmode,                  /* machmode.def:201 */
-  CC_NOOVmode,             /* config/arm/arm-modes.def:40 */
-  CC_Zmode,                /* config/arm/arm-modes.def:41 */
-  CC_SWPmode,              /* config/arm/arm-modes.def:42 */
-  CCFPmode,                /* config/arm/arm-modes.def:43 */
-  CCFPEmode,               /* config/arm/arm-modes.def:44 */
-  CC_DNEmode,              /* config/arm/arm-modes.def:45 */
-  CC_DEQmode,              /* config/arm/arm-modes.def:46 */
-  CC_DLEmode,              /* config/arm/arm-modes.def:47 */
-  CC_DLTmode,              /* config/arm/arm-modes.def:48 */
-  CC_DGEmode,              /* config/arm/arm-modes.def:49 */
-  CC_DGTmode,              /* config/arm/arm-modes.def:50 */
-  CC_DLEUmode,             /* config/arm/arm-modes.def:51 */
-  CC_DLTUmode,             /* config/arm/arm-modes.def:52 */
-  CC_DGEUmode,             /* config/arm/arm-modes.def:53 */
-  CC_DGTUmode,             /* config/arm/arm-modes.def:54 */
-  CC_Cmode,                /* config/arm/arm-modes.def:55 */
-  CC_Nmode,                /* config/arm/arm-modes.def:56 */
-  BImode,                  /* machmode.def:176 */
-  QImode,                  /* machmode.def:181 */
-  HImode,                  /* machmode.def:182 */
-  SImode,                  /* machmode.def:183 */
-  DImode,                  /* machmode.def:184 */
-  TImode,                  /* machmode.def:185 */
-  EImode,                  /* config/arm/arm-modes.def:67 */
-  OImode,                  /* config/arm/arm-modes.def:68 */
-  CImode,                  /* config/arm/arm-modes.def:69 */
-  XImode,                  /* config/arm/arm-modes.def:70 */
-  QQmode,                  /* machmode.def:204 */
-  HQmode,                  /* machmode.def:205 */
-  SQmode,                  /* machmode.def:206 */
-  DQmode,                  /* machmode.def:207 */
-  TQmode,                  /* machmode.def:208 */
-  UQQmode,                 /* machmode.def:210 */
-  UHQmode,                 /* machmode.def:211 */
-  USQmode,                 /* machmode.def:212 */
-  UDQmode,                 /* machmode.def:213 */
-  UTQmode,                 /* machmode.def:214 */
-  HAmode,                  /* machmode.def:216 */
-  SAmode,                  /* machmode.def:217 */
-  DAmode,                  /* machmode.def:218 */
-  TAmode,                  /* machmode.def:219 */
-  UHAmode,                 /* machmode.def:221 */
-  USAmode,                 /* machmode.def:222 */
-  UDAmode,                 /* machmode.def:223 */
-  UTAmode,                 /* machmode.def:224 */
-  HFmode,                  /* config/arm/arm-modes.def:29 */
-  SFmode,                  /* machmode.def:196 */
-  DFmode,                  /* machmode.def:197 */
-  XFmode,                  /* config/arm/arm-modes.def:26 */
-  SDmode,                  /* machmode.def:236 */
-  DDmode,                  /* machmode.def:237 */
-  TDmode,                  /* machmode.def:238 */
-  CQImode,                 /* machmode.def:232 */
-  CHImode,                 /* machmode.def:232 */
-  CSImode,                 /* machmode.def:232 */
-  CDImode,                 /* machmode.def:232 */
-  CTImode,                 /* machmode.def:232 */
-  CEImode,                 /* machmode.def:232 */
-  COImode,                 /* machmode.def:232 */
-  CCImode,                 /* machmode.def:232 */
-  CXImode,                 /* machmode.def:232 */
-  HCmode,                  /* machmode.def:233 */
-  SCmode,                  /* machmode.def:233 */
-  DCmode,                  /* machmode.def:233 */
-  XCmode,                  /* machmode.def:233 */
-  V4QImode,                /* config/arm/arm-modes.def:59 */
-  V2HImode,                /* config/arm/arm-modes.def:59 */
-  V8QImode,                /* config/arm/arm-modes.def:60 */
-  V4HImode,                /* config/arm/arm-modes.def:60 */
-  V2SImode,                /* config/arm/arm-modes.def:60 */
-  V16QImode,               /* config/arm/arm-modes.def:61 */
-  V8HImode,                /* config/arm/arm-modes.def:61 */
-  V4SImode,                /* config/arm/arm-modes.def:61 */
-  V2DImode,                /* config/arm/arm-modes.def:61 */
-  V4HFmode,                /* config/arm/arm-modes.def:62 */
-  V2SFmode,                /* config/arm/arm-modes.def:62 */
-  V8HFmode,                /* config/arm/arm-modes.def:63 */
-  V4SFmode,                /* config/arm/arm-modes.def:63 */
-  V2DFmode,                /* config/arm/arm-modes.def:63 */
-  MAX_MACHINE_MODE,
-
-  MIN_MODE_RANDOM = VOIDmode,
-  MAX_MODE_RANDOM = BLKmode,
-
-  MIN_MODE_CC = CCmode,
-  MAX_MODE_CC = CC_Nmode,
-
-  MIN_MODE_INT = QImode,
-  MAX_MODE_INT = XImode,
-
-  MIN_MODE_PARTIAL_INT = VOIDmode,
-  MAX_MODE_PARTIAL_INT = VOIDmode,
-
-  MIN_MODE_FRACT = QQmode,
-  MAX_MODE_FRACT = TQmode,
-
-  MIN_MODE_UFRACT = UQQmode,
-  MAX_MODE_UFRACT = UTQmode,
-
-  MIN_MODE_ACCUM = HAmode,
-  MAX_MODE_ACCUM = TAmode,
-
-  MIN_MODE_UACCUM = UHAmode,
-  MAX_MODE_UACCUM = UTAmode,
-
-  MIN_MODE_FLOAT = HFmode,
-  MAX_MODE_FLOAT = XFmode,
-
-  MIN_MODE_DECIMAL_FLOAT = SDmode,
-  MAX_MODE_DECIMAL_FLOAT = TDmode,
-
-  MIN_MODE_COMPLEX_INT = CQImode,
-  MAX_MODE_COMPLEX_INT = CXImode,
-
-  MIN_MODE_COMPLEX_FLOAT = HCmode,
-  MAX_MODE_COMPLEX_FLOAT = XCmode,
-
-  MIN_MODE_VECTOR_INT = V4QImode,
-  MAX_MODE_VECTOR_INT = V2DImode,
-
-  MIN_MODE_VECTOR_FRACT = VOIDmode,
-  MAX_MODE_VECTOR_FRACT = VOIDmode,
-
-  MIN_MODE_VECTOR_UFRACT = VOIDmode,
-  MAX_MODE_VECTOR_UFRACT = VOIDmode,
-
-  MIN_MODE_VECTOR_ACCUM = VOIDmode,
-  MAX_MODE_VECTOR_ACCUM = VOIDmode,
-
-  MIN_MODE_VECTOR_UACCUM = VOIDmode,
-  MAX_MODE_VECTOR_UACCUM = VOIDmode,
-
-  MIN_MODE_VECTOR_FLOAT = V4HFmode,
-  MAX_MODE_VECTOR_FLOAT = V2DFmode,
-
-  NUM_MACHINE_MODES = MAX_MACHINE_MODE
-};
-
-#define CONST_MODE_SIZE const
-#define CONST_MODE_BASE_ALIGN const
-#define CONST_MODE_IBIT const
-#define CONST_MODE_FBIT const
-
-#endif /* insn-modes.h */
index 170b0056931f8abf3847eceb87c65abfb0f20dbe..06d583aa5c25079ef280413bc60762b0e81c8e71 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 static const char *const multilib_raw[] = {
index 28e459eaf8c18b414f26800e09efb10b4225de34..5c051df3e7346966f184e600cadc4dd80fb03318 100644 (file)
@@ -1,11 +1,11 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 #include "configargs.h"
 
-static char basever[] = "4.5.3";
-static char datestamp[] = "20110428";
+static char basever[] = "4.5.4";
+static char datestamp[] = "20120702";
 static char devphase[] = "";
 static char revision[] = "";
 
index b6def2a37456bcd94658507cde55d251501e3e34..9f16cd22e8e944a0a02d42f7e16ad089cb7bc421 100644 (file)
@@ -1,25 +1,24 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 #ifndef GCC_TM_H
 #define GCC_TM_H
 #define TARGET_CPU_DEFAULT (TARGET_CPU_generic)
-#ifndef NETBSD_ENABLE_PTHREADS
-# define NETBSD_ENABLE_PTHREADS
-#endif
 #ifdef IN_GCC
 # include "options.h"
 # include "config/dbxelf.h"
 # include "config/elfos.h"
-# include "config/netbsd.h"
-# include "config/netbsd-elf.h"
+# include "config/arm/unknown-elf.h"
 # include "config/arm/elf.h"
+# include "config/arm/bpabi.h"
+# include "config/arm/eabi.h"
+# include "config/newlib-stdint.h"
+# include "config/minix-spec.h"
+# include "config/arm/minix.h"
+# include "config/minix.h"
 # include "config/arm/aout.h"
 # include "config/arm/arm.h"
-# include "config/arm/bpabi.h"
-# include "config/arm/netbsd-elf.h"
-# include "config/arm/netbsd-eabi.h"
 # include "defaults.h"
 #endif
 #if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
index 5859002c2408538f654fa5753a56caf5eecaec5f..5c7c5b9b56d9ab1fd71d526075159d4364504341 100644 (file)
@@ -1,7 +1,3 @@
-/* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
-
 /* auto-host.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
 
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #ifndef USED_FOR_TARGET
-#define ENABLE_NLS 1
+/* #undef ENABLE_NLS */
 #endif
 
 
 /* Define to enable plugin support. */
 #ifndef USED_FOR_TARGET
-#define ENABLE_PLUGIN 1
+/* #undef ENABLE_PLUGIN */
 #endif
 
 
 
 /* Define 0/1 if your assembler and linker support COMDAT groups. */
 #ifndef USED_FOR_TARGET
-#define HAVE_COMDAT_GROUP 1
+#define HAVE_COMDAT_GROUP 0
 #endif
 
 
 /* Define to 1 if we found a declaration for 'getrusage', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETRUSAGE 1
+#define HAVE_DECL_GETRUSAGE 0
 #endif
 
 
 /* Define to 1 if we found a declaration for 'setrlimit', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
-#define HAVE_DECL_SETRLIMIT 1
+#define HAVE_DECL_SETRLIMIT 0
 #endif
 
 
 /* Define to 1 if we found a declaration for 'sigaltstack', otherwise define
    to 0. */
 #ifndef USED_FOR_TARGET
-#define HAVE_DECL_SIGALTSTACK 1
+#define HAVE_DECL_SIGALTSTACK 0
 #endif
 
 
 
 /* Define to 1 if you have the `elf_getshdrstrndx' function. */
 #ifndef USED_FOR_TARGET
-/* #undef HAVE_ELF_GETSHDRSTRNDX */
+#define HAVE_ELF_GETSHDRSTRNDX 1
 #endif
 
 
 
 
 /* Define if your assembler and linker support .hidden. */
-#define HAVE_GAS_HIDDEN 1
+/* #undef HAVE_GAS_HIDDEN */
 
 /* Define if your assembler supports .lcomm with an alignment field. */
 #ifndef USED_FOR_TARGET
 
 /* Define to 1 if you have the `getrusage' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_GETRUSAGE 1
+/* #undef HAVE_GETRUSAGE */
 #endif
 
 
 
 /* Define to 1 if you have the `mincore' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MINCORE 1
+/* #undef HAVE_MINCORE */
 #endif
 
 
 /* Define to 1 if you have the `mmap' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP 1
+/* #undef HAVE_MMAP */
 #endif
 
 
 /* Define if mmap with MAP_ANON(YMOUS) works. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP_ANON 1
+/* #undef HAVE_MMAP_ANON */
 #endif
 
 
 /* Define if mmap of /dev/zero works. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP_DEV_ZERO 1
+/* #undef HAVE_MMAP_DEV_ZERO */
 #endif
 
 
 /* Define if read-only mmap of a plain file works. */
 #ifndef USED_FOR_TARGET
-#define HAVE_MMAP_FILE 1
+/* #undef HAVE_MMAP_FILE */
 #endif
 
 
 
 /* Define to 1 if you have the `setrlimit' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_SETRLIMIT 1
+/* #undef HAVE_SETRLIMIT */
 #endif
 
 
 
 /* Define to 1 if on MINIX. */
 #ifndef USED_FOR_TARGET
-/* #undef _MINIX */
+#define _MINIX 1
 #endif
 
 
 /* Define to 2 if the system does not provide POSIX.1 features except with
    this defined. */
 #ifndef USED_FOR_TARGET
-/* #undef _POSIX_1_SOURCE */
+#define _POSIX_1_SOURCE 2
 #endif
 
 
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 #ifndef USED_FOR_TARGET
-/* #undef _POSIX_SOURCE */
+#define _POSIX_SOURCE 1
 #endif
 
 
index 8e8bdaa85b56acda7f2a10cd46939d59ad9c177a..3cc357decb47429e5ab02e02f6722e44733ef82b 100644 (file)
@@ -4,7 +4,7 @@
 
 #ifndef GCC_BCONFIG_H
 #define GCC_BCONFIG_H
-#include "auto-build.h"
+#include "auto-host.h"
 #ifdef IN_GCC
 # include "ansidecl.h"
 #endif
index 052fccc3a76e1ab529f09be935f9c4affa1c448e..a056d5a0450b7056358a4be85704b9b10c1ae316 100644 (file)
@@ -3,9 +3,9 @@
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* Generated automatically. */
-static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=i486--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-arch=i486 --with-tune=nocona --with-mpc=/var/obj/mknative/i386/usr/src/destdir.i386/usr --with-mpfr=/var/obj/mknative/i386/usr/src/destdir.i386/usr --with-gmp=/var/obj/mknative/i386/usr/src/destdir.i386/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=i486--netbsdelf";
-static const char thread_model[] = "posix";
+static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=i586-elf32-minix --disable-libssp --disable-threads --disable-visibility --disable-libunwind --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-arch=i586 --with-tune=nocona --with-mpc=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --with-mpfr=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --with-gmp=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --disable-nls --disable-multilib --program-transform-name='s,^,i586-elf32-minix-,' --enable-languages=c --prefix=/usr/objs/i386/tooldir.Minix-3.2.1-i686";
+static const char thread_model[] = "single";
 
 static const struct {
   const char *name, *value;
-} configure_default_options[] = { { "cpu", "i486" }, { "arch", "i486" }, { "tune", "nocona" } };
+} configure_default_options[] = { { "cpu", "pentium" }, { "arch", "i586" }, { "tune", "nocona" } };
index 089a74c94525c490c009fc02b26f42bdbf752f54..2e96b2f9a5f1901cbe88033dd78279176b789fc3 100644 (file)
@@ -29,20 +29,20 @@ G_GCC_H=gcc.h version.h
 G_GTFILES_SRCDIR=
 G_GTFILES_FILES_FILES=
 G_GTFILES_FILES_LANGS=
-G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/i386/netbsd-elf.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h  ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/i386/i386.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h
+G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/i386/minix.h ${GNUHOSTDIST}/gcc/config/minix.h       ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h  ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/i386/i386.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h
 G_GTFILES_LANG_DIR_NAMES=
-G_tm_defines=NETBSD_ENABLE_PTHREADS
+G_tm_defines=
 G_host_xm_file=
 G_host_xm_defines=
 G_tm_p_file=
 G_target_cpu_default=
-G_TM_H=tm.h      options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/i386/netbsd-elf.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h
+G_TM_H=tm.h      options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/i386/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h
 G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/i386/i386.opt
-G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/i386/netbsd-elf.h ${GNUHOSTDIST}/gcc/defaults.h
-G_build_xm_include_list=auto-build.h ansidecl.h
+G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/i386/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/defaults.h
+G_build_xm_include_list=auto-host.h ansidecl.h
 G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h
 G_tm_p_include_list=config/i386/i386-protos.h tm-preds.h
-G_LIB2ADDEHDEP= unwind-dw2-fde.h unwind-dw2-fde.c
+G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/unwind-generic.h unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h
 G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o i386-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o
 G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o i386-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o
 G_F77_OBJS=
diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/gthr-default.h
deleted file mode 100644 (file)
index 8a13671..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
-
-#include "gthr-posix.h"
index 2365929da0f6a139bf7a691014c5b0d5c1f384ac..7f1116b4c62977504cd9b226c2fcb225ee21c7f5 100644 (file)
@@ -12,9 +12,9 @@ SRCDIR/gcc/config/i386/unix.h
 SRCDIR/gcc/config/i386/att.h
 SRCDIR/gcc/config/dbxelf.h
 SRCDIR/gcc/config/elfos.h
-SRCDIR/gcc/config/netbsd.h
-SRCDIR/gcc/config/netbsd-elf.h
-SRCDIR/gcc/config/i386/netbsd-elf.h
+SRCDIR/gcc/config/minix-spec.h
+SRCDIR/gcc/config/i386/minix.h
+SRCDIR/gcc/config/minix.h
 SRCDIR/gcc/defaults.h
 SRCDIR/gcc/../include/hashtab.h
 SRCDIR/gcc/../include/splay-tree.h
index 30f713983a5bab3c5e98805c089015d11220d300..846cbf626ce7733c032e02a055d239a298213978 100644 (file)
@@ -4,9 +4,6 @@
 
 #ifndef GCC_TM_H
 #define GCC_TM_H
-#ifndef NETBSD_ENABLE_PTHREADS
-# define NETBSD_ENABLE_PTHREADS
-#endif
 #ifdef IN_GCC
 # include "options.h"
 # include "config/vxworks-dummy.h"
@@ -15,9 +12,9 @@
 # include "config/i386/att.h"
 # include "config/dbxelf.h"
 # include "config/elfos.h"
-# include "config/netbsd.h"
-# include "config/netbsd-elf.h"
-# include "config/i386/netbsd-elf.h"
+# include "config/minix-spec.h"
+# include "config/i386/minix.h"
+# include "config/minix.h"
 # include "defaults.h"
 #endif
 #if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
index b7c74d3deffd2d0d61525dbe8dad5754a1736077..534ad90a7f4bfb88401a86d08079b3dcc3fe03e0 100644 (file)
@@ -13,7 +13,11 @@ MAN=         gcov.1
 
 .include <bsd.prog.mk>
 
+.if defined(__MINIX)
+LDADD=         -L${LIBIBERTYOBJ} -liberty
+.else
 LDADD=         -L${LIBIBERTYOBJ} -liberty -lintl
+.endif # defined(__MINIX)
 
 COPTS+=                -Wno-stack-protector
 
index 4c67a698c5bbe50b5f4e98ed732a151a756bfdbe..27f3587021e3dc87557c9f6b6e9f5a1b9c3e8c0d 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
@@ -18,7 +18,7 @@
 
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
-#define ENABLE_NLS 1
+/* #undef ENABLE_NLS */
 
 /* Define to 1 if you have `alloca', as a function or macro. */
 #define HAVE_ALLOCA 1
 
 /* Define to the widest efficient host integer type at least as wide as the
    target's size_t type. */
-#define HOST_WIDE_INT long long
+#define HOST_WIDE_INT long
 
 /* Define as const if the declaration of iconv() needs const. */
 #define ICONV_CONST const
index 4c8b4dffbf7cd41d080654f60b0570b23e81651b..27f3587021e3dc87557c9f6b6e9f5a1b9c3e8c0d 100644 (file)
@@ -18,7 +18,7 @@
 
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
-#define ENABLE_NLS 1
+/* #undef ENABLE_NLS */
 
 /* Define to 1 if you have `alloca', as a function or macro. */
 #define HAVE_ALLOCA 1
index 362c54b0ac10092897ca33a9a61d3c080e7958e3..15b10c920b2977aa2451b161e442c73769118c68 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from:     NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp  */
+/* Generated from:     NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc
new file mode 100644 (file)
index 0000000..3fed719
--- /dev/null
@@ -0,0 +1,196 @@
+#      $NetBSD: Makefile.inc,v 1.1 2012/08/05 18:27:13 matt Exp $
+
+SRCS+= \
+       random.c \
+       divrem_2.c \
+       toom_interpolate_7pts.c \
+       sbpi1_divappr_q.c \
+       random2.c \
+       mu_bdiv_q.c \
+       toom32_mul.c \
+       toom44_mul.c \
+       toom8h_mul.c \
+       toom2_sqr.c \
+       zero.c \
+       mod_1_4.c \
+       gcdext.c \
+       binvert.c \
+       mu_div_q.c \
+       invertappr.c \
+       dump.c \
+       mu_divappr_q.c \
+       dcpi1_div_qr.c \
+       redc_1_sec.c \
+       toom6_sqr.c \
+       divrem_1.c \
+       mod_1.c \
+       divexact.c \
+       powlo.c \
+       mul.c \
+       set_str.c \
+       toom42_mul.c \
+       toom_interpolate_6pts.c \
+       dcpi1_divappr_q.c \
+       toom_eval_dgr3_pm2.c \
+       mod_1_3.c \
+       com.c \
+       lshift.c \
+       toom_couple_handling.c \
+       add.c \
+       toom_interpolate_12pts.c \
+       perfsqr.c \
+       toom53_mul.c \
+       toom_eval_pm2exp.c \
+       mu_div_qr.c \
+       toom_interpolate_16pts.c \
+       mod_34lsub1.c \
+       bdiv_q.c \
+       toom22_mul.c \
+       rshift.c \
+       toom4_sqr.c \
+       div_q.c \
+       jacbase.c \
+       gcdext_subdiv_step.c \
+       mullo_n.c \
+       toom33_mul.c \
+       toom_eval_dgr3_pm1.c \
+       mod_1_2.c \
+       sub_1.c \
+       trialdiv.c \
+       add_1.c \
+       sqr_basecase.c \
+       toom_interpolate_5pts.c \
+       sbpi1_bdiv_q.c \
+       pre_mod_1.c \
+       hgcd.c \
+       bdiv_dbm1c.c \
+       sqrtrem.c \
+       bdiv_q_1.c \
+       gcdext_1.c \
+       toom63_mul.c \
+       mul_basecase.c \
+       toom8_sqr.c \
+       neg.c \
+       gcdext_lehmer.c \
+       divis.c \
+       dcpi1_div_q.c \
+       subcnd_n.c \
+       toom_eval_pm2.c \
+       hgcd2.c \
+       toom62_mul.c \
+       sbpi1_bdiv_qr.c \
+       scan1.c \
+       pre_divrem_1.c \
+       perfpow.c \
+       get_str.c \
+       mullo_basecase.c \
+       mulmod_bnm1.c \
+       tdiv_qr.c \
+       toom43_mul.c \
+       mod_1_1.c \
+       matrix22_mul.c \
+       powm_sec.c \
+       divrem.c \
+       gcd_1.c \
+       dcpi1_bdiv_qr.c \
+       mul_n.c \
+       redc_2.c \
+       toom6h_mul.c \
+       mul_fft.c \
+       sqrmod_bnm1.c \
+       powm.c \
+       rootrem.c \
+       mode1o.c \
+       toom_interpolate_8pts.c \
+       remove.c \
+       lshiftc.c \
+       dive_1.c \
+       cmp.c \
+       toom_eval_pm1.c \
+       scan0.c \
+       gcd_subdiv_step.c \
+       sbpi1_div_qr.c \
+       invert.c \
+       sub.c \
+       toom_eval_pm2rexp.c \
+       dcpi1_bdiv_q.c \
+       redc_1.c \
+       sqr.c \
+       nussbaumer_mul.c \
+       mu_bdiv_qr.c \
+       pow_1.c \
+       gcd_lehmer.c \
+       get_d.c \
+       toom52_mul.c \
+       sbpi1_div_q.c \
+       diveby3.c \
+       fib2_ui.c \
+       bdiv_qr.c \
+       toom3_sqr.c \
+       gcd.c \
+       redc_n.c \
+
+C_SRCS_LIST= \
+       xor_n.c                 mpn/generic/logops_n.c \
+       nand_n.c                mpn/generic/logops_n.c \
+       nior_n.c                mpn/generic/logops_n.c \
+       hamdist.c               mpn/generic/popham.c \
+       popcount.c              mpn/generic/popham.c \
+       and_n.c                 mpn/generic/logops_n.c \
+       ior_n.c                 mpn/generic/logops_n.c \
+       xnor_n.c                mpn/generic/logops_n.c \
+       iorn_n.c                mpn/generic/logops_n.c \
+       andn_n.c                mpn/generic/logops_n.c \
+
+ASM_SRCS_LIST= \
+       add_n.asm               mpn/arm/add_n.asm \
+       submul_1.asm            mpn/arm/submul_1.asm \
+       mul_1.asm               mpn/arm/mul_1.asm \
+       copyd.asm               mpn/arm/copyd.asm \
+       udiv.asm                mpn/arm/udiv.asm \
+       copyi.asm               mpn/arm/copyi.asm \
+       invert_limb.asm         mpn/arm/invert_limb.asm \
+       addmul_1.asm            mpn/arm/addmul_1.asm \
+       sub_n.asm               mpn/arm/sub_n.asm \
+
+gen-trialdivtab: gen-trialdivtab.c
+       ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
+
+GMP_LIMB_BITS=32
+
+trialdiv.c: trialdivtab.h
+trialdivtab.h: gen-trialdivtab
+       ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h
+
+CLEANFILES+=   trialdivtab.h
+
+# XXX stuff looks for "../config.m4"
+dummy:
+       mkdir dummy
+${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4
+       cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET}
+
+BUILD_S_INCS=  -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn
+
+M4FLAGS= -DPIC
+COPTS+= -fPIC
+.for _build _src in ${ASM_SRCS_LIST}
+${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4
+       ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \
+               ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \
+               -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET}
+
+SRCS+=         ${_build:R}.s
+CLEANFILES+=   ${_build:R}.s
+
+.endfor
+
+.for _build _src in ${C_SRCS_LIST}
+mpn_${_build}: Makefile
+       echo '#include "${_src}"' > ${.TARGET}
+
+CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R}
+
+SRCS+=         mpn_${_build}
+CLEANFILES+=   mpn_${_build}
+.endfor
diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/config.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.h
new file mode 100644 (file)
index 0000000..77281a5
--- /dev/null
@@ -0,0 +1,587 @@
+/* config.h.  Generated from config.in by configure.  */
+/* config.in.  Generated from configure.in by autoheader.  */
+
+/*
+
+Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published
+by the Free Software Foundation; either version 3 of the License, or (at
+your option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
+*/
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* The gmp-mparam.h file (a string) the tune program should suggest updating.
+   */
+#define GMP_MPARAM_H_SUGGEST "./mpn/arm/gmp-mparam.h"
+
+/* Define to 1 if you have the `alarm' function. */
+#define HAVE_ALARM 1
+
+/* Define to 1 if alloca() works (via gmp-impl.h). */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */
+#define HAVE_ATTRIBUTE_CONST 1
+
+/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */
+#define HAVE_ATTRIBUTE_MALLOC 1
+
+/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX)))
+   */
+#define HAVE_ATTRIBUTE_MODE 1
+
+/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */
+#define HAVE_ATTRIBUTE_NORETURN 1
+
+/* Define to 1 if you have the `attr_get' function. */
+/* #undef HAVE_ATTR_GET */
+
+/* Define to 1 if tests/libtests has calling conventions checking for the CPU
+   */
+/* #undef HAVE_CALLING_CONVENTIONS */
+
+/* Define to 1 if you have the `clock' function. */
+#define HAVE_CLOCK 1
+
+/* Define to 1 if you have the `clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if you have the `cputime' function. */
+/* #undef HAVE_CPUTIME */
+
+/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't.
+   */
+#define HAVE_DECL_FGETC 1
+
+/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't.
+   */
+#define HAVE_DECL_FSCANF 1
+
+/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't.
+   */
+#define HAVE_DECL_OPTARG 1
+
+/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you
+   don't. */
+#define HAVE_DECL_SYS_ERRLIST 1
+
+/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you
+   don't. */
+#define HAVE_DECL_SYS_NERR 1
+
+/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't.
+   */
+#define HAVE_DECL_UNGETC 1
+
+/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you
+   don't. */
+#define HAVE_DECL_VFPRINTF 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define one of the following to 1 for the format of a `double'.
+   If your format is not among these choices, or you don't know what it is,
+   then leave all undefined.
+   IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves
+   swapped, as used by ARM CPUs in little endian mode.  */
+/* #undef HAVE_DOUBLE_IEEE_BIG_ENDIAN */
+#define HAVE_DOUBLE_IEEE_LITTLE_ENDIAN 1
+/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */
+/* #undef HAVE_DOUBLE_VAX_D */
+/* #undef HAVE_DOUBLE_VAX_G */
+/* #undef HAVE_DOUBLE_CRAY_CFP */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the <float.h> header file. */
+#define HAVE_FLOAT_H 1
+
+/* Define to 1 if you have the `getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the `getrusage' function. */
+#define HAVE_GETRUSAGE 1
+
+/* Define to 1 if you have the `getsysinfo' function. */
+/* #undef HAVE_GETSYSINFO */
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define one of these to 1 for the host CPU family.
+   If your CPU is not in any of these families, leave all undefined.
+   For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */
+/* #undef HAVE_HOST_CPU_FAMILY_alpha */
+/* #undef HAVE_HOST_CPU_FAMILY_m68k */
+/* #undef HAVE_HOST_CPU_FAMILY_power */
+/* #undef HAVE_HOST_CPU_FAMILY_powerpc */
+/* #undef HAVE_HOST_CPU_FAMILY_x86 */
+/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */
+
+/* Define one of the following to 1 for the host CPU, as per the output of
+   ./config.guess.  If your CPU is not listed here, leave all undefined.  */
+/* #undef HAVE_HOST_CPU_alphaev67 */
+/* #undef HAVE_HOST_CPU_alphaev68 */
+/* #undef HAVE_HOST_CPU_alphaev7 */
+/* #undef HAVE_HOST_CPU_m68020 */
+/* #undef HAVE_HOST_CPU_m68030 */
+/* #undef HAVE_HOST_CPU_m68040 */
+/* #undef HAVE_HOST_CPU_m68060 */
+/* #undef HAVE_HOST_CPU_m68360 */
+/* #undef HAVE_HOST_CPU_powerpc604 */
+/* #undef HAVE_HOST_CPU_powerpc604e */
+/* #undef HAVE_HOST_CPU_powerpc750 */
+/* #undef HAVE_HOST_CPU_powerpc7400 */
+/* #undef HAVE_HOST_CPU_supersparc */
+/* #undef HAVE_HOST_CPU_i386 */
+/* #undef HAVE_HOST_CPU_i586 */
+/* #undef HAVE_HOST_CPU_i686 */
+/* #undef HAVE_HOST_CPU_pentium */
+/* #undef HAVE_HOST_CPU_pentiummmx */
+/* #undef HAVE_HOST_CPU_pentiumpro */
+/* #undef HAVE_HOST_CPU_pentium2 */
+/* #undef HAVE_HOST_CPU_pentium3 */
+
+/* Define to 1 if the system has the type `intmax_t'. */
+#define HAVE_INTMAX_T 1
+
+/* Define to 1 if the system has the type `intptr_t'. */
+#define HAVE_INTPTR_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <invent.h> header file. */
+/* #undef HAVE_INVENT_H */
+
+/* Define to 1 if you have the <langinfo.h> header file. */
+#define HAVE_LANGINFO_H 1
+
+/* Define one of these to 1 for the endianness of `mp_limb_t'.
+   If the endianness is not a simple big or little, or you don't know what
+   it is, then leave both undefined. */
+/* #undef HAVE_LIMB_BIG_ENDIAN */
+#define HAVE_LIMB_LITTLE_ENDIAN 1
+
+/* Define to 1 if you have the `localeconv' function. */
+#define HAVE_LOCALECONV 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if the system has the type `long double'. */
+#define HAVE_LONG_DOUBLE 1
+
+/* Define to 1 if the system has the type `long long'. */
+#define HAVE_LONG_LONG 1
+
+/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
+/* #undef HAVE_MACHINE_HAL_SYSINFO_H */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the `mmap' function. */
+#define HAVE_MMAP 1
+
+/* Define to 1 if you have the `mprotect' function. */
+#define HAVE_MPROTECT 1
+
+/* Define to 1 each of the following for which a native (ie. CPU specific)
+    implementation of the corresponding routine exists.  */
+#define HAVE_NATIVE_mpn_add_n 1
+/* #undef HAVE_NATIVE_mpn_add_n_sub_n */
+/* #undef HAVE_NATIVE_mpn_add_nc */
+/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */
+/* #undef HAVE_NATIVE_mpn_addlsh1_n */
+/* #undef HAVE_NATIVE_mpn_addlsh2_n */
+/* #undef HAVE_NATIVE_mpn_addlsh_n */
+/* #undef HAVE_NATIVE_mpn_addmul_1c */
+/* #undef HAVE_NATIVE_mpn_addmul_2 */
+/* #undef HAVE_NATIVE_mpn_addmul_3 */
+/* #undef HAVE_NATIVE_mpn_addmul_4 */
+/* #undef HAVE_NATIVE_mpn_addmul_5 */
+/* #undef HAVE_NATIVE_mpn_addmul_6 */
+/* #undef HAVE_NATIVE_mpn_addmul_7 */
+/* #undef HAVE_NATIVE_mpn_addmul_8 */
+/* #undef HAVE_NATIVE_mpn_and_n */
+/* #undef HAVE_NATIVE_mpn_andn_n */
+/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */
+/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */
+/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */
+/* #undef HAVE_NATIVE_mpn_com */
+#define HAVE_NATIVE_mpn_copyd 1
+#define HAVE_NATIVE_mpn_copyi 1
+/* #undef HAVE_NATIVE_mpn_divexact_1 */
+/* #undef HAVE_NATIVE_mpn_divexact_by3c */
+/* #undef HAVE_NATIVE_mpn_divrem_1 */
+/* #undef HAVE_NATIVE_mpn_divrem_1c */
+/* #undef HAVE_NATIVE_mpn_divrem_2 */
+/* #undef HAVE_NATIVE_mpn_gcd_1 */
+/* #undef HAVE_NATIVE_mpn_hamdist */
+#define HAVE_NATIVE_mpn_invert_limb 1
+/* #undef HAVE_NATIVE_mpn_ior_n */
+/* #undef HAVE_NATIVE_mpn_iorn_n */
+/* #undef HAVE_NATIVE_mpn_lshift */
+/* #undef HAVE_NATIVE_mpn_lshiftc */
+/* #undef HAVE_NATIVE_mpn_lshsub_n */
+/* #undef HAVE_NATIVE_mpn_mod_1 */
+/* #undef HAVE_NATIVE_mpn_mod_1_1p */
+/* #undef HAVE_NATIVE_mpn_mod_1c */
+/* #undef HAVE_NATIVE_mpn_mod_1s_2p */
+/* #undef HAVE_NATIVE_mpn_mod_1s_4p */
+/* #undef HAVE_NATIVE_mpn_mod_34lsub1 */
+/* #undef HAVE_NATIVE_mpn_modexact_1_odd */
+/* #undef HAVE_NATIVE_mpn_modexact_1c_odd */
+#define HAVE_NATIVE_mpn_mul_1 1
+/* #undef HAVE_NATIVE_mpn_mul_1c */
+/* #undef HAVE_NATIVE_mpn_mul_2 */
+/* #undef HAVE_NATIVE_mpn_mul_3 */
+/* #undef HAVE_NATIVE_mpn_mul_4 */
+/* #undef HAVE_NATIVE_mpn_mul_basecase */
+/* #undef HAVE_NATIVE_mpn_nand_n */
+/* #undef HAVE_NATIVE_mpn_nior_n */
+/* #undef HAVE_NATIVE_mpn_popcount */
+/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */
+/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */
+/* #undef HAVE_NATIVE_mpn_redc_1 */
+/* #undef HAVE_NATIVE_mpn_redc_2 */
+/* #undef HAVE_NATIVE_mpn_rsblsh1_n */
+/* #undef HAVE_NATIVE_mpn_rsblsh2_n */
+/* #undef HAVE_NATIVE_mpn_rsblsh_n */
+/* #undef HAVE_NATIVE_mpn_rsh1add_n */
+/* #undef HAVE_NATIVE_mpn_rsh1add_nc */
+/* #undef HAVE_NATIVE_mpn_rsh1sub_n */
+/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */
+/* #undef HAVE_NATIVE_mpn_rshift */
+/* #undef HAVE_NATIVE_mpn_sqr_basecase */
+/* #undef HAVE_NATIVE_mpn_sqr_diagonal */
+#define HAVE_NATIVE_mpn_sub_n 1
+/* #undef HAVE_NATIVE_mpn_sub_nc */
+/* #undef HAVE_NATIVE_mpn_sublsh1_n */
+/* #undef HAVE_NATIVE_mpn_sublsh2_n */
+/* #undef HAVE_NATIVE_mpn_sublsh_n */
+/* #undef HAVE_NATIVE_mpn_submul_1c */
+#define HAVE_NATIVE_mpn_udiv_qrnnd 1
+/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */
+/* #undef HAVE_NATIVE_mpn_umul_ppmm */
+/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */
+/* #undef HAVE_NATIVE_mpn_xor_n */
+/* #undef HAVE_NATIVE_mpn_xnor_n */
+
+/* Define to 1 if you have the `nl_langinfo' function. */
+#define HAVE_NL_LANGINFO 1
+
+/* Define to 1 if you have the <nl_types.h> header file. */
+#define HAVE_NL_TYPES_H 1
+
+/* Define to 1 if you have the `obstack_vprintf' function. */
+/* #undef HAVE_OBSTACK_VPRINTF */
+
+/* Define to 1 if you have the `popen' function. */
+#define HAVE_POPEN 1
+
+/* Define to 1 if you have the `processor_info' function. */
+/* #undef HAVE_PROCESSOR_INFO */
+
+/* Define to 1 if <sys/pstat.h> `struct pst_processor' exists and contains
+   `psp_iticksperclktick'. */
+/* #undef HAVE_PSP_ITICKSPERCLKTICK */
+
+/* Define to 1 if you have the `pstat_getprocessor' function. */
+/* #undef HAVE_PSTAT_GETPROCESSOR */
+
+/* Define to 1 if the system has the type `ptrdiff_t'. */
+#define HAVE_PTRDIFF_T 1
+
+/* Define to 1 if the system has the type `quad_t'. */
+#define HAVE_QUAD_T 1
+
+/* Define to 1 if you have the `raise' function. */
+#define HAVE_RAISE 1
+
+/* Define to 1 if you have the `read_real_time' function. */
+/* #undef HAVE_READ_REAL_TIME */
+
+/* Define to 1 if you have the `sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* Define to 1 if you have the `sigaltstack' function. */
+#define HAVE_SIGALTSTACK 1
+
+/* Define to 1 if you have the `sigstack' function. */
+/* #undef HAVE_SIGSTACK */
+
+/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */
+/* #undef HAVE_SPEED_CYCLECOUNTER */
+
+/* Define to 1 if you have the <sstream> header file. */
+/* #undef HAVE_SSTREAM */
+
+/* Define to 1 if the system has the type `stack_t'. */
+#define HAVE_STACK_T 1
+
+/* Define to 1 if <stdarg.h> exists and works */
+#define HAVE_STDARG 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if the system has the type `std::locale'. */
+/* #undef HAVE_STD__LOCALE */
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if cpp supports the ANSI # stringizing operator. */
+#define HAVE_STRINGIZE 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strnlen' function. */
+#define HAVE_STRNLEN 1
+
+/* Define to 1 if you have the `strtol' function. */
+#define HAVE_STRTOL 1
+
+/* Define to 1 if you have the `strtoul' function. */
+#define HAVE_STRTOUL 1
+
+/* Define to 1 if you have the `sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the `sysctl' function. */
+#define HAVE_SYSCTL 1
+
+/* Define to 1 if you have the `sysctlbyname' function. */
+#define HAVE_SYSCTLBYNAME 1
+
+/* Define to 1 if you have the `syssgi' function. */
+/* #undef HAVE_SYSSGI */
+
+/* Define to 1 if you have the <sys/attributes.h> header file. */
+/* #undef HAVE_SYS_ATTRIBUTES_H */
+
+/* Define to 1 if you have the <sys/iograph.h> header file. */
+/* #undef HAVE_SYS_IOGRAPH_H */
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/processor.h> header file. */
+/* #undef HAVE_SYS_PROCESSOR_H */
+
+/* Define to 1 if you have the <sys/pstat.h> header file. */
+/* #undef HAVE_SYS_PSTAT_H */
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/sysctl.h> header file. */
+#define HAVE_SYS_SYSCTL_H 1
+
+/* Define to 1 if you have the <sys/sysinfo.h> header file. */
+/* #undef HAVE_SYS_SYSINFO_H */
+
+/* Define to 1 if you have the <sys/syssgi.h> header file. */
+/* #undef HAVE_SYS_SYSSGI_H */
+
+/* Define to 1 if you have the <sys/systemcfg.h> header file. */
+/* #undef HAVE_SYS_SYSTEMCFG_H */
+
+/* Define to 1 if you have the <sys/times.h> header file. */
+#define HAVE_SYS_TIMES_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the `times' function. */
+#define HAVE_TIMES 1
+
+/* Define to 1 if the system has the type `uint_least32_t'. */
+#define HAVE_UINT_LEAST32_T 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `vsnprintf' function and it works properly. */
+#define HAVE_VSNPRINTF 1
+
+/* Assembler local label prefix */
+#define LSYM_PREFIX ".L"
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Name of package */
+#define PACKAGE "gmp"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU MP"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU MP 5.0.2"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "gmp"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "http://www.gnu.org/software/gmp/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "5.0.2"
+
+/* Define to 1 if the C compiler supports function prototypes. */
+#define PROTOTYPES 1
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* The size of `mp_limb_t', as computed by sizeof. */
+#define SIZEOF_MP_LIMB_T 4
+
+/* The size of `unsigned', as computed by sizeof. */
+#define SIZEOF_UNSIGNED 4
+
+/* The size of `unsigned long', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_LONG 4
+
+/* The size of `unsigned short', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_SHORT 2
+
+/* The size of `void *', as computed by sizeof. */
+#define SIZEOF_VOID_P 4
+
+/* Define to 1 if sscanf requires writable inputs */
+/* #undef SSCANF_WRITABLE_INPUT */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */
+#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC
+
+/* Version number of package */
+#define VERSION "5.0.2"
+
+/* Define to 1 to enable ASSERT checking, per --enable-assert */
+/* #undef WANT_ASSERT */
+
+/* Define to 1 when building a fat binary. */
+/* #undef WANT_FAT_BINARY */
+
+/* Define to 1 to enable FFTs for multiplication, per --enable-fft */
+#define WANT_FFT 1
+
+/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per
+   --enable-old-fft-full */
+/* #undef WANT_OLD_FFT_FULL */
+
+/* Define to 1 if --enable-profiling=gprof */
+/* #undef WANT_PROFILING_GPROF */
+
+/* Define to 1 if --enable-profiling=instrument */
+/* #undef WANT_PROFILING_INSTRUMENT */
+
+/* Define to 1 if --enable-profiling=prof */
+/* #undef WANT_PROFILING_PROF */
+
+/* Define one of these to 1 for the desired temporary memory allocation
+   method, per --enable-alloca. */
+#define WANT_TMP_ALLOCA 1
+/* #undef WANT_TMP_REENTRANT */
+/* #undef WANT_TMP_NOTREENTRANT */
+/* #undef WANT_TMP_DEBUG */
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* #  undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+   `char[]'. */
+#define YYTEXT_POINTER 1
+
+/* Define like PROTOTYPES; this can be used by system headers. */
+#define __PROTOTYPES 1
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported directly.  */
+#define restrict __restrict
+/* Work around a bug in Sun C++: it does not support _Restrict or
+   __restrict__, even though the corresponding Sun C compiler ends up with
+   "#define restrict _Restrict" or "#define restrict __restrict__" in the
+   previous line.  Perhaps some future version of Sun C++ will work with
+   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+# define __restrict__
+#endif
+
+/* 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 --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4
new file mode 100644 (file)
index 0000000..c43c084
--- /dev/null
@@ -0,0 +1,35 @@
+dnl config.m4.  Generated automatically by configure.
+changequote(<,>)
+ifdef(<__CONFIG_M4_INCLUDED__>,,<
+define(<WANT_ASSERT>,0)
+define(<WANT_PROFILING>,<`no'>)
+define(<M4WRAP_SPURIOUS>,<no>)
+define(<TEXT>, <.text>)
+define(<DATA>, <.data>)
+define(<LABEL_SUFFIX>, <:>)
+define(<GLOBL>, <.globl>)
+define(<GLOBL_ATTR>, <>)
+define(<GSYM_PREFIX>, <>)
+define(<RODATA>, <     .section        .rodata>)
+define(<TYPE>, <.type  $1,#$2>)
+define(<SIZE>, <.size  $1,$2>)
+define(<LSYM_PREFIX>, <.L>)
+define(<W32>, <.long>)
+define(<ALIGN_LOGARITHMIC>,<yes>)
+define(<SQR_TOOM2_THRESHOLD>,<78>)
+define(<SIZEOF_UNSIGNED>,<4>)
+define(<GMP_LIMB_BITS>,32)
+define(<GMP_NAIL_BITS>,0)
+define(<GMP_NUMB_BITS>,eval(GMP_LIMB_BITS-GMP_NAIL_BITS))
+>)
+changequote(`,')
+ifdef(`__CONFIG_M4_INCLUDED__',,`
+include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4')
+include_mpn(`arm/arm-defs.m4')
+define_not_for_expansion(`ARM_THUMB_MODE')
+define_not_for_expansion(`HAVE_HOST_CPU_arm')
+define_not_for_expansion(`HAVE_ABI_standard')
+define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN')
+define_not_for_expansion(`HAVE_DOUBLE_IEEE_LITTLE_ENDIAN')
+')
+define(`__CONFIG_M4_INCLUDED__')
diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h
new file mode 100644 (file)
index 0000000..431aa4a
--- /dev/null
@@ -0,0 +1,142 @@
+/* gmp-mparam.h -- Compiler/machine parameter header file.
+
+Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2009, 2010 Free
+Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
+
+#define GMP_LIMB_BITS 32
+#define BYTES_PER_MP_LIMB 4
+
+/* 593MHz ARM (gcc50.fsffrance.org) */
+
+#define DIVREM_1_NORM_THRESHOLD              0  /* preinv always */
+#define DIVREM_1_UNNORM_THRESHOLD            0  /* always */
+#define MOD_1_NORM_THRESHOLD                 0  /* always */
+#define MOD_1_UNNORM_THRESHOLD               0  /* always */
+#define MOD_1N_TO_MOD_1_1_THRESHOLD         17
+#define MOD_1U_TO_MOD_1_1_THRESHOLD          9
+#define MOD_1_1_TO_MOD_1_2_THRESHOLD     MP_SIZE_T_MAX
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD     MP_SIZE_T_MAX
+#define PREINV_MOD_1_TO_MOD_1_THRESHOLD     27
+#define USE_PREINV_DIVREM_1                  1  /* preinv always */
+#define DIVREM_2_THRESHOLD                   0  /* preinv always */
+#define DIVEXACT_1_THRESHOLD                 0  /* always */
+#define BMOD_1_TO_MOD_1_THRESHOLD           44
+
+#define MUL_TOOM22_THRESHOLD                34
+#define MUL_TOOM33_THRESHOLD               121
+#define MUL_TOOM44_THRESHOLD               191
+#define MUL_TOOM6H_THRESHOLD               366
+#define MUL_TOOM8H_THRESHOLD               547
+
+#define MUL_TOOM32_TO_TOOM43_THRESHOLD     129
+#define MUL_TOOM32_TO_TOOM53_THRESHOLD     191
+#define MUL_TOOM42_TO_TOOM53_THRESHOLD     117
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD     137
+
+#define SQR_BASECASE_THRESHOLD              13
+#define SQR_TOOM2_THRESHOLD                 78
+#define SQR_TOOM3_THRESHOLD                141
+#define SQR_TOOM4_THRESHOLD                212
+#define SQR_TOOM6_THRESHOLD                330
+#define SQR_TOOM8_THRESHOLD                422
+
+#define MULMOD_BNM1_THRESHOLD               21
+#define SQRMOD_BNM1_THRESHOLD               25
+
+#define MUL_FFT_MODF_THRESHOLD             404  /* k = 5 */
+#define MUL_FFT_TABLE3                                      \
+  { {    404, 5}, {     21, 6}, {     11, 5}, {     25, 6}, \
+    {     13, 5}, {     27, 6}, {     28, 7}, {     15, 6}, \
+    {     32, 7}, {     17, 6}, {     35, 7}, {     19, 6}, \
+    {     39, 7}, {     21, 6}, {     43, 7}, {     29, 8}, \
+    {     15, 7}, {     35, 8}, {     19, 7}, {     41, 8}, \
+    {     23, 7}, {     49, 8}, {     27, 7}, {     55, 9}, \
+    {     15, 8}, {     31, 7}, {     63, 8}, {     43, 9}, \
+    {     23, 8}, {     55, 9}, {     31, 8}, {     71, 9}, \
+    {     39, 8}, {     83, 9}, {     47, 8}, {     99, 9}, \
+    {     55,10}, {     31, 9}, {     63, 8}, {    127, 9}, \
+    {     79,10}, {     47, 9}, {    103,11}, {     31,10}, \
+    {     63, 9}, {    135,10}, {     95, 9}, {    191,10}, \
+    {    111,11}, {     63,10}, {    127, 9}, {    255,10}, \
+    {    143, 9}, {    287,10}, {    159, 9}, {    319,11}, \
+    {     95,10}, {    191, 9}, {    383,10}, {    207,12}, \
+    {     63,11}, {    127,10}, {    287,11}, {    159,10}, \
+    {    351,11}, {    191,10}, {    415,11}, {    223,12}, \
+    {    127,11}, {    255,10}, {    511,11}, {    319,10}, \
+    {    639,11}, {    351,12}, {    191,11}, {    415,13}, \
+    {   8192,14}, {  16384,15}, {  32768,16} }
+#define MUL_FFT_TABLE3_SIZE 79
+#define MUL_FFT_THRESHOLD                 5760
+
+#define SQR_FFT_MODF_THRESHOLD             400  /* k = 5 */
+#define SQR_FFT_TABLE3                                      \
+  { {    400, 5}, {     25, 6}, {     13, 5}, {     27, 6}, \
+    {     25, 7}, {     13, 6}, {     28, 7}, {     15, 6}, \
+    {     32, 7}, {     19, 6}, {     39, 7}, {     29, 8}, \
+    {     15, 7}, {     35, 8}, {     19, 7}, {     41, 8}, \
+    {     23, 7}, {     47, 8}, {     27, 7}, {     55, 9}, \
+    {     15, 8}, {     39, 9}, {     23, 8}, {     55,10}, \
+    {     15, 9}, {     31, 8}, {     67, 9}, {     39, 8}, \
+    {     79, 9}, {     47, 8}, {     95, 9}, {     55,10}, \
+    {     31, 9}, {     79,10}, {     47, 9}, {    103,11}, \
+    {     31,10}, {     63, 9}, {    135,10}, {     79, 9}, \
+    {    159, 8}, {    319,10}, {     95, 9}, {    191,10}, \
+    {    111,11}, {     63,10}, {    127, 9}, {    271,10}, \
+    {    143, 9}, {    303,10}, {    159,11}, {     95,10}, \
+    {    191, 9}, {    383,10}, {    207,12}, {     63,11}, \
+    {    127,10}, {    303,11}, {    159,10}, {    367,11}, \
+    {    191,10}, {    415,11}, {    223,10}, {    447,12}, \
+    {    127,11}, {    255,10}, {    511,11}, {    287,10}, \
+    {    607,11}, {    319,10}, {    639,11}, {    351,12}, \
+    {    191,11}, {    447,13}, {   8192,14}, {  16384,15}, \
+    {  32768,16} }
+#define SQR_FFT_TABLE3_SIZE 77
+#define SQR_FFT_THRESHOLD                 3136
+
+#define MULLO_BASECASE_THRESHOLD             0  /* always */
+#define MULLO_DC_THRESHOLD                 120
+#define MULLO_MUL_N_THRESHOLD            11317
+
+#define DC_DIV_QR_THRESHOLD                134
+#define DC_DIVAPPR_Q_THRESHOLD             442
+#define DC_BDIV_QR_THRESHOLD               127
+#define DC_BDIV_Q_THRESHOLD                296
+
+#define INV_MULMOD_BNM1_THRESHOLD           66
+#define INV_NEWTON_THRESHOLD               458
+#define INV_APPR_THRESHOLD                 454
+
+#define BINV_NEWTON_THRESHOLD              494
+#define REDC_1_TO_REDC_N_THRESHOLD         116
+
+#define MU_DIV_QR_THRESHOLD               2914
+#define MU_DIVAPPR_Q_THRESHOLD            3091
+#define MUPI_DIV_QR_THRESHOLD              221
+#define MU_BDIV_QR_THRESHOLD              2259
+#define MU_BDIV_Q_THRESHOLD               2747
+
+#define MATRIX22_STRASSEN_THRESHOLD         17
+#define HGCD_THRESHOLD                     109
+#define GCD_DC_THRESHOLD                   697
+#define GCDEXT_DC_THRESHOLD                535
+#define JACOBI_BASE_METHOD                   2
+
+#define GET_STR_DC_THRESHOLD                14
+#define GET_STR_PRECOMPUTE_THRESHOLD        29
+#define SET_STR_DC_THRESHOLD               321
+#define SET_STR_PRECOMPUTE_THRESHOLD      1037
diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h
new file mode 100644 (file)
index 0000000..343bcec
--- /dev/null
@@ -0,0 +1,2280 @@
+/* Definitions for GNU multiple precision functions.   -*- mode: c -*-
+
+Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003,
+2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
+
+#ifndef __GMP_H__
+
+#if defined (__cplusplus)
+#include <iosfwd>   /* for std::istream, std::ostream, std::string */
+#include <cstdio>
+#endif
+
+
+/* Instantiated by configure. */
+#if ! defined (__GMP_WITHIN_CONFIGURE)
+#define __GMP_HAVE_HOST_CPU_FAMILY_power   0
+#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0
+#define GMP_LIMB_BITS                      32
+#define GMP_NAIL_BITS                      0
+#endif
+#define GMP_NUMB_BITS     (GMP_LIMB_BITS - GMP_NAIL_BITS)
+#define GMP_NUMB_MASK     ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS)
+#define GMP_NUMB_MAX      GMP_NUMB_MASK
+#define GMP_NAIL_MASK     (~ GMP_NUMB_MASK)
+
+
+/* The following (everything under ifndef __GNU_MP__) must be identical in
+   gmp.h and mp.h to allow both to be included in an application or during
+   the library build.  */
+#ifndef __GNU_MP__
+#define __GNU_MP__ 5
+
+#define __need_size_t  /* tell gcc stddef.h we only want size_t */
+#if defined (__cplusplus)
+#include <cstddef>     /* for size_t */
+#else
+#include <stddef.h>    /* for size_t */
+#endif
+#undef __need_size_t
+
+/* Instantiated by configure. */
+#if ! defined (__GMP_WITHIN_CONFIGURE)
+/* #undef _LONG_LONG_LIMB */
+#define __GMP_LIBGMP_DLL  0
+#endif
+
+
+/* __STDC__ - some ANSI compilers define this only to 0, hence the use of
+       "defined" and not "__STDC__-0".  In particular Sun workshop C 5.0
+       sets __STDC__ to 0, but requires "##" for token pasting.
+
+   _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but
+       don't always define __STDC__.
+
+   __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI,
+       but don't define __STDC__ in their default mode.  Don't know if old
+       versions might have been K&R, but let's not worry about that unless
+       someone is still using one.
+
+   _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4
+       mode, but doesn't define __STDC__.
+
+   _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za
+       option is given (in which case it's 1).
+
+   _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that
+      all w32 compilers are ansi.
+
+   Note: This same set of tests is used by gen-psqr.c and
+   demos/expr/expr-impl.h, so if anything needs adding, then be sure to
+   update those too.  */
+
+#if  defined (__STDC__)                                 \
+  || defined (__cplusplus)                              \
+  || defined (_AIX)                                     \
+  || defined (__DECC)                                   \
+  || (defined (__mips) && defined (_SYSTYPE_SVR4))      \
+  || defined (_MSC_VER)                                 \
+  || defined (_WIN32)
+#define __GMP_HAVE_CONST        1
+#define __GMP_HAVE_PROTOTYPES   1
+#define __GMP_HAVE_TOKEN_PASTE  1
+#else
+#define __GMP_HAVE_CONST        0
+#define __GMP_HAVE_PROTOTYPES   0
+#define __GMP_HAVE_TOKEN_PASTE  0
+#endif
+
+
+#if __GMP_HAVE_CONST
+#define __gmp_const   const
+#define __gmp_signed  signed
+#else
+#define __gmp_const
+#define __gmp_signed
+#endif
+
+
+/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in
+   all other circumstances.
+
+   When compiling objects for libgmp, __GMP_DECLSPEC is an export directive,
+   or when compiling for an application it's an import directive.  The two
+   cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles
+   (and not defined from an application).
+
+   __GMP_DECLSPEC_XX is similarly used for libgmpxx.  __GMP_WITHIN_GMPXX
+   indicates when building libgmpxx, and in that case libgmpxx functions are
+   exports, but libgmp functions which might get called are imports.
+
+   libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la.  libgmp and
+   libmp don't call each other, so there's no conflict or confusion.
+
+   Libtool DLL_EXPORT define is not used.
+
+   There's no attempt to support GMP built both static and DLL.  Doing so
+   would mean applications would have to tell us which of the two is going
+   to be used when linking, and that seems very tedious and error prone if
+   using GMP by hand, and equally tedious from a package since autoconf and
+   automake don't give much help.
+
+   __GMP_DECLSPEC is required on all documented global functions and
+   variables, the various internals in gmp-impl.h etc can be left unadorned.
+   But internals used by the test programs or speed measuring programs
+   should have __GMP_DECLSPEC, and certainly constants or variables must
+   have it or the wrong address will be resolved.
+
+   In gcc __declspec can go at either the start or end of a prototype.
+
+   In Microsoft C __declspec must go at the start, or after the type like
+   void __declspec(...) *foo()".  There's no __dllexport or anything to
+   guard against someone foolish #defining dllexport.  _export used to be
+   available, but no longer.
+
+   In Borland C _export still exists, but needs to go after the type, like
+   "void _export foo();".  Would have to change the __GMP_DECLSPEC syntax to
+   make use of that.  Probably more trouble than it's worth.  */
+
+#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
+#ifdef __WATCOMC__
+#define __GMP_DECLSPEC_EXPORT  __export
+#define __GMP_DECLSPEC_IMPORT  __import
+#endif
+#ifdef __IBMC__
+#define __GMP_DECLSPEC_EXPORT  _Export
+#define __GMP_DECLSPEC_IMPORT  _Import
+#endif
+
+#if __GMP_LIBGMP_DLL
+#if __GMP_WITHIN_GMP
+/* compiling to go into a DLL libgmp */
+#define __GMP_DECLSPEC  __GMP_DECLSPEC_EXPORT
+#else
+/* compiling to go into an application which will link to a DLL libgmp */
+#define __GMP_DECLSPEC  __GMP_DECLSPEC_IMPORT
+#endif
+#else
+/* all other cases */
+#define __GMP_DECLSPEC
+#endif
+
+
+#ifdef __GMP_SHORT_LIMB
+typedef unsigned int           mp_limb_t;
+typedef int                    mp_limb_signed_t;
+#else
+#ifdef _LONG_LONG_LIMB
+typedef unsigned long long int mp_limb_t;
+typedef long long int          mp_limb_signed_t;
+#else
+typedef unsigned long int      mp_limb_t;
+typedef long int               mp_limb_signed_t;
+#endif
+#endif
+typedef unsigned long int      mp_bitcnt_t;
+
+/* For reference, note that the name __mpz_struct gets into C++ mangled
+   function names, which means although the "__" suggests an internal, we
+   must leave this name for binary compatibility.  */
+typedef struct
+{
+  int _mp_alloc;               /* Number of *limbs* allocated and pointed
+                                  to by the _mp_d field.  */
+  int _mp_size;                        /* abs(_mp_size) is the number of limbs the
+                                  last field points to.  If _mp_size is
+                                  negative this is a negative number.  */
+  mp_limb_t *_mp_d;            /* Pointer to the limbs.  */
+} __mpz_struct;
+
+#endif /* __GNU_MP__ */
+
+
+typedef __mpz_struct MP_INT;    /* gmp 1 source compatibility */
+typedef __mpz_struct mpz_t[1];
+
+typedef mp_limb_t *            mp_ptr;
+typedef __gmp_const mp_limb_t *        mp_srcptr;
+#if defined (_CRAY) && ! defined (_CRAYMPP)
+/* plain `int' is much faster (48 bits) */
+#define __GMP_MP_SIZE_T_INT     1
+typedef int                    mp_size_t;
+typedef int                    mp_exp_t;
+#else
+#define __GMP_MP_SIZE_T_INT     0
+typedef long int               mp_size_t;
+typedef long int               mp_exp_t;
+#endif
+
+typedef struct
+{
+  __mpz_struct _mp_num;
+  __mpz_struct _mp_den;
+} __mpq_struct;
+
+typedef __mpq_struct MP_RAT;    /* gmp 1 source compatibility */
+typedef __mpq_struct mpq_t[1];
+
+typedef struct
+{
+  int _mp_prec;                        /* Max precision, in number of `mp_limb_t's.
+                                  Set by mpf_init and modified by
+                                  mpf_set_prec.  The area pointed to by the
+                                  _mp_d field contains `prec' + 1 limbs.  */
+  int _mp_size;                        /* abs(_mp_size) is the number of limbs the
+                                  last field points to.  If _mp_size is
+                                  negative this is a negative number.  */
+  mp_exp_t _mp_exp;            /* Exponent, in the base of `mp_limb_t'.  */
+  mp_limb_t *_mp_d;            /* Pointer to the limbs.  */
+} __mpf_struct;
+
+/* typedef __mpf_struct MP_FLOAT; */
+typedef __mpf_struct mpf_t[1];
+
+/* Available random number generation algorithms.  */
+typedef enum
+{
+  GMP_RAND_ALG_DEFAULT = 0,
+  GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential.  */
+} gmp_randalg_t;
+
+/* Random state struct.  */
+typedef struct
+{
+  mpz_t _mp_seed;        /* _mp_d member points to state of the generator. */
+  gmp_randalg_t _mp_alg;  /* Currently unused. */
+  union {
+    void *_mp_lc;         /* Pointer to function pointers structure.  */
+  } _mp_algdata;
+} __gmp_randstate_struct;
+typedef __gmp_randstate_struct gmp_randstate_t[1];
+
+/* Types for function declarations in gmp files.  */
+/* ??? Should not pollute user name space with these ??? */
+typedef __gmp_const __mpz_struct *mpz_srcptr;
+typedef __mpz_struct *mpz_ptr;
+typedef __gmp_const __mpf_struct *mpf_srcptr;
+typedef __mpf_struct *mpf_ptr;
+typedef __gmp_const __mpq_struct *mpq_srcptr;
+typedef __mpq_struct *mpq_ptr;
+
+
+/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common
+   section. */
+#if __GMP_LIBGMP_DLL
+#if __GMP_WITHIN_GMPXX
+/* compiling to go into a DLL libgmpxx */
+#define __GMP_DECLSPEC_XX  __GMP_DECLSPEC_EXPORT
+#else
+/* compiling to go into a application which will link to a DLL libgmpxx */
+#define __GMP_DECLSPEC_XX  __GMP_DECLSPEC_IMPORT
+#endif
+#else
+/* all other cases */
+#define __GMP_DECLSPEC_XX
+#endif
+
+
+#if __GMP_HAVE_PROTOTYPES
+#define __GMP_PROTO(x) x
+#else
+#define __GMP_PROTO(x) ()
+#endif
+
+#ifndef __MPN
+#if __GMP_HAVE_TOKEN_PASTE
+#define __MPN(x) __gmpn_##x
+#else
+#define __MPN(x) __gmpn_/**/x
+#endif
+#endif
+
+/* For reference, "defined(EOF)" cannot be used here.  In g++ 2.95.4,
+   <iostream> defines EOF but not FILE.  */
+#if defined (FILE)                                              \
+  || defined (H_STDIO)                                          \
+  || defined (_H_STDIO)               /* AIX */                 \
+  || defined (_STDIO_H)               /* glibc, Sun, SCO */     \
+  || defined (_STDIO_H_)              /* BSD, OSF */            \
+  || defined (__STDIO_H)              /* Borland */             \
+  || defined (__STDIO_H__)            /* IRIX */                \
+  || defined (_STDIO_INCLUDED)        /* HPUX */                \
+  || defined (__dj_include_stdio_h_)  /* DJGPP */               \
+  || defined (_FILE_DEFINED)          /* Microsoft */           \
+  || defined (__STDIO__)              /* Apple MPW MrC */       \
+  || defined (_MSL_STDIO_H)           /* Metrowerks */          \
+  || defined (_STDIO_H_INCLUDED)      /* QNX4 */               \
+  || defined (_ISO_STDIO_ISO_H)       /* Sun C++ */
+#define _GMP_H_HAVE_FILE 1
+#endif
+
+/* In ISO C, if a prototype involving "struct obstack *" is given without
+   that structure defined, then the struct is scoped down to just the
+   prototype, causing a conflict if it's subsequently defined for real.  So
+   only give prototypes if we've got obstack.h.  */
+#if defined (_OBSTACK_H)   /* glibc <obstack.h> */
+#define _GMP_H_HAVE_OBSTACK 1
+#endif
+
+/* The prototypes for gmp_vprintf etc are provided only if va_list is
+   available, via an application having included <stdarg.h> or <varargs.h>.
+   Usually va_list is a typedef so can't be tested directly, but C99
+   specifies that va_start is a macro (and it was normally a macro on past
+   systems too), so look for that.
+
+   <stdio.h> will define some sort of va_list for vprintf and vfprintf, but
+   let's not bother trying to use that since it's not standard and since
+   application uses for gmp_vprintf etc will almost certainly require the
+   whole <stdarg.h> or <varargs.h> anyway.  */
+
+#ifdef va_start
+#define _GMP_H_HAVE_VA_LIST 1
+#endif
+
+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
+#define __GMP_GNUC_PREREQ(maj, min) \
+  ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+#define __GMP_GNUC_PREREQ(maj, min)  0
+#endif
+
+/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes".  Basically
+   it means a function does nothing but examine its arguments and memory
+   (global or via arguments) to generate a return value, but changes nothing
+   and has no side-effects.  __GMP_NO_ATTRIBUTE_CONST_PURE lets
+   tune/common.c etc turn this off when trying to write timing loops.  */
+#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE)
+#define __GMP_ATTRIBUTE_PURE   __attribute__ ((__pure__))
+#else
+#define __GMP_ATTRIBUTE_PURE
+#endif
+
+
+/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean
+   to "g++ -Wold-style-cast".
+
+   Casts in "extern inline" code within an extern "C" block don't induce
+   these warnings, so __GMP_CAST only needs to be used on documented
+   macros.  */
+
+#ifdef __cplusplus
+#define __GMP_CAST(type, expr)  (static_cast<type> (expr))
+#else
+#define __GMP_CAST(type, expr)  ((type) (expr))
+#endif
+
+
+/* An empty "throw ()" means the function doesn't throw any C++ exceptions,
+   this can save some stack frame info in applications.
+
+   Currently it's given only on functions which never divide-by-zero etc,
+   don't allocate memory, and are expected to never need to allocate memory.
+   This leaves open the possibility of a C++ throw from a future GMP
+   exceptions scheme.
+
+   mpz_set_ui etc are omitted to leave open the lazy allocation scheme
+   described in doc/tasks.html.  mpz_get_d etc are omitted to leave open
+   exceptions for float overflows.
+
+   Note that __GMP_NOTHROW must be given on any inlines the same as on their
+   prototypes (for g++ at least, where they're used together).  Note also
+   that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like
+   __GMP_ATTRIBUTE_PURE.  */
+
+#if defined (__cplusplus)
+#define __GMP_NOTHROW  throw ()
+#else
+#define __GMP_NOTHROW
+#endif
+
+
+/* PORTME: What other compilers have a useful "extern inline"?  "static
+   inline" would be an acceptable substitute if the compiler (or linker)
+   discards unused statics.  */
+
+ /* gcc has __inline__ in all modes, including strict ansi.  Give a prototype
+    for an inline too, so as to correctly specify "dllimport" on windows, in
+    case the function is called rather than inlined.
+    GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+    inline semantics, unless -fgnu89-inline is used.  */
+#ifdef __GNUC__
+#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2)
+#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__))
+#else
+#define __GMP_EXTERN_INLINE      extern __inline__
+#endif
+#define __GMP_INLINE_PROTOTYPES  1
+#endif
+
+/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1
+   strict ANSI mode.  Inlining is done even when not optimizing (ie. -O0
+   mode, which is the default), but an unnecessary local copy of foo is
+   emitted unless -O is used.  "extern __inline" is accepted, but the
+   "extern" appears to be ignored, ie. it becomes a plain global function
+   but which is inlined within its file.  Don't know if all old versions of
+   DEC C supported __inline, but as a start let's do the right thing for
+   current versions.  */
+#ifdef __DECC
+#define __GMP_EXTERN_INLINE  static __inline
+#endif
+
+/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict
+   ANSI mode (__STDC__ is 1 in that mode).  Inlining only actually takes
+   place under -O.  Without -O "foo" seems to be emitted whether it's used
+   or not, which is wasteful.  "extern inline foo()" isn't useful, the
+   "extern" is apparently ignored, so foo is inlined if possible but also
+   emitted as a global, which causes multiple definition errors when
+   building a shared libgmp.  */
+#ifdef __SCO_VERSION__
+#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \
+  && ! defined (__GMP_EXTERN_INLINE)
+#define __GMP_EXTERN_INLINE  static inline
+#endif
+#endif
+
+/* Microsoft's C compiler accepts __inline */
+#ifdef _MSC_VER
+#define __GMP_EXTERN_INLINE  __inline
+#endif
+
+/* Recent enough Sun C compilers want "inline" */
+#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \
+  && ! defined (__GMP_EXTERN_INLINE)
+#define __GMP_EXTERN_INLINE  inline
+#endif
+
+/* Somewhat older Sun C compilers want "static inline" */
+#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \
+  && ! defined (__GMP_EXTERN_INLINE)
+#define __GMP_EXTERN_INLINE  static inline
+#endif
+
+
+/* C++ always has "inline" and since it's a normal feature the linker should
+   discard duplicate non-inlined copies, or if it doesn't then that's a
+   problem for everyone, not just GMP.  */
+#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE)
+#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.  */
+#ifdef __GMP_EXTERN_INLINE
+#ifndef __GMP_INLINE_PROTOTYPES
+#define __GMP_INLINE_PROTOTYPES  0
+#endif
+#else
+#define __GMP_INLINE_PROTOTYPES  1
+#endif
+
+
+#define __GMP_ABS(x)   ((x) >= 0 ? (x) : -(x))
+#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i))
+
+/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted
+   to int by "~".  */
+#define __GMP_UINT_MAX   (~ (unsigned) 0)
+#define __GMP_ULONG_MAX  (~ (unsigned long) 0)
+#define __GMP_USHRT_MAX  ((unsigned short) ~0)
+
+
+/* __builtin_expect is in gcc 3.0, and not in 2.95. */
+#if __GMP_GNUC_PREREQ (3,0)
+#define __GMP_LIKELY(cond)    __builtin_expect ((cond) != 0, 1)
+#define __GMP_UNLIKELY(cond)  __builtin_expect ((cond) != 0, 0)
+#else
+#define __GMP_LIKELY(cond)    (cond)
+#define __GMP_UNLIKELY(cond)  (cond)
+#endif
+
+#ifdef _CRAY
+#define __GMP_CRAY_Pragma(str)  _Pragma (str)
+#else
+#define __GMP_CRAY_Pragma(str)
+#endif
+
+
+/* Allow direct user access to numerator and denominator of a mpq_t object.  */
+#define mpq_numref(Q) (&((Q)->_mp_num))
+#define mpq_denref(Q) (&((Q)->_mp_den))
+
+
+#if defined (__cplusplus)
+extern "C" {
+using std::FILE;
+#endif
+
+#define mp_set_memory_functions __gmp_set_memory_functions
+__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t),
+                                     void *(*) (void *, size_t, size_t),
+                                     void (*) (void *, size_t))) __GMP_NOTHROW;
+
+#define mp_get_memory_functions __gmp_get_memory_functions
+__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t),
+                                      void *(**) (void *, size_t, size_t),
+                                      void (**) (void *, size_t))) __GMP_NOTHROW;
+
+#define mp_bits_per_limb __gmp_bits_per_limb
+__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb;
+
+#define gmp_errno __gmp_errno
+__GMP_DECLSPEC extern int gmp_errno;
+
+#define gmp_version __gmp_version
+__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version;
+
+
+/**************** Random number routines.  ****************/
+
+/* obsolete */
+#define gmp_randinit __gmp_randinit
+__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...));
+
+#define gmp_randinit_default __gmp_randinit_default
+__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t));
+
+#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp
+__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t,
+                                                      mpz_srcptr, unsigned long int,
+                                                      mp_bitcnt_t));
+
+#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size
+__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t));
+
+#define gmp_randinit_mt __gmp_randinit_mt
+__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t));
+
+#define gmp_randinit_set __gmp_randinit_set
+__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *));
+
+#define gmp_randseed __gmp_randseed
+__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr));
+
+#define gmp_randseed_ui __gmp_randseed_ui
+__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int));
+
+#define gmp_randclear __gmp_randclear
+__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t));
+
+#define gmp_urandomb_ui __gmp_urandomb_ui
+__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long));
+
+#define gmp_urandomm_ui __gmp_urandomm_ui
+__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long));
+
+
+/**************** Formatted output routines.  ****************/
+
+#define gmp_asprintf __gmp_asprintf
+__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...));
+
+#define gmp_fprintf __gmp_fprintf
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...));
+#endif
+
+#define gmp_obstack_printf __gmp_obstack_printf
+#if defined (_GMP_H_HAVE_OBSTACK)
+__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...));
+#endif
+
+#define gmp_obstack_vprintf __gmp_obstack_vprintf
+#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list));
+#endif
+
+#define gmp_printf __gmp_printf
+__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...));
+
+#define gmp_snprintf __gmp_snprintf
+__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...));
+
+#define gmp_sprintf __gmp_sprintf
+__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...));
+
+#define gmp_vasprintf __gmp_vasprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vfprintf __gmp_vfprintf
+#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vprintf __gmp_vprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list));
+#endif
+
+#define gmp_vsnprintf __gmp_vsnprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vsprintf __gmp_vsprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list));
+#endif
+
+
+/**************** Formatted input routines.  ****************/
+
+#define gmp_fscanf __gmp_fscanf
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...));
+#endif
+
+#define gmp_scanf __gmp_scanf
+__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...));
+
+#define gmp_sscanf __gmp_sscanf
+__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...));
+
+#define gmp_vfscanf __gmp_vfscanf
+#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vscanf __gmp_vscanf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list));
+#endif
+
+#define gmp_vsscanf __gmp_vsscanf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list));
+#endif
+
+
+/**************** Integer (i.e. Z) routines.  ****************/
+
+#define _mpz_realloc __gmpz_realloc
+#define mpz_realloc __gmpz_realloc
+__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t));
+
+#define mpz_abs __gmpz_abs
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs)
+__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+#endif
+
+#define mpz_add __gmpz_add
+__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_add_ui __gmpz_add_ui
+__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_addmul __gmpz_addmul
+__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_addmul_ui __gmpz_addmul_ui
+__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_and __gmpz_and
+__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_array_init __gmpz_array_init
+__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t));
+
+#define mpz_bin_ui __gmpz_bin_ui
+__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_bin_uiui __gmpz_bin_uiui
+__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int));
+
+#define mpz_cdiv_q __gmpz_cdiv_q
+__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp
+__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_cdiv_qr __gmpz_cdiv_qr
+__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_cdiv_r __gmpz_cdiv_r
+__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp
+__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_cdiv_ui __gmpz_cdiv_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_clear __gmpz_clear
+__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr));
+
+#define mpz_clears __gmpz_clears
+__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...));
+
+#define mpz_clrbit __gmpz_clrbit
+__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_cmp __gmpz_cmp
+__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmp_d __gmpz_cmp_d
+__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE;
+
+#define _mpz_cmp_si __gmpz_cmp_si
+__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define _mpz_cmp_ui __gmpz_cmp_ui
+__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmpabs __gmpz_cmpabs
+__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmpabs_d __gmpz_cmpabs_d
+__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmpabs_ui __gmpz_cmpabs_ui
+__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_com __gmpz_com
+__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_combit __gmpz_combit
+__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_congruent_p __gmpz_congruent_p
+__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p
+__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_congruent_ui_p __gmpz_congruent_ui_p
+__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_divexact __gmpz_divexact
+__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_divexact_ui __gmpz_divexact_ui
+__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long));
+
+#define mpz_divisible_p __gmpz_divisible_p
+__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_divisible_ui_p __gmpz_divisible_ui_p
+__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p
+__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_dump __gmpz_dump
+__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));
+
+#define mpz_fac_ui __gmpz_fac_ui
+__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_fdiv_q __gmpz_fdiv_q
+__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp
+__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_fdiv_qr __gmpz_fdiv_qr
+__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_fdiv_r __gmpz_fdiv_r
+__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp
+__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_fdiv_ui __gmpz_fdiv_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fib_ui __gmpz_fib_ui
+__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_fib2_ui __gmpz_fib2_ui
+__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int));
+
+#define mpz_fits_sint_p __gmpz_fits_sint_p
+__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fits_slong_p __gmpz_fits_slong_p
+__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fits_sshort_p __gmpz_fits_sshort_p
+__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fits_uint_p __gmpz_fits_uint_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p)
+__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_fits_ulong_p __gmpz_fits_ulong_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p)
+__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_fits_ushort_p __gmpz_fits_ushort_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p)
+__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_gcd __gmpz_gcd
+__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_gcd_ui __gmpz_gcd_ui
+__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_gcdext __gmpz_gcdext
+__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_get_d __gmpz_get_d
+__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_get_d_2exp __gmpz_get_d_2exp
+__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr));
+
+#define mpz_get_si __gmpz_get_si
+__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_get_str __gmpz_get_str
+__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr));
+
+#define mpz_get_ui __gmpz_get_ui
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui)
+__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_getlimbn __gmpz_getlimbn
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn)
+__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_hamdist __gmpz_hamdist
+__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_import __gmpz_import
+__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *));
+
+#define mpz_init __gmpz_init
+__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr));
+
+#define mpz_init2 __gmpz_init2
+__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_inits __gmpz_inits
+__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...));
+
+#define mpz_init_set __gmpz_init_set
+__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_init_set_d __gmpz_init_set_d
+__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double));
+
+#define mpz_init_set_si __gmpz_init_set_si
+__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int));
+
+#define mpz_init_set_str __gmpz_init_set_str
+__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int));
+
+#define mpz_init_set_ui __gmpz_init_set_ui
+__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_inp_raw __gmpz_inp_raw
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *));
+#endif
+
+#define mpz_inp_str __gmpz_inp_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int));
+#endif
+
+#define mpz_invert __gmpz_invert
+__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_ior __gmpz_ior
+__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_jacobi __gmpz_jacobi
+__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_kronecker mpz_jacobi  /* alias */
+
+#define mpz_kronecker_si __gmpz_kronecker_si
+__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_kronecker_ui __gmpz_kronecker_ui
+__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_si_kronecker __gmpz_si_kronecker
+__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_ui_kronecker __gmpz_ui_kronecker
+__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_lcm __gmpz_lcm
+__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_lcm_ui __gmpz_lcm_ui
+__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long));
+
+#define mpz_legendre mpz_jacobi  /* alias */
+
+#define mpz_lucnum_ui __gmpz_lucnum_ui
+__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_lucnum2_ui __gmpz_lucnum2_ui
+__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int));
+
+#define mpz_millerrabin __gmpz_millerrabin
+__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_mod __gmpz_mod
+__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */
+
+#define mpz_mul __gmpz_mul
+__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_mul_2exp __gmpz_mul_2exp
+__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_mul_si __gmpz_mul_si
+__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int));
+
+#define mpz_mul_ui __gmpz_mul_ui
+__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_neg __gmpz_neg
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg)
+__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+#endif
+
+#define mpz_nextprime __gmpz_nextprime
+__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_out_raw __gmpz_out_raw
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr));
+#endif
+
+#define mpz_out_str __gmpz_out_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr));
+#endif
+
+#define mpz_perfect_power_p __gmpz_perfect_power_p
+__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_perfect_square_p __gmpz_perfect_square_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p)
+__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_popcount __gmpz_popcount
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount)
+__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_pow_ui __gmpz_pow_ui
+__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_powm __gmpz_powm
+__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_powm_sec __gmpz_powm_sec
+__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_powm_ui __gmpz_powm_ui
+__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr));
+
+#define mpz_probab_prime_p __gmpz_probab_prime_p
+__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_random __gmpz_random
+__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t));
+
+#define mpz_random2 __gmpz_random2
+__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t));
+
+#define mpz_realloc2 __gmpz_realloc2
+__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_remove __gmpz_remove
+__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_root __gmpz_root
+__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_rootrem __gmpz_rootrem
+__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_rrandomb __gmpz_rrandomb
+__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t));
+
+#define mpz_scan0 __gmpz_scan0
+__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_scan1 __gmpz_scan1
+__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_set __gmpz_set
+__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_set_d __gmpz_set_d
+__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double));
+
+#define mpz_set_f __gmpz_set_f
+__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr));
+
+#define mpz_set_q __gmpz_set_q
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q)
+__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr));
+#endif
+
+#define mpz_set_si __gmpz_set_si
+__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int));
+
+#define mpz_set_str __gmpz_set_str
+__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int));
+
+#define mpz_set_ui __gmpz_set_ui
+__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_setbit __gmpz_setbit
+__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_size __gmpz_size
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size)
+__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_sizeinbase __gmpz_sizeinbase
+__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_sqrt __gmpz_sqrt
+__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_sqrtrem __gmpz_sqrtrem
+__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr));
+
+#define mpz_sub __gmpz_sub
+__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_sub_ui __gmpz_sub_ui
+__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_ui_sub __gmpz_ui_sub
+__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr));
+
+#define mpz_submul __gmpz_submul
+__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_submul_ui __gmpz_submul_ui
+__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_swap __gmpz_swap
+__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW;
+
+#define mpz_tdiv_ui __gmpz_tdiv_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_tdiv_q __gmpz_tdiv_q
+__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp
+__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_tdiv_qr __gmpz_tdiv_qr
+__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_tdiv_r __gmpz_tdiv_r
+__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp
+__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_tstbit __gmpz_tstbit
+__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_ui_pow_ui __gmpz_ui_pow_ui
+__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int));
+
+#define mpz_urandomb __gmpz_urandomb
+__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t));
+
+#define mpz_urandomm __gmpz_urandomm
+__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr));
+
+#define mpz_xor __gmpz_xor
+#define mpz_eor __gmpz_xor
+__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+
+/**************** Rational (i.e. Q) routines.  ****************/
+
+#define mpq_abs __gmpq_abs
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs)
+__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+#endif
+
+#define mpq_add __gmpq_add
+__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_canonicalize __gmpq_canonicalize
+__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr));
+
+#define mpq_clear __gmpq_clear
+__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr));
+
+#define mpq_clears __gmpq_clears
+__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...));
+
+#define mpq_cmp __gmpq_cmp
+__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define _mpq_cmp_si __gmpq_cmp_si
+__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define _mpq_cmp_ui __gmpq_cmp_ui
+__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpq_div __gmpq_div
+__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_div_2exp __gmpq_div_2exp
+__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t));
+
+#define mpq_equal __gmpq_equal
+__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpq_get_num __gmpq_get_num
+__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr));
+
+#define mpq_get_den __gmpq_get_den
+__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr));
+
+#define mpq_get_d __gmpq_get_d
+__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpq_get_str __gmpq_get_str
+__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr));
+
+#define mpq_init __gmpq_init
+__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr));
+
+#define mpq_inits __gmpq_inits
+__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...));
+
+#define mpq_inp_str __gmpq_inp_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int));
+#endif
+
+#define mpq_inv __gmpq_inv
+__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+
+#define mpq_mul __gmpq_mul
+__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_mul_2exp __gmpq_mul_2exp
+__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t));
+
+#define mpq_neg __gmpq_neg
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg)
+__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+#endif
+
+#define mpq_out_str __gmpq_out_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr));
+#endif
+
+#define mpq_set __gmpq_set
+__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+
+#define mpq_set_d __gmpq_set_d
+__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double));
+
+#define mpq_set_den __gmpq_set_den
+__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr));
+
+#define mpq_set_f __gmpq_set_f
+__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr));
+
+#define mpq_set_num __gmpq_set_num
+__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr));
+
+#define mpq_set_si __gmpq_set_si
+__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int));
+
+#define mpq_set_str __gmpq_set_str
+__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int));
+
+#define mpq_set_ui __gmpq_set_ui
+__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int));
+
+#define mpq_set_z __gmpq_set_z
+__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr));
+
+#define mpq_sub __gmpq_sub
+__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_swap __gmpq_swap
+__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW;
+
+
+/**************** Float (i.e. F) routines.  ****************/
+
+#define mpf_abs __gmpf_abs
+__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_add __gmpf_add
+__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_add_ui __gmpf_add_ui
+__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+#define mpf_ceil __gmpf_ceil
+__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_clear __gmpf_clear
+__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr));
+
+#define mpf_clears __gmpf_clears
+__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...));
+
+#define mpf_cmp __gmpf_cmp
+__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_cmp_d __gmpf_cmp_d
+__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE;
+
+#define mpf_cmp_si __gmpf_cmp_si
+__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_cmp_ui __gmpf_cmp_ui
+__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_div __gmpf_div
+__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_div_2exp __gmpf_div_2exp
+__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t));
+
+#define mpf_div_ui __gmpf_div_ui
+__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_dump __gmpf_dump
+__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr));
+
+#define mpf_eq __gmpf_eq
+__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_sint_p __gmpf_fits_sint_p
+__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_slong_p __gmpf_fits_slong_p
+__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_sshort_p __gmpf_fits_sshort_p
+__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_uint_p __gmpf_fits_uint_p
+__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_ulong_p __gmpf_fits_ulong_p
+__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_ushort_p __gmpf_fits_ushort_p
+__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_floor __gmpf_floor
+__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_get_d __gmpf_get_d
+__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_d_2exp __gmpf_get_d_2exp
+__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr));
+
+#define mpf_get_default_prec __gmpf_get_default_prec
+__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_prec __gmpf_get_prec
+__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_si __gmpf_get_si
+__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_str __gmpf_get_str
+__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr));
+
+#define mpf_get_ui __gmpf_get_ui
+__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_init __gmpf_init
+__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr));
+
+#define mpf_init2 __gmpf_init2
+__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t));
+
+#define mpf_inits __gmpf_inits
+__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...));
+
+#define mpf_init_set __gmpf_init_set
+__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_init_set_d __gmpf_init_set_d
+__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double));
+
+#define mpf_init_set_si __gmpf_init_set_si
+__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int));
+
+#define mpf_init_set_str __gmpf_init_set_str
+__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int));
+
+#define mpf_init_set_ui __gmpf_init_set_ui
+__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int));
+
+#define mpf_inp_str __gmpf_inp_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int));
+#endif
+
+#define mpf_integer_p __gmpf_integer_p
+__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_mul __gmpf_mul
+__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_mul_2exp __gmpf_mul_2exp
+__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t));
+
+#define mpf_mul_ui __gmpf_mul_ui
+__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_neg __gmpf_neg
+__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_out_str __gmpf_out_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr));
+#endif
+
+#define mpf_pow_ui __gmpf_pow_ui
+__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_random2 __gmpf_random2
+__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t));
+
+#define mpf_reldiff __gmpf_reldiff
+__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_set __gmpf_set
+__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_set_d __gmpf_set_d
+__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double));
+
+#define mpf_set_default_prec __gmpf_set_default_prec
+__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW;
+
+#define mpf_set_prec __gmpf_set_prec
+__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t));
+
+#define mpf_set_prec_raw __gmpf_set_prec_raw
+__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW;
+
+#define mpf_set_q __gmpf_set_q
+__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr));
+
+#define mpf_set_si __gmpf_set_si
+__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int));
+
+#define mpf_set_str __gmpf_set_str
+__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int));
+
+#define mpf_set_ui __gmpf_set_ui
+__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int));
+
+#define mpf_set_z __gmpf_set_z
+__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr));
+
+#define mpf_size __gmpf_size
+__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_sqrt __gmpf_sqrt
+__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_sqrt_ui __gmpf_sqrt_ui
+__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int));
+
+#define mpf_sub __gmpf_sub
+__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_sub_ui __gmpf_sub_ui
+__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_swap __gmpf_swap
+__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW;
+
+#define mpf_trunc __gmpf_trunc
+__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_ui_div __gmpf_ui_div
+__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr));
+
+#define mpf_ui_sub __gmpf_ui_sub
+__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr));
+
+#define mpf_urandomb __gmpf_urandomb
+__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t));
+
+
+/************ Low level positive-integer (i.e. N) routines.  ************/
+
+/* This is ugly, but we need to make user calls reach the prefixed function. */
+
+#define mpn_add __MPN(add)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add)
+__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t));
+#endif
+
+#define mpn_add_1 __MPN(add_1)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1)
+__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW;
+#endif
+
+#define mpn_add_n __MPN(add_n)
+__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_addmul_1 __MPN(addmul_1)
+__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_cmp __MPN(cmp)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp)
+__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpn_divexact_by3(dst,src,size) \
+  mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0))
+
+#define mpn_divexact_by3c __MPN(divexact_by3c)
+__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_divmod_1(qp,np,nsize,dlimb) \
+  mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb)
+
+#define mpn_divrem __MPN(divrem)
+__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t));
+
+#define mpn_divrem_1 __MPN(divrem_1)
+__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_divrem_2 __MPN(divrem_2)
+__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr));
+
+#define mpn_gcd __MPN(gcd)
+__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t));
+
+#define mpn_gcd_1 __MPN(gcd_1)
+__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_gcdext_1 __MPN(gcdext_1)
+__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t));
+
+#define mpn_gcdext __MPN(gcdext)
+__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t));
+
+#define mpn_get_str __MPN(get_str)
+__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t));
+
+#define mpn_hamdist __MPN(hamdist)
+__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpn_lshift __MPN(lshift)
+__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));
+
+#define mpn_mod_1 __MPN(mod_1)
+__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_mul __MPN(mul)
+__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t));
+
+#define mpn_mul_1 __MPN(mul_1)
+__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_mul_n __MPN(mul_n)
+__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_sqr __MPN(sqr)
+__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+
+#define mpn_neg __MPN(neg)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg)
+__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#endif
+
+#define mpn_com __MPN(com)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com)
+__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#endif
+
+#define mpn_perfect_square_p __MPN(perfect_square_p)
+__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_perfect_power_p __MPN(perfect_power_p)
+__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_popcount __MPN(popcount)
+__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpn_pow_1 __MPN(pow_1)
+__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr));
+
+/* undocumented now, but retained here for upward compatibility */
+#define mpn_preinv_mod_1 __MPN(preinv_mod_1)
+__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_random __MPN(random)
+__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t));
+
+#define mpn_random2 __MPN(random2)
+__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t));
+
+#define mpn_rshift __MPN(rshift)
+__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));
+
+#define mpn_scan0 __MPN(scan0)
+__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_scan1 __MPN(scan1)
+__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_set_str __MPN(set_str)
+__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int));
+
+#define mpn_sqrtrem __MPN(sqrtrem)
+__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t));
+
+#define mpn_sub __MPN(sub)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub)
+__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t));
+#endif
+
+#define mpn_sub_1 __MPN(sub_1)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1)
+__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW;
+#endif
+
+#define mpn_sub_n __MPN(sub_n)
+__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_submul_1 __MPN(submul_1)
+__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_tdiv_qr __MPN(tdiv_qr)
+__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t));
+
+#define mpn_and_n __MPN(and_n)
+__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_andn_n __MPN(andn_n)
+__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_nand_n __MPN(nand_n)
+__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_ior_n __MPN(ior_n)
+__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_iorn_n __MPN(iorn_n)
+__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_nior_n __MPN(nior_n)
+__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_xor_n __MPN(xor_n)
+__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_xnor_n __MPN(xnor_n)
+__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_copyi __MPN(copyi)
+__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#define mpn_copyd __MPN(copyd)
+__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#define mpn_zero __MPN(zero)
+__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t));
+
+/**************** mpz inlines ****************/
+
+/* The following are provided as inlines where possible, but always exist as
+   library functions too, for binary compatibility.
+
+   Within gmp itself this inlining generally isn't relied on, since it
+   doesn't get done for all compilers, whereas if something is worth
+   inlining then it's worth arranging always.
+
+   There are two styles of inlining here.  When the same bit of code is
+   wanted for the inline as for the library version, then __GMP_FORCE_foo
+   arranges for that code to be emitted and the __GMP_EXTERN_INLINE
+   directive suppressed, eg. mpz_fits_uint_p.  When a different bit of code
+   is wanted for the inline than for the library version, then
+   __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs.  */
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs)
+__GMP_EXTERN_INLINE void
+mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u)
+{
+  if (__gmp_w != __gmp_u)
+    mpz_set (__gmp_w, __gmp_u);
+  __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size);
+}
+#endif
+
+#if GMP_NAIL_BITS == 0
+#define __GMPZ_FITS_UTYPE_P(z,maxval)                                  \
+  mp_size_t  __gmp_n = z->_mp_size;                                    \
+  mp_ptr  __gmp_p = z->_mp_d;                                          \
+  return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval));
+#else
+#define __GMPZ_FITS_UTYPE_P(z,maxval)                                  \
+  mp_size_t  __gmp_n = z->_mp_size;                                    \
+  mp_ptr  __gmp_p = z->_mp_d;                                          \
+  return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval)       \
+         || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS)));
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p)
+#if ! defined (__GMP_FORCE_mpz_fits_uint_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+  __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p)
+#if ! defined (__GMP_FORCE_mpz_fits_ulong_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+  __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p)
+#if ! defined (__GMP_FORCE_mpz_fits_ushort_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+  __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui)
+#if ! defined (__GMP_FORCE_mpz_get_ui)
+__GMP_EXTERN_INLINE
+#endif
+unsigned long
+mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+  mp_ptr __gmp_p = __gmp_z->_mp_d;
+  mp_size_t __gmp_n = __gmp_z->_mp_size;
+  mp_limb_t __gmp_l = __gmp_p[0];
+  /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings
+     about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland
+     C++ 6.0 warnings about condition always true for something like
+     "__GMP_ULONG_MAX < GMP_NUMB_MASK".  */
+#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB)
+  /* limb==long and no nails, or limb==longlong, one limb is enough */
+  return (__gmp_n != 0 ? __gmp_l : 0);
+#else
+  /* limb==long and nails, need two limbs when available */
+  __gmp_n = __GMP_ABS (__gmp_n);
+  if (__gmp_n <= 1)
+    return (__gmp_n != 0 ? __gmp_l : 0);
+  else
+    return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS);
+#endif
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn)
+#if ! defined (__GMP_FORCE_mpz_getlimbn)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW
+{
+  mp_limb_t  __gmp_result = 0;
+  if (__GMP_LIKELY (__gmp_n >= 0 && __gmp_n < __GMP_ABS (__gmp_z->_mp_size)))
+    __gmp_result = __gmp_z->_mp_d[__gmp_n];
+  return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg)
+__GMP_EXTERN_INLINE void
+mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u)
+{
+  if (__gmp_w != __gmp_u)
+    mpz_set (__gmp_w, __gmp_u);
+  __gmp_w->_mp_size = - __gmp_w->_mp_size;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p)
+#if ! defined (__GMP_FORCE_mpz_perfect_square_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_perfect_square_p (mpz_srcptr __gmp_a)
+{
+  mp_size_t __gmp_asize;
+  int       __gmp_result;
+
+  __gmp_asize = __gmp_a->_mp_size;
+  __gmp_result = (__gmp_asize >= 0);  /* zero is a square, negatives are not */
+  if (__GMP_LIKELY (__gmp_asize > 0))
+    __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize);
+  return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount)
+#if ! defined (__GMP_FORCE_mpz_popcount)
+__GMP_EXTERN_INLINE
+#endif
+mp_bitcnt_t
+mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW
+{
+  mp_size_t      __gmp_usize;
+  mp_bitcnt_t    __gmp_result;
+
+  __gmp_usize = __gmp_u->_mp_size;
+  __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0);
+  if (__GMP_LIKELY (__gmp_usize > 0))
+    __gmp_result =  mpn_popcount (__gmp_u->_mp_d, __gmp_usize);
+  return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q)
+#if ! defined (__GMP_FORCE_mpz_set_q)
+__GMP_EXTERN_INLINE
+#endif
+void
+mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u)
+{
+  mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u));
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size)
+#if ! defined (__GMP_FORCE_mpz_size)
+__GMP_EXTERN_INLINE
+#endif
+size_t
+mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+  return __GMP_ABS (__gmp_z->_mp_size);
+}
+#endif
+
+
+/**************** mpq inlines ****************/
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs)
+__GMP_EXTERN_INLINE void
+mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u)
+{
+  if (__gmp_w != __gmp_u)
+    mpq_set (__gmp_w, __gmp_u);
+  __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg)
+__GMP_EXTERN_INLINE void
+mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u)
+{
+  if (__gmp_w != __gmp_u)
+    mpq_set (__gmp_w, __gmp_u);
+  __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size;
+}
+#endif
+
+
+/**************** mpn inlines ****************/
+
+/* The comments with __GMPN_ADD_1 below apply here too.
+
+   The test for FUNCTION returning 0 should predict well.  If it's assumed
+   {yp,ysize} will usually have a random number of bits then the high limb
+   won't be full and a carry out will occur a good deal less than 50% of the
+   time.
+
+   ysize==0 isn't a documented feature, but is used internally in a few
+   places.
+
+   Producing cout last stops it using up a register during the main part of
+   the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))"
+   doesn't seem able to move the true and false legs of the conditional up
+   to the two places cout is generated.  */
+
+#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST)     \
+  do {                                                                  \
+    mp_size_t  __gmp_i;                                                 \
+    mp_limb_t  __gmp_x;                                                 \
+                                                                        \
+    /* ASSERT ((ysize) >= 0); */                                        \
+    /* ASSERT ((xsize) >= (ysize)); */                                  \
+    /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, xp, xsize)); */      \
+    /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, yp, ysize)); */      \
+                                                                        \
+    __gmp_i = (ysize);                                                  \
+    if (__gmp_i != 0)                                                   \
+      {                                                                 \
+        if (FUNCTION (wp, xp, yp, __gmp_i))                             \
+          {                                                             \
+            do                                                          \
+              {                                                         \
+                if (__gmp_i >= (xsize))                                 \
+                  {                                                     \
+                    (cout) = 1;                                         \
+                    goto __gmp_done;                                    \
+                  }                                                     \
+                __gmp_x = (xp)[__gmp_i];                                \
+              }                                                         \
+            while (TEST);                                               \
+          }                                                             \
+      }                                                                 \
+    if ((wp) != (xp))                                                   \
+      __GMPN_COPY_REST (wp, xp, xsize, __gmp_i);                        \
+    (cout) = 0;                                                         \
+  __gmp_done:                                                           \
+    ;                                                                   \
+  } while (0)
+
+#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize)              \
+  __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n,       \
+               (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0))
+#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize)              \
+  __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n,       \
+               (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0))
+
+
+/* The use of __gmp_i indexing is designed to ensure a compile time src==dst
+   remains nice and clear to the compiler, so that __GMPN_COPY_REST can
+   disappear, and the load/add/store gets a chance to become a
+   read-modify-write on CISC CPUs.
+
+   Alternatives:
+
+   Using a pair of pointers instead of indexing would be possible, but gcc
+   isn't able to recognise compile-time src==dst in that case, even when the
+   pointers are incremented more or less together.  Other compilers would
+   very likely have similar difficulty.
+
+   gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or
+   similar to detect a compile-time src==dst.  This works nicely on gcc
+   2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems
+   to be always false, for a pointer p.  But the current code form seems
+   good enough for src==dst anyway.
+
+   gcc on x86 as usual doesn't give particularly good flags handling for the
+   carry/borrow detection.  It's tempting to want some multi instruction asm
+   blocks to help it, and this was tried, but in truth there's only a few
+   instructions to save and any gain is all too easily lost by register
+   juggling setting up for the asm.  */
+
+#if GMP_NAIL_BITS == 0
+#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB)            \
+  do {                                                         \
+    mp_size_t  __gmp_i;                                                \
+    mp_limb_t  __gmp_x, __gmp_r;                                \
+                                                               \
+    /* ASSERT ((n) >= 1); */                                   \
+    /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */       \
+                                                               \
+    __gmp_x = (src)[0];                                                \
+    __gmp_r = __gmp_x OP (v);                                   \
+    (dst)[0] = __gmp_r;                                                \
+    if (CB (__gmp_r, __gmp_x, (v)))                             \
+      {                                                                \
+       (cout) = 1;                                             \
+       for (__gmp_i = 1; __gmp_i < (n);)                       \
+         {                                                     \
+           __gmp_x = (src)[__gmp_i];                           \
+           __gmp_r = __gmp_x OP 1;                             \
+           (dst)[__gmp_i] = __gmp_r;                           \
+           ++__gmp_i;                                          \
+           if (!CB (__gmp_r, __gmp_x, 1))                      \
+             {                                                 \
+               if ((src) != (dst))                             \
+                 __GMPN_COPY_REST (dst, src, n, __gmp_i);      \
+               (cout) = 0;                                     \
+               break;                                          \
+             }                                                 \
+         }                                                     \
+      }                                                                \
+    else                                                       \
+      {                                                                \
+       if ((src) != (dst))                                     \
+         __GMPN_COPY_REST (dst, src, n, 1);                    \
+       (cout) = 0;                                             \
+      }                                                                \
+  } while (0)
+#endif
+
+#if GMP_NAIL_BITS >= 1
+#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB)            \
+  do {                                                         \
+    mp_size_t  __gmp_i;                                                \
+    mp_limb_t  __gmp_x, __gmp_r;                               \
+                                                               \
+    /* ASSERT ((n) >= 1); */                                   \
+    /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */       \
+                                                               \
+    __gmp_x = (src)[0];                                                \
+    __gmp_r = __gmp_x OP (v);                                  \
+    (dst)[0] = __gmp_r & GMP_NUMB_MASK;                                \
+    if (__gmp_r >> GMP_NUMB_BITS != 0)                         \
+      {                                                                \
+       (cout) = 1;                                             \
+       for (__gmp_i = 1; __gmp_i < (n);)                       \
+         {                                                     \
+           __gmp_x = (src)[__gmp_i];                           \
+           __gmp_r = __gmp_x OP 1;                             \
+           (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK;           \
+           ++__gmp_i;                                          \
+           if (__gmp_r >> GMP_NUMB_BITS == 0)                  \
+             {                                                 \
+               if ((src) != (dst))                             \
+                 __GMPN_COPY_REST (dst, src, n, __gmp_i);      \
+               (cout) = 0;                                     \
+               break;                                          \
+             }                                                 \
+         }                                                     \
+      }                                                                \
+    else                                                       \
+      {                                                                \
+       if ((src) != (dst))                                     \
+         __GMPN_COPY_REST (dst, src, n, 1);                    \
+       (cout) = 0;                                             \
+      }                                                                \
+  } while (0)
+#endif
+
+#define __GMPN_ADDCB(r,x,y) ((r) < (y))
+#define __GMPN_SUBCB(r,x,y) ((x) < (y))
+
+#define __GMPN_ADD_1(cout, dst, src, n, v)          \
+  __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB)
+#define __GMPN_SUB_1(cout, dst, src, n, v)          \
+  __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB)
+
+
+/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or
+   negative.  size==0 is allowed.  On random data usually only one limb will
+   need to be examined to get a result, so it's worth having it inline.  */
+#define __GMPN_CMP(result, xp, yp, size)                                \
+  do {                                                                  \
+    mp_size_t  __gmp_i;                                                 \
+    mp_limb_t  __gmp_x, __gmp_y;                                        \
+                                                                        \
+    /* ASSERT ((size) >= 0); */                                         \
+                                                                        \
+    (result) = 0;                                                       \
+    __gmp_i = (size);                                                   \
+    while (--__gmp_i >= 0)                                              \
+      {                                                                 \
+        __gmp_x = (xp)[__gmp_i];                                        \
+        __gmp_y = (yp)[__gmp_i];                                        \
+        if (__gmp_x != __gmp_y)                                         \
+          {                                                             \
+            /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */   \
+            (result) = (__gmp_x > __gmp_y ? 1 : -1);                    \
+            break;                                                      \
+          }                                                             \
+      }                                                                 \
+  } while (0)
+
+
+#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST)
+#define __GMPN_COPY_REST(dst, src, size, start)                 \
+  do {                                                          \
+    /* ASSERT ((start) >= 0); */                                \
+    /* ASSERT ((start) <= (size)); */                           \
+    __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \
+  } while (0)
+#endif
+
+/* Copy {src,size} to {dst,size}, starting at "start".  This is designed to
+   keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1,
+   __GMPN_ADD, etc.  */
+#if ! defined (__GMPN_COPY_REST)
+#define __GMPN_COPY_REST(dst, src, size, start)                 \
+  do {                                                          \
+    mp_size_t __gmp_j;                                          \
+    /* ASSERT ((size) >= 0); */                                 \
+    /* ASSERT ((start) >= 0); */                                \
+    /* ASSERT ((start) <= (size)); */                           \
+    /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */     \
+    __GMP_CRAY_Pragma ("_CRI ivdep");                           \
+    for (__gmp_j = (start); __gmp_j < (size); __gmp_j++)        \
+      (dst)[__gmp_j] = (src)[__gmp_j];                          \
+  } while (0)
+#endif
+
+/* Enhancement: Use some of the smarter code from gmp-impl.h.  Maybe use
+   mpn_copyi if there's a native version, and if we don't mind demanding
+   binary compatibility for it (on targets which use it).  */
+
+#if ! defined (__GMPN_COPY)
+#define __GMPN_COPY(dst, src, size)   __GMPN_COPY_REST (dst, src, size, 0)
+#endif
+
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add)
+#if ! defined (__GMP_FORCE_mpn_add)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize)
+{
+  mp_limb_t  __gmp_c;
+  __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize);
+  return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1)
+#if ! defined (__GMP_FORCE_mpn_add_1)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW
+{
+  mp_limb_t  __gmp_c;
+  __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n);
+  return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp)
+#if ! defined (__GMP_FORCE_mpn_cmp)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW
+{
+  int __gmp_result;
+  __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size);
+  return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub)
+#if ! defined (__GMP_FORCE_mpn_sub)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize)
+{
+  mp_limb_t  __gmp_c;
+  __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize);
+  return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1)
+#if ! defined (__GMP_FORCE_mpn_sub_1)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW
+{
+  mp_limb_t  __gmp_c;
+  __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n);
+  return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg)
+#if ! defined (__GMP_FORCE_mpn_neg)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n)
+{
+  mp_limb_t __gmp_ul, __gmp_cy;
+  __gmp_cy = 0;
+  do {
+      __gmp_ul = *__gmp_up++;
+      *__gmp_rp++ = -__gmp_ul - __gmp_cy;
+      __gmp_cy |= __gmp_ul != 0;
+  } while (--__gmp_n != 0);
+  return __gmp_cy;
+}
+#endif
+
+#if defined (__cplusplus)
+}
+#endif
+
+
+/* Allow faster testing for negative, zero, and positive.  */
+#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0)
+#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0)
+#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0)
+
+/* When using GCC, optimize certain common comparisons.  */
+#if defined (__GNUC__) && __GNUC__ >= 2
+#define mpz_cmp_ui(Z,UI) \
+  (__builtin_constant_p (UI) && (UI) == 0                              \
+   ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI))
+#define mpz_cmp_si(Z,SI) \
+  (__builtin_constant_p (SI) && (SI) == 0 ? mpz_sgn (Z)                        \
+   : __builtin_constant_p (SI) && (SI) > 0                             \
+    ? _mpz_cmp_ui (Z, __GMP_CAST (unsigned long int, SI))              \
+   : _mpz_cmp_si (Z,SI))
+#define mpq_cmp_ui(Q,NUI,DUI) \
+  (__builtin_constant_p (NUI) && (NUI) == 0                            \
+   ? mpq_sgn (Q) : _mpq_cmp_ui (Q,NUI,DUI))
+#define mpq_cmp_si(q,n,d)                       \
+  (__builtin_constant_p ((n) >= 0) && (n) >= 0  \
+   ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \
+   : _mpq_cmp_si (q, n, d))
+#else
+#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI)
+#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI)
+#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI)
+#define mpq_cmp_si(q,n,d)  _mpq_cmp_si(q,n,d)
+#endif
+
+
+/* Using "&" rather than "&&" means these can come out branch-free.  Every
+   mpz_t has at least one limb allocated, so fetching the low limb is always
+   allowed.  */
+#define mpz_odd_p(z)   (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0]))
+#define mpz_even_p(z)  (! mpz_odd_p (z))
+
+
+/**************** C++ routines ****************/
+
+#ifdef __cplusplus
+__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpz_srcptr);
+__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpq_srcptr);
+__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpf_srcptr);
+__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpz_ptr);
+__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpq_ptr);
+__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpf_ptr);
+#endif
+
+
+/* Source-level compatibility with GMP 2 and earlier. */
+#define mpn_divmod(qp,np,nsize,dp,dsize) \
+  mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize)
+
+/* Source-level compatibility with GMP 1.  */
+#define mpz_mdiv       mpz_fdiv_q
+#define mpz_mdivmod    mpz_fdiv_qr
+#define mpz_mmod       mpz_fdiv_r
+#define mpz_mdiv_ui    mpz_fdiv_q_ui
+#define mpz_mdivmod_ui(q,r,n,d) \
+  (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d))
+#define mpz_mmod_ui(r,n,d) \
+  (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d))
+
+/* Useful synonyms, but not quite compatible with GMP 1.  */
+#define mpz_div                mpz_fdiv_q
+#define mpz_divmod     mpz_fdiv_qr
+#define mpz_div_ui     mpz_fdiv_q_ui
+#define mpz_divmod_ui  mpz_fdiv_qr_ui
+#define mpz_div_2exp   mpz_fdiv_q_2exp
+#define mpz_mod_2exp   mpz_fdiv_r_2exp
+
+enum
+{
+  GMP_ERROR_NONE = 0,
+  GMP_ERROR_UNSUPPORTED_ARGUMENT = 1,
+  GMP_ERROR_DIVISION_BY_ZERO = 2,
+  GMP_ERROR_SQRT_OF_NEGATIVE = 4,
+  GMP_ERROR_INVALID_ARGUMENT = 8
+};
+
+/* Define CC and CFLAGS which were used to build this version of GMP */
+#define __GMP_CC "gcc -std=gnu99"
+#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer"
+
+/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */
+#define __GNU_MP_VERSION 5
+#define __GNU_MP_VERSION_MINOR 0
+#define __GNU_MP_VERSION_PATCHLEVEL 2
+#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL)
+
+#define __GMP_H__
+#endif /* __GMP_H__ */
diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h
new file mode 100644 (file)
index 0000000..516a47f
--- /dev/null
@@ -0,0 +1,164 @@
+/* mp-h.in -- Definitions for the GNU multiple precision library  -*-mode:c-*-
+   BSD mp compatible functions.
+
+Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software
+Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
+
+#ifndef __MP_H__
+
+
+/* The following (everything under ifndef __GNU_MP__) must be identical in
+   gmp.h and mp.h to allow both to be included in an application or during
+   the library build.  Use the t-gmp-mp-h.pl script to check.  */
+#ifndef __GNU_MP__
+#define __GNU_MP__ 5
+
+#define __need_size_t  /* tell gcc stddef.h we only want size_t */
+#if defined (__cplusplus)
+#include <cstddef>     /* for size_t */
+#else
+#include <stddef.h>    /* for size_t */
+#endif
+#undef __need_size_t
+
+/* The following instantiated by configure, for internal use only */
+#if ! defined (__GMP_WITHIN_CONFIGURE)
+/* #undef _LONG_LONG_LIMB */
+#define __GMP_LIBGMP_DLL  0
+#endif
+
+#if  defined (__STDC__)                                 \
+  || defined (__cplusplus)                              \
+  || defined (_AIX)                                     \
+  || defined (__DECC)                                   \
+  || (defined (__mips) && defined (_SYSTYPE_SVR4))      \
+  || defined (_MSC_VER)                                 \
+  || defined (_WIN32)
+#define __GMP_HAVE_CONST        1
+#define __GMP_HAVE_PROTOTYPES   1
+#define __GMP_HAVE_TOKEN_PASTE  1
+#else
+#define __GMP_HAVE_CONST        0
+#define __GMP_HAVE_PROTOTYPES   0
+#define __GMP_HAVE_TOKEN_PASTE  0
+#endif
+
+
+#if __GMP_HAVE_CONST
+#define __gmp_const   const
+#define __gmp_signed  signed
+#else
+#define __gmp_const
+#define __gmp_signed
+#endif
+
+#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
+#ifdef __WATCOMC__
+#define __GMP_DECLSPEC_EXPORT  __export
+#define __GMP_DECLSPEC_IMPORT  __import
+#endif
+#ifdef __IBMC__
+#define __GMP_DECLSPEC_EXPORT  _Export
+#define __GMP_DECLSPEC_IMPORT  _Import
+#endif
+
+#if __GMP_LIBGMP_DLL
+#if __GMP_WITHIN_GMP
+#define __GMP_DECLSPEC  __GMP_DECLSPEC_EXPORT
+#else
+#define __GMP_DECLSPEC  __GMP_DECLSPEC_IMPORT
+#endif
+#else
+#define __GMP_DECLSPEC
+#endif
+
+#ifdef __GMP_SHORT_LIMB
+typedef unsigned int           mp_limb_t;
+typedef int                    mp_limb_signed_t;
+#else
+#ifdef _LONG_LONG_LIMB
+typedef unsigned long long int mp_limb_t;
+typedef long long int          mp_limb_signed_t;
+#else
+typedef unsigned long int      mp_limb_t;
+typedef long int               mp_limb_signed_t;
+#endif
+#endif
+typedef unsigned long int      mp_bitcnt_t;
+
+typedef struct
+{
+  int _mp_alloc;               /* Number of *limbs* allocated and pointed
+                                  to by the _mp_d field.  */
+  int _mp_size;                        /* abs(_mp_size) is the number of limbs the
+                                  last field points to.  If _mp_size is
+                                  negative this is a negative number.  */
+  mp_limb_t *_mp_d;            /* Pointer to the limbs.  */
+} __mpz_struct;
+
+#endif /* __GNU_MP__ */
+
+/* User-visible types.  */
+typedef __mpz_struct MINT;
+
+
+#if __GMP_HAVE_PROTOTYPES
+#define __GMP_PROTO(x) x
+#else
+#define __GMP_PROTO(x) ()
+#endif
+
+#if defined (__cplusplus)
+extern "C" {
+#endif
+
+#define mp_set_memory_functions __gmp_set_memory_functions
+__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t),
+                                      void *(*) (void *, size_t, size_t),
+                                      void (*) (void *, size_t)));
+__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int));
+__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *));
+__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *));
+__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *));
+__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *));
+__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *));
+__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *));
+__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *));
+__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *));
+__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *));
+__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *));
+__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *));
+__GMP_DECLSPEC int  mcmp __GMP_PROTO ((const MINT *, const MINT *));
+__GMP_DECLSPEC void min __GMP_PROTO ((MINT *));
+__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *));
+__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *));
+__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *));
+
+#if defined (__cplusplus)
+}
+#endif
+
+#define __MP_H__
+#endif /* __MP_H__ */
index 87b1179dc5d37f42eab6afa41c95c78f8f831c0e..eeccc41c6bfdf64c3484b5fe3f7de6d1cb623875 100644 (file)
@@ -97,7 +97,10 @@ SUBDIR+=     ../external/public-domain/xz/lib
 #SUBDIR+=      ../external/gpl3/gcc/lib/libobjc
 #SUBDIR+=      ../external/gpl3/gcc/lib/libgomp
 . endif
-. if ${HAVE_GCC} >= 45 && !defined(MLIBDIR) && !defined(__MINIX)
+# LSC: Replaced __MINIX test with MKGCCCMDS, as we do not want gcc by default
+#      nor the libraries, but we still want toretain the possibility of 
+#      installing GCC from the base system.
+. if ${HAVE_GCC} >= 45 && !defined(MLIBDIR) && ${MKGCCCMDS} == "yes"
 # Should probably move GMP, MPFR and MPC builds into the GCC >= 4.5
 # specific build area, but we get better parallelism this way.
 SUBDIR+=       ../external/lgpl3/gmp/lib/libgmp
@@ -152,6 +155,7 @@ SUBDIR+=    ../external/gpl3/binutils/lib   # libbfd depends on libz
 .endif
 
 .if (${MKGCC} != "no" && ${MKCXX} != "no")
+.if (defined(__MINIX) && ${MKGCCCMDS} == "yes")
 . if ${HAVE_GCC} == 4
 SUBDIR+=       ../gnu/lib/libstdc++-v3_4       # depends on libm
 SUBDIR+=       ../gnu/lib/libsupc++4
@@ -159,6 +163,7 @@ SUBDIR+=    ../gnu/lib/libsupc++4
 #SUBDIR+=      ../external/gpl3/gcc/lib/libstdc++-v3
 #SUBDIR+=      ../external/gpl3/gcc/lib/libsupc++
 . endif
+.endif # (defined(__MINIX) && ${MKGCCCMDS} == "yes")
 .endif
 
 #==================== 2nd library dependency barrier ====================
index 67a87203123596b1794b0a778cf7838bd9c4282c..5c964807fa80192044444fd7c861a7d23e8bea6f 100644 (file)
@@ -37,14 +37,15 @@ STRONG_ALIAS(_start,__start)
 
 _ENTRY(__start)
 #ifdef __minix
-        mov     r5, r2          /* cleanup */
-        mov     r4, r1          /* obj_main */
-        mov     r3, r0          /* ps_strings */
-        /* Get argc, argv, and envp from stack */
-        ldr     r0, [sp, #0x0000]
-        add     r1, sp, #0x0004
-        add     r2, r1, r0, lsl #2
-        add     r2, r2, #0x0004
+       mov     r3, r2          /* cleanup */
+       mov     r4, r1          /* obj_main */
+       and     r5, r5, #0      /* ps_strings, always NULL on MINIX */
+
+       /* Get argc, argv, and envp from stack */
+       ldr     r0, [sp, #0]    /* get argc */
+       add     r1, sp, #4      /* argv = sp + 4 */
+       add     r2, r1, r0, lsl #2      /* envp = argv + argc*4 */
+       add     r2, r2, #4      /* skip NULL terminator */
 #else
        /*
         * We need to swap ps_strings and cleanup
@@ -57,10 +58,10 @@ _ENTRY(__start)
        bic     sp, sp, #7
 
 #ifdef __minix
-       /* Store argc and argv on the stack */
-        sub     sp, sp, #8
-        str     r5, [sp, #4]
-        str     r4, [sp, #0]
+       /* Store obj and ps_strings on the stack */
+       sub     sp, sp, #8
+       str     r5, [sp, #4]
+       str     r4, [sp, #0]
 #endif
        /*
         * void ___start(void (*cleanup)(void),
index 49c0856847e3747c2b49a6b5ef1ce70597cab513..4918c9803ec64a9388a6151c8eda5311d6ed582e 100644 (file)
@@ -143,6 +143,8 @@ ___start(void (*cleanup)(void),                     /* from shared loader */
        struct ps_strings minix_ps_strings;
 
        if (ps_strings == NULL) {
+               memset(&minix_ps_strings, 0, sizeof(minix_ps_strings));
+
                minix_ps_strings.ps_envstr = envp;
                minix_ps_strings.ps_argvstr = argv;
                minix_ps_strings.ps_nargvstr = argc;
index e6d49ea29b224b64702340cafc6190a61ff0518f..1f5029d7883eed1ab71559ab34927b90a62da929 100644 (file)
@@ -104,7 +104,7 @@ WARNS?=4
 .endif
 
 WARNS?=4
-#i LSC MINIX, do not compile yet with -Werror... 
+# LSC MINIX, do not compile yet with -Werror...
 NOGCCERROR=yes
 
 .PATH: ${.CURDIR}/man
index 5b305ffac607b3ccda8f39b549abbda2d6ae68ef..4471adde9e615ac014ec9d956d738c17be399ebd 100644 (file)
@@ -11,7 +11,11 @@ SRCS+= casin.c cacos.c catan.c casinh.c cacosh.c catanh.c
 SRCS+= csqrtf.c cexpf.c clogf.c cpowf.c
 SRCS+= cephes_subrf.c csinf.c ccosf.c ctanf.c csinhf.c ccoshf.c ctanhf.c
 SRCS+= casinf.c cacosf.c catanf.c casinhf.c cacoshf.c catanhf.c
+.if defined(__MINIX)
+SRCS+= cproj.c cprojf.c
+.else
 SRCS+= cproj.c cprojf.c cprojl.c
+.endif # defined(__MINIX)
 
 MAN+= cabs.3 cacos.3 cacosh.3 carg.3 casin.3 casinh.3 catan.3 catanh.3
 MAN+= ccos.3 ccosh.3 cexp.3 cimag.3 clog.3 conj.3 cpow.3 cproj.3 creal.3
index 228425121817f24596db23bb70505ebb30528a6f..52d79cbbed247c94ad9a0bdba0d9ed51b20f61c8 100644 (file)
@@ -8,8 +8,8 @@ SRCS=   buf.c main.c pid.c root.c tree.c util.c cpuinfo.c mounts.c
 
 CPPFLAGS+= -I${NETBSDSRCDIR} -I${NETBSDSRCDIR}/servers
 
-DPADD+=        ${LIBVTREEFS} ${LIBSYS}
-LDADD+=        -lvtreefs -lsys
+DPADD+=        ${LIBVTREEFS}
+LDADD+=        -lvtreefs
 
 MAN=
 
index 083a5675c1cf55fa36330ea8d24844ccdc85ed36..b1255ec85195a84267c430a4948d9b60b9bb2e20 100644 (file)
@@ -14,7 +14,7 @@ SRCS+=  gcov.c
 CPPFLAGS+= -DUSE_COVERAGE
 .endif
 
-CFLAGS+= -Wall -Wextra -Werror
+CFLAGS+= -Wall -Wextra -Wno-sign-compare -Werror
 DPADD+=        ${LIBSYS} ${LIBTIMERS} ${LIBEXEC}
 LDADD+=        -lsys -ltimers -lexec -lmthread
 
index a491ab8b48c2ada54065a40a70ecb3699d17daa0..ddf04e6d76c93852d191017ac873d2ac8056b083 100644 (file)
@@ -3,7 +3,7 @@
 .if !defined(_BSD_GCC_MK_)
 _BSD_GCC_MK_=1
 
-.if defined(EXTERNAL_TOOLCHAIN) && !defined(__MINIX)
+.if defined(EXTERNAL_TOOLCHAIN)
 _GCC_CRTBEGIN!=                ${CC} --print-file-name=crtbegin.o
 _GCC_CRTBEGINS!=       ${CC} --print-file-name=crtbeginS.o
 _GCC_CRTEND!=          ${CC} --print-file-name=crtend.o
@@ -23,20 +23,4 @@ _GCC_CRTDIR?=                ${DESTDIR}/usr/lib
 _GCC_LIBGCCDIR?=       ${DESTDIR}/usr/lib
 .endif
 
-.if defined(__MINIX)
-AFLAGS+=-D__ASSEMBLY__
-CPPFLAGS+= -fno-builtin -Wall -Wno-sign-compare
-
-#LSC FIXME: Needed by clang for now
-.if ${MACHINE_ARCH} == "i386"
-CPUFLAGS+= -march=i586
-.endif
-
-# LSC In the current state there is too much to be done
-# Some package have been identified by directly adding NOGCCERROR
-# To their Makefiles
-NOGCCERROR:= yes
-NOCLANGERROR:= yes
-.endif # defined(__MINIX)
-
 .endif # ! defined(_BSD_GCC_MK_)
index 1dc2433d5b2de21b8dc90870794ebbccf049b755..e1b2f0805cfbe2cedafb7beab67cd0d0ce717711 100644 (file)
@@ -582,17 +582,33 @@ _LIBLDOPTS+=      -Wl,-rpath-link,${DESTDIR}${SHLIBINSTALLDIR} \
 DPLIBC ?= ${DESTDIR}${LIBC_SO}
 .endif
 .else
-.if ${LIB} != "c" && ${LIB:Mgcc*} == ""
+.if ${LIB} != "c" && ${LIB:Mgcc*} == "" \
+    && ${LIB} != "minlib" && ${LIB} != "sys" && ${LIB} != "minc" # Minix-specific libs
 .if !empty(LIBC_SO)
 DPLIBC ?= ${DESTDIR}${LIBC_SO}
 .endif
 .else
 LDLIBC ?= -nodefaultlibs
-.if ${LIB} == "c"
+.if ${LIB} == "c" || ${LIB} == "minc"
 LDADD+= ${${ACTIVE_CC} == "gcc":?-lgcc:}
 LDADD+= ${${ACTIVE_CC} == "clang":?-L/usr/pkg/compiler-rt/lib -lCompilerRT-Generic:}
 .endif
 .endif
+
+.if defined(__MINIX)
+
+.if ${LIB} == "m" || ${LIB} == "vtreefs"
+# LSC: gcc generate calls to its runtime library for some floating point
+#      operations and convertions, which are not included in libc.
+LDADD+= ${${ACTIVE_CC} == "gcc":?-lgcc:}
+.endif # ${LIB} == "m" || ${LIB} == "vtreefs"
+
+.if ${LIB} == "stdc++"
+# LSC we can't build this library without compiling gcc
+LDADD+= -lgcc_s
+DPADD+= ${DESTDIR}/usr/lib/libgcc_s.a
+.endif # ${LIB} == "stdc++"
+.endif #defined(__MINIX)
 .endif
 
 .if ${LIBISCXX} != "no"
index 622d4427e5e78183e1164530cd9c919eab6cbe02..151878ed9f4db4698a49d2d96585d2e9b86c2f97 100644 (file)
@@ -13,6 +13,8 @@ _BSD_OWN_MK_=1
 # Some Minix deviations from NetBSD
 LDSTATIC?=     -static
 MKDYNAMICROOT?=        no
+NO_LIBGOMP?=   yes
+MKKYUA?=       yes
 
 BINMODE?=      755
 NONBINMODE?=   644
@@ -25,6 +27,7 @@ DOCGRP?=      operator
 MKBINUTILS?=   no
 MKGDB:=                no
 MKGCC?=                no
+MKGCCCMDS?=    no
 
 # LSC MINIX SMP Support?
 .ifdef CONFIG_SMP
@@ -81,6 +84,23 @@ LDS_DYNAMIC_BIN=     ${LDS_PATH}/elf_${MACHINE_ARCH}_minix.xc
 LDS_RELOC=             ${LDS_PATH}/elf_${MACHINE_ARCH}_minix.xr
 LDS_SHARED_LIB=                ${LDS_PATH}/elf_${MACHINE_ARCH}_minix.xsc
 LDS_N=                 ${LDS_PATH}/elf_${MACHINE_ARCH}_minix.xbn
+
+# LSC In the current state there is too much to be done
+# Some package have been identified by directly adding NOGCCERROR
+# To their Makefiles
+NOGCCERROR?=   yes
+NOCLANGERROR?= yes
+
+AFLAGS+=       -D__ASSEMBLY__
+CFLAGS+=       -fno-builtin
+
+# For C++ programs
+#CPPFLAGS+=    -I${DESTDIR}/usr/include/g++
+
+#LSC FIXME: Needed by clang for now
+.if ${MACHINE_ARCH} == "i386"
+CPUFLAGS+=     -march=i586
+.endif
 .endif # defined(__MINIX)
 
 MAKECONF?=     /etc/mk.conf
index 6587b1da13b64cefbe06e75679594a4c57647005..0d2ee81e6c1ec1d7dc035e123c2deac0d5677db6 100644 (file)
@@ -84,35 +84,47 @@ LIBCRT0=    ${DESTDIR}/usr/lib/crt0.o
 #      NB:     If you are a library here, add it in bsd.README
 
 .for _lib in \
-       audiodriver \
-       blockdriver \
-       chardriver \
-       netdriver \
+       atf_c \
+       atf_cxx \
+       bz2 \
        c \
+       c_pic \
+       crt0 \
+       crypt \
        curses \
        edit \
        expat \
-       end \
-       sys \
-       timers \
-       util \
-       bz2 \
        l \
-       m  \
+       m \
+       magic \
+       rmt \
+       terminfo \
+       util \
+       z 
+
+.ifndef LIB${_lib:tu}
+LIB${_lib:tu}= ${DESTDIR}/usr/lib/lib${_lib:S/xx/++/:S/atf_c/atf-c/}.a
+.MADE:         ${LIB${_lib:tu}}        # Note: ${DESTDIR} will be expanded
+.endif
+.endfor
+
+# Minix libraries
+.for _lib in \
+       audiodriver \
+       bdev \
+       blockdriver \
+       chardriver \
+       elf \
        exec \
        ddekit \
        devman \
-       usb \
-       elf \
-       bdev \
-       sffs \
-       hgfs \
-       vboxfs \
        minc \
        minlib \
-       min\
-       lib
-
+       netdriver \
+       sffs \
+       sys \
+       timers \
+       usb
 .ifndef LIB${_lib:tu}
 LIB${_lib:tu}= ${DESTDIR}/usr/lib/lib${_lib:S/xx/++/:S/atf_c/atf-c/}.a
 .MADE:         ${LIB${_lib:tu}}        # Note: ${DESTDIR} will be expanded
@@ -229,6 +241,10 @@ _APPEND_SRCS=yes
 _CCLINKFLAGS=
 
 .if defined(PROG_CXX)
+#.if defined(__MINIX) # LSC: Can't test as bsd.own.mk may not have been sourced
+LDADD+=        -lgcc_s
+DPADD+=        ${DESTDIR}/usr/lib/libgcc_s.a
+#.endif # defined(__MINIX)
 PROG=          ${PROG_CXX}
 _CCLINK=       ${CXX} ${_CCLINKFLAGS}
 .endif
index 5427550a7fa0521baf30c3012d33ea4ee6dce118..b693ac3bcc695f3b00ecfaec6f9f8e1603ca07ac 100644 (file)
@@ -31,6 +31,11 @@ BINDIR.${_T}=        ${TESTSDIR}
 LDADD.${_T}+=  -latf-c++ -latf-c
 DPADD.${_T}+=  ${LIBATF_CXX} ${LIBATF_C}
 MAN.${_T}?=    # empty
+#.if defined(__MINIX) # LSC: Can't test as bsd.own.mk may not have been sourced
+# Somehow it resets / ignore the settings in bsd.prog.mk, so duplicate here
+LDADD.${_T}+= -lgcc_s
+DPADD.${_T}+= ${DESTDIR}/usr/lib/libgcc_s.a
+#.endif # defined(__MINIX)
 .  endfor
 .endif
 
index 037fbe901aac67535152455f5a44bcdb0e0692a8..16e355224217db8921872fdd2f5c38f6eb81c632 100644 (file)
@@ -6,7 +6,7 @@
 # version of clang.
 
 # 1. No default libs
-LDADD+= -nodefaultlibs
+LDADD:= -nodefaultlibs ${LDADD}
 
 # 2. Compiler-specific libs
 .if !empty(CC:M*gcc)
index af00c237b55f35d1c146a7ae0918f0dd24f647df..17c74164421df90daa02091e72049a9b3d101c9e 100644 (file)
@@ -26,7 +26,6 @@ COPTS.test68.c=       -O0
 
 # Some have special libraries
 LDADD.test59=  -lmthread
-LDFLAGS.mod=   -shared         # make shared object
 
 # Some have an extra file
 OBJS.test57=   test57loop.o
@@ -39,7 +38,7 @@ LDADD.test72+=        -lminixfs
 
 PROGS += testvm
 OBJS.testvm+=  testcache.o
-LDFLAGS.testvm+= -static
+LDSTATIC.testvm= -static
 LDADD.testvm+= -lsys -ltimers -lminlib
 
 FILES += testvm.conf
@@ -80,7 +79,18 @@ LDSTATIC=    -dynamic
 
 # use the shared linkerscript for mod when using the gold linker
 GOLDLINKERSCRIPT.mod?= ${${HAVE_GOLD:Uno} != "no":? ${LDS_SHARED_LIB} :}
+LDFLAGS.mod+=  -shared         # make shared object
+
+# LSC FIXME: THe bitcode rules need to take into account LDFLAGS
 LDADD.mod+= ${${USE_BITCODE:Uno} != "no":? -shared:}
+
+# Files which have to be compiled with -fPIC
+mod.o: mod.c
+       ${COMPILE.c} -fPIC ${.IMPSRC}
+
+common.o: common.c
+       ${COMPILE.c} -fPIC ${.IMPSRC}
+
 # test57loop.S is not linked into the .bcl file.
 # This way, we can link it in when linking the final binary
 LDADD.test57+= ${${USE_BITCODE:Uno} != "no":? test57loop.o -Wl,-allow-multiple-definition:}
@@ -88,7 +98,7 @@ LDADD.test57+= ${${USE_BITCODE:Uno} != "no":? test57loop.o -Wl,-allow-multiple-d
 # Add test that must be linked dynamically, and its dynamically loaded
 # module
 PROGS+=                test63 mod
-.endif
+.endif # ${MKPIC} == "yes"
 
 .for o in $(PROGS)
 OBJS.${o} += common.o
index 895c14e95a7bd0aac942c6644cbf26861254dc23..39b864996f5d02ee01f5c0b93507b58b95ab249b 100644 (file)
@@ -2,13 +2,7 @@
 
 .include <bsd.own.mk>
 
-.ifdef __MINIX
-HAVE_GCC= 45
-
-GCC_LANGUAGES=c
-.else
 GCC_LANGUAGES=c c++ objc
-.endif
 MODULE=                        gcc4
 
 MKNATIVE_CONFIG_TARGET_LIBS= \
@@ -38,12 +32,7 @@ MULTILIB_ARGS= --disable-multilib
 SOFTFLOAT_ARGS=        -with-float=soft
 .endif
 
-# LSC FIXME We are not using the correct target ATM, so overrides for now...
 COMMON_CONFIGURE_ARGS= --target=${MACHINE_GNU_PLATFORM} \
-                       --disable-libssp \
-                       --disable-threads \
-                       --disable-visibility \
-                       --disable-libunwind \
                        --enable-long-long \
                        --enable-threads \
                        --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html \
@@ -51,6 +40,18 @@ COMMON_CONFIGURE_ARGS=       --target=${MACHINE_GNU_PLATFORM} \
                        --with-system-zlib \
                        ${VAX_CONFIGURE_ARGS} \
                        --enable-__cxa_atexit
+.if defined(__MINIX)
+COMMON_CONFIGURE_ARGS+=        \
+                       --disable-libssp \
+                       --disable-threads \
+                       --disable-visibility \
+                       --disable-libunwind
+
+.if ${HOST_OSTYPE:C/\-.*//} == "Minix"
+CONFIGURE_ENV+= LDFLAGS=-lm
+.endif #  ${HOST_OSTYPE:C/\-.*//} == "Minix"
+.endif # defined(__MINIX)
+
 .if defined(GCC_CONFIG_ARCH.${MACHINE_ARCH})
 COMMON_CONFIGURE_ARGS+=        --with-arch=${GCC_CONFIG_ARCH.${MACHINE_ARCH}}
 .endif
@@ -75,10 +76,6 @@ CONFIGURE_ARGS+= \
 GCC_CPPFLAGS=  -DNETBSD_TOOLS -DTARGET_SYSTEM_ROOT=0 \
                -DTARGET_SYSTEM_ROOT_RELOCATABLE
 
-.if ${HOST_OSTYPE:C/\-.*//} == "Minix"
-CONFIGURE_ENV+= LDFLAGS=-lm
-.endif
-
 MAKE_ARGS=     MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q} \
                LIBGCC= LIBGCC1= LIBGCC1_TEST= LIBGCC2= INSTALL_LIBGCC= \
                EXTRA_PARTS= CPPFLAGS=${GCC_CPPFLAGS:Q} \