From: Lionel Sambuc Date: Wed, 24 Apr 2013 16:57:59 +0000 (+0200) Subject: Enable optional GCC install and GCC improvements X-Git-Tag: v3.3.0~895 X-Git-Url: http://zhaoyanbai.com/repos/?a=commitdiff_plain;h=0cdf705cc6b6351f9bd896cde32607ecf6415eb9;p=minix.git Enable optional GCC install and GCC improvements -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 --- diff --git a/common/lib/libc/string/popcount32.c b/common/lib/libc/string/popcount32.c index 6913fb8ad..590316e28 100644 --- a/common/lib/libc/string/popcount32.c +++ b/common/lib/libc/string/popcount32.c @@ -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 diff --git a/common/lib/libc/string/popcount64.c b/common/lib/libc/string/popcount64.c index 753fb9bd6..7ae32542f 100644 --- a/common/lib/libc/string/popcount64.c +++ b/common/lib/libc/string/popcount64.c @@ -83,3 +83,6 @@ __strong_alias(popcountl, popcount64) __strong_alias(popcountll, popcount64) #endif +#if defined(__minix) +__strong_alias(popcountti2, popcount64) +#endif diff --git a/distrib/sets/lists/minix/md.evbarm b/distrib/sets/lists/minix/md.evbarm index a9c9df252..6cb871d91 100644 --- a/distrib/sets/lists/minix/md.evbarm +++ b/distrib/sets/lists/minix/md.evbarm @@ -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 @@ -102,3 +103,5 @@ ./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 diff --git a/distrib/sets/lists/minix/md.i386 b/distrib/sets/lists/minix/md.i386 index 1256cd01d..6e01f485b 100644 --- a/distrib/sets/lists/minix/md.i386 +++ b/distrib/sets/lists/minix/md.i386 @@ -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 @@ -38,6 +39,28 @@ ./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 diff --git a/distrib/sets/lists/minix/mi b/distrib/sets/lists/minix/mi index a645ab866..bd30d1d18 100644 --- a/distrib/sets/lists/minix/mi +++ b/distrib/sets/lists/minix/mi @@ -229,9 +229,13 @@ ./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 @@ -252,6 +256,7 @@ ./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 @@ -299,8 +304,12 @@ ./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 @@ -587,8 +596,401 @@ ./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 @@ -774,7 +1176,19 @@ ./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 @@ -1129,7 +1543,12 @@ ./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 @@ -1163,6 +1582,11 @@ ./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 @@ -1183,6 +1607,12 @@ ./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 @@ -1228,7 +1658,7 @@ ./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 @@ -1250,10 +1680,13 @@ ./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 @@ -1274,6 +1707,7 @@ ./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 @@ -1320,6 +1754,10 @@ ./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 @@ -3941,7 +4379,9 @@ ./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 diff --git a/etc/mtree/Makefile b/etc/mtree/Makefile index 6f7259c05..f0c25bfa3 100644 --- a/etc/mtree/Makefile +++ b/etc/mtree/Makefile @@ -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 index 000000000..70ad1cba6 --- /dev/null +++ b/etc/mtree/Minix.gcccmds @@ -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 diff --git a/external/gpl3/gcc/Makefile b/external/gpl3/gcc/Makefile index 0116bdb9d..906e8f398 100644 --- a/external/gpl3/gcc/Makefile +++ b/external/gpl3/gcc/Makefile @@ -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 diff --git a/external/gpl3/gcc/fetch.sh b/external/gpl3/gcc/fetch.sh index bd414a8fa..de2a3cd63 100755 --- a/external/gpl3/gcc/fetch.sh +++ b/external/gpl3/gcc/fetch.sh @@ -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 && \ diff --git a/external/gpl3/gcc/files/arm-minix.h b/external/gpl3/gcc/files/arm-minix.h index 4b27aa733..a9ea11fcd 100644 --- a/external/gpl3/gcc/files/arm-minix.h +++ b/external/gpl3/gcc/files/arm-minix.h @@ -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 and BSDi. + Adapted for MINIX by Lionel Sambuc This file is part of GCC. @@ -18,7 +19,6 @@ along with GCC; see the file COPYING3. If not see . */ - #undef MINIX_TARGET_CPU_CPP_BUILTINS #define MINIX_TARGET_CPU_CPP_BUILTINS() \ do \ @@ -27,14 +27,9 @@ } \ while (0) -/************************[ Target stuff ]***********************************/ - /* Define the actual types of some ANSI-mandated types. Needs to agree with . GCC defaults come from c-decl.c, - c-common.c, and config//.h. */ - -/* arm.h gets this wrong for FreeBSD. We use the GCC defaults instead. */ - + c-common.c, and config//.h. */ #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" @@ -44,30 +39,78 @@ #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" diff --git a/external/gpl3/gcc/files/i386-minix.h b/external/gpl3/gcc/files/i386-minix.h index cef452dc9..9aba9a32c 100644 --- a/external/gpl3/gcc/files/i386-minix.h +++ b/external/gpl3/gcc/files/i386-minix.h @@ -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 + Adapted for MINIX by Lionel Sambuc -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 . GCC defaults come from c-decl.c, + c-common.c, and config//.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 . */ - -#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< + + 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}}" diff --git a/external/gpl3/gcc/files/minix.h b/external/gpl3/gcc/files/minix.h index f86594fc6..64d671b75 100644 --- a/external/gpl3/gcc/files/minix.h +++ b/external/gpl3/gcc/files/minix.h @@ -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 diff --git a/external/gpl3/gcc/files/t-minix b/external/gpl3/gcc/files/t-minix index 211dbdf6b..0680618a6 100644 --- a/external/gpl3/gcc/files/t-minix +++ b/external/gpl3/gcc/files/t-minix @@ -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 diff --git a/external/gpl3/gcc/lib/Makefile b/external/gpl3/gcc/lib/Makefile index 9f011bd7c..23e61d796 100644 --- a/external/gpl3/gcc/lib/Makefile +++ b/external/gpl3/gcc/lib/Makefile @@ -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 diff --git a/external/gpl3/gcc/lib/Makefile.hacks b/external/gpl3/gcc/lib/Makefile.hacks index 85bedcc14..425b4048e 100644 --- a/external/gpl3/gcc/lib/Makefile.hacks +++ b/external/gpl3/gcc/lib/Makefile.hacks @@ -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 diff --git a/external/gpl3/gcc/lib/libgcc/Makefile b/external/gpl3/gcc/lib/libgcc/Makefile index d9aa6f224..871d3d21d 100644 --- a/external/gpl3/gcc/lib/libgcc/Makefile +++ b/external/gpl3/gcc/lib/libgcc/Makefile @@ -4,11 +4,13 @@ SUBDIR+= libgcc .include -.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) diff --git a/external/gpl3/gcc/lib/libgcc/Makefile.inc b/external/gpl3/gcc/lib/libgcc/Makefile.inc index 3584ff9b2..e290d6135 100644 --- a/external/gpl3/gcc/lib/libgcc/Makefile.inc +++ b/external/gpl3/gcc/lib/libgcc/Makefile.inc @@ -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 diff --git a/external/gpl3/gcc/lib/libgcc/arch/earm.mk b/external/gpl3/gcc/lib/libgcc/arch/earm.mk index 7071515f8..7005468a2 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/earm.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/earm.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libgcc/arch/i386.mk b/external/gpl3/gcc/lib/libgcc/arch/i386.mk index 6b0ae5475..a51017546 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/i386.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/i386.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk index 660345a7d..63ea7704f 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h index 5512d1771..143cdfbe3 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h @@ -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* */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/config.h b/external/gpl3/gcc/lib/libgomp/arch/earm/config.h index 30034f19c..90185c1ff 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/config.h @@ -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 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 header file. */ #define HAVE_UNISTD_H 1 diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec index 769fb36c7..2268ba799 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec @@ -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 diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h index 19a6a589e..34da0a8d5 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h @@ -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. diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h index f8c779769..942a4f28f 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h @@ -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. diff --git a/external/gpl3/gcc/lib/libgomp/arch/i386/config.h b/external/gpl3/gcc/lib/libgomp/arch/i386/config.h index 4dc7ed783..90185c1ff 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/i386/config.h +++ b/external/gpl3/gcc/lib/libgomp/arch/i386/config.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 header file. */ #define HAVE_UNISTD_H 1 diff --git a/external/gpl3/gcc/lib/libiberty/arch/earm/config.h b/external/gpl3/gcc/lib/libiberty/arch/earm/config.h index f1be432f0..18c9304d5 100644 --- a/external/gpl3/gcc/lib/libiberty/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libiberty/arch/earm/config.h @@ -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. */ @@ -112,7 +112,7 @@ #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 */ @@ -169,7 +169,7 @@ /* #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 */ @@ -205,7 +205,7 @@ #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 @@ -274,13 +274,13 @@ #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 header file. */ #define HAVE_SYS_FILE_H 1 @@ -289,7 +289,7 @@ #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 header file. */ #define HAVE_SYS_PARAM_H 1 @@ -301,7 +301,7 @@ #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 header file. */ #define HAVE_SYS_STAT_H 1 @@ -370,10 +370,10 @@ #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 @@ -427,7 +427,7 @@ 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 diff --git a/external/gpl3/gcc/lib/libiberty/arch/i386/config.h b/external/gpl3/gcc/lib/libiberty/arch/i386/config.h index 66d7202cf..18c9304d5 100644 --- a/external/gpl3/gcc/lib/libiberty/arch/i386/config.h +++ b/external/gpl3/gcc/lib/libiberty/arch/i386/config.h @@ -112,7 +112,7 @@ #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 */ @@ -169,7 +169,7 @@ /* #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 */ @@ -205,7 +205,7 @@ #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 @@ -274,13 +274,13 @@ #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 header file. */ #define HAVE_SYS_FILE_H 1 @@ -289,7 +289,7 @@ #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 header file. */ #define HAVE_SYS_PARAM_H 1 @@ -301,7 +301,7 @@ #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 header file. */ #define HAVE_SYS_STAT_H 1 @@ -370,10 +370,10 @@ #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 @@ -427,7 +427,7 @@ 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 diff --git a/external/gpl3/gcc/lib/libiberty/defs.mk b/external/gpl3/gcc/lib/libiberty/defs.mk index df03106cf..ac22ba291 100644 --- a/external/gpl3/gcc/lib/libiberty/defs.mk +++ b/external/gpl3/gcc/lib/libiberty/defs.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earm/config.h b/external/gpl3/gcc/lib/libobjc/arch/earm/config.h index 3bcee757a..52082ac61 100644 --- a/external/gpl3/gcc/lib/libobjc/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libobjc/arch/earm/config.h @@ -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 header file. */ #define HAVE_INTTYPES_H 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk index a059fd2da..7c295a315 100644 --- a/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk +++ b/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libobjc/arch/i386/config.h b/external/gpl3/gcc/lib/libobjc/arch/i386/config.h index eef83e258..52082ac61 100644 --- a/external/gpl3/gcc/lib/libobjc/arch/i386/config.h +++ b/external/gpl3/gcc/lib/libobjc/arch/i386/config.h @@ -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 header file. */ #define HAVE_INTTYPES_H 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h index eb6e606ad..4e95dae74 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h @@ -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 header file. */ -#define _GLIBCXX_HAVE_SYS_FILIO_H 1 +/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */ /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_SYS_IOCTL_H 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h index c2d414742..310ab85e6 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h @@ -163,7 +163,7 @@ /* 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 */ @@ -697,7 +697,7 @@ /* #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 */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/defs.mk index 638aea13f..03063bc5d 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/defs.mk +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/defs.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h index a0e43a3b6..721cbbc40 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h @@ -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 header file. */ -#define _GLIBCXX_HAVE_SYS_FILIO_H 1 +/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */ /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_SYS_IOCTL_H 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h index 64d781bed..9ee5012a0 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h @@ -163,7 +163,7 @@ /* 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 */ @@ -697,7 +697,7 @@ /* #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 */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/defs.mk index 6f74e31cc..ce6d47026 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/defs.mk +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/defs.mk @@ -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 diff --git a/external/gpl3/gcc/lib/libsupc++/Makefile.common b/external/gpl3/gcc/lib/libsupc++/Makefile.common index e084d4d1e..3857a908b 100644 --- a/external/gpl3/gcc/lib/libsupc++/Makefile.common +++ b/external/gpl3/gcc/lib/libsupc++/Makefile.common @@ -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 diff --git a/external/gpl3/gcc/patches/0000-gcc_nbsd.patch b/external/gpl3/gcc/patches/0000-gcc_nbsd.patch index 80fb5b3a8..d6c2efa63 100644 --- a/external/gpl3/gcc/patches/0000-gcc_nbsd.patch +++ b/external/gpl3/gcc/patches/0000-gcc_nbsd.patch @@ -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 @@ . */ /* 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 diff --git a/external/gpl3/gcc/patches/0001-minix.patch b/external/gpl3/gcc/patches/0001-minix.patch index c2a7762b4..c65396a64 100644 --- a/external/gpl3/gcc/patches/0001-minix.patch +++ b/external/gpl3/gcc/patches/0001-minix.patch @@ -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 @@ -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*) diff --git a/external/gpl3/gcc/usr.bin/Makefile.backend b/external/gpl3/gcc/usr.bin/Makefile.backend index d8fcebabe..a067bb649 100644 --- a/external/gpl3/gcc/usr.bin/Makefile.backend +++ b/external/gpl3/gcc/usr.bin/Makefile.backend @@ -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.*} diff --git a/external/gpl3/gcc/usr.bin/Makefile.inc b/external/gpl3/gcc/usr.bin/Makefile.inc index 891b441e7..61ac4d93b 100644 --- a/external/gpl3/gcc/usr.bin/Makefile.inc +++ b/external/gpl3/gcc/usr.bin/Makefile.inc @@ -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 diff --git a/external/gpl3/gcc/usr.bin/backend/Makefile b/external/gpl3/gcc/usr.bin/backend/Makefile index cefcc7458..1b180b727 100644 --- a/external/gpl3/gcc/usr.bin/backend/Makefile +++ b/external/gpl3/gcc/usr.bin/backend/Makefile @@ -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 # diff --git a/external/gpl3/gcc/usr.bin/cc1/Makefile b/external/gpl3/gcc/usr.bin/cc1/Makefile index 85cb7d4f7..0c9d47c9a 100644 --- a/external/gpl3/gcc/usr.bin/cc1/Makefile +++ b/external/gpl3/gcc/usr.bin/cc1/Makefile @@ -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} diff --git a/external/gpl3/gcc/usr.bin/cc1obj/Makefile b/external/gpl3/gcc/usr.bin/cc1obj/Makefile index fa0c99112..94207ec19 100644 --- a/external/gpl3/gcc/usr.bin/cc1obj/Makefile +++ b/external/gpl3/gcc/usr.bin/cc1obj/Makefile @@ -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} diff --git a/external/gpl3/gcc/usr.bin/cc1plus/Makefile b/external/gpl3/gcc/usr.bin/cc1plus/Makefile index 2f76a9a75..676fdaa9a 100644 --- a/external/gpl3/gcc/usr.bin/cc1plus/Makefile +++ b/external/gpl3/gcc/usr.bin/cc1plus/Makefile @@ -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} diff --git a/external/gpl3/gcc/usr.bin/cpp/Makefile b/external/gpl3/gcc/usr.bin/cpp/Makefile index c870fdac5..8f85f1f49 100644 --- a/external/gpl3/gcc/usr.bin/cpp/Makefile +++ b/external/gpl3/gcc/usr.bin/cpp/Makefile @@ -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 diff --git a/external/gpl3/gcc/usr.bin/g++/Makefile b/external/gpl3/gcc/usr.bin/g++/Makefile index a53d1dae7..8029c7145 100644 --- a/external/gpl3/gcc/usr.bin/g++/Makefile +++ b/external/gpl3/gcc/usr.bin/g++/Makefile @@ -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) diff --git a/external/gpl3/gcc/usr.bin/gcc/Makefile b/external/gpl3/gcc/usr.bin/gcc/Makefile index 565d563a4..44bd2c2a5 100644 --- a/external/gpl3/gcc/usr.bin/gcc/Makefile +++ b/external/gpl3/gcc/usr.bin/gcc/Makefile @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h index 96de265fd..fbe18bddc 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h @@ -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. */ @@ -120,20 +116,20 @@ /* 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 @@ -504,7 +500,7 @@ /* 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 @@ -704,7 +700,7 @@ /* 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 @@ -759,14 +755,14 @@ /* 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 @@ -833,7 +829,7 @@ /* Define to 1 if you have the `elf_getshdrstrndx' function. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#define HAVE_ELF_GETSHDRSTRNDX 1 #endif @@ -971,7 +967,7 @@ /* 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 @@ -1057,7 +1053,7 @@ /* Define to 1 if you have the `getrusage' function. */ #ifndef USED_FOR_TARGET -#define HAVE_GETRUSAGE 1 +/* #undef HAVE_GETRUSAGE */ #endif @@ -1093,7 +1089,7 @@ /* Define .init_array/.fini_array sections are available and working. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_INITFINI_ARRAY */ +#define HAVE_INITFINI_ARRAY 1 #endif @@ -1267,31 +1263,31 @@ /* 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 @@ -1321,7 +1317,7 @@ /* Define to 1 if you have the `setrlimit' function. */ #ifndef USED_FOR_TARGET -#define HAVE_SETRLIMIT 1 +/* #undef HAVE_SETRLIMIT */ #endif @@ -1526,7 +1522,7 @@ /* Define if libelf is in use. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_libelf */ +#define HAVE_libelf 1 #endif @@ -1551,7 +1547,7 @@ /* 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 @@ -1753,20 +1749,20 @@ /* 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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h index 47537d7df..3cc357dec 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h index 3c168f7af..a1aebfeaa 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h @@ -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) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h index 87fbdac81..3f48d2a49 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h index cb3199618..1e5e97227 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h @@ -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" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk index 3a3ed4125..b44cab160 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk @@ -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 index 9dd297d78..000000000 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/gthr-default.h +++ /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" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list index 21f9cc4dc..e236bd172 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list @@ -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 index 398e823d5..000000000 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/insn-modes.h +++ /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 */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h index 170b00569..06d583aa5 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h @@ -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[] = { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h index 28e459eaf..5c051df3e 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h @@ -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[] = ""; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h index b6def2a37..9f16cd22e 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h index 5859002c2..5c7c5b9b5 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h @@ -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. */ @@ -127,13 +123,13 @@ /* 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 @@ -504,7 +500,7 @@ /* 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 @@ -704,7 +700,7 @@ /* 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 @@ -759,14 +755,14 @@ /* 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 @@ -833,7 +829,7 @@ /* Define to 1 if you have the `elf_getshdrstrndx' function. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#define HAVE_ELF_GETSHDRSTRNDX 1 #endif @@ -971,7 +967,7 @@ /* 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 @@ -1057,7 +1053,7 @@ /* Define to 1 if you have the `getrusage' function. */ #ifndef USED_FOR_TARGET -#define HAVE_GETRUSAGE 1 +/* #undef HAVE_GETRUSAGE */ #endif @@ -1267,31 +1263,31 @@ /* 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 @@ -1321,7 +1317,7 @@ /* Define to 1 if you have the `setrlimit' function. */ #ifndef USED_FOR_TARGET -#define HAVE_SETRLIMIT 1 +/* #undef HAVE_SETRLIMIT */ #endif @@ -1753,20 +1749,20 @@ /* 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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h index 8e8bdaa85..3cc357dec 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h index 052fccc3a..a056d5a04 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h @@ -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" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk index 089a74c94..2e96b2f9a 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk @@ -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 index 8a13671da..000000000 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/gthr-default.h +++ /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" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/i386/gtyp-input.list index 2365929da..7f1116b4c 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/gtyp-input.list +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/gtyp-input.list @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/tm.h index 30f713983..846cbf626 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/tm.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/tm.h @@ -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 diff --git a/external/gpl3/gcc/usr.bin/gcov/Makefile b/external/gpl3/gcc/usr.bin/gcov/Makefile index b7c74d3de..534ad90a7 100644 --- a/external/gpl3/gcc/usr.bin/gcov/Makefile +++ b/external/gpl3/gcc/usr.bin/gcov/Makefile @@ -13,7 +13,11 @@ MAN= gcov.1 .include +.if defined(__MINIX) +LDADD= -L${LIBIBERTYOBJ} -liberty +.else LDADD= -L${LIBIBERTYOBJ} -liberty -lintl +.endif # defined(__MINIX) COPTS+= -Wno-stack-protector diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h index 4c67a698c..27f358702 100644 --- a/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h @@ -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 @@ -219,7 +219,7 @@ /* 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 diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/i386/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/i386/config.h index 4c8b4dffb..27f358702 100644 --- a/external/gpl3/gcc/usr.bin/libcpp/arch/i386/config.h +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/i386/config.h @@ -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 diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h index 362c54b0a..15b10c920 100644 --- a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h @@ -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 index 000000000..3fed71966 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc @@ -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 index 000000000..77281a5df --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.h @@ -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 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 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 header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the 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 header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INVENT_H */ + +/* Define to 1 if you have the 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 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 header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the 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 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 `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 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 exists and works */ +#define HAVE_STDARG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the 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 header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the 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 header file. */ +/* #undef HAVE_SYS_ATTRIBUTES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IOGRAPH_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PROCESSOR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSSGI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the 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 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 and . */ +#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 index 000000000..c43c084dd --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4 @@ -0,0 +1,35 @@ +dnl config.m4. Generated automatically by configure. +changequote(<,>) +ifdef(<__CONFIG_M4_INCLUDED__>,,< +define(,0) +define(,<`no'>) +define(,) +define(, <.text>) +define(, <.data>) +define(, <:>) +define(, <.globl>) +define(, <>) +define(, <>) +define(, < .section .rodata>) +define(, <.type $1,#$2>) +define(, <.size $1,$2>) +define(, <.L>) +define(, <.long>) +define(,) +define(,<78>) +define(,<4>) +define(,32) +define(,0) +define(,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 index 000000000..431aa4a30 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h @@ -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 index 000000000..343bcecef --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h @@ -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 /* for std::istream, std::ostream, std::string */ +#include +#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 /* for size_t */ +#else +#include /* 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, + 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 */ +#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 or . + 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. + + 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 or 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 (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 index 000000000..516a47fd7 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h @@ -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 /* for size_t */ +#else +#include /* 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__ */ diff --git a/lib/Makefile b/lib/Makefile index 87b1179dc..eeccc41c6 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -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 ==================== diff --git a/lib/csu/arch/earm/crt0.S b/lib/csu/arch/earm/crt0.S index 67a872031..5c964807f 100644 --- a/lib/csu/arch/earm/crt0.S +++ b/lib/csu/arch/earm/crt0.S @@ -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), diff --git a/lib/csu/common/crt0-common.c b/lib/csu/common/crt0-common.c index 49c085684..4918c9803 100644 --- a/lib/csu/common/crt0-common.c +++ b/lib/csu/common/crt0-common.c @@ -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; diff --git a/lib/libm/Makefile b/lib/libm/Makefile index e6d49ea29..1f5029d78 100644 --- a/lib/libm/Makefile +++ b/lib/libm/Makefile @@ -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 diff --git a/lib/libm/complex/Makefile.inc b/lib/libm/complex/Makefile.inc index 5b305ffac..4471adde9 100644 --- a/lib/libm/complex/Makefile.inc +++ b/lib/libm/complex/Makefile.inc @@ -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 diff --git a/servers/procfs/Makefile b/servers/procfs/Makefile index 228425121..52d79cbbe 100644 --- a/servers/procfs/Makefile +++ b/servers/procfs/Makefile @@ -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= diff --git a/servers/vfs/Makefile b/servers/vfs/Makefile index 083a5675c..b1255ec85 100644 --- a/servers/vfs/Makefile +++ b/servers/vfs/Makefile @@ -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 diff --git a/share/mk/bsd.gcc.mk b/share/mk/bsd.gcc.mk index a491ab8b4..ddf04e6d7 100644 --- a/share/mk/bsd.gcc.mk +++ b/share/mk/bsd.gcc.mk @@ -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_) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 1dc2433d5..e1b2f0805 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -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" diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 622d4427e..151878ed9 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -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 diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 6587b1da1..0d2ee81e6 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -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 diff --git a/share/mk/bsd.test.mk b/share/mk/bsd.test.mk index 5427550a7..b693ac3bc 100644 --- a/share/mk/bsd.test.mk +++ b/share/mk/bsd.test.mk @@ -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 diff --git a/share/mk/minix.service.mk b/share/mk/minix.service.mk index 037fbe901..16e355224 100644 --- a/share/mk/minix.service.mk +++ b/share/mk/minix.service.mk @@ -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) diff --git a/test/Makefile b/test/Makefile index af00c237b..17c741644 100644 --- a/test/Makefile +++ b/test/Makefile @@ -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 diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile index 895c14e95..39b864996 100644 --- a/tools/gcc/Makefile +++ b/tools/gcc/Makefile @@ -2,13 +2,7 @@ .include -.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} \