summaryrefslogtreecommitdiff
path: root/gnu/lib/libstdc++-v3
diff options
context:
space:
mode:
authormrg <mrg@NetBSD.org>2003-07-26 14:48:06 +0000
committermrg <mrg@NetBSD.org>2003-07-26 14:48:06 +0000
commit9a2ca8e117e2b5fcb4c096589c0172351ea541ef (patch)
treea74c023ba2c8b718931606444f1cdb4f45e26f0f /gnu/lib/libstdc++-v3
parentd1fbc02d92565209cef6c7556b9dbf3dd0de092b (diff)
working arm & sparc64 support
Diffstat (limited to 'gnu/lib/libstdc++-v3')
-rw-r--r--gnu/lib/libstdc++-v3/arch/arm/c++config.h1228
-rw-r--r--gnu/lib/libstdc++-v3/arch/arm/defs.mk18
-rw-r--r--gnu/lib/libstdc++-v3/arch/arm/gthr-default.h242
-rw-r--r--gnu/lib/libstdc++-v3/arch/arm/gthr-posix.h524
-rw-r--r--gnu/lib/libstdc++-v3/arch/arm/gthr-single.h242
-rw-r--r--gnu/lib/libstdc++-v3/arch/arm/gthr.h108
-rw-r--r--gnu/lib/libstdc++-v3/arch/sparc64/c++config.h1228
-rw-r--r--gnu/lib/libstdc++-v3/arch/sparc64/defs.mk18
-rw-r--r--gnu/lib/libstdc++-v3/arch/sparc64/gthr-default.h242
-rw-r--r--gnu/lib/libstdc++-v3/arch/sparc64/gthr-posix.h524
-rw-r--r--gnu/lib/libstdc++-v3/arch/sparc64/gthr-single.h242
-rw-r--r--gnu/lib/libstdc++-v3/arch/sparc64/gthr.h108
12 files changed, 4724 insertions, 0 deletions
diff --git a/gnu/lib/libstdc++-v3/arch/arm/c++config.h b/gnu/lib/libstdc++-v3/arch/arm/c++config.h
new file mode 100644
index 00000000000..bb207d4c901
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/arm/c++config.h
@@ -0,0 +1,1228 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+// Predefined symbols and macros -*- C++ -*-
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This 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 General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_CPPCONFIG
+#define _CPP_CPPCONFIG 1
+
+// Pick up any OS-specific definitions.
+#include <bits/os_defines.h>
+
+// The current version of the C++ library in compressed ISO date format.
+#define __GLIBCPP__ 20030720
+
+// This is necessary until GCC supports separate template compilation.
+#define _GLIBCPP_NO_TEMPLATE_EXPORT 1
+
+// This is a hack around not having either pre-compiled headers or
+// export compilation. If defined, the io, string, and valarray
+// headers will include all the necessary bits. If not defined, the
+// implementation optimizes the headers for the most commonly-used
+// types. For the io library, this means that larger, out-of-line
+// member functions are only declared, and definitions are not parsed
+// by the compiler, but instead instantiated into the library binary.
+#define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1
+
+// Allow use of the GNU syntax extension, "extern template." This
+// extension is fully documented in the g++ manual, but in a nutshell,
+// it inhibits all implicit instantiations and is used throughout the
+// library to avoid multiple weak definitions for required types that
+// are already explicitly instantiated in the library binary. This
+// substantially reduces the binary size of resulting executables.
+#ifndef _GLIBCPP_EXTERN_TEMPLATE
+#define _GLIBCPP_EXTERN_TEMPLATE 1
+#endif
+
+// To enable older, ARM-style iostreams and other anachronisms use this.
+//#define _GLIBCPP_DEPRECATED 1
+
+// Use corrected code from the committee library group's issues list.
+#define _GLIBCPP_RESOLVE_LIB_DEFECTS 1
+
+// Hopefully temporary workaround to autoconf/m4 issue with quoting '@'.
+#define _GLIBCPP_AT_AT "@@"
+
+// In those parts of the standard C++ library that use a mutex instead
+// of a spin-lock, we now unconditionally use GCC's gthr.h mutex
+// abstraction layer. All support to directly map to various
+// threading models has been removed. Note: gthr.h may well map to
+// gthr-single.h which is a correct way to express no threads support
+// in gcc. Support for the undocumented _NOTHREADS has been removed.
+
+// Default to the typically high-speed, pool-based allocator (as
+// libstdc++-v2) instead of the malloc-based allocator (libstdc++-v3
+// snapshots). See libstdc++-v3/docs/html/17_intro/howto.html for
+// details on why you don't want to override this setting. Ensure
+// that threads are properly configured on your platform before
+// assigning blame to the STL container-memory allocator. After doing
+// so, please report any possible issues to libstdc++@gcc.gnu.org .
+// Do not define __USE_MALLOC on the command line. Enforce it here:
+#ifdef __USE_MALLOC
+#error __USE_MALLOC should never be defined. Read the release notes.
+#endif
+
+// Create a boolean flag to be used to determine if --fast-math is set.
+#ifdef __FAST_MATH__
+#define _GLIBCPP_FAST_MATH 1
+#else
+#define _GLIBCPP_FAST_MATH 0
+#endif
+
+// The remainder of the prewritten config is mostly automatic; all the
+// user hooks are listed above.
+
+// End of prewritten config; the discovered settings follow.
+/* config.h. Generated automatically by configure. */
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define if you have a working `mmap' system call. */
+#define _GLIBCPP_HAVE_MMAP 1
+
+// Define if GCC supports weak symbols.
+/* #undef _GLIBCPP_SUPPORTS_WEAK */
+
+// Include I/O support for 'long long' and 'unsigned long long'.
+/* #undef _GLIBCPP_USE_LONG_LONG */
+
+// Define if C99 features such as lldiv_t, llabs, lldiv should be exposed.
+/* #undef _GLIBCPP_USE_C99 */
+
+// Define if code specialized for wchar_t should be used.
+/* #undef _GLIBCPP_USE_WCHAR_T */
+
+// Define if using setrlimit to limit memory usage during 'make check'.
+/* #undef _GLIBCPP_MEM_LIMITS */
+
+// Define to use concept checking code from the boost libraries.
+/* #undef _GLIBCPP_CONCEPT_CHECKS */
+
+// Define to use symbol versioning in the shared library.
+/* #undef _GLIBCPP_SYMVER */
+
+// Define symbol versioning in assember directives. If symbol
+// versioning is beigng used, and the assembler supports this kind of
+// thing, then use it.
+// NB: _GLIBCPP_AT_AT is a hack to work around quoting issues in m4.
+#if _GLIBCPP_SYMVER
+ #define _GLIBCPP_ASM_SYMVER(cur, old, version) \
+ asm (".symver " #cur "," #old _GLIBCPP_AT_AT #version);
+#else
+ #define _GLIBCPP_ASM_SYMVER(cur, old, version)
+#endif
+
+// Define if gthr-default.h exists (meaning that threading support is enabled).
+/* #undef _GLIBCPP_HAVE_GTHR_DEFAULT */
+
+// Define if drand48 exists.
+/* #undef _GLIBCPP_HAVE_DRAND48 */
+
+// Define if getpagesize exists.
+/* #undef _GLIBCPP_HAVE_GETPAGESIZE */
+
+// Define if setenv exists.
+/* #undef _GLIBCPP_HAVE_SETENV */
+
+// Define if sigsetjmp exists.
+/* #undef _GLIBCPP_HAVE_SIGSETJMP */
+
+// Define if mbstate_t exists in wchar.h.
+#define _GLIBCPP_HAVE_MBSTATE_T 1
+
+// Define if you have the modff function.
+#define _GLIBCPP_HAVE_MODFF 1
+
+// Define if you have the modfl function.
+/* #undef _GLIBCPP_HAVE_MODFL */
+
+// Define if you have the expf function.
+#define _GLIBCPP_HAVE_EXPF 1
+
+// Define if you have the expl function.
+/* #undef _GLIBCPP_HAVE_EXPL */
+
+// Define if you have the hypotf function.
+#define _GLIBCPP_HAVE_HYPOTF 1
+
+// Define if you have the hypotl function.
+/* #undef _GLIBCPP_HAVE_HYPOTL */
+
+// Define if the compiler/host combination has __builtin_abs
+/* #undef _GLIBCPP_HAVE___BUILTIN_ABS */
+
+// Define if the compiler/host combination has __builtin_labs
+/* #undef _GLIBCPP_HAVE___BUILTIN_LABS */
+
+// Define if the compiler/host combination has __builtin_cos
+/* #undef _GLIBCPP_HAVE___BUILTIN_COS */
+
+// Define if the compiler/host combination has __builtin_cosf
+/* #undef _GLIBCPP_HAVE___BUILTIN_COSF */
+
+// Define if the compiler/host combination has __builtin_cosl
+/* #undef _GLIBCPP_HAVE___BUILTIN_COSL */
+
+// Define if the compiler/host combination has __builtin_fabs
+/* #undef _GLIBCPP_HAVE___BUILTIN_FABS */
+
+// Define if the compiler/host combination has __builtin_fabsf
+/* #undef _GLIBCPP_HAVE___BUILTIN_FABSF */
+
+// Define if the compiler/host combination has __builtin_fabsl
+/* #undef _GLIBCPP_HAVE___BUILTIN_FABSL */
+
+// Define if the compiler/host combination has __builtin_sin
+/* #undef _GLIBCPP_HAVE___BUILTIN_SIN */
+
+// Define if the compiler/host combination has __builtin_sinf
+/* #undef _GLIBCPP_HAVE___BUILTIN_SINF */
+
+// Define if the compiler/host combination has __builtin_sinl
+/* #undef _GLIBCPP_HAVE___BUILTIN_SINL */
+
+// Define if the compiler/host combination has __builtin_sqrt
+/* #undef _GLIBCPP_HAVE___BUILTIN_SQRT */
+
+// Define if the compiler/host combination has __builtin_sqrtf
+/* #undef _GLIBCPP_HAVE___BUILTIN_SQRTF */
+
+// Define if the compiler/host combination has __builtin_sqrtl
+/* #undef _GLIBCPP_HAVE___BUILTIN_SQRTL */
+
+// Define if poll is available in <poll.h>.
+/* #undef _GLIBCPP_HAVE_POLL */
+
+// Define if S_ISREG (Posix) is available in <sys/stat.h>.
+/* #undef _GLIBCPP_HAVE_S_ISREG */
+
+// Define if S_IFREG is available in <sys/stat.h>.
+/* #undef _GLIBCPP_HAVE_S_IFREG */
+
+// Define if LC_MESSAGES is available in <locale.h>.
+/* #undef _GLIBCPP_HAVE_LC_MESSAGES */
+
+/* Define if you have the __signbit function. */
+/* #undef _GLIBCPP_HAVE___SIGNBIT */
+
+/* Define if you have the __signbitf function. */
+/* #undef _GLIBCPP_HAVE___SIGNBITF */
+
+/* Define if you have the __signbitl function. */
+/* #undef _GLIBCPP_HAVE___SIGNBITL */
+
+/* Define if you have the _acosf function. */
+/* #undef _GLIBCPP_HAVE__ACOSF */
+
+/* Define if you have the _acosl function. */
+/* #undef _GLIBCPP_HAVE__ACOSL */
+
+/* Define if you have the _asinf function. */
+/* #undef _GLIBCPP_HAVE__ASINF */
+
+/* Define if you have the _asinl function. */
+/* #undef _GLIBCPP_HAVE__ASINL */
+
+/* Define if you have the _atan2f function. */
+/* #undef _GLIBCPP_HAVE__ATAN2F */
+
+/* Define if you have the _atan2l function. */
+/* #undef _GLIBCPP_HAVE__ATAN2L */
+
+/* Define if you have the _atanf function. */
+/* #undef _GLIBCPP_HAVE__ATANF */
+
+/* Define if you have the _atanl function. */
+/* #undef _GLIBCPP_HAVE__ATANL */
+
+/* Define if you have the _ceilf function. */
+/* #undef _GLIBCPP_HAVE__CEILF */
+
+/* Define if you have the _ceill function. */
+/* #undef _GLIBCPP_HAVE__CEILL */
+
+/* Define if you have the _copysign function. */
+/* #undef _GLIBCPP_HAVE__COPYSIGN */
+
+/* Define if you have the _copysignl function. */
+/* #undef _GLIBCPP_HAVE__COPYSIGNL */
+
+/* Define if you have the _cosf function. */
+/* #undef _GLIBCPP_HAVE__COSF */
+
+/* Define if you have the _coshf function. */
+/* #undef _GLIBCPP_HAVE__COSHF */
+
+/* Define if you have the _coshl function. */
+/* #undef _GLIBCPP_HAVE__COSHL */
+
+/* Define if you have the _cosl function. */
+/* #undef _GLIBCPP_HAVE__COSL */
+
+/* Define if you have the _expf function. */
+/* #undef _GLIBCPP_HAVE__EXPF */
+
+/* Define if you have the _expl function. */
+/* #undef _GLIBCPP_HAVE__EXPL */
+
+/* Define if you have the _fabsf function. */
+/* #undef _GLIBCPP_HAVE__FABSF */
+
+/* Define if you have the _fabsl function. */
+/* #undef _GLIBCPP_HAVE__FABSL */
+
+/* Define if you have the _finite function. */
+/* #undef _GLIBCPP_HAVE__FINITE */
+
+/* Define if you have the _finitef function. */
+/* #undef _GLIBCPP_HAVE__FINITEF */
+
+/* Define if you have the _finitel function. */
+/* #undef _GLIBCPP_HAVE__FINITEL */
+
+/* Define if you have the _floorf function. */
+/* #undef _GLIBCPP_HAVE__FLOORF */
+
+/* Define if you have the _floorl function. */
+/* #undef _GLIBCPP_HAVE__FLOORL */
+
+/* Define if you have the _fmodf function. */
+/* #undef _GLIBCPP_HAVE__FMODF */
+
+/* Define if you have the _fmodl function. */
+/* #undef _GLIBCPP_HAVE__FMODL */
+
+/* Define if you have the _fpclass function. */
+/* #undef _GLIBCPP_HAVE__FPCLASS */
+
+/* Define if you have the _frexpf function. */
+/* #undef _GLIBCPP_HAVE__FREXPF */
+
+/* Define if you have the _frexpl function. */
+/* #undef _GLIBCPP_HAVE__FREXPL */
+
+/* Define if you have the _hypot function. */
+/* #undef _GLIBCPP_HAVE__HYPOT */
+
+/* Define if you have the _hypotf function. */
+/* #undef _GLIBCPP_HAVE__HYPOTF */
+
+/* Define if you have the _hypotl function. */
+/* #undef _GLIBCPP_HAVE__HYPOTL */
+
+/* Define if you have the _isinf function. */
+/* #undef _GLIBCPP_HAVE__ISINF */
+
+/* Define if you have the _isinff function. */
+/* #undef _GLIBCPP_HAVE__ISINFF */
+
+/* Define if you have the _isinfl function. */
+/* #undef _GLIBCPP_HAVE__ISINFL */
+
+/* Define if you have the _isnan function. */
+/* #undef _GLIBCPP_HAVE__ISNAN */
+
+/* Define if you have the _isnanf function. */
+/* #undef _GLIBCPP_HAVE__ISNANF */
+
+/* Define if you have the _isnanl function. */
+/* #undef _GLIBCPP_HAVE__ISNANL */
+
+/* Define if you have the _ldexpf function. */
+/* #undef _GLIBCPP_HAVE__LDEXPF */
+
+/* Define if you have the _ldexpl function. */
+/* #undef _GLIBCPP_HAVE__LDEXPL */
+
+/* Define if you have the _log10f function. */
+/* #undef _GLIBCPP_HAVE__LOG10F */
+
+/* Define if you have the _log10l function. */
+/* #undef _GLIBCPP_HAVE__LOG10L */
+
+/* Define if you have the _logf function. */
+/* #undef _GLIBCPP_HAVE__LOGF */
+
+/* Define if you have the _logl function. */
+/* #undef _GLIBCPP_HAVE__LOGL */
+
+/* Define if you have the _modff function. */
+/* #undef _GLIBCPP_HAVE__MODFF */
+
+/* Define if you have the _modfl function. */
+/* #undef _GLIBCPP_HAVE__MODFL */
+
+/* Define if you have the _powf function. */
+/* #undef _GLIBCPP_HAVE__POWF */
+
+/* Define if you have the _powl function. */
+/* #undef _GLIBCPP_HAVE__POWL */
+
+/* Define if you have the _qfpclass function. */
+/* #undef _GLIBCPP_HAVE__QFPCLASS */
+
+/* Define if you have the _sincos function. */
+/* #undef _GLIBCPP_HAVE__SINCOS */
+
+/* Define if you have the _sincosf function. */
+/* #undef _GLIBCPP_HAVE__SINCOSF */
+
+/* Define if you have the _sincosl function. */
+/* #undef _GLIBCPP_HAVE__SINCOSL */
+
+/* Define if you have the _sinf function. */
+/* #undef _GLIBCPP_HAVE__SINF */
+
+/* Define if you have the _sinhf function. */
+/* #undef _GLIBCPP_HAVE__SINHF */
+
+/* Define if you have the _sinhl function. */
+/* #undef _GLIBCPP_HAVE__SINHL */
+
+/* Define if you have the _sinl function. */
+/* #undef _GLIBCPP_HAVE__SINL */
+
+/* Define if you have the _sqrtf function. */
+/* #undef _GLIBCPP_HAVE__SQRTF */
+
+/* Define if you have the _sqrtl function. */
+/* #undef _GLIBCPP_HAVE__SQRTL */
+
+/* Define if you have the _tanf function. */
+/* #undef _GLIBCPP_HAVE__TANF */
+
+/* Define if you have the _tanhf function. */
+/* #undef _GLIBCPP_HAVE__TANHF */
+
+/* Define if you have the _tanhl function. */
+/* #undef _GLIBCPP_HAVE__TANHL */
+
+/* Define if you have the _tanl function. */
+/* #undef _GLIBCPP_HAVE__TANL */
+
+/* Define if you have the acosf function. */
+#define _GLIBCPP_HAVE_ACOSF 1
+
+/* Define if you have the acosl function. */
+/* #undef _GLIBCPP_HAVE_ACOSL */
+
+/* Define if you have the asinf function. */
+#define _GLIBCPP_HAVE_ASINF 1
+
+/* Define if you have the asinl function. */
+/* #undef _GLIBCPP_HAVE_ASINL */
+
+/* Define if you have the atan2f function. */
+#define _GLIBCPP_HAVE_ATAN2F 1
+
+/* Define if you have the atan2l function. */
+/* #undef _GLIBCPP_HAVE_ATAN2L */
+
+/* Define if you have the atanf function. */
+#define _GLIBCPP_HAVE_ATANF 1
+
+/* Define if you have the atanl function. */
+/* #undef _GLIBCPP_HAVE_ATANL */
+
+/* Define if you have the btowc function. */
+#define _GLIBCPP_HAVE_BTOWC 1
+
+/* Define if you have the ceilf function. */
+#define _GLIBCPP_HAVE_CEILF 1
+
+/* Define if you have the ceill function. */
+/* #undef _GLIBCPP_HAVE_CEILL */
+
+/* Define if you have the copysign function. */
+#define _GLIBCPP_HAVE_COPYSIGN 1
+
+/* Define if you have the copysignf function. */
+#define _GLIBCPP_HAVE_COPYSIGNF 1
+
+/* Define if you have the copysignl function. */
+/* #undef _GLIBCPP_HAVE_COPYSIGNL */
+
+/* Define if you have the cosf function. */
+#define _GLIBCPP_HAVE_COSF 1
+
+/* Define if you have the coshf function. */
+#define _GLIBCPP_HAVE_COSHF 1
+
+/* Define if you have the coshl function. */
+/* #undef _GLIBCPP_HAVE_COSHL */
+
+/* Define if you have the cosl function. */
+/* #undef _GLIBCPP_HAVE_COSL */
+
+/* Define if you have the drand48 function. */
+/* #undef _GLIBCPP_HAVE_DRAND48 */
+
+/* Define if you have the expf function. */
+#define _GLIBCPP_HAVE_EXPF 1
+
+/* Define if you have the expl function. */
+/* #undef _GLIBCPP_HAVE_EXPL */
+
+/* Define if you have the fabsf function. */
+#define _GLIBCPP_HAVE_FABSF 1
+
+/* Define if you have the fabsl function. */
+/* #undef _GLIBCPP_HAVE_FABSL */
+
+/* Define if you have the fgetwc function. */
+#define _GLIBCPP_HAVE_FGETWC 1
+
+/* Define if you have the fgetws function. */
+#define _GLIBCPP_HAVE_FGETWS 1
+
+/* Define if you have the finite function. */
+#define _GLIBCPP_HAVE_FINITE 1
+
+/* Define if you have the finitef function. */
+#define _GLIBCPP_HAVE_FINITEF 1
+
+/* Define if you have the finitel function. */
+/* #undef _GLIBCPP_HAVE_FINITEL */
+
+/* Define if you have the floorf function. */
+#define _GLIBCPP_HAVE_FLOORF 1
+
+/* Define if you have the floorl function. */
+/* #undef _GLIBCPP_HAVE_FLOORL */
+
+/* Define if you have the fmodf function. */
+#define _GLIBCPP_HAVE_FMODF 1
+
+/* Define if you have the fmodl function. */
+/* #undef _GLIBCPP_HAVE_FMODL */
+
+/* Define if you have the fpclass function. */
+/* #undef _GLIBCPP_HAVE_FPCLASS */
+
+/* Define if you have the fputwc function. */
+#define _GLIBCPP_HAVE_FPUTWC 1
+
+/* Define if you have the fputws function. */
+#define _GLIBCPP_HAVE_FPUTWS 1
+
+/* Define if you have the frexpf function. */
+#define _GLIBCPP_HAVE_FREXPF 1
+
+/* Define if you have the frexpl function. */
+/* #undef _GLIBCPP_HAVE_FREXPL */
+
+/* Define if you have the fwide function. */
+#define _GLIBCPP_HAVE_FWIDE 1
+
+/* Define if you have the fwprintf function. */
+/* #undef _GLIBCPP_HAVE_FWPRINTF */
+
+/* Define if you have the fwscanf function. */
+/* #undef _GLIBCPP_HAVE_FWSCANF */
+
+/* Define if you have the getpagesize function. */
+/* #undef _GLIBCPP_HAVE_GETPAGESIZE */
+
+/* Define if you have the getwc function. */
+#define _GLIBCPP_HAVE_GETWC 1
+
+/* Define if you have the getwchar function. */
+#define _GLIBCPP_HAVE_GETWCHAR 1
+
+/* Define if you have the hypot function. */
+/* #undef _GLIBCPP_HAVE_HYPOT */
+
+/* Define if you have the hypotf function. */
+#define _GLIBCPP_HAVE_HYPOTF 1
+
+/* Define if you have the hypotl function. */
+/* #undef _GLIBCPP_HAVE_HYPOTL */
+
+/* Define if you have the iconv function. */
+#define _GLIBCPP_HAVE_ICONV 1
+
+/* Define if you have the iconv_close function. */
+#define _GLIBCPP_HAVE_ICONV_CLOSE 1
+
+/* Define if you have the iconv_open function. */
+#define _GLIBCPP_HAVE_ICONV_OPEN 1
+
+/* Define if you have the isatty function. */
+/* #undef _GLIBCPP_HAVE_ISATTY */
+
+/* Define if you have the isinf function. */
+#define _GLIBCPP_HAVE_ISINF 1
+
+/* Define if you have the isinff function. */
+#define _GLIBCPP_HAVE_ISINFF 1
+
+/* Define if you have the isinfl function. */
+/* #undef _GLIBCPP_HAVE_ISINFL */
+
+/* Define if you have the isnan function. */
+#define _GLIBCPP_HAVE_ISNAN 1
+
+/* Define if you have the isnanf function. */
+#define _GLIBCPP_HAVE_ISNANF 1
+
+/* Define if you have the isnanl function. */
+/* #undef _GLIBCPP_HAVE_ISNANL */
+
+/* Define if you have the ldexpf function. */
+#define _GLIBCPP_HAVE_LDEXPF 1
+
+/* Define if you have the ldexpl function. */
+/* #undef _GLIBCPP_HAVE_LDEXPL */
+
+/* Define if you have the log10f function. */
+#define _GLIBCPP_HAVE_LOG10F 1
+
+/* Define if you have the log10l function. */
+/* #undef _GLIBCPP_HAVE_LOG10L */
+
+/* Define if you have the logf function. */
+#define _GLIBCPP_HAVE_LOGF 1
+
+/* Define if you have the logl function. */
+/* #undef _GLIBCPP_HAVE_LOGL */
+
+/* Define if you have the mbrlen function. */
+#define _GLIBCPP_HAVE_MBRLEN 1
+
+/* Define if you have the mbrtowc function. */
+#define _GLIBCPP_HAVE_MBRTOWC 1
+
+/* Define if you have the mbsinit function. */
+#define _GLIBCPP_HAVE_MBSINIT 1
+
+/* Define if you have the mbsrtowcs function. */
+#define _GLIBCPP_HAVE_MBSRTOWCS 1
+
+/* Define if you have the modff function. */
+#define _GLIBCPP_HAVE_MODFF 1
+
+/* Define if you have the modfl function. */
+/* #undef _GLIBCPP_HAVE_MODFL */
+
+/* Define if you have the nan function. */
+/* #undef _GLIBCPP_HAVE_NAN */
+
+/* Define if you have the nl_langinfo function. */
+#define _GLIBCPP_HAVE_NL_LANGINFO 1
+
+/* Define if you have the powf function. */
+#define _GLIBCPP_HAVE_POWF 1
+
+/* Define if you have the powl function. */
+/* #undef _GLIBCPP_HAVE_POWL */
+
+/* Define if you have the putwc function. */
+#define _GLIBCPP_HAVE_PUTWC 1
+
+/* Define if you have the putwchar function. */
+#define _GLIBCPP_HAVE_PUTWCHAR 1
+
+/* Define if you have the qfpclass function. */
+/* #undef _GLIBCPP_HAVE_QFPCLASS */
+
+/* Define if you have the setenv function. */
+/* #undef _GLIBCPP_HAVE_SETENV */
+
+/* Define if you have the sincos function. */
+/* #undef _GLIBCPP_HAVE_SINCOS */
+
+/* Define if you have the sincosf function. */
+/* #undef _GLIBCPP_HAVE_SINCOSF */
+
+/* Define if you have the sincosl function. */
+/* #undef _GLIBCPP_HAVE_SINCOSL */
+
+/* Define if you have the sinf function. */
+#define _GLIBCPP_HAVE_SINF 1
+
+/* Define if you have the sinhf function. */
+#define _GLIBCPP_HAVE_SINHF 1
+
+/* Define if you have the sinhl function. */
+/* #undef _GLIBCPP_HAVE_SINHL */
+
+/* Define if you have the sinl function. */
+/* #undef _GLIBCPP_HAVE_SINL */
+
+/* Define if you have the sqrtf function. */
+#define _GLIBCPP_HAVE_SQRTF 1
+
+/* Define if you have the sqrtl function. */
+/* #undef _GLIBCPP_HAVE_SQRTL */
+
+/* Define if you have the strtof function. */
+#define _GLIBCPP_HAVE_STRTOF 1
+
+/* Define if you have the strtold function. */
+#define _GLIBCPP_HAVE_STRTOLD 1
+
+/* Define if you have the swprintf function. */
+/* #undef _GLIBCPP_HAVE_SWPRINTF */
+
+/* Define if you have the swscanf function. */
+/* #undef _GLIBCPP_HAVE_SWSCANF */
+
+/* Define if you have the tanf function. */
+#define _GLIBCPP_HAVE_TANF 1
+
+/* Define if you have the tanhf function. */
+#define _GLIBCPP_HAVE_TANHF 1
+
+/* Define if you have the tanhl function. */
+/* #undef _GLIBCPP_HAVE_TANHL */
+
+/* Define if you have the tanl function. */
+/* #undef _GLIBCPP_HAVE_TANL */
+
+/* Define if you have the ungetwc function. */
+#define _GLIBCPP_HAVE_UNGETWC 1
+
+/* Define if you have the vfwprintf function. */
+/* #undef _GLIBCPP_HAVE_VFWPRINTF */
+
+/* Define if you have the vfwscanf function. */
+/* #undef _GLIBCPP_HAVE_VFWSCANF */
+
+/* Define if you have the vswprintf function. */
+/* #undef _GLIBCPP_HAVE_VSWPRINTF */
+
+/* Define if you have the vswscanf function. */
+/* #undef _GLIBCPP_HAVE_VSWSCANF */
+
+/* Define if you have the vwprintf function. */
+/* #undef _GLIBCPP_HAVE_VWPRINTF */
+
+/* Define if you have the vwscanf function. */
+/* #undef _GLIBCPP_HAVE_VWSCANF */
+
+/* Define if you have the wcrtomb function. */
+#define _GLIBCPP_HAVE_WCRTOMB 1
+
+/* Define if you have the wcscat function. */
+#define _GLIBCPP_HAVE_WCSCAT 1
+
+/* Define if you have the wcschr function. */
+#define _GLIBCPP_HAVE_WCSCHR 1
+
+/* Define if you have the wcscmp function. */
+#define _GLIBCPP_HAVE_WCSCMP 1
+
+/* Define if you have the wcscoll function. */
+#define _GLIBCPP_HAVE_WCSCOLL 1
+
+/* Define if you have the wcscpy function. */
+#define _GLIBCPP_HAVE_WCSCPY 1
+
+/* Define if you have the wcscspn function. */
+#define _GLIBCPP_HAVE_WCSCSPN 1
+
+/* Define if you have the wcsftime function. */
+/* #undef _GLIBCPP_HAVE_WCSFTIME */
+
+/* Define if you have the wcslen function. */
+#define _GLIBCPP_HAVE_WCSLEN 1
+
+/* Define if you have the wcsncat function. */
+#define _GLIBCPP_HAVE_WCSNCAT 1
+
+/* Define if you have the wcsncmp function. */
+#define _GLIBCPP_HAVE_WCSNCMP 1
+
+/* Define if you have the wcsncpy function. */
+#define _GLIBCPP_HAVE_WCSNCPY 1
+
+/* Define if you have the wcspbrk function. */
+#define _GLIBCPP_HAVE_WCSPBRK 1
+
+/* Define if you have the wcsrchr function. */
+#define _GLIBCPP_HAVE_WCSRCHR 1
+
+/* Define if you have the wcsrtombs function. */
+#define _GLIBCPP_HAVE_WCSRTOMBS 1
+
+/* Define if you have the wcsspn function. */
+#define _GLIBCPP_HAVE_WCSSPN 1
+
+/* Define if you have the wcsstr function. */
+#define _GLIBCPP_HAVE_WCSSTR 1
+
+/* Define if you have the wcstod function. */
+#define _GLIBCPP_HAVE_WCSTOD 1
+
+/* Define if you have the wcstof function. */
+/* #undef _GLIBCPP_HAVE_WCSTOF */
+
+/* Define if you have the wcstok function. */
+#define _GLIBCPP_HAVE_WCSTOK 1
+
+/* Define if you have the wcstol function. */
+#define _GLIBCPP_HAVE_WCSTOL 1
+
+/* Define if you have the wcstoul function. */
+#define _GLIBCPP_HAVE_WCSTOUL 1
+
+/* Define if you have the wcsxfrm function. */
+#define _GLIBCPP_HAVE_WCSXFRM 1
+
+/* Define if you have the wctob function. */
+#define _GLIBCPP_HAVE_WCTOB 1
+
+/* Define if you have the wmemchr function. */
+#define _GLIBCPP_HAVE_WMEMCHR 1
+
+/* Define if you have the wmemcmp function. */
+#define _GLIBCPP_HAVE_WMEMCMP 1
+
+/* Define if you have the wmemcpy function. */
+#define _GLIBCPP_HAVE_WMEMCPY 1
+
+/* Define if you have the wmemmove function. */
+#define _GLIBCPP_HAVE_WMEMMOVE 1
+
+/* Define if you have the wmemset function. */
+#define _GLIBCPP_HAVE_WMEMSET 1
+
+/* Define if you have the wprintf function. */
+/* #undef _GLIBCPP_HAVE_WPRINTF */
+
+/* Define if you have the wscanf function. */
+/* #undef _GLIBCPP_HAVE_WSCANF */
+
+/* Define if you have the <endian.h> header file. */
+/* #undef _GLIBCPP_HAVE_ENDIAN_H */
+
+/* Define if you have the <float.h> header file. */
+#define _GLIBCPP_HAVE_FLOAT_H 1
+
+/* Define if you have the <fp.h> header file. */
+/* #undef _GLIBCPP_HAVE_FP_H */
+
+/* Define if you have the <gconv.h> header file. */
+/* #undef _GLIBCPP_HAVE_GCONV_H */
+
+/* Define if you have the <ieeefp.h> header file. */
+#define _GLIBCPP_HAVE_IEEEFP_H 1
+
+/* Define if you have the <inttypes.h> header file. */
+#define _GLIBCPP_HAVE_INTTYPES_H 1
+
+/* Define if you have the <locale.h> header file. */
+#define _GLIBCPP_HAVE_LOCALE_H 1
+
+/* Define if you have the <machine/endian.h> header file. */
+#define _GLIBCPP_HAVE_MACHINE_ENDIAN_H 1
+
+/* Define if you have the <machine/param.h> header file. */
+#define _GLIBCPP_HAVE_MACHINE_PARAM_H 1
+
+/* Define if you have the <nan.h> header file. */
+/* #undef _GLIBCPP_HAVE_NAN_H */
+
+/* Define if you have the <stdlib.h> header file. */
+#define _GLIBCPP_HAVE_STDLIB_H 1
+
+/* Define if you have the <string.h> header file. */
+#define _GLIBCPP_HAVE_STRING_H 1
+
+/* Define if you have the <sys/filio.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_FILIO_H */
+
+/* Define if you have the <sys/ioctl.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_IOCTL_H */
+
+/* Define if you have the <sys/isa_defs.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_ISA_DEFS_H */
+
+/* Define if you have the <sys/machine.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_MACHINE_H */
+
+/* Define if you have the <sys/resource.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_RESOURCE_H */
+
+/* Define if you have the <sys/stat.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_STAT_H */
+
+/* Define if you have the <sys/time.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_TIME_H */
+
+/* Define if you have the <sys/types.h> header file. */
+#define _GLIBCPP_HAVE_SYS_TYPES_H 1
+
+/* Define if you have the <unistd.h> header file. */
+/* #undef _GLIBCPP_HAVE_UNISTD_H */
+
+/* Define if you have the <wchar.h> header file. */
+#define _GLIBCPP_HAVE_WCHAR_H 1
+
+/* Define if you have the <wctype.h> header file. */
+#define _GLIBCPP_HAVE_WCTYPE_H 1
+
+/* Define if you have the m library (-lm). */
+/* #undef _GLIBCPP_HAVE_LIBM */
+
+/* Name of package */
+#define _GLIBCPP_PACKAGE "libstdc++"
+
+/* Version number of package */
+#define _GLIBCPP_VERSION "3.3.1"
+
+/* Define if the compiler is configured for setjmp/longjmp exceptions. */
+#define _GLIBCPP_SJLJ_EXCEPTIONS 1
+
+/* Define if sigsetjmp is available. */
+/* #undef _GLIBCPP_HAVE_SIGSETJMP */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_DATA */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_RSS */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_VMEM */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_AS */
+
+//
+// Systems that have certain non-standard functions prefixed with an
+// underscore, we'll handle those here. Must come after config.h.in.
+//
+#if defined (_GLIBCPP_HAVE__ISNAN) && ! defined (_GLIBCPP_HAVE_ISNAN)
+# define _GLIBCPP_HAVE_ISNAN 1
+# define isnan _isnan
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISNANF) && ! defined (_GLIBCPP_HAVE_ISNANF)
+# define _GLIBCPP_HAVE_ISNANF 1
+# define isnanf _isnanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISNANL) && ! defined (_GLIBCPP_HAVE_ISNANL)
+# define _GLIBCPP_HAVE_ISNANL 1
+# define isnanl _isnanl
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISINF) && ! defined (_GLIBCPP_HAVE_ISINF)
+# define _GLIBCPP_HAVE_ISINF 1
+# define isinf _isinf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISINFF) && ! defined (_GLIBCPP_HAVE_ISINFF)
+# define _GLIBCPP_HAVE_ISINFF 1
+# define isinff _isinff
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISINFL) && ! defined (_GLIBCPP_HAVE_ISINFL)
+# define _GLIBCPP_HAVE_ISINFL 1
+# define isinfl _isinfl
+#endif
+
+#if defined (_GLIBCPP_HAVE__COPYSIGN) && ! defined (_GLIBCPP_HAVE_COPYSIGN)
+# define _GLIBCPP_HAVE_COPYSIGN 1
+# define copysign _copysign
+#endif
+
+#if defined (_GLIBCPP_HAVE__COPYSIGNL) && ! defined (_GLIBCPP_HAVE_COPYSIGNL)
+# define _GLIBCPP_HAVE_COPYSIGNL 1
+# define copysignl _copysignl
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSF) && ! defined (_GLIBCPP_HAVE_COSF)
+# define _GLIBCPP_HAVE_COSF 1
+# define cosf _cosf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ACOSF) && ! defined (_GLIBCPP_HAVE_ACOSF)
+# define _GLIBCPP_HAVE_ACOSF 1
+# define acosf _acosf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ACOSL) && ! defined (_GLIBCPP_HAVE_ACOSL)
+# define _GLIBCPP_HAVE_ACOSL 1
+# define acosl _acosl
+#endif
+
+#if defined (_GLIBCPP_HAVE__ASINF) && ! defined (_GLIBCPP_HAVE_ASINF)
+# define _GLIBCPP_HAVE_ASINF 1
+# define asinf _asinf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ASINL) && ! defined (_GLIBCPP_HAVE_ASINL)
+# define _GLIBCPP_HAVE_ASINL 1
+# define asinl _asinl
+#endif
+
+#if defined (_GLIBCPP_HAVE__ATANF) && ! defined (_GLIBCPP_HAVE_ATANF)
+# define _GLIBCPP_HAVE_ATANF 1
+# define atanf _atanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ATANL) && ! defined (_GLIBCPP_HAVE_ATANL)
+# define _GLIBCPP_HAVE_ATANL 1
+# define atanl _atanl
+#endif
+
+#if defined (_GLIBCPP_HAVE__CEILF) && ! defined (_GLIBCPP_HAVE_CEILF)
+# define _GLIBCPP_HAVE_CEILF 1
+# define aceil _ceilf
+#endif
+
+#if defined (_GLIBCPP_HAVE__CEILL) && ! defined (_GLIBCPP_HAVE_CEILL)
+# define _GLIBCPP_HAVE_CEILL 1
+# define aceil _ceill
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSHF) && ! defined (_GLIBCPP_HAVE_COSHF)
+# define _GLIBCPP_HAVE_COSHF 1
+# define coshf _coshf
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSL) && ! defined (_GLIBCPP_HAVE_COSL)
+# define _GLIBCPP_HAVE_COSL 1
+# define cosl _cosl
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOGF) && ! defined (_GLIBCPP_HAVE_LOGF)
+# define _GLIBCPP_HAVE_LOGF 1
+# define logf _logf
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSHL) && ! defined (_GLIBCPP_HAVE_COSHL)
+# define _GLIBCPP_HAVE_COSHL 1
+# define coshl _coshl
+#endif
+
+#if defined (_GLIBCPP_HAVE__EXPF) && ! defined (_GLIBCPP_HAVE_EXPF)
+# define _GLIBCPP_HAVE_EXPF 1
+# define expf _expf
+#endif
+
+#if defined (_GLIBCPP_HAVE__EXPL) && ! defined (_GLIBCPP_HAVE_EXPL)
+# define _GLIBCPP_HAVE_EXPL 1
+# define expl _expl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FABSF) && ! defined (_GLIBCPP_HAVE_FABSF)
+# define _GLIBCPP_HAVE_FABSF 1
+# define fabsf _fabsf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FABSL) && ! defined (_GLIBCPP_HAVE_FABSL)
+# define _GLIBCPP_HAVE_FABSL 1
+# define fabsl _fabsl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FLOORF) && ! defined (_GLIBCPP_HAVE_FLOORF)
+# define _GLIBCPP_HAVE_FLOORF 1
+# define floorf _floorf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FLOORL) && ! defined (_GLIBCPP_HAVE_FLOORL)
+# define _GLIBCPP_HAVE_FLOORL 1
+# define floorl _floorl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FMODF) && ! defined (_GLIBCPP_HAVE_FMODF)
+# define _GLIBCPP_HAVE_FMODF 1
+# define fmodf _fmodf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FMODL) && ! defined (_GLIBCPP_HAVE_FMODL)
+# define _GLIBCPP_HAVE_FMODL 1
+# define fmodl _fmodl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FREXPF) && ! defined (_GLIBCPP_HAVE_FREXPF)
+# define _GLIBCPP_HAVE_FREXPF 1
+# define frexpf _frexpf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FREXPL) && ! defined (_GLIBCPP_HAVE_FREXPL)
+# define _GLIBCPP_HAVE_FREXPL 1
+# define frexpl _frexpl
+#endif
+
+#if defined (_GLIBCPP_HAVE__LDEXPF) && ! defined (_GLIBCPP_HAVE_LDEXPF)
+# define _GLIBCPP_HAVE_LDEXPF 1
+# define ldexpf _ldexpf
+#endif
+
+#if defined (_GLIBCPP_HAVE__LDEXPL) && ! defined (_GLIBCPP_HAVE_LDEXPL)
+# define _GLIBCPP_HAVE_LDEXPL 1
+# define ldexpl _ldexpl
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOG10F) && ! defined (_GLIBCPP_HAVE_LOG10F)
+# define _GLIBCPP_HAVE_LOG10F 1
+# define log10f _log10f
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOGL) && ! defined (_GLIBCPP_HAVE_LOGL)
+# define _GLIBCPP_HAVE_LOGL 1
+# define logl _logl
+#endif
+
+#if defined (_GLIBCPP_HAVE__POWF) && ! defined (_GLIBCPP_HAVE_POWF)
+# define _GLIBCPP_HAVE_POWF 1
+# define powf _powf
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOG10L) && ! defined (_GLIBCPP_HAVE_LOG10L)
+# define _GLIBCPP_HAVE_LOG10L 1
+# define log10l _log10l
+#endif
+
+#if defined (_GLIBCPP_HAVE__MODF) && ! defined (_GLIBCPP_HAVE_MODF)
+# define _GLIBCPP_HAVE_MODF 1
+# define modf _modf
+#endif
+
+#if defined (_GLIBCPP_HAVE__MODL) && ! defined (_GLIBCPP_HAVE_MODL)
+# define _GLIBCPP_HAVE_MODL 1
+# define modl _modl
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINF) && ! defined (_GLIBCPP_HAVE_SINF)
+# define _GLIBCPP_HAVE_SINF 1
+# define sinf _sinf
+#endif
+
+#if defined (_GLIBCPP_HAVE__POWL) && ! defined (_GLIBCPP_HAVE_POWL)
+# define _GLIBCPP_HAVE_POWL 1
+# define powl _powl
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINHF) && ! defined (_GLIBCPP_HAVE_SINHF)
+# define _GLIBCPP_HAVE_SINHF 1
+# define sinhf _sinhf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINL) && ! defined (_GLIBCPP_HAVE_SINL)
+# define _GLIBCPP_HAVE_SINL 1
+# define sinl _sinl
+#endif
+
+#if defined (_GLIBCPP_HAVE__SQRTF) && ! defined (_GLIBCPP_HAVE_SQRTF)
+# define _GLIBCPP_HAVE_SQRTF 1
+# define sqrtf _sqrtf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINHL) && ! defined (_GLIBCPP_HAVE_SINHL)
+# define _GLIBCPP_HAVE_SINHL 1
+# define sinhl _sinhl
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANF) && ! defined (_GLIBCPP_HAVE_TANF)
+# define _GLIBCPP_HAVE_TANF 1
+# define tanf _tanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SQRTL) && ! defined (_GLIBCPP_HAVE_SQRTL)
+# define _GLIBCPP_HAVE_SQRTL 1
+# define sqrtl _sqrtl
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANHF) && ! defined (_GLIBCPP_HAVE_TANHF)
+# define _GLIBCPP_HAVE_TANHF 1
+# define tanhf _tanhf
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANL) && ! defined (_GLIBCPP_HAVE_TANL)
+# define _GLIBCPP_HAVE_TANF 1
+# define tanf _tanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__STRTOF) && ! defined (_GLIBCPP_HAVE_STRTOF)
+# define _GLIBCPP_HAVE_STRTOF 1
+# define strtof _strtof
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANHL) && ! defined (_GLIBCPP_HAVE_TANHL)
+# define _GLIBCPP_HAVE_TANHL 1
+# define tanhl _tanhl
+#endif
+
+#if defined (_GLIBCPP_HAVE__STRTOLD) && ! defined (_GLIBCPP_HAVE_STRTOLD)
+# define _GLIBCPP_HAVE_STRTOLD 1
+# define strtold _strtold
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINCOS) && ! defined (_GLIBCPP_HAVE_SINCOS)
+# define _GLIBCPP_HAVE_SINCOS 1
+# define sincos _sincos
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINCOSF) && ! defined (_GLIBCPP_HAVE_SINCOSF)
+# define _GLIBCPP_HAVE_SINCOSF 1
+# define sincosf _sincosf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINCOSL) && ! defined (_GLIBCPP_HAVE_SINCOSL)
+# define _GLIBCPP_HAVE_SINCOSL 1
+# define sincosl _sincosl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FINITE) && ! defined (_GLIBCPP_HAVE_FINITE)
+# define _GLIBCPP_HAVE_FINITE 1
+# define finite _finite
+#endif
+
+#if defined (_GLIBCPP_HAVE__FINITEF) && ! defined (_GLIBCPP_HAVE_FINITEF)
+# define _GLIBCPP_HAVE_FINITEF 1
+# define finitef _finitef
+#endif
+
+#if defined (_GLIBCPP_HAVE__FINITEL) && ! defined (_GLIBCPP_HAVE_FINITEL)
+# define _GLIBCPP_HAVE_FINITEL 1
+# define finitel _finitel
+#endif
+
+#if defined (_GLIBCPP_HAVE__QFINITE) && ! defined (_GLIBCPP_HAVE_QFINITE)
+# define _GLIBCPP_HAVE_QFINITE 1
+# define qfinite _qfinite
+#endif
+
+#if defined (_GLIBCPP_HAVE__FPCLASS) && ! defined (_GLIBCPP_HAVE_FPCLASS)
+# define _GLIBCPP_HAVE_FPCLASS 1
+# define fpclass _fpclass
+#endif
+
+#if defined (_GLIBCPP_HAVE__QFPCLASS) && ! defined (_GLIBCPP_HAVE_QFPCLASS)
+# define _GLIBCPP_HAVE_QFPCLASS 1
+# define qfpclass _qfpclass
+#endif
+
+#endif // _CPP_CPPCONFIG_
diff --git a/gnu/lib/libstdc++-v3/arch/arm/defs.mk b/gnu/lib/libstdc++-v3/arch/arm/defs.mk
new file mode 100644
index 00000000000..5dbddc912ff
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/arm/defs.mk
@@ -0,0 +1,18 @@
+# This file is automatically generated. DO NOT EDIT!
+# Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp
+#
+G_libmath_la_SOURCES=stubs.c
+G_libmath_la_LIBADD=nan.lo copysignf.lo signbit.lo signbitf.lo
+G_LIBSUPCXX_SOURCES=del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_aux_runtime.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_terminate.cc eh_throw.cc eh_type.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc vec.cc
+G_LIBSUPCXX_C_SOURCES=cxa_demangle.c dyn-string.c
+G_SRC_SOURCES=bitset.cc codecvt.cc complex_io.cc concept-inst.cc ctype.cc ext-inst.cc fstream.cc fstream-inst.cc functexcept.cc globals.cc io-inst.cc ios.cc istream-inst.cc limits.cc locale.cc locale-inst.cc localename.cc misc-inst.cc ostream-inst.cc sstream-inst.cc stdexcept.cc stl-inst.cc streambuf-inst.cc string-inst.cc strstream.cc valarray-inst.cc vterminate.cc wstring-inst.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_SECTION_FLAGS=-ffunction-sections -fdata-sections
+G_c_base_headers_rename=cassert cctype cerrno cfloat ciso646 climits clocale cmath csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype
+G_std_headers_rename=algorithm bitset complex deque fstream functional iomanip ios iosfwd iostream istream iterator limits list locale map memory numeric ostream queue set sstream stack stdexcept streambuf string utility valarray vector
+G_bits_headers=basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc fpos.h fstream.tcc functexcept.h gslice.h gslice_array.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_facets.h locale_facets.tcc localefwd.h mask_array.h ostream.tcc pthread_allocimpl.h stream_iterator.h streambuf_iterator.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_alloc.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_threads.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h type_traits.h valarray_array.h valarray_array.tcc valarray_meta.h vector.tcc
+G_backward_headers=complex.h iomanip.h istream.h ostream.h stream.h streambuf.h algo.h algobase.h alloc.h bvector.h defalloc.h deque.h function.h hash_map.h hash_set.h hashtable.h heap.h iostream.h iterator.h list.h map.h multimap.h new.h multiset.h pair.h queue.h rope.h set.h slist.h stack.h tempbuf.h tree.h vector.h fstream.h strstream backward_warning.h
+G_ext_headers=algorithm enc_filebuf.h stdio_filebuf.h functional hash_map hash_set iterator memory numeric rb_tree rope ropeimpl.h slist stl_hash_fun.h stl_hashtable.h stl_rope.h
+G_c_base_headers_extra=cmath.tcc
+G_target_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomicity.h
+G_thread_target_headers=gthr.h gthr-single.h gthr-posix.h gthr-default.h
+G_target_headers_extra=basic_file.h c++config.h c++io.h c++locale.h messages_members.h time_members.h codecvt_specializations.h
diff --git a/gnu/lib/libstdc++-v3/arch/arm/gthr-default.h b/gnu/lib/libstdc++-v3/arch/arm/gthr-default.h
new file mode 100644
index 00000000000..6fa2b1ed699
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/arm/gthr-default.h
@@ -0,0 +1,242 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_SINGLE_H
+#define _GLIBCPP_GCC_GTHR_SINGLE_H
+
+/* Just provide compatibility for mutex handling. */
+
+typedef int __gthread_mutex_t;
+
+#define __GTHREAD_MUTEX_INIT 0
+
+#ifdef __cplusplus
+#define _GLIBCPP_UNUSED(x)
+#else
+#define _GLIBCPP_UNUSED(x) x __attribute__((unused))
+#endif
+
+#ifdef _LIBOBJC
+
+/* Thread local storage for a single thread */
+static void *thread_local_storage = NULL;
+
+/* Backend initialization functions */
+
+/* Initialize the threads subsystem. */
+static inline int
+__gthread_objc_init_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Close the threads subsystem. */
+static inline int
+__gthread_objc_close_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Backend thread functions */
+
+/* Create a new thread of execution. */
+static inline objc_thread_t
+__gthread_objc_thread_detach (void (* func)(void *), void * _GLIBCPP_UNUSED(arg))
+{
+ /* No thread support available */
+ return NULL;
+}
+
+/* Set the current thread's priority. */
+static inline int
+__gthread_objc_thread_set_priority (int _GLIBCPP_UNUSED(priority))
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Return the current thread's priority. */
+static inline int
+__gthread_objc_thread_get_priority (void)
+{
+ return OBJC_THREAD_INTERACTIVE_PRIORITY;
+}
+
+/* Yield our process time to another thread. */
+static inline void
+__gthread_objc_thread_yield (void)
+{
+ return;
+}
+
+/* Terminate the current thread. */
+static inline int
+__gthread_objc_thread_exit (void)
+{
+ /* No thread support available */
+ /* Should we really exit the program */
+ /* exit (&__objc_thread_exit_status); */
+ return -1;
+}
+
+/* Returns an integer value which uniquely describes a thread. */
+static inline objc_thread_t
+__gthread_objc_thread_id (void)
+{
+ /* No thread support, use 1. */
+ return (objc_thread_t) 1;
+}
+
+/* Sets the thread's local storage pointer. */
+static inline int
+__gthread_objc_thread_set_data (void *value)
+{
+ thread_local_storage = value;
+ return 0;
+}
+
+/* Returns the thread's local storage pointer. */
+static inline void *
+__gthread_objc_thread_get_data (void)
+{
+ return thread_local_storage;
+}
+
+/* Backend mutex functions */
+
+/* Allocate a mutex. */
+static inline int
+__gthread_objc_mutex_allocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Deallocate a mutex. */
+static inline int
+__gthread_objc_mutex_deallocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_lock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Try to grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_trylock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Unlock the mutex */
+static inline int
+__gthread_objc_mutex_unlock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Backend condition mutex functions */
+
+/* Allocate a condition. */
+static inline int
+__gthread_objc_condition_allocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Deallocate a condition. */
+static inline int
+__gthread_objc_condition_deallocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wait on the condition */
+static inline int
+__gthread_objc_condition_wait (objc_condition_t _GLIBCPP_UNUSED(condition),
+ objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Wake up all threads waiting on this condition. */
+static inline int
+__gthread_objc_condition_broadcast (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wake up one thread waiting on this condition. */
+static inline int
+__gthread_objc_condition_signal (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+#else /* _LIBOBJC */
+
+static inline int
+__gthread_active_p (void)
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_lock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_trylock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_unlock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+#endif /* _LIBOBJC */
+
+#undef _GLIBCPP_UNUSED
+
+#endif /* ! _GLIBCPP_GCC_GTHR_SINGLE_H */
diff --git a/gnu/lib/libstdc++-v3/arch/arm/gthr-posix.h b/gnu/lib/libstdc++-v3/arch/arm/gthr-posix.h
new file mode 100644
index 00000000000..205fa9e2190
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/arm/gthr-posix.h
@@ -0,0 +1,524 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_POSIX_H
+#define _GLIBCPP_GCC_GTHR_POSIX_H
+
+/* POSIX threads specific definitions.
+ Easy, since the interface is just one-to-one mapping. */
+
+#define __GTHREADS 1
+
+#include <pthread.h>
+#include <unistd.h>
+
+typedef pthread_key_t __gthread_key_t;
+typedef pthread_once_t __gthread_once_t;
+typedef pthread_mutex_t __gthread_mutex_t;
+
+#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
+#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
+
+#if _GLIBCPP_SUPPORTS_WEAK && _GLIBCPP_GTHREAD_USE_WEAK
+
+#pragma weak pthread_once
+#pragma weak pthread_key_create
+#pragma weak pthread_key_delete
+#pragma weak pthread_getspecific
+#pragma weak pthread_setspecific
+#pragma weak pthread_create
+
+#pragma weak pthread_mutex_lock
+#pragma weak pthread_mutex_trylock
+#pragma weak pthread_mutex_unlock
+
+#ifdef _LIBOBJC
+/* Objective-C. */
+#pragma weak pthread_cond_broadcast
+#pragma weak pthread_cond_destroy
+#pragma weak pthread_cond_init
+#pragma weak pthread_cond_signal
+#pragma weak pthread_cond_wait
+#pragma weak pthread_exit
+#pragma weak pthread_mutex_init
+#pragma weak pthread_mutex_destroy
+#pragma weak pthread_self
+/* These really should be protected by _POSIX_PRIORITY_SCHEDULING, but
+ we use them inside a _POSIX_THREAD_PRIORITY_SCHEDULING block. */
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+#pragma weak sched_get_priority_max
+#pragma weak sched_get_priority_min
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+#pragma weak sched_yield
+#pragma weak pthread_attr_destroy
+#pragma weak pthread_attr_init
+#pragma weak pthread_attr_setdetachstate
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+#pragma weak pthread_getschedparam
+#pragma weak pthread_setschedparam
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+#endif /* _LIBOBJC */
+
+static inline int
+__gthread_active_p (void)
+{
+ static void *const __gthread_active_ptr = (void *) &pthread_create;
+ return __gthread_active_ptr != 0;
+}
+
+#else /* not _GLIBCPP_SUPPORTS_WEAK */
+
+static inline int
+__gthread_active_p (void)
+{
+ return 1;
+}
+
+#endif /* _GLIBCPP_SUPPORTS_WEAK */
+
+#ifdef _LIBOBJC
+
+/* This is the config.h file in libobjc/ */
+#include <config.h>
+
+#ifdef HAVE_SCHED_H
+# include <sched.h>
+#endif
+
+/* Key structure for maintaining thread specific storage */
+static pthread_key_t _objc_thread_storage;
+static pthread_attr_t _objc_thread_attribs;
+
+/* Thread local storage for a single thread */
+static void *thread_local_storage = NULL;
+
+/* Backend initialization functions */
+
+/* Initialize the threads subsystem. */
+static inline int
+__gthread_objc_init_thread_system (void)
+{
+ if (__gthread_active_p ())
+ {
+ /* Initialize the thread storage key */
+ if (pthread_key_create (&_objc_thread_storage, NULL) == 0)
+ {
+ /* The normal default detach state for threads is
+ * PTHREAD_CREATE_JOINABLE which causes threads to not die
+ * when you think they should. */
+ if (pthread_attr_init (&_objc_thread_attribs) == 0
+ && pthread_attr_setdetachstate (&_objc_thread_attribs,
+ PTHREAD_CREATE_DETACHED) == 0)
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
+/* Close the threads subsystem. */
+static inline int
+__gthread_objc_close_thread_system (void)
+{
+ if (__gthread_active_p ()
+ && pthread_key_delete (_objc_thread_storage) == 0
+ && pthread_attr_destroy (&_objc_thread_attribs) == 0)
+ return 0;
+
+ return -1;
+}
+
+/* Backend thread functions */
+
+/* Create a new thread of execution. */
+static inline objc_thread_t
+__gthread_objc_thread_detach (void (*func)(void *), void *arg)
+{
+ objc_thread_t thread_id;
+ pthread_t new_thread_handle;
+
+ if (!__gthread_active_p ())
+ return NULL;
+
+ if (!(pthread_create (&new_thread_handle, NULL, (void *) func, arg)))
+ thread_id = (objc_thread_t) new_thread_handle;
+ else
+ thread_id = NULL;
+
+ return thread_id;
+}
+
+/* Set the current thread's priority. */
+static inline int
+__gthread_objc_thread_set_priority (int priority)
+{
+ if (!__gthread_active_p ())
+ return -1;
+ else
+ {
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+ pthread_t thread_id = pthread_self ();
+ int policy;
+ struct sched_param params;
+ int priority_min, priority_max;
+
+ if (pthread_getschedparam (thread_id, &policy, &params) == 0)
+ {
+ if ((priority_max = sched_get_priority_max (policy)) == -1)
+ return -1;
+
+ if ((priority_min = sched_get_priority_min (policy)) == -1)
+ return -1;
+
+ if (priority > priority_max)
+ priority = priority_max;
+ else if (priority < priority_min)
+ priority = priority_min;
+ params.sched_priority = priority;
+
+ /*
+ * The solaris 7 and several other man pages incorrectly state that
+ * this should be a pointer to policy but pthread.h is universally
+ * at odds with this.
+ */
+ if (pthread_setschedparam (thread_id, policy, &params) == 0)
+ return 0;
+ }
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+ return -1;
+ }
+}
+
+/* Return the current thread's priority. */
+static inline int
+__gthread_objc_thread_get_priority (void)
+{
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+ if (__gthread_active_p ())
+ {
+ int policy;
+ struct sched_param params;
+
+ if (pthread_getschedparam (pthread_self (), &policy, &params) == 0)
+ return params.sched_priority;
+ else
+ return -1;
+ }
+ else
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+ return OBJC_THREAD_INTERACTIVE_PRIORITY;
+}
+
+/* Yield our process time to another thread. */
+static inline void
+__gthread_objc_thread_yield (void)
+{
+ if (__gthread_active_p ())
+ sched_yield ();
+}
+
+/* Terminate the current thread. */
+static inline int
+__gthread_objc_thread_exit (void)
+{
+ if (__gthread_active_p ())
+ /* exit the thread */
+ pthread_exit (&__objc_thread_exit_status);
+
+ /* Failed if we reached here */
+ return -1;
+}
+
+/* Returns an integer value which uniquely describes a thread. */
+static inline objc_thread_t
+__gthread_objc_thread_id (void)
+{
+ if (__gthread_active_p ())
+ return (objc_thread_t) pthread_self ();
+ else
+ return (objc_thread_t) 1;
+}
+
+/* Sets the thread's local storage pointer. */
+static inline int
+__gthread_objc_thread_set_data (void *value)
+{
+ if (__gthread_active_p ())
+ return pthread_setspecific (_objc_thread_storage, value);
+ else
+ {
+ thread_local_storage = value;
+ return 0;
+ }
+}
+
+/* Returns the thread's local storage pointer. */
+static inline void *
+__gthread_objc_thread_get_data (void)
+{
+ if (__gthread_active_p ())
+ return pthread_getspecific (_objc_thread_storage);
+ else
+ return thread_local_storage;
+}
+
+/* Backend mutex functions */
+
+/* Allocate a mutex. */
+static inline int
+__gthread_objc_mutex_allocate (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ())
+ {
+ mutex->backend = objc_malloc (sizeof (pthread_mutex_t));
+
+ if (pthread_mutex_init ((pthread_mutex_t *) mutex->backend, NULL))
+ {
+ objc_free (mutex->backend);
+ mutex->backend = NULL;
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+/* Deallocate a mutex. */
+static inline int
+__gthread_objc_mutex_deallocate (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ())
+ {
+ int count;
+
+ /*
+ * Posix Threads specifically require that the thread be unlocked
+ * for pthread_mutex_destroy to work.
+ */
+
+ do
+ {
+ count = pthread_mutex_unlock ((pthread_mutex_t *) mutex->backend);
+ if (count < 0)
+ return -1;
+ }
+ while (count);
+
+ if (pthread_mutex_destroy ((pthread_mutex_t *) mutex->backend))
+ return -1;
+
+ objc_free (mutex->backend);
+ mutex->backend = NULL;
+ }
+ return 0;
+}
+
+/* Grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_lock (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ()
+ && pthread_mutex_lock ((pthread_mutex_t *) mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+/* Try to grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_trylock (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ()
+ && pthread_mutex_trylock ((pthread_mutex_t *) mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+/* Unlock the mutex */
+static inline int
+__gthread_objc_mutex_unlock (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ()
+ && pthread_mutex_unlock ((pthread_mutex_t *) mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+/* Backend condition mutex functions */
+
+/* Allocate a condition. */
+static inline int
+__gthread_objc_condition_allocate (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ {
+ condition->backend = objc_malloc (sizeof (pthread_cond_t));
+
+ if (pthread_cond_init ((pthread_cond_t *) condition->backend, NULL))
+ {
+ objc_free (condition->backend);
+ condition->backend = NULL;
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+/* Deallocate a condition. */
+static inline int
+__gthread_objc_condition_deallocate (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ {
+ if (pthread_cond_destroy ((pthread_cond_t *) condition->backend))
+ return -1;
+
+ objc_free (condition->backend);
+ condition->backend = NULL;
+ }
+ return 0;
+}
+
+/* Wait on the condition */
+static inline int
+__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_cond_wait ((pthread_cond_t *) condition->backend,
+ (pthread_mutex_t *) mutex->backend);
+ else
+ return 0;
+}
+
+/* Wake up all threads waiting on this condition. */
+static inline int
+__gthread_objc_condition_broadcast (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ return pthread_cond_broadcast ((pthread_cond_t *) condition->backend);
+ else
+ return 0;
+}
+
+/* Wake up one thread waiting on this condition. */
+static inline int
+__gthread_objc_condition_signal (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ return pthread_cond_signal ((pthread_cond_t *) condition->backend);
+ else
+ return 0;
+}
+
+#else /* _LIBOBJC */
+
+static inline int
+__gthread_once (__gthread_once_t *once, void (*func) (void))
+{
+ if (__gthread_active_p ())
+ return pthread_once (once, func);
+ else
+ return -1;
+}
+
+static inline int
+__gthread_key_create (__gthread_key_t *key, void (*dtor) (void *))
+{
+ return pthread_key_create (key, dtor);
+}
+
+static inline int
+__gthread_key_dtor (__gthread_key_t key, void *ptr)
+{
+ /* Just reset the key value to zero. */
+ if (ptr)
+ return pthread_setspecific (key, 0);
+ else
+ return 0;
+}
+
+static inline int
+__gthread_key_delete (__gthread_key_t key)
+{
+ return pthread_key_delete (key);
+}
+
+static inline void *
+__gthread_getspecific (__gthread_key_t key)
+{
+ return pthread_getspecific (key);
+}
+
+static inline int
+__gthread_setspecific (__gthread_key_t key, const void *ptr)
+{
+ return pthread_setspecific (key, ptr);
+}
+
+static inline int
+__gthread_mutex_lock (__gthread_mutex_t *mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_mutex_lock (mutex);
+ else
+ return 0;
+}
+
+static inline int
+__gthread_mutex_trylock (__gthread_mutex_t *mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_mutex_trylock (mutex);
+ else
+ return 0;
+}
+
+static inline int
+__gthread_mutex_unlock (__gthread_mutex_t *mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_mutex_unlock (mutex);
+ else
+ return 0;
+}
+
+#endif /* _LIBOBJC */
+
+#endif /* ! _GLIBCPP_GCC_GTHR_POSIX_H */
diff --git a/gnu/lib/libstdc++-v3/arch/arm/gthr-single.h b/gnu/lib/libstdc++-v3/arch/arm/gthr-single.h
new file mode 100644
index 00000000000..6fa2b1ed699
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/arm/gthr-single.h
@@ -0,0 +1,242 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_SINGLE_H
+#define _GLIBCPP_GCC_GTHR_SINGLE_H
+
+/* Just provide compatibility for mutex handling. */
+
+typedef int __gthread_mutex_t;
+
+#define __GTHREAD_MUTEX_INIT 0
+
+#ifdef __cplusplus
+#define _GLIBCPP_UNUSED(x)
+#else
+#define _GLIBCPP_UNUSED(x) x __attribute__((unused))
+#endif
+
+#ifdef _LIBOBJC
+
+/* Thread local storage for a single thread */
+static void *thread_local_storage = NULL;
+
+/* Backend initialization functions */
+
+/* Initialize the threads subsystem. */
+static inline int
+__gthread_objc_init_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Close the threads subsystem. */
+static inline int
+__gthread_objc_close_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Backend thread functions */
+
+/* Create a new thread of execution. */
+static inline objc_thread_t
+__gthread_objc_thread_detach (void (* func)(void *), void * _GLIBCPP_UNUSED(arg))
+{
+ /* No thread support available */
+ return NULL;
+}
+
+/* Set the current thread's priority. */
+static inline int
+__gthread_objc_thread_set_priority (int _GLIBCPP_UNUSED(priority))
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Return the current thread's priority. */
+static inline int
+__gthread_objc_thread_get_priority (void)
+{
+ return OBJC_THREAD_INTERACTIVE_PRIORITY;
+}
+
+/* Yield our process time to another thread. */
+static inline void
+__gthread_objc_thread_yield (void)
+{
+ return;
+}
+
+/* Terminate the current thread. */
+static inline int
+__gthread_objc_thread_exit (void)
+{
+ /* No thread support available */
+ /* Should we really exit the program */
+ /* exit (&__objc_thread_exit_status); */
+ return -1;
+}
+
+/* Returns an integer value which uniquely describes a thread. */
+static inline objc_thread_t
+__gthread_objc_thread_id (void)
+{
+ /* No thread support, use 1. */
+ return (objc_thread_t) 1;
+}
+
+/* Sets the thread's local storage pointer. */
+static inline int
+__gthread_objc_thread_set_data (void *value)
+{
+ thread_local_storage = value;
+ return 0;
+}
+
+/* Returns the thread's local storage pointer. */
+static inline void *
+__gthread_objc_thread_get_data (void)
+{
+ return thread_local_storage;
+}
+
+/* Backend mutex functions */
+
+/* Allocate a mutex. */
+static inline int
+__gthread_objc_mutex_allocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Deallocate a mutex. */
+static inline int
+__gthread_objc_mutex_deallocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_lock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Try to grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_trylock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Unlock the mutex */
+static inline int
+__gthread_objc_mutex_unlock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Backend condition mutex functions */
+
+/* Allocate a condition. */
+static inline int
+__gthread_objc_condition_allocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Deallocate a condition. */
+static inline int
+__gthread_objc_condition_deallocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wait on the condition */
+static inline int
+__gthread_objc_condition_wait (objc_condition_t _GLIBCPP_UNUSED(condition),
+ objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Wake up all threads waiting on this condition. */
+static inline int
+__gthread_objc_condition_broadcast (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wake up one thread waiting on this condition. */
+static inline int
+__gthread_objc_condition_signal (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+#else /* _LIBOBJC */
+
+static inline int
+__gthread_active_p (void)
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_lock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_trylock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_unlock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+#endif /* _LIBOBJC */
+
+#undef _GLIBCPP_UNUSED
+
+#endif /* ! _GLIBCPP_GCC_GTHR_SINGLE_H */
diff --git a/gnu/lib/libstdc++-v3/arch/arm/gthr.h b/gnu/lib/libstdc++-v3/arch/arm/gthr.h
new file mode 100644
index 00000000000..d463cf98ec6
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/arm/gthr.h
@@ -0,0 +1,108 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_H
+#define _GLIBCPP_GCC_GTHR_H
+
+/* If this file is compiled with threads support, it must
+ #define __GTHREADS 1
+ to indicate that threads support is present. Also it has define
+ function
+ int __gthread_active_p ()
+ that returns 1 if thread system is active, 0 if not.
+
+ The threads interface must define the following types:
+ __gthread_key_t
+ __gthread_once_t
+ __gthread_mutex_t
+
+ The threads interface must define the following macros:
+
+ __GTHREAD_ONCE_INIT
+ to initialize __gthread_once_t
+ __GTHREAD_MUTEX_INIT
+ to initialize __gthread_mutex_t to get a fast
+ non-recursive mutex.
+ __GTHREAD_MUTEX_INIT_FUNCTION
+ some systems can't initialize a mutex without a
+ function call. On such systems, define this to a
+ function which looks like this:
+ void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *)
+ Don't define __GTHREAD_MUTEX_INIT in this case
+
+ The threads interface must define the following static functions:
+
+ int __gthread_once (__gthread_once_t *once, void (*func) ())
+
+ int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *))
+ int __gthread_key_delete (__gthread_key_t key)
+
+ int __gthread_key_dtor (__gthread_key_t key, void *ptr)
+
+ void *__gthread_getspecific (__gthread_key_t key)
+ int __gthread_setspecific (__gthread_key_t key, const void *ptr)
+
+ int __gthread_mutex_lock (__gthread_mutex_t *mutex);
+ int __gthread_mutex_trylock (__gthread_mutex_t *mutex);
+ int __gthread_mutex_unlock (__gthread_mutex_t *mutex);
+
+ All functions returning int should return zero on success or the error
+ number. If the operation is not supported, -1 is returned.
+
+ Currently supported threads packages are
+ POSIX threads with -D_PTHREADS
+ DCE threads with -D_DCE_THREADS
+ Solaris/UI threads with -D_SOLARIS_THREADS
+*/
+
+/* Check first for thread specific defines. */
+#if _GLIBCPP__PTHREADS
+#include <bits/gthr-posix.h>
+#elif _GLIBCPP__DCE_THREADS
+#include <bits/gthr-dce.h>
+#elif _GLIBCPP__SOLARIS_THREADS
+#include <bits/gthr-solaris.h>
+
+/* Include GTHREAD_FILE if one is defined. */
+#elif defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
+#if _GLIBCPP_SUPPORTS_WEAK
+#ifndef _GLIBCPP_GTHREAD_USE_WEAK
+#define _GLIBCPP_GTHREAD_USE_WEAK 1
+#endif
+#endif
+#include <bits/gthr-default.h>
+
+/* Fallback to single thread definitions. */
+#else
+#include <bits/gthr-single.h>
+#endif
+
+#endif /* ! _GLIBCPP_GCC_GTHR_H */
diff --git a/gnu/lib/libstdc++-v3/arch/sparc64/c++config.h b/gnu/lib/libstdc++-v3/arch/sparc64/c++config.h
new file mode 100644
index 00000000000..ce7276697c6
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/sparc64/c++config.h
@@ -0,0 +1,1228 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+// Predefined symbols and macros -*- C++ -*-
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library 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.
+
+// This 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 General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_CPPCONFIG
+#define _CPP_CPPCONFIG 1
+
+// Pick up any OS-specific definitions.
+#include <bits/os_defines.h>
+
+// The current version of the C++ library in compressed ISO date format.
+#define __GLIBCPP__ 20030720
+
+// This is necessary until GCC supports separate template compilation.
+#define _GLIBCPP_NO_TEMPLATE_EXPORT 1
+
+// This is a hack around not having either pre-compiled headers or
+// export compilation. If defined, the io, string, and valarray
+// headers will include all the necessary bits. If not defined, the
+// implementation optimizes the headers for the most commonly-used
+// types. For the io library, this means that larger, out-of-line
+// member functions are only declared, and definitions are not parsed
+// by the compiler, but instead instantiated into the library binary.
+#define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1
+
+// Allow use of the GNU syntax extension, "extern template." This
+// extension is fully documented in the g++ manual, but in a nutshell,
+// it inhibits all implicit instantiations and is used throughout the
+// library to avoid multiple weak definitions for required types that
+// are already explicitly instantiated in the library binary. This
+// substantially reduces the binary size of resulting executables.
+#ifndef _GLIBCPP_EXTERN_TEMPLATE
+#define _GLIBCPP_EXTERN_TEMPLATE 1
+#endif
+
+// To enable older, ARM-style iostreams and other anachronisms use this.
+//#define _GLIBCPP_DEPRECATED 1
+
+// Use corrected code from the committee library group's issues list.
+#define _GLIBCPP_RESOLVE_LIB_DEFECTS 1
+
+// Hopefully temporary workaround to autoconf/m4 issue with quoting '@'.
+#define _GLIBCPP_AT_AT "@@"
+
+// In those parts of the standard C++ library that use a mutex instead
+// of a spin-lock, we now unconditionally use GCC's gthr.h mutex
+// abstraction layer. All support to directly map to various
+// threading models has been removed. Note: gthr.h may well map to
+// gthr-single.h which is a correct way to express no threads support
+// in gcc. Support for the undocumented _NOTHREADS has been removed.
+
+// Default to the typically high-speed, pool-based allocator (as
+// libstdc++-v2) instead of the malloc-based allocator (libstdc++-v3
+// snapshots). See libstdc++-v3/docs/html/17_intro/howto.html for
+// details on why you don't want to override this setting. Ensure
+// that threads are properly configured on your platform before
+// assigning blame to the STL container-memory allocator. After doing
+// so, please report any possible issues to libstdc++@gcc.gnu.org .
+// Do not define __USE_MALLOC on the command line. Enforce it here:
+#ifdef __USE_MALLOC
+#error __USE_MALLOC should never be defined. Read the release notes.
+#endif
+
+// Create a boolean flag to be used to determine if --fast-math is set.
+#ifdef __FAST_MATH__
+#define _GLIBCPP_FAST_MATH 1
+#else
+#define _GLIBCPP_FAST_MATH 0
+#endif
+
+// The remainder of the prewritten config is mostly automatic; all the
+// user hooks are listed above.
+
+// End of prewritten config; the discovered settings follow.
+/* config.h. Generated automatically by configure. */
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define if you have a working `mmap' system call. */
+#define _GLIBCPP_HAVE_MMAP 1
+
+// Define if GCC supports weak symbols.
+/* #undef _GLIBCPP_SUPPORTS_WEAK */
+
+// Include I/O support for 'long long' and 'unsigned long long'.
+/* #undef _GLIBCPP_USE_LONG_LONG */
+
+// Define if C99 features such as lldiv_t, llabs, lldiv should be exposed.
+/* #undef _GLIBCPP_USE_C99 */
+
+// Define if code specialized for wchar_t should be used.
+/* #undef _GLIBCPP_USE_WCHAR_T */
+
+// Define if using setrlimit to limit memory usage during 'make check'.
+/* #undef _GLIBCPP_MEM_LIMITS */
+
+// Define to use concept checking code from the boost libraries.
+/* #undef _GLIBCPP_CONCEPT_CHECKS */
+
+// Define to use symbol versioning in the shared library.
+/* #undef _GLIBCPP_SYMVER */
+
+// Define symbol versioning in assember directives. If symbol
+// versioning is beigng used, and the assembler supports this kind of
+// thing, then use it.
+// NB: _GLIBCPP_AT_AT is a hack to work around quoting issues in m4.
+#if _GLIBCPP_SYMVER
+ #define _GLIBCPP_ASM_SYMVER(cur, old, version) \
+ asm (".symver " #cur "," #old _GLIBCPP_AT_AT #version);
+#else
+ #define _GLIBCPP_ASM_SYMVER(cur, old, version)
+#endif
+
+// Define if gthr-default.h exists (meaning that threading support is enabled).
+/* #undef _GLIBCPP_HAVE_GTHR_DEFAULT */
+
+// Define if drand48 exists.
+/* #undef _GLIBCPP_HAVE_DRAND48 */
+
+// Define if getpagesize exists.
+/* #undef _GLIBCPP_HAVE_GETPAGESIZE */
+
+// Define if setenv exists.
+/* #undef _GLIBCPP_HAVE_SETENV */
+
+// Define if sigsetjmp exists.
+/* #undef _GLIBCPP_HAVE_SIGSETJMP */
+
+// Define if mbstate_t exists in wchar.h.
+#define _GLIBCPP_HAVE_MBSTATE_T 1
+
+// Define if you have the modff function.
+#define _GLIBCPP_HAVE_MODFF 1
+
+// Define if you have the modfl function.
+/* #undef _GLIBCPP_HAVE_MODFL */
+
+// Define if you have the expf function.
+#define _GLIBCPP_HAVE_EXPF 1
+
+// Define if you have the expl function.
+/* #undef _GLIBCPP_HAVE_EXPL */
+
+// Define if you have the hypotf function.
+#define _GLIBCPP_HAVE_HYPOTF 1
+
+// Define if you have the hypotl function.
+/* #undef _GLIBCPP_HAVE_HYPOTL */
+
+// Define if the compiler/host combination has __builtin_abs
+/* #undef _GLIBCPP_HAVE___BUILTIN_ABS */
+
+// Define if the compiler/host combination has __builtin_labs
+/* #undef _GLIBCPP_HAVE___BUILTIN_LABS */
+
+// Define if the compiler/host combination has __builtin_cos
+/* #undef _GLIBCPP_HAVE___BUILTIN_COS */
+
+// Define if the compiler/host combination has __builtin_cosf
+/* #undef _GLIBCPP_HAVE___BUILTIN_COSF */
+
+// Define if the compiler/host combination has __builtin_cosl
+/* #undef _GLIBCPP_HAVE___BUILTIN_COSL */
+
+// Define if the compiler/host combination has __builtin_fabs
+/* #undef _GLIBCPP_HAVE___BUILTIN_FABS */
+
+// Define if the compiler/host combination has __builtin_fabsf
+/* #undef _GLIBCPP_HAVE___BUILTIN_FABSF */
+
+// Define if the compiler/host combination has __builtin_fabsl
+/* #undef _GLIBCPP_HAVE___BUILTIN_FABSL */
+
+// Define if the compiler/host combination has __builtin_sin
+/* #undef _GLIBCPP_HAVE___BUILTIN_SIN */
+
+// Define if the compiler/host combination has __builtin_sinf
+/* #undef _GLIBCPP_HAVE___BUILTIN_SINF */
+
+// Define if the compiler/host combination has __builtin_sinl
+/* #undef _GLIBCPP_HAVE___BUILTIN_SINL */
+
+// Define if the compiler/host combination has __builtin_sqrt
+/* #undef _GLIBCPP_HAVE___BUILTIN_SQRT */
+
+// Define if the compiler/host combination has __builtin_sqrtf
+/* #undef _GLIBCPP_HAVE___BUILTIN_SQRTF */
+
+// Define if the compiler/host combination has __builtin_sqrtl
+/* #undef _GLIBCPP_HAVE___BUILTIN_SQRTL */
+
+// Define if poll is available in <poll.h>.
+/* #undef _GLIBCPP_HAVE_POLL */
+
+// Define if S_ISREG (Posix) is available in <sys/stat.h>.
+/* #undef _GLIBCPP_HAVE_S_ISREG */
+
+// Define if S_IFREG is available in <sys/stat.h>.
+/* #undef _GLIBCPP_HAVE_S_IFREG */
+
+// Define if LC_MESSAGES is available in <locale.h>.
+/* #undef _GLIBCPP_HAVE_LC_MESSAGES */
+
+/* Define if you have the __signbit function. */
+/* #undef _GLIBCPP_HAVE___SIGNBIT */
+
+/* Define if you have the __signbitf function. */
+/* #undef _GLIBCPP_HAVE___SIGNBITF */
+
+/* Define if you have the __signbitl function. */
+/* #undef _GLIBCPP_HAVE___SIGNBITL */
+
+/* Define if you have the _acosf function. */
+/* #undef _GLIBCPP_HAVE__ACOSF */
+
+/* Define if you have the _acosl function. */
+/* #undef _GLIBCPP_HAVE__ACOSL */
+
+/* Define if you have the _asinf function. */
+/* #undef _GLIBCPP_HAVE__ASINF */
+
+/* Define if you have the _asinl function. */
+/* #undef _GLIBCPP_HAVE__ASINL */
+
+/* Define if you have the _atan2f function. */
+/* #undef _GLIBCPP_HAVE__ATAN2F */
+
+/* Define if you have the _atan2l function. */
+/* #undef _GLIBCPP_HAVE__ATAN2L */
+
+/* Define if you have the _atanf function. */
+/* #undef _GLIBCPP_HAVE__ATANF */
+
+/* Define if you have the _atanl function. */
+/* #undef _GLIBCPP_HAVE__ATANL */
+
+/* Define if you have the _ceilf function. */
+/* #undef _GLIBCPP_HAVE__CEILF */
+
+/* Define if you have the _ceill function. */
+/* #undef _GLIBCPP_HAVE__CEILL */
+
+/* Define if you have the _copysign function. */
+/* #undef _GLIBCPP_HAVE__COPYSIGN */
+
+/* Define if you have the _copysignl function. */
+/* #undef _GLIBCPP_HAVE__COPYSIGNL */
+
+/* Define if you have the _cosf function. */
+/* #undef _GLIBCPP_HAVE__COSF */
+
+/* Define if you have the _coshf function. */
+/* #undef _GLIBCPP_HAVE__COSHF */
+
+/* Define if you have the _coshl function. */
+/* #undef _GLIBCPP_HAVE__COSHL */
+
+/* Define if you have the _cosl function. */
+/* #undef _GLIBCPP_HAVE__COSL */
+
+/* Define if you have the _expf function. */
+/* #undef _GLIBCPP_HAVE__EXPF */
+
+/* Define if you have the _expl function. */
+/* #undef _GLIBCPP_HAVE__EXPL */
+
+/* Define if you have the _fabsf function. */
+/* #undef _GLIBCPP_HAVE__FABSF */
+
+/* Define if you have the _fabsl function. */
+/* #undef _GLIBCPP_HAVE__FABSL */
+
+/* Define if you have the _finite function. */
+/* #undef _GLIBCPP_HAVE__FINITE */
+
+/* Define if you have the _finitef function. */
+/* #undef _GLIBCPP_HAVE__FINITEF */
+
+/* Define if you have the _finitel function. */
+/* #undef _GLIBCPP_HAVE__FINITEL */
+
+/* Define if you have the _floorf function. */
+/* #undef _GLIBCPP_HAVE__FLOORF */
+
+/* Define if you have the _floorl function. */
+/* #undef _GLIBCPP_HAVE__FLOORL */
+
+/* Define if you have the _fmodf function. */
+/* #undef _GLIBCPP_HAVE__FMODF */
+
+/* Define if you have the _fmodl function. */
+/* #undef _GLIBCPP_HAVE__FMODL */
+
+/* Define if you have the _fpclass function. */
+/* #undef _GLIBCPP_HAVE__FPCLASS */
+
+/* Define if you have the _frexpf function. */
+/* #undef _GLIBCPP_HAVE__FREXPF */
+
+/* Define if you have the _frexpl function. */
+/* #undef _GLIBCPP_HAVE__FREXPL */
+
+/* Define if you have the _hypot function. */
+/* #undef _GLIBCPP_HAVE__HYPOT */
+
+/* Define if you have the _hypotf function. */
+/* #undef _GLIBCPP_HAVE__HYPOTF */
+
+/* Define if you have the _hypotl function. */
+/* #undef _GLIBCPP_HAVE__HYPOTL */
+
+/* Define if you have the _isinf function. */
+/* #undef _GLIBCPP_HAVE__ISINF */
+
+/* Define if you have the _isinff function. */
+/* #undef _GLIBCPP_HAVE__ISINFF */
+
+/* Define if you have the _isinfl function. */
+/* #undef _GLIBCPP_HAVE__ISINFL */
+
+/* Define if you have the _isnan function. */
+/* #undef _GLIBCPP_HAVE__ISNAN */
+
+/* Define if you have the _isnanf function. */
+/* #undef _GLIBCPP_HAVE__ISNANF */
+
+/* Define if you have the _isnanl function. */
+/* #undef _GLIBCPP_HAVE__ISNANL */
+
+/* Define if you have the _ldexpf function. */
+/* #undef _GLIBCPP_HAVE__LDEXPF */
+
+/* Define if you have the _ldexpl function. */
+/* #undef _GLIBCPP_HAVE__LDEXPL */
+
+/* Define if you have the _log10f function. */
+/* #undef _GLIBCPP_HAVE__LOG10F */
+
+/* Define if you have the _log10l function. */
+/* #undef _GLIBCPP_HAVE__LOG10L */
+
+/* Define if you have the _logf function. */
+/* #undef _GLIBCPP_HAVE__LOGF */
+
+/* Define if you have the _logl function. */
+/* #undef _GLIBCPP_HAVE__LOGL */
+
+/* Define if you have the _modff function. */
+/* #undef _GLIBCPP_HAVE__MODFF */
+
+/* Define if you have the _modfl function. */
+/* #undef _GLIBCPP_HAVE__MODFL */
+
+/* Define if you have the _powf function. */
+/* #undef _GLIBCPP_HAVE__POWF */
+
+/* Define if you have the _powl function. */
+/* #undef _GLIBCPP_HAVE__POWL */
+
+/* Define if you have the _qfpclass function. */
+/* #undef _GLIBCPP_HAVE__QFPCLASS */
+
+/* Define if you have the _sincos function. */
+/* #undef _GLIBCPP_HAVE__SINCOS */
+
+/* Define if you have the _sincosf function. */
+/* #undef _GLIBCPP_HAVE__SINCOSF */
+
+/* Define if you have the _sincosl function. */
+/* #undef _GLIBCPP_HAVE__SINCOSL */
+
+/* Define if you have the _sinf function. */
+/* #undef _GLIBCPP_HAVE__SINF */
+
+/* Define if you have the _sinhf function. */
+/* #undef _GLIBCPP_HAVE__SINHF */
+
+/* Define if you have the _sinhl function. */
+/* #undef _GLIBCPP_HAVE__SINHL */
+
+/* Define if you have the _sinl function. */
+/* #undef _GLIBCPP_HAVE__SINL */
+
+/* Define if you have the _sqrtf function. */
+/* #undef _GLIBCPP_HAVE__SQRTF */
+
+/* Define if you have the _sqrtl function. */
+/* #undef _GLIBCPP_HAVE__SQRTL */
+
+/* Define if you have the _tanf function. */
+/* #undef _GLIBCPP_HAVE__TANF */
+
+/* Define if you have the _tanhf function. */
+/* #undef _GLIBCPP_HAVE__TANHF */
+
+/* Define if you have the _tanhl function. */
+/* #undef _GLIBCPP_HAVE__TANHL */
+
+/* Define if you have the _tanl function. */
+/* #undef _GLIBCPP_HAVE__TANL */
+
+/* Define if you have the acosf function. */
+#define _GLIBCPP_HAVE_ACOSF 1
+
+/* Define if you have the acosl function. */
+/* #undef _GLIBCPP_HAVE_ACOSL */
+
+/* Define if you have the asinf function. */
+#define _GLIBCPP_HAVE_ASINF 1
+
+/* Define if you have the asinl function. */
+/* #undef _GLIBCPP_HAVE_ASINL */
+
+/* Define if you have the atan2f function. */
+#define _GLIBCPP_HAVE_ATAN2F 1
+
+/* Define if you have the atan2l function. */
+/* #undef _GLIBCPP_HAVE_ATAN2L */
+
+/* Define if you have the atanf function. */
+#define _GLIBCPP_HAVE_ATANF 1
+
+/* Define if you have the atanl function. */
+/* #undef _GLIBCPP_HAVE_ATANL */
+
+/* Define if you have the btowc function. */
+#define _GLIBCPP_HAVE_BTOWC 1
+
+/* Define if you have the ceilf function. */
+#define _GLIBCPP_HAVE_CEILF 1
+
+/* Define if you have the ceill function. */
+/* #undef _GLIBCPP_HAVE_CEILL */
+
+/* Define if you have the copysign function. */
+#define _GLIBCPP_HAVE_COPYSIGN 1
+
+/* Define if you have the copysignf function. */
+#define _GLIBCPP_HAVE_COPYSIGNF 1
+
+/* Define if you have the copysignl function. */
+/* #undef _GLIBCPP_HAVE_COPYSIGNL */
+
+/* Define if you have the cosf function. */
+#define _GLIBCPP_HAVE_COSF 1
+
+/* Define if you have the coshf function. */
+#define _GLIBCPP_HAVE_COSHF 1
+
+/* Define if you have the coshl function. */
+/* #undef _GLIBCPP_HAVE_COSHL */
+
+/* Define if you have the cosl function. */
+/* #undef _GLIBCPP_HAVE_COSL */
+
+/* Define if you have the drand48 function. */
+/* #undef _GLIBCPP_HAVE_DRAND48 */
+
+/* Define if you have the expf function. */
+#define _GLIBCPP_HAVE_EXPF 1
+
+/* Define if you have the expl function. */
+/* #undef _GLIBCPP_HAVE_EXPL */
+
+/* Define if you have the fabsf function. */
+#define _GLIBCPP_HAVE_FABSF 1
+
+/* Define if you have the fabsl function. */
+/* #undef _GLIBCPP_HAVE_FABSL */
+
+/* Define if you have the fgetwc function. */
+#define _GLIBCPP_HAVE_FGETWC 1
+
+/* Define if you have the fgetws function. */
+#define _GLIBCPP_HAVE_FGETWS 1
+
+/* Define if you have the finite function. */
+#define _GLIBCPP_HAVE_FINITE 1
+
+/* Define if you have the finitef function. */
+#define _GLIBCPP_HAVE_FINITEF 1
+
+/* Define if you have the finitel function. */
+/* #undef _GLIBCPP_HAVE_FINITEL */
+
+/* Define if you have the floorf function. */
+#define _GLIBCPP_HAVE_FLOORF 1
+
+/* Define if you have the floorl function. */
+/* #undef _GLIBCPP_HAVE_FLOORL */
+
+/* Define if you have the fmodf function. */
+#define _GLIBCPP_HAVE_FMODF 1
+
+/* Define if you have the fmodl function. */
+/* #undef _GLIBCPP_HAVE_FMODL */
+
+/* Define if you have the fpclass function. */
+/* #undef _GLIBCPP_HAVE_FPCLASS */
+
+/* Define if you have the fputwc function. */
+#define _GLIBCPP_HAVE_FPUTWC 1
+
+/* Define if you have the fputws function. */
+#define _GLIBCPP_HAVE_FPUTWS 1
+
+/* Define if you have the frexpf function. */
+#define _GLIBCPP_HAVE_FREXPF 1
+
+/* Define if you have the frexpl function. */
+/* #undef _GLIBCPP_HAVE_FREXPL */
+
+/* Define if you have the fwide function. */
+#define _GLIBCPP_HAVE_FWIDE 1
+
+/* Define if you have the fwprintf function. */
+/* #undef _GLIBCPP_HAVE_FWPRINTF */
+
+/* Define if you have the fwscanf function. */
+/* #undef _GLIBCPP_HAVE_FWSCANF */
+
+/* Define if you have the getpagesize function. */
+/* #undef _GLIBCPP_HAVE_GETPAGESIZE */
+
+/* Define if you have the getwc function. */
+#define _GLIBCPP_HAVE_GETWC 1
+
+/* Define if you have the getwchar function. */
+#define _GLIBCPP_HAVE_GETWCHAR 1
+
+/* Define if you have the hypot function. */
+/* #undef _GLIBCPP_HAVE_HYPOT */
+
+/* Define if you have the hypotf function. */
+#define _GLIBCPP_HAVE_HYPOTF 1
+
+/* Define if you have the hypotl function. */
+/* #undef _GLIBCPP_HAVE_HYPOTL */
+
+/* Define if you have the iconv function. */
+#define _GLIBCPP_HAVE_ICONV 1
+
+/* Define if you have the iconv_close function. */
+#define _GLIBCPP_HAVE_ICONV_CLOSE 1
+
+/* Define if you have the iconv_open function. */
+#define _GLIBCPP_HAVE_ICONV_OPEN 1
+
+/* Define if you have the isatty function. */
+/* #undef _GLIBCPP_HAVE_ISATTY */
+
+/* Define if you have the isinf function. */
+#define _GLIBCPP_HAVE_ISINF 1
+
+/* Define if you have the isinff function. */
+#define _GLIBCPP_HAVE_ISINFF 1
+
+/* Define if you have the isinfl function. */
+/* #undef _GLIBCPP_HAVE_ISINFL */
+
+/* Define if you have the isnan function. */
+#define _GLIBCPP_HAVE_ISNAN 1
+
+/* Define if you have the isnanf function. */
+#define _GLIBCPP_HAVE_ISNANF 1
+
+/* Define if you have the isnanl function. */
+/* #undef _GLIBCPP_HAVE_ISNANL */
+
+/* Define if you have the ldexpf function. */
+#define _GLIBCPP_HAVE_LDEXPF 1
+
+/* Define if you have the ldexpl function. */
+/* #undef _GLIBCPP_HAVE_LDEXPL */
+
+/* Define if you have the log10f function. */
+#define _GLIBCPP_HAVE_LOG10F 1
+
+/* Define if you have the log10l function. */
+/* #undef _GLIBCPP_HAVE_LOG10L */
+
+/* Define if you have the logf function. */
+#define _GLIBCPP_HAVE_LOGF 1
+
+/* Define if you have the logl function. */
+/* #undef _GLIBCPP_HAVE_LOGL */
+
+/* Define if you have the mbrlen function. */
+#define _GLIBCPP_HAVE_MBRLEN 1
+
+/* Define if you have the mbrtowc function. */
+#define _GLIBCPP_HAVE_MBRTOWC 1
+
+/* Define if you have the mbsinit function. */
+#define _GLIBCPP_HAVE_MBSINIT 1
+
+/* Define if you have the mbsrtowcs function. */
+#define _GLIBCPP_HAVE_MBSRTOWCS 1
+
+/* Define if you have the modff function. */
+#define _GLIBCPP_HAVE_MODFF 1
+
+/* Define if you have the modfl function. */
+/* #undef _GLIBCPP_HAVE_MODFL */
+
+/* Define if you have the nan function. */
+/* #undef _GLIBCPP_HAVE_NAN */
+
+/* Define if you have the nl_langinfo function. */
+#define _GLIBCPP_HAVE_NL_LANGINFO 1
+
+/* Define if you have the powf function. */
+#define _GLIBCPP_HAVE_POWF 1
+
+/* Define if you have the powl function. */
+/* #undef _GLIBCPP_HAVE_POWL */
+
+/* Define if you have the putwc function. */
+#define _GLIBCPP_HAVE_PUTWC 1
+
+/* Define if you have the putwchar function. */
+#define _GLIBCPP_HAVE_PUTWCHAR 1
+
+/* Define if you have the qfpclass function. */
+/* #undef _GLIBCPP_HAVE_QFPCLASS */
+
+/* Define if you have the setenv function. */
+/* #undef _GLIBCPP_HAVE_SETENV */
+
+/* Define if you have the sincos function. */
+/* #undef _GLIBCPP_HAVE_SINCOS */
+
+/* Define if you have the sincosf function. */
+/* #undef _GLIBCPP_HAVE_SINCOSF */
+
+/* Define if you have the sincosl function. */
+/* #undef _GLIBCPP_HAVE_SINCOSL */
+
+/* Define if you have the sinf function. */
+#define _GLIBCPP_HAVE_SINF 1
+
+/* Define if you have the sinhf function. */
+#define _GLIBCPP_HAVE_SINHF 1
+
+/* Define if you have the sinhl function. */
+/* #undef _GLIBCPP_HAVE_SINHL */
+
+/* Define if you have the sinl function. */
+/* #undef _GLIBCPP_HAVE_SINL */
+
+/* Define if you have the sqrtf function. */
+#define _GLIBCPP_HAVE_SQRTF 1
+
+/* Define if you have the sqrtl function. */
+/* #undef _GLIBCPP_HAVE_SQRTL */
+
+/* Define if you have the strtof function. */
+#define _GLIBCPP_HAVE_STRTOF 1
+
+/* Define if you have the strtold function. */
+#define _GLIBCPP_HAVE_STRTOLD 1
+
+/* Define if you have the swprintf function. */
+/* #undef _GLIBCPP_HAVE_SWPRINTF */
+
+/* Define if you have the swscanf function. */
+/* #undef _GLIBCPP_HAVE_SWSCANF */
+
+/* Define if you have the tanf function. */
+#define _GLIBCPP_HAVE_TANF 1
+
+/* Define if you have the tanhf function. */
+#define _GLIBCPP_HAVE_TANHF 1
+
+/* Define if you have the tanhl function. */
+/* #undef _GLIBCPP_HAVE_TANHL */
+
+/* Define if you have the tanl function. */
+/* #undef _GLIBCPP_HAVE_TANL */
+
+/* Define if you have the ungetwc function. */
+#define _GLIBCPP_HAVE_UNGETWC 1
+
+/* Define if you have the vfwprintf function. */
+/* #undef _GLIBCPP_HAVE_VFWPRINTF */
+
+/* Define if you have the vfwscanf function. */
+/* #undef _GLIBCPP_HAVE_VFWSCANF */
+
+/* Define if you have the vswprintf function. */
+/* #undef _GLIBCPP_HAVE_VSWPRINTF */
+
+/* Define if you have the vswscanf function. */
+/* #undef _GLIBCPP_HAVE_VSWSCANF */
+
+/* Define if you have the vwprintf function. */
+/* #undef _GLIBCPP_HAVE_VWPRINTF */
+
+/* Define if you have the vwscanf function. */
+/* #undef _GLIBCPP_HAVE_VWSCANF */
+
+/* Define if you have the wcrtomb function. */
+#define _GLIBCPP_HAVE_WCRTOMB 1
+
+/* Define if you have the wcscat function. */
+#define _GLIBCPP_HAVE_WCSCAT 1
+
+/* Define if you have the wcschr function. */
+#define _GLIBCPP_HAVE_WCSCHR 1
+
+/* Define if you have the wcscmp function. */
+#define _GLIBCPP_HAVE_WCSCMP 1
+
+/* Define if you have the wcscoll function. */
+#define _GLIBCPP_HAVE_WCSCOLL 1
+
+/* Define if you have the wcscpy function. */
+#define _GLIBCPP_HAVE_WCSCPY 1
+
+/* Define if you have the wcscspn function. */
+#define _GLIBCPP_HAVE_WCSCSPN 1
+
+/* Define if you have the wcsftime function. */
+/* #undef _GLIBCPP_HAVE_WCSFTIME */
+
+/* Define if you have the wcslen function. */
+#define _GLIBCPP_HAVE_WCSLEN 1
+
+/* Define if you have the wcsncat function. */
+#define _GLIBCPP_HAVE_WCSNCAT 1
+
+/* Define if you have the wcsncmp function. */
+#define _GLIBCPP_HAVE_WCSNCMP 1
+
+/* Define if you have the wcsncpy function. */
+#define _GLIBCPP_HAVE_WCSNCPY 1
+
+/* Define if you have the wcspbrk function. */
+#define _GLIBCPP_HAVE_WCSPBRK 1
+
+/* Define if you have the wcsrchr function. */
+#define _GLIBCPP_HAVE_WCSRCHR 1
+
+/* Define if you have the wcsrtombs function. */
+#define _GLIBCPP_HAVE_WCSRTOMBS 1
+
+/* Define if you have the wcsspn function. */
+#define _GLIBCPP_HAVE_WCSSPN 1
+
+/* Define if you have the wcsstr function. */
+#define _GLIBCPP_HAVE_WCSSTR 1
+
+/* Define if you have the wcstod function. */
+#define _GLIBCPP_HAVE_WCSTOD 1
+
+/* Define if you have the wcstof function. */
+/* #undef _GLIBCPP_HAVE_WCSTOF */
+
+/* Define if you have the wcstok function. */
+#define _GLIBCPP_HAVE_WCSTOK 1
+
+/* Define if you have the wcstol function. */
+#define _GLIBCPP_HAVE_WCSTOL 1
+
+/* Define if you have the wcstoul function. */
+#define _GLIBCPP_HAVE_WCSTOUL 1
+
+/* Define if you have the wcsxfrm function. */
+#define _GLIBCPP_HAVE_WCSXFRM 1
+
+/* Define if you have the wctob function. */
+#define _GLIBCPP_HAVE_WCTOB 1
+
+/* Define if you have the wmemchr function. */
+#define _GLIBCPP_HAVE_WMEMCHR 1
+
+/* Define if you have the wmemcmp function. */
+#define _GLIBCPP_HAVE_WMEMCMP 1
+
+/* Define if you have the wmemcpy function. */
+#define _GLIBCPP_HAVE_WMEMCPY 1
+
+/* Define if you have the wmemmove function. */
+#define _GLIBCPP_HAVE_WMEMMOVE 1
+
+/* Define if you have the wmemset function. */
+#define _GLIBCPP_HAVE_WMEMSET 1
+
+/* Define if you have the wprintf function. */
+/* #undef _GLIBCPP_HAVE_WPRINTF */
+
+/* Define if you have the wscanf function. */
+/* #undef _GLIBCPP_HAVE_WSCANF */
+
+/* Define if you have the <endian.h> header file. */
+/* #undef _GLIBCPP_HAVE_ENDIAN_H */
+
+/* Define if you have the <float.h> header file. */
+#define _GLIBCPP_HAVE_FLOAT_H 1
+
+/* Define if you have the <fp.h> header file. */
+/* #undef _GLIBCPP_HAVE_FP_H */
+
+/* Define if you have the <gconv.h> header file. */
+/* #undef _GLIBCPP_HAVE_GCONV_H */
+
+/* Define if you have the <ieeefp.h> header file. */
+#define _GLIBCPP_HAVE_IEEEFP_H 1
+
+/* Define if you have the <inttypes.h> header file. */
+#define _GLIBCPP_HAVE_INTTYPES_H 1
+
+/* Define if you have the <locale.h> header file. */
+#define _GLIBCPP_HAVE_LOCALE_H 1
+
+/* Define if you have the <machine/endian.h> header file. */
+#define _GLIBCPP_HAVE_MACHINE_ENDIAN_H 1
+
+/* Define if you have the <machine/param.h> header file. */
+#define _GLIBCPP_HAVE_MACHINE_PARAM_H 1
+
+/* Define if you have the <nan.h> header file. */
+/* #undef _GLIBCPP_HAVE_NAN_H */
+
+/* Define if you have the <stdlib.h> header file. */
+#define _GLIBCPP_HAVE_STDLIB_H 1
+
+/* Define if you have the <string.h> header file. */
+#define _GLIBCPP_HAVE_STRING_H 1
+
+/* Define if you have the <sys/filio.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_FILIO_H */
+
+/* Define if you have the <sys/ioctl.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_IOCTL_H */
+
+/* Define if you have the <sys/isa_defs.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_ISA_DEFS_H */
+
+/* Define if you have the <sys/machine.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_MACHINE_H */
+
+/* Define if you have the <sys/resource.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_RESOURCE_H */
+
+/* Define if you have the <sys/stat.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_STAT_H */
+
+/* Define if you have the <sys/time.h> header file. */
+/* #undef _GLIBCPP_HAVE_SYS_TIME_H */
+
+/* Define if you have the <sys/types.h> header file. */
+#define _GLIBCPP_HAVE_SYS_TYPES_H 1
+
+/* Define if you have the <unistd.h> header file. */
+/* #undef _GLIBCPP_HAVE_UNISTD_H */
+
+/* Define if you have the <wchar.h> header file. */
+#define _GLIBCPP_HAVE_WCHAR_H 1
+
+/* Define if you have the <wctype.h> header file. */
+#define _GLIBCPP_HAVE_WCTYPE_H 1
+
+/* Define if you have the m library (-lm). */
+/* #undef _GLIBCPP_HAVE_LIBM */
+
+/* Name of package */
+#define _GLIBCPP_PACKAGE "libstdc++"
+
+/* Version number of package */
+#define _GLIBCPP_VERSION "3.3.1"
+
+/* Define if the compiler is configured for setjmp/longjmp exceptions. */
+/* #undef _GLIBCPP_SJLJ_EXCEPTIONS */
+
+/* Define if sigsetjmp is available. */
+/* #undef _GLIBCPP_HAVE_SIGSETJMP */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_DATA */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_RSS */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_VMEM */
+
+/* Only used in build directory testsuite_hooks.h. */
+/* #undef _GLIBCPP_HAVE_MEMLIMIT_AS */
+
+//
+// Systems that have certain non-standard functions prefixed with an
+// underscore, we'll handle those here. Must come after config.h.in.
+//
+#if defined (_GLIBCPP_HAVE__ISNAN) && ! defined (_GLIBCPP_HAVE_ISNAN)
+# define _GLIBCPP_HAVE_ISNAN 1
+# define isnan _isnan
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISNANF) && ! defined (_GLIBCPP_HAVE_ISNANF)
+# define _GLIBCPP_HAVE_ISNANF 1
+# define isnanf _isnanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISNANL) && ! defined (_GLIBCPP_HAVE_ISNANL)
+# define _GLIBCPP_HAVE_ISNANL 1
+# define isnanl _isnanl
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISINF) && ! defined (_GLIBCPP_HAVE_ISINF)
+# define _GLIBCPP_HAVE_ISINF 1
+# define isinf _isinf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISINFF) && ! defined (_GLIBCPP_HAVE_ISINFF)
+# define _GLIBCPP_HAVE_ISINFF 1
+# define isinff _isinff
+#endif
+
+#if defined (_GLIBCPP_HAVE__ISINFL) && ! defined (_GLIBCPP_HAVE_ISINFL)
+# define _GLIBCPP_HAVE_ISINFL 1
+# define isinfl _isinfl
+#endif
+
+#if defined (_GLIBCPP_HAVE__COPYSIGN) && ! defined (_GLIBCPP_HAVE_COPYSIGN)
+# define _GLIBCPP_HAVE_COPYSIGN 1
+# define copysign _copysign
+#endif
+
+#if defined (_GLIBCPP_HAVE__COPYSIGNL) && ! defined (_GLIBCPP_HAVE_COPYSIGNL)
+# define _GLIBCPP_HAVE_COPYSIGNL 1
+# define copysignl _copysignl
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSF) && ! defined (_GLIBCPP_HAVE_COSF)
+# define _GLIBCPP_HAVE_COSF 1
+# define cosf _cosf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ACOSF) && ! defined (_GLIBCPP_HAVE_ACOSF)
+# define _GLIBCPP_HAVE_ACOSF 1
+# define acosf _acosf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ACOSL) && ! defined (_GLIBCPP_HAVE_ACOSL)
+# define _GLIBCPP_HAVE_ACOSL 1
+# define acosl _acosl
+#endif
+
+#if defined (_GLIBCPP_HAVE__ASINF) && ! defined (_GLIBCPP_HAVE_ASINF)
+# define _GLIBCPP_HAVE_ASINF 1
+# define asinf _asinf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ASINL) && ! defined (_GLIBCPP_HAVE_ASINL)
+# define _GLIBCPP_HAVE_ASINL 1
+# define asinl _asinl
+#endif
+
+#if defined (_GLIBCPP_HAVE__ATANF) && ! defined (_GLIBCPP_HAVE_ATANF)
+# define _GLIBCPP_HAVE_ATANF 1
+# define atanf _atanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__ATANL) && ! defined (_GLIBCPP_HAVE_ATANL)
+# define _GLIBCPP_HAVE_ATANL 1
+# define atanl _atanl
+#endif
+
+#if defined (_GLIBCPP_HAVE__CEILF) && ! defined (_GLIBCPP_HAVE_CEILF)
+# define _GLIBCPP_HAVE_CEILF 1
+# define aceil _ceilf
+#endif
+
+#if defined (_GLIBCPP_HAVE__CEILL) && ! defined (_GLIBCPP_HAVE_CEILL)
+# define _GLIBCPP_HAVE_CEILL 1
+# define aceil _ceill
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSHF) && ! defined (_GLIBCPP_HAVE_COSHF)
+# define _GLIBCPP_HAVE_COSHF 1
+# define coshf _coshf
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSL) && ! defined (_GLIBCPP_HAVE_COSL)
+# define _GLIBCPP_HAVE_COSL 1
+# define cosl _cosl
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOGF) && ! defined (_GLIBCPP_HAVE_LOGF)
+# define _GLIBCPP_HAVE_LOGF 1
+# define logf _logf
+#endif
+
+#if defined (_GLIBCPP_HAVE__COSHL) && ! defined (_GLIBCPP_HAVE_COSHL)
+# define _GLIBCPP_HAVE_COSHL 1
+# define coshl _coshl
+#endif
+
+#if defined (_GLIBCPP_HAVE__EXPF) && ! defined (_GLIBCPP_HAVE_EXPF)
+# define _GLIBCPP_HAVE_EXPF 1
+# define expf _expf
+#endif
+
+#if defined (_GLIBCPP_HAVE__EXPL) && ! defined (_GLIBCPP_HAVE_EXPL)
+# define _GLIBCPP_HAVE_EXPL 1
+# define expl _expl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FABSF) && ! defined (_GLIBCPP_HAVE_FABSF)
+# define _GLIBCPP_HAVE_FABSF 1
+# define fabsf _fabsf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FABSL) && ! defined (_GLIBCPP_HAVE_FABSL)
+# define _GLIBCPP_HAVE_FABSL 1
+# define fabsl _fabsl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FLOORF) && ! defined (_GLIBCPP_HAVE_FLOORF)
+# define _GLIBCPP_HAVE_FLOORF 1
+# define floorf _floorf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FLOORL) && ! defined (_GLIBCPP_HAVE_FLOORL)
+# define _GLIBCPP_HAVE_FLOORL 1
+# define floorl _floorl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FMODF) && ! defined (_GLIBCPP_HAVE_FMODF)
+# define _GLIBCPP_HAVE_FMODF 1
+# define fmodf _fmodf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FMODL) && ! defined (_GLIBCPP_HAVE_FMODL)
+# define _GLIBCPP_HAVE_FMODL 1
+# define fmodl _fmodl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FREXPF) && ! defined (_GLIBCPP_HAVE_FREXPF)
+# define _GLIBCPP_HAVE_FREXPF 1
+# define frexpf _frexpf
+#endif
+
+#if defined (_GLIBCPP_HAVE__FREXPL) && ! defined (_GLIBCPP_HAVE_FREXPL)
+# define _GLIBCPP_HAVE_FREXPL 1
+# define frexpl _frexpl
+#endif
+
+#if defined (_GLIBCPP_HAVE__LDEXPF) && ! defined (_GLIBCPP_HAVE_LDEXPF)
+# define _GLIBCPP_HAVE_LDEXPF 1
+# define ldexpf _ldexpf
+#endif
+
+#if defined (_GLIBCPP_HAVE__LDEXPL) && ! defined (_GLIBCPP_HAVE_LDEXPL)
+# define _GLIBCPP_HAVE_LDEXPL 1
+# define ldexpl _ldexpl
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOG10F) && ! defined (_GLIBCPP_HAVE_LOG10F)
+# define _GLIBCPP_HAVE_LOG10F 1
+# define log10f _log10f
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOGL) && ! defined (_GLIBCPP_HAVE_LOGL)
+# define _GLIBCPP_HAVE_LOGL 1
+# define logl _logl
+#endif
+
+#if defined (_GLIBCPP_HAVE__POWF) && ! defined (_GLIBCPP_HAVE_POWF)
+# define _GLIBCPP_HAVE_POWF 1
+# define powf _powf
+#endif
+
+#if defined (_GLIBCPP_HAVE__LOG10L) && ! defined (_GLIBCPP_HAVE_LOG10L)
+# define _GLIBCPP_HAVE_LOG10L 1
+# define log10l _log10l
+#endif
+
+#if defined (_GLIBCPP_HAVE__MODF) && ! defined (_GLIBCPP_HAVE_MODF)
+# define _GLIBCPP_HAVE_MODF 1
+# define modf _modf
+#endif
+
+#if defined (_GLIBCPP_HAVE__MODL) && ! defined (_GLIBCPP_HAVE_MODL)
+# define _GLIBCPP_HAVE_MODL 1
+# define modl _modl
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINF) && ! defined (_GLIBCPP_HAVE_SINF)
+# define _GLIBCPP_HAVE_SINF 1
+# define sinf _sinf
+#endif
+
+#if defined (_GLIBCPP_HAVE__POWL) && ! defined (_GLIBCPP_HAVE_POWL)
+# define _GLIBCPP_HAVE_POWL 1
+# define powl _powl
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINHF) && ! defined (_GLIBCPP_HAVE_SINHF)
+# define _GLIBCPP_HAVE_SINHF 1
+# define sinhf _sinhf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINL) && ! defined (_GLIBCPP_HAVE_SINL)
+# define _GLIBCPP_HAVE_SINL 1
+# define sinl _sinl
+#endif
+
+#if defined (_GLIBCPP_HAVE__SQRTF) && ! defined (_GLIBCPP_HAVE_SQRTF)
+# define _GLIBCPP_HAVE_SQRTF 1
+# define sqrtf _sqrtf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINHL) && ! defined (_GLIBCPP_HAVE_SINHL)
+# define _GLIBCPP_HAVE_SINHL 1
+# define sinhl _sinhl
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANF) && ! defined (_GLIBCPP_HAVE_TANF)
+# define _GLIBCPP_HAVE_TANF 1
+# define tanf _tanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SQRTL) && ! defined (_GLIBCPP_HAVE_SQRTL)
+# define _GLIBCPP_HAVE_SQRTL 1
+# define sqrtl _sqrtl
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANHF) && ! defined (_GLIBCPP_HAVE_TANHF)
+# define _GLIBCPP_HAVE_TANHF 1
+# define tanhf _tanhf
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANL) && ! defined (_GLIBCPP_HAVE_TANL)
+# define _GLIBCPP_HAVE_TANF 1
+# define tanf _tanf
+#endif
+
+#if defined (_GLIBCPP_HAVE__STRTOF) && ! defined (_GLIBCPP_HAVE_STRTOF)
+# define _GLIBCPP_HAVE_STRTOF 1
+# define strtof _strtof
+#endif
+
+#if defined (_GLIBCPP_HAVE__TANHL) && ! defined (_GLIBCPP_HAVE_TANHL)
+# define _GLIBCPP_HAVE_TANHL 1
+# define tanhl _tanhl
+#endif
+
+#if defined (_GLIBCPP_HAVE__STRTOLD) && ! defined (_GLIBCPP_HAVE_STRTOLD)
+# define _GLIBCPP_HAVE_STRTOLD 1
+# define strtold _strtold
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINCOS) && ! defined (_GLIBCPP_HAVE_SINCOS)
+# define _GLIBCPP_HAVE_SINCOS 1
+# define sincos _sincos
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINCOSF) && ! defined (_GLIBCPP_HAVE_SINCOSF)
+# define _GLIBCPP_HAVE_SINCOSF 1
+# define sincosf _sincosf
+#endif
+
+#if defined (_GLIBCPP_HAVE__SINCOSL) && ! defined (_GLIBCPP_HAVE_SINCOSL)
+# define _GLIBCPP_HAVE_SINCOSL 1
+# define sincosl _sincosl
+#endif
+
+#if defined (_GLIBCPP_HAVE__FINITE) && ! defined (_GLIBCPP_HAVE_FINITE)
+# define _GLIBCPP_HAVE_FINITE 1
+# define finite _finite
+#endif
+
+#if defined (_GLIBCPP_HAVE__FINITEF) && ! defined (_GLIBCPP_HAVE_FINITEF)
+# define _GLIBCPP_HAVE_FINITEF 1
+# define finitef _finitef
+#endif
+
+#if defined (_GLIBCPP_HAVE__FINITEL) && ! defined (_GLIBCPP_HAVE_FINITEL)
+# define _GLIBCPP_HAVE_FINITEL 1
+# define finitel _finitel
+#endif
+
+#if defined (_GLIBCPP_HAVE__QFINITE) && ! defined (_GLIBCPP_HAVE_QFINITE)
+# define _GLIBCPP_HAVE_QFINITE 1
+# define qfinite _qfinite
+#endif
+
+#if defined (_GLIBCPP_HAVE__FPCLASS) && ! defined (_GLIBCPP_HAVE_FPCLASS)
+# define _GLIBCPP_HAVE_FPCLASS 1
+# define fpclass _fpclass
+#endif
+
+#if defined (_GLIBCPP_HAVE__QFPCLASS) && ! defined (_GLIBCPP_HAVE_QFPCLASS)
+# define _GLIBCPP_HAVE_QFPCLASS 1
+# define qfpclass _qfpclass
+#endif
+
+#endif // _CPP_CPPCONFIG_
diff --git a/gnu/lib/libstdc++-v3/arch/sparc64/defs.mk b/gnu/lib/libstdc++-v3/arch/sparc64/defs.mk
new file mode 100644
index 00000000000..5dbddc912ff
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/sparc64/defs.mk
@@ -0,0 +1,18 @@
+# This file is automatically generated. DO NOT EDIT!
+# Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp
+#
+G_libmath_la_SOURCES=stubs.c
+G_libmath_la_LIBADD=nan.lo copysignf.lo signbit.lo signbitf.lo
+G_LIBSUPCXX_SOURCES=del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_aux_runtime.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_terminate.cc eh_throw.cc eh_type.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc vec.cc
+G_LIBSUPCXX_C_SOURCES=cxa_demangle.c dyn-string.c
+G_SRC_SOURCES=bitset.cc codecvt.cc complex_io.cc concept-inst.cc ctype.cc ext-inst.cc fstream.cc fstream-inst.cc functexcept.cc globals.cc io-inst.cc ios.cc istream-inst.cc limits.cc locale.cc locale-inst.cc localename.cc misc-inst.cc ostream-inst.cc sstream-inst.cc stdexcept.cc stl-inst.cc streambuf-inst.cc string-inst.cc strstream.cc valarray-inst.cc vterminate.cc wstring-inst.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_SECTION_FLAGS=-ffunction-sections -fdata-sections
+G_c_base_headers_rename=cassert cctype cerrno cfloat ciso646 climits clocale cmath csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype
+G_std_headers_rename=algorithm bitset complex deque fstream functional iomanip ios iosfwd iostream istream iterator limits list locale map memory numeric ostream queue set sstream stack stdexcept streambuf string utility valarray vector
+G_bits_headers=basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc fpos.h fstream.tcc functexcept.h gslice.h gslice_array.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_facets.h locale_facets.tcc localefwd.h mask_array.h ostream.tcc pthread_allocimpl.h stream_iterator.h streambuf_iterator.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_alloc.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_threads.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h type_traits.h valarray_array.h valarray_array.tcc valarray_meta.h vector.tcc
+G_backward_headers=complex.h iomanip.h istream.h ostream.h stream.h streambuf.h algo.h algobase.h alloc.h bvector.h defalloc.h deque.h function.h hash_map.h hash_set.h hashtable.h heap.h iostream.h iterator.h list.h map.h multimap.h new.h multiset.h pair.h queue.h rope.h set.h slist.h stack.h tempbuf.h tree.h vector.h fstream.h strstream backward_warning.h
+G_ext_headers=algorithm enc_filebuf.h stdio_filebuf.h functional hash_map hash_set iterator memory numeric rb_tree rope ropeimpl.h slist stl_hash_fun.h stl_hashtable.h stl_rope.h
+G_c_base_headers_extra=cmath.tcc
+G_target_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomicity.h
+G_thread_target_headers=gthr.h gthr-single.h gthr-posix.h gthr-default.h
+G_target_headers_extra=basic_file.h c++config.h c++io.h c++locale.h messages_members.h time_members.h codecvt_specializations.h
diff --git a/gnu/lib/libstdc++-v3/arch/sparc64/gthr-default.h b/gnu/lib/libstdc++-v3/arch/sparc64/gthr-default.h
new file mode 100644
index 00000000000..6fa2b1ed699
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/sparc64/gthr-default.h
@@ -0,0 +1,242 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_SINGLE_H
+#define _GLIBCPP_GCC_GTHR_SINGLE_H
+
+/* Just provide compatibility for mutex handling. */
+
+typedef int __gthread_mutex_t;
+
+#define __GTHREAD_MUTEX_INIT 0
+
+#ifdef __cplusplus
+#define _GLIBCPP_UNUSED(x)
+#else
+#define _GLIBCPP_UNUSED(x) x __attribute__((unused))
+#endif
+
+#ifdef _LIBOBJC
+
+/* Thread local storage for a single thread */
+static void *thread_local_storage = NULL;
+
+/* Backend initialization functions */
+
+/* Initialize the threads subsystem. */
+static inline int
+__gthread_objc_init_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Close the threads subsystem. */
+static inline int
+__gthread_objc_close_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Backend thread functions */
+
+/* Create a new thread of execution. */
+static inline objc_thread_t
+__gthread_objc_thread_detach (void (* func)(void *), void * _GLIBCPP_UNUSED(arg))
+{
+ /* No thread support available */
+ return NULL;
+}
+
+/* Set the current thread's priority. */
+static inline int
+__gthread_objc_thread_set_priority (int _GLIBCPP_UNUSED(priority))
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Return the current thread's priority. */
+static inline int
+__gthread_objc_thread_get_priority (void)
+{
+ return OBJC_THREAD_INTERACTIVE_PRIORITY;
+}
+
+/* Yield our process time to another thread. */
+static inline void
+__gthread_objc_thread_yield (void)
+{
+ return;
+}
+
+/* Terminate the current thread. */
+static inline int
+__gthread_objc_thread_exit (void)
+{
+ /* No thread support available */
+ /* Should we really exit the program */
+ /* exit (&__objc_thread_exit_status); */
+ return -1;
+}
+
+/* Returns an integer value which uniquely describes a thread. */
+static inline objc_thread_t
+__gthread_objc_thread_id (void)
+{
+ /* No thread support, use 1. */
+ return (objc_thread_t) 1;
+}
+
+/* Sets the thread's local storage pointer. */
+static inline int
+__gthread_objc_thread_set_data (void *value)
+{
+ thread_local_storage = value;
+ return 0;
+}
+
+/* Returns the thread's local storage pointer. */
+static inline void *
+__gthread_objc_thread_get_data (void)
+{
+ return thread_local_storage;
+}
+
+/* Backend mutex functions */
+
+/* Allocate a mutex. */
+static inline int
+__gthread_objc_mutex_allocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Deallocate a mutex. */
+static inline int
+__gthread_objc_mutex_deallocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_lock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Try to grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_trylock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Unlock the mutex */
+static inline int
+__gthread_objc_mutex_unlock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Backend condition mutex functions */
+
+/* Allocate a condition. */
+static inline int
+__gthread_objc_condition_allocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Deallocate a condition. */
+static inline int
+__gthread_objc_condition_deallocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wait on the condition */
+static inline int
+__gthread_objc_condition_wait (objc_condition_t _GLIBCPP_UNUSED(condition),
+ objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Wake up all threads waiting on this condition. */
+static inline int
+__gthread_objc_condition_broadcast (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wake up one thread waiting on this condition. */
+static inline int
+__gthread_objc_condition_signal (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+#else /* _LIBOBJC */
+
+static inline int
+__gthread_active_p (void)
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_lock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_trylock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_unlock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+#endif /* _LIBOBJC */
+
+#undef _GLIBCPP_UNUSED
+
+#endif /* ! _GLIBCPP_GCC_GTHR_SINGLE_H */
diff --git a/gnu/lib/libstdc++-v3/arch/sparc64/gthr-posix.h b/gnu/lib/libstdc++-v3/arch/sparc64/gthr-posix.h
new file mode 100644
index 00000000000..205fa9e2190
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/sparc64/gthr-posix.h
@@ -0,0 +1,524 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_POSIX_H
+#define _GLIBCPP_GCC_GTHR_POSIX_H
+
+/* POSIX threads specific definitions.
+ Easy, since the interface is just one-to-one mapping. */
+
+#define __GTHREADS 1
+
+#include <pthread.h>
+#include <unistd.h>
+
+typedef pthread_key_t __gthread_key_t;
+typedef pthread_once_t __gthread_once_t;
+typedef pthread_mutex_t __gthread_mutex_t;
+
+#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
+#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
+
+#if _GLIBCPP_SUPPORTS_WEAK && _GLIBCPP_GTHREAD_USE_WEAK
+
+#pragma weak pthread_once
+#pragma weak pthread_key_create
+#pragma weak pthread_key_delete
+#pragma weak pthread_getspecific
+#pragma weak pthread_setspecific
+#pragma weak pthread_create
+
+#pragma weak pthread_mutex_lock
+#pragma weak pthread_mutex_trylock
+#pragma weak pthread_mutex_unlock
+
+#ifdef _LIBOBJC
+/* Objective-C. */
+#pragma weak pthread_cond_broadcast
+#pragma weak pthread_cond_destroy
+#pragma weak pthread_cond_init
+#pragma weak pthread_cond_signal
+#pragma weak pthread_cond_wait
+#pragma weak pthread_exit
+#pragma weak pthread_mutex_init
+#pragma weak pthread_mutex_destroy
+#pragma weak pthread_self
+/* These really should be protected by _POSIX_PRIORITY_SCHEDULING, but
+ we use them inside a _POSIX_THREAD_PRIORITY_SCHEDULING block. */
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+#pragma weak sched_get_priority_max
+#pragma weak sched_get_priority_min
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+#pragma weak sched_yield
+#pragma weak pthread_attr_destroy
+#pragma weak pthread_attr_init
+#pragma weak pthread_attr_setdetachstate
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+#pragma weak pthread_getschedparam
+#pragma weak pthread_setschedparam
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+#endif /* _LIBOBJC */
+
+static inline int
+__gthread_active_p (void)
+{
+ static void *const __gthread_active_ptr = (void *) &pthread_create;
+ return __gthread_active_ptr != 0;
+}
+
+#else /* not _GLIBCPP_SUPPORTS_WEAK */
+
+static inline int
+__gthread_active_p (void)
+{
+ return 1;
+}
+
+#endif /* _GLIBCPP_SUPPORTS_WEAK */
+
+#ifdef _LIBOBJC
+
+/* This is the config.h file in libobjc/ */
+#include <config.h>
+
+#ifdef HAVE_SCHED_H
+# include <sched.h>
+#endif
+
+/* Key structure for maintaining thread specific storage */
+static pthread_key_t _objc_thread_storage;
+static pthread_attr_t _objc_thread_attribs;
+
+/* Thread local storage for a single thread */
+static void *thread_local_storage = NULL;
+
+/* Backend initialization functions */
+
+/* Initialize the threads subsystem. */
+static inline int
+__gthread_objc_init_thread_system (void)
+{
+ if (__gthread_active_p ())
+ {
+ /* Initialize the thread storage key */
+ if (pthread_key_create (&_objc_thread_storage, NULL) == 0)
+ {
+ /* The normal default detach state for threads is
+ * PTHREAD_CREATE_JOINABLE which causes threads to not die
+ * when you think they should. */
+ if (pthread_attr_init (&_objc_thread_attribs) == 0
+ && pthread_attr_setdetachstate (&_objc_thread_attribs,
+ PTHREAD_CREATE_DETACHED) == 0)
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
+/* Close the threads subsystem. */
+static inline int
+__gthread_objc_close_thread_system (void)
+{
+ if (__gthread_active_p ()
+ && pthread_key_delete (_objc_thread_storage) == 0
+ && pthread_attr_destroy (&_objc_thread_attribs) == 0)
+ return 0;
+
+ return -1;
+}
+
+/* Backend thread functions */
+
+/* Create a new thread of execution. */
+static inline objc_thread_t
+__gthread_objc_thread_detach (void (*func)(void *), void *arg)
+{
+ objc_thread_t thread_id;
+ pthread_t new_thread_handle;
+
+ if (!__gthread_active_p ())
+ return NULL;
+
+ if (!(pthread_create (&new_thread_handle, NULL, (void *) func, arg)))
+ thread_id = (objc_thread_t) new_thread_handle;
+ else
+ thread_id = NULL;
+
+ return thread_id;
+}
+
+/* Set the current thread's priority. */
+static inline int
+__gthread_objc_thread_set_priority (int priority)
+{
+ if (!__gthread_active_p ())
+ return -1;
+ else
+ {
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+ pthread_t thread_id = pthread_self ();
+ int policy;
+ struct sched_param params;
+ int priority_min, priority_max;
+
+ if (pthread_getschedparam (thread_id, &policy, &params) == 0)
+ {
+ if ((priority_max = sched_get_priority_max (policy)) == -1)
+ return -1;
+
+ if ((priority_min = sched_get_priority_min (policy)) == -1)
+ return -1;
+
+ if (priority > priority_max)
+ priority = priority_max;
+ else if (priority < priority_min)
+ priority = priority_min;
+ params.sched_priority = priority;
+
+ /*
+ * The solaris 7 and several other man pages incorrectly state that
+ * this should be a pointer to policy but pthread.h is universally
+ * at odds with this.
+ */
+ if (pthread_setschedparam (thread_id, policy, &params) == 0)
+ return 0;
+ }
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+ return -1;
+ }
+}
+
+/* Return the current thread's priority. */
+static inline int
+__gthread_objc_thread_get_priority (void)
+{
+#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
+ if (__gthread_active_p ())
+ {
+ int policy;
+ struct sched_param params;
+
+ if (pthread_getschedparam (pthread_self (), &policy, &params) == 0)
+ return params.sched_priority;
+ else
+ return -1;
+ }
+ else
+#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
+ return OBJC_THREAD_INTERACTIVE_PRIORITY;
+}
+
+/* Yield our process time to another thread. */
+static inline void
+__gthread_objc_thread_yield (void)
+{
+ if (__gthread_active_p ())
+ sched_yield ();
+}
+
+/* Terminate the current thread. */
+static inline int
+__gthread_objc_thread_exit (void)
+{
+ if (__gthread_active_p ())
+ /* exit the thread */
+ pthread_exit (&__objc_thread_exit_status);
+
+ /* Failed if we reached here */
+ return -1;
+}
+
+/* Returns an integer value which uniquely describes a thread. */
+static inline objc_thread_t
+__gthread_objc_thread_id (void)
+{
+ if (__gthread_active_p ())
+ return (objc_thread_t) pthread_self ();
+ else
+ return (objc_thread_t) 1;
+}
+
+/* Sets the thread's local storage pointer. */
+static inline int
+__gthread_objc_thread_set_data (void *value)
+{
+ if (__gthread_active_p ())
+ return pthread_setspecific (_objc_thread_storage, value);
+ else
+ {
+ thread_local_storage = value;
+ return 0;
+ }
+}
+
+/* Returns the thread's local storage pointer. */
+static inline void *
+__gthread_objc_thread_get_data (void)
+{
+ if (__gthread_active_p ())
+ return pthread_getspecific (_objc_thread_storage);
+ else
+ return thread_local_storage;
+}
+
+/* Backend mutex functions */
+
+/* Allocate a mutex. */
+static inline int
+__gthread_objc_mutex_allocate (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ())
+ {
+ mutex->backend = objc_malloc (sizeof (pthread_mutex_t));
+
+ if (pthread_mutex_init ((pthread_mutex_t *) mutex->backend, NULL))
+ {
+ objc_free (mutex->backend);
+ mutex->backend = NULL;
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+/* Deallocate a mutex. */
+static inline int
+__gthread_objc_mutex_deallocate (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ())
+ {
+ int count;
+
+ /*
+ * Posix Threads specifically require that the thread be unlocked
+ * for pthread_mutex_destroy to work.
+ */
+
+ do
+ {
+ count = pthread_mutex_unlock ((pthread_mutex_t *) mutex->backend);
+ if (count < 0)
+ return -1;
+ }
+ while (count);
+
+ if (pthread_mutex_destroy ((pthread_mutex_t *) mutex->backend))
+ return -1;
+
+ objc_free (mutex->backend);
+ mutex->backend = NULL;
+ }
+ return 0;
+}
+
+/* Grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_lock (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ()
+ && pthread_mutex_lock ((pthread_mutex_t *) mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+/* Try to grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_trylock (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ()
+ && pthread_mutex_trylock ((pthread_mutex_t *) mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+/* Unlock the mutex */
+static inline int
+__gthread_objc_mutex_unlock (objc_mutex_t mutex)
+{
+ if (__gthread_active_p ()
+ && pthread_mutex_unlock ((pthread_mutex_t *) mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+/* Backend condition mutex functions */
+
+/* Allocate a condition. */
+static inline int
+__gthread_objc_condition_allocate (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ {
+ condition->backend = objc_malloc (sizeof (pthread_cond_t));
+
+ if (pthread_cond_init ((pthread_cond_t *) condition->backend, NULL))
+ {
+ objc_free (condition->backend);
+ condition->backend = NULL;
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+/* Deallocate a condition. */
+static inline int
+__gthread_objc_condition_deallocate (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ {
+ if (pthread_cond_destroy ((pthread_cond_t *) condition->backend))
+ return -1;
+
+ objc_free (condition->backend);
+ condition->backend = NULL;
+ }
+ return 0;
+}
+
+/* Wait on the condition */
+static inline int
+__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_cond_wait ((pthread_cond_t *) condition->backend,
+ (pthread_mutex_t *) mutex->backend);
+ else
+ return 0;
+}
+
+/* Wake up all threads waiting on this condition. */
+static inline int
+__gthread_objc_condition_broadcast (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ return pthread_cond_broadcast ((pthread_cond_t *) condition->backend);
+ else
+ return 0;
+}
+
+/* Wake up one thread waiting on this condition. */
+static inline int
+__gthread_objc_condition_signal (objc_condition_t condition)
+{
+ if (__gthread_active_p ())
+ return pthread_cond_signal ((pthread_cond_t *) condition->backend);
+ else
+ return 0;
+}
+
+#else /* _LIBOBJC */
+
+static inline int
+__gthread_once (__gthread_once_t *once, void (*func) (void))
+{
+ if (__gthread_active_p ())
+ return pthread_once (once, func);
+ else
+ return -1;
+}
+
+static inline int
+__gthread_key_create (__gthread_key_t *key, void (*dtor) (void *))
+{
+ return pthread_key_create (key, dtor);
+}
+
+static inline int
+__gthread_key_dtor (__gthread_key_t key, void *ptr)
+{
+ /* Just reset the key value to zero. */
+ if (ptr)
+ return pthread_setspecific (key, 0);
+ else
+ return 0;
+}
+
+static inline int
+__gthread_key_delete (__gthread_key_t key)
+{
+ return pthread_key_delete (key);
+}
+
+static inline void *
+__gthread_getspecific (__gthread_key_t key)
+{
+ return pthread_getspecific (key);
+}
+
+static inline int
+__gthread_setspecific (__gthread_key_t key, const void *ptr)
+{
+ return pthread_setspecific (key, ptr);
+}
+
+static inline int
+__gthread_mutex_lock (__gthread_mutex_t *mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_mutex_lock (mutex);
+ else
+ return 0;
+}
+
+static inline int
+__gthread_mutex_trylock (__gthread_mutex_t *mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_mutex_trylock (mutex);
+ else
+ return 0;
+}
+
+static inline int
+__gthread_mutex_unlock (__gthread_mutex_t *mutex)
+{
+ if (__gthread_active_p ())
+ return pthread_mutex_unlock (mutex);
+ else
+ return 0;
+}
+
+#endif /* _LIBOBJC */
+
+#endif /* ! _GLIBCPP_GCC_GTHR_POSIX_H */
diff --git a/gnu/lib/libstdc++-v3/arch/sparc64/gthr-single.h b/gnu/lib/libstdc++-v3/arch/sparc64/gthr-single.h
new file mode 100644
index 00000000000..6fa2b1ed699
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/sparc64/gthr-single.h
@@ -0,0 +1,242 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_SINGLE_H
+#define _GLIBCPP_GCC_GTHR_SINGLE_H
+
+/* Just provide compatibility for mutex handling. */
+
+typedef int __gthread_mutex_t;
+
+#define __GTHREAD_MUTEX_INIT 0
+
+#ifdef __cplusplus
+#define _GLIBCPP_UNUSED(x)
+#else
+#define _GLIBCPP_UNUSED(x) x __attribute__((unused))
+#endif
+
+#ifdef _LIBOBJC
+
+/* Thread local storage for a single thread */
+static void *thread_local_storage = NULL;
+
+/* Backend initialization functions */
+
+/* Initialize the threads subsystem. */
+static inline int
+__gthread_objc_init_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Close the threads subsystem. */
+static inline int
+__gthread_objc_close_thread_system (void)
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Backend thread functions */
+
+/* Create a new thread of execution. */
+static inline objc_thread_t
+__gthread_objc_thread_detach (void (* func)(void *), void * _GLIBCPP_UNUSED(arg))
+{
+ /* No thread support available */
+ return NULL;
+}
+
+/* Set the current thread's priority. */
+static inline int
+__gthread_objc_thread_set_priority (int _GLIBCPP_UNUSED(priority))
+{
+ /* No thread support available */
+ return -1;
+}
+
+/* Return the current thread's priority. */
+static inline int
+__gthread_objc_thread_get_priority (void)
+{
+ return OBJC_THREAD_INTERACTIVE_PRIORITY;
+}
+
+/* Yield our process time to another thread. */
+static inline void
+__gthread_objc_thread_yield (void)
+{
+ return;
+}
+
+/* Terminate the current thread. */
+static inline int
+__gthread_objc_thread_exit (void)
+{
+ /* No thread support available */
+ /* Should we really exit the program */
+ /* exit (&__objc_thread_exit_status); */
+ return -1;
+}
+
+/* Returns an integer value which uniquely describes a thread. */
+static inline objc_thread_t
+__gthread_objc_thread_id (void)
+{
+ /* No thread support, use 1. */
+ return (objc_thread_t) 1;
+}
+
+/* Sets the thread's local storage pointer. */
+static inline int
+__gthread_objc_thread_set_data (void *value)
+{
+ thread_local_storage = value;
+ return 0;
+}
+
+/* Returns the thread's local storage pointer. */
+static inline void *
+__gthread_objc_thread_get_data (void)
+{
+ return thread_local_storage;
+}
+
+/* Backend mutex functions */
+
+/* Allocate a mutex. */
+static inline int
+__gthread_objc_mutex_allocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Deallocate a mutex. */
+static inline int
+__gthread_objc_mutex_deallocate (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_lock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Try to grab a lock on a mutex. */
+static inline int
+__gthread_objc_mutex_trylock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ /* There can only be one thread, so we always get the lock */
+ return 0;
+}
+
+/* Unlock the mutex */
+static inline int
+__gthread_objc_mutex_unlock (objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Backend condition mutex functions */
+
+/* Allocate a condition. */
+static inline int
+__gthread_objc_condition_allocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Deallocate a condition. */
+static inline int
+__gthread_objc_condition_deallocate (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wait on the condition */
+static inline int
+__gthread_objc_condition_wait (objc_condition_t _GLIBCPP_UNUSED(condition),
+ objc_mutex_t _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+/* Wake up all threads waiting on this condition. */
+static inline int
+__gthread_objc_condition_broadcast (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+/* Wake up one thread waiting on this condition. */
+static inline int
+__gthread_objc_condition_signal (objc_condition_t _GLIBCPP_UNUSED(condition))
+{
+ return 0;
+}
+
+#else /* _LIBOBJC */
+
+static inline int
+__gthread_active_p (void)
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_lock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_trylock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+static inline int
+__gthread_mutex_unlock (__gthread_mutex_t * _GLIBCPP_UNUSED(mutex))
+{
+ return 0;
+}
+
+#endif /* _LIBOBJC */
+
+#undef _GLIBCPP_UNUSED
+
+#endif /* ! _GLIBCPP_GCC_GTHR_SINGLE_H */
diff --git a/gnu/lib/libstdc++-v3/arch/sparc64/gthr.h b/gnu/lib/libstdc++-v3/arch/sparc64/gthr.h
new file mode 100644
index 00000000000..d463cf98ec6
--- /dev/null
+++ b/gnu/lib/libstdc++-v3/arch/sparc64/gthr.h
@@ -0,0 +1,108 @@
+/* This file is automatically generated. DO NOT EDIT! */
+/* Generated from: NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp */
+
+/* Threads compatibility routines for libgcc2. */
+/* Compile this one with gcc. */
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+#ifndef _GLIBCPP_GCC_GTHR_H
+#define _GLIBCPP_GCC_GTHR_H
+
+/* If this file is compiled with threads support, it must
+ #define __GTHREADS 1
+ to indicate that threads support is present. Also it has define
+ function
+ int __gthread_active_p ()
+ that returns 1 if thread system is active, 0 if not.
+
+ The threads interface must define the following types:
+ __gthread_key_t
+ __gthread_once_t
+ __gthread_mutex_t
+
+ The threads interface must define the following macros:
+
+ __GTHREAD_ONCE_INIT
+ to initialize __gthread_once_t
+ __GTHREAD_MUTEX_INIT
+ to initialize __gthread_mutex_t to get a fast
+ non-recursive mutex.
+ __GTHREAD_MUTEX_INIT_FUNCTION
+ some systems can't initialize a mutex without a
+ function call. On such systems, define this to a
+ function which looks like this:
+ void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *)
+ Don't define __GTHREAD_MUTEX_INIT in this case
+
+ The threads interface must define the following static functions:
+
+ int __gthread_once (__gthread_once_t *once, void (*func) ())
+
+ int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *))
+ int __gthread_key_delete (__gthread_key_t key)
+
+ int __gthread_key_dtor (__gthread_key_t key, void *ptr)
+
+ void *__gthread_getspecific (__gthread_key_t key)
+ int __gthread_setspecific (__gthread_key_t key, const void *ptr)
+
+ int __gthread_mutex_lock (__gthread_mutex_t *mutex);
+ int __gthread_mutex_trylock (__gthread_mutex_t *mutex);
+ int __gthread_mutex_unlock (__gthread_mutex_t *mutex);
+
+ All functions returning int should return zero on success or the error
+ number. If the operation is not supported, -1 is returned.
+
+ Currently supported threads packages are
+ POSIX threads with -D_PTHREADS
+ DCE threads with -D_DCE_THREADS
+ Solaris/UI threads with -D_SOLARIS_THREADS
+*/
+
+/* Check first for thread specific defines. */
+#if _GLIBCPP__PTHREADS
+#include <bits/gthr-posix.h>
+#elif _GLIBCPP__DCE_THREADS
+#include <bits/gthr-dce.h>
+#elif _GLIBCPP__SOLARIS_THREADS
+#include <bits/gthr-solaris.h>
+
+/* Include GTHREAD_FILE if one is defined. */
+#elif defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
+#if _GLIBCPP_SUPPORTS_WEAK
+#ifndef _GLIBCPP_GTHREAD_USE_WEAK
+#define _GLIBCPP_GTHREAD_USE_WEAK 1
+#endif
+#endif
+#include <bits/gthr-default.h>
+
+/* Fallback to single thread definitions. */
+#else
+#include <bits/gthr-single.h>
+#endif
+
+#endif /* ! _GLIBCPP_GCC_GTHR_H */