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}} " - -/* This defaults us to little-endian. */ -#ifndef TARGET_ENDIAN_DEFAULT -#define TARGET_ENDIAN_DEFAULT 0 +/* 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}" + +/* Little endian by default */ +#undef TARGET_ENDIAN_DEFAULT +#define TARGET_ENDIAN_DEFAULT 0 + #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. + 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. */ -/* Common MINIX configuration. - All MINIX architectures should include this file, which will specify - their commonalities. -*/ +/* 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_CPP_SPEC " \ - %(cpp_cpu) \ - %(cpp_arch) \ - %{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/" + +/* 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}" + 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 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" +/* 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 -/* Don't assume anything about the header files. */ -#undef NO_IMPLICIT_EXTERN_C -#define NO_IMPLICIT_EXTERN_C 1 - -/* Code generation parameters. */ - /* 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 + +/* Handle #pragma weak and #pragma pack. */ +#undef HANDLE_SYSV_PRAGMA +#define HANDLE_SYSV_PRAGMA 1 + +/* 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} \