summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarino <marino@pkgsrc.org>2015-06-15 09:39:13 +0000
committermarino <marino@pkgsrc.org>2015-06-15 09:39:13 +0000
commit7b107adf39943d3fda17fb552ab22aba5da94fb5 (patch)
treefa240a454c04426507d587133782d6b8139c6aef
parent8171c40b1710619a5184df67186c3b0ce486f452 (diff)
downloadpkgsrc-7b107adf39943d3fda17fb552ab22aba5da94fb5.tar.gz
Remove obsolete lang/gnat-aux
The gnat-aux package is based on gcc-4.6, which has been unsupported upstream since the last point release on 25 March 2011. Nothing depends on it. The lang/gcc-aux package (based on gcc-4.9) took over its tasks with the "ada" support a few years ago. A new package, lang/gcc5-aux is coming soon. There's no technical reason to use lang/gnat-aux over lang/gcc-aux or lang/gcc5-aux (hopefully nobody has been!) so just remove it outright with the recommendation to switch to a newer Ada compiler package.
-rw-r--r--lang/gnat-aux/DESCR16
-rw-r--r--lang/gnat-aux/Makefile313
-rw-r--r--lang/gnat-aux/buildlink3.mk18
-rw-r--r--lang/gnat-aux/distinfo38
-rw-r--r--lang/gnat-aux/files/diff-ada9755
-rw-r--r--lang/gnat-aux/files/diff-ada-testsuite190
-rw-r--r--lang/gnat-aux/files/diff-core1930
-rw-r--r--lang/gnat-aux/files/diff-cxx917
-rw-r--r--lang/gnat-aux/files/diff-cxx-testsuite4547
-rw-r--r--lang/gnat-aux/files/diff-fortran54
-rw-r--r--lang/gnat-aux/files/diff-fortran-testsuite31
-rw-r--r--lang/gnat-aux/files/diff-gcc-testsuite10
-rw-r--r--lang/gnat-aux/options.mk84
-rw-r--r--lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h61
-rw-r--r--lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h13
-rw-r--r--lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h57
16 files changed, 0 insertions, 18034 deletions
diff --git a/lang/gnat-aux/DESCR b/lang/gnat-aux/DESCR
deleted file mode 100644
index 1d4ec3e7235..00000000000
--- a/lang/gnat-aux/DESCR
+++ /dev/null
@@ -1,16 +0,0 @@
-The GNAT AUX Ada compiler targeted at *BSD and *Solaris platforms
-
-GNAT AUX is based on the trunk version of Free Software Foundation's GNU
-Compiler Collection. It carries with it the GMGPL license, the modified
-version of the GPL that exempts generic instantiation from resulting in
-a GPL-licensed executable. This version of GNAT also carries with it the
-GCC Runtime Library Exception, so the resulting binaries have no licensing
-requirements. Binaries produced by GNAT AUX should be handled the same as
-binaries produced by any FSF GNAT compiler.
-
-GNAT AUX implements the full Ada-83, Ada-95, and Ada-2005 language standards.
-It also implements some features of the draft Ada-2012 standard, which are
-optionally accessible via the -gnat2012 switch or Ada_2012 pragma.
-
-GNAT AUX always builds C, and builds Ada, Fortran, C++, and Objective-C by
-default. The last four languages can be disabled by the options framework.
diff --git a/lang/gnat-aux/Makefile b/lang/gnat-aux/Makefile
deleted file mode 100644
index 1d22f78e4d2..00000000000
--- a/lang/gnat-aux/Makefile
+++ /dev/null
@@ -1,313 +0,0 @@
-# $NetBSD: Makefile,v 1.18 2015/06/12 10:50:15 wiz Exp $
-#
-
-PKGNAME= gnat-aux-${SNAPSHOT}
-DISTNAME= gcc-${GCC_VERSION}
-PKGREVISION= 3
-CATEGORIES= lang
-MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
-DISTFILES= gcc-core-${GCC_VERSION}.tar.bz2
-
-MAINTAINER= draco@marino.st
-HOMEPAGE= http://www.dragonlace.net/
-COMMENT= GNAT Ada compiler based on GCC ${GCC_BRANCH}
-LICENSE= gnu-gpl-v3 AND gnu-lgpl-v3
-
-SNAPSHOT= 20130412
-GCC_BRANCH= 4.6
-GCC_POINT= 4
-GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
-LANGS= c
-
-USE_TOOLS+= gmake sed perl makeinfo bzip2 patch pod2man
-USE_BUILTIN.iconv= no
-APPLY_DIFFS= core
-
-.include "../../mk/bsd.prefs.mk"
-.include "options.mk"
-
-# Requires bootstrap compiler, which is only available for NetBSD i386/AMD64
-# and DragonFly i386/AMD64. Actually bootstrap compilers for OpenBSD and
-# FreeBSD also exist, but native packages will be available for those ports.
-
-ONLY_FOR_PLATFORM= DragonFly-*-* \
- NetBSD-[5-9]*-i386 \
- NetBSD-[5-9]*-x86_64 \
- SunOS-5.*-i386
-
-BLD_TARGET= ${MACHINE_ARCH}-aux-${LOWER_OPSYS}${OS_VERSION}
-THREAD_MODEL= posix
-OS_LABEL4VERS= [pkgsrc]
-BOOTSTRAP_COMPILER= NOT_REQUIRED
-INTENDED_COMPILER= NATIVE
-BOOTSTRAP_TRIPLET= NOT SET
-FULL_GNATGCC= NOT SET
-FULL_PATH= /sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/sbin:${PREFIX}/bin
-OLD_EH= register_frame
-REBUILD_LIB= Rebuild the following library first:
-BOOTSTRAP_SITES= http://downloads.dragonlace.net/src/
-
-
-.if ${OPSYS} == "DragonFly"
-.if ${MACHINE_ARCH} == "i386"
- OS_LABEL4VERS= [DragonFly]
- BOOTSTRAP_TRIPLET= i386-bootstrap-dragonfly2.8/4.6.0
-.endif
-.if ${MACHINE_ARCH} == "x86_64"
- OS_LABEL4VERS= [DragonFly64]
- BOOTSTRAP_TRIPLET= x86_64-bootstrap-dragonfly2.8/4.6.0
-.endif
-BOOTSTRAP_COMPILER= gnat-bootstrap.${MACHINE_ARCH}.dragonfly.tar.bz2
-LINK_HEADER= /usr/include/sys/link_elf.h
-.endif
-
-
-.if ${OPSYS} == "NetBSD"
-.if empty(OS_VERSION:M5.99.*)
- NSUFF= ${OS_VERSION}
-.else
- NSUFF= 6.0_DEV
-.endif
-.if ${MACHINE_ARCH} == "i386"
- OS_LABEL4VERS= [NetBSD]
- BOOTSTRAP_TRIPLET= i386-bootstrap-netbsdelf5.1/4.6.0
- BLD_TARGET= ${MACHINE_ARCH}-aux-netbsdelf${NSUFF}
-.endif
-.if ${MACHINE_ARCH} == "x86_64"
- OS_LABEL4VERS= [NetBSD64]
- BOOTSTRAP_TRIPLET= x86_64-bootstrap-netbsd5.1/4.6.0
- BLD_TARGET= ${MACHINE_ARCH}-aux-netbsd${NSUFF}
-.endif
-BOOTSTRAP_COMPILER= gnat-bootstrap.${MACHINE_ARCH}.netbsd.tar.bz2
-LINK_HEADER= /usr/include/link_elf.h
-
-SUBST_CLASSES+= net1
-SUBST_STAGE.net1= post-patch
-SUBST_FILES.net1= gcc/config/i386/netbsd-elf.h
-SUBST_MESSAGE.net1= Fixing libgcc linkage problem on NetBSD
-SUBST_SED.net1= -e "s,@EXEC_PREFIX@,${PREFIX},"
-.endif
-
-
-.if ${OPSYS} == "SunOS"
-.if ${MACHINE_ARCH} == "i386"
- OS_LABEL4VERS= [Solaris]
- BOOTSTRAP_TRIPLET= i386-bootstrap-solaris5.11/4.6.1
-.endif
-SOL_OSV= `expr substr ${OS_VERSION} 3 2`
-BLD_TARGET= ${MACHINE_ARCH}-aux-${LOWER_OPSYS}2.${SOL_OSV}
-BOOTSTRAP_COMPILER= gnat-bootstrap.${MACHINE_ARCH}.solaris.tar.bz2
-.endif
-
-
-
-# Let's build this without bash
-CONFIG_SHELL= ${TOOLS_PATH.sh}
-
-
-# define some important directories and files
-BUILDDIR= ${WRKDIR}/build
-WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION}
-PKG_PREFIX= ${PREFIX}
-CFG_SCRIPT= ${WRKSRC}/configure
-BOOTSTRAP_PREFIX= ${WRKDIR}/bootstrap
-REVFILE= ${WRKSRC}/gcc/REVISION
-BASELIB= ${PREFIX}/lib
-
-
-
-# testing if gnatgcc, gnatlink, gnatbind and gnatmake are in standard location
-# exists function will NOT expand any variable, so it has to be hard-coded
-.if exists(/usr/pkg/bin/gnatgcc) || exists(/opt/ipp/pkg/bin/gnatgcc)
-.if exists(/usr/pkg/bin/gnatbind) || exists(/opt/ipp/pkg/bin/gnatbind)
-.if exists(/usr/pkg/bin/gnatlink) || exists(/opt/ipp/pkg/bin/gnatlink)
-.if exists(/usr/pkg/bin/gnatmake) || exists(/opt/ipp/pkg/bin/gnatmake)
-FULL_GNATGCC=${PREFIX}/bin/gnatgcc
-.endif #gnatmake
-.endif #gnatlink
-.endif #gnatbind
-.endif #gnatgcc
-
-
-.if ${FULL_GNATGCC} == "NOT SET"
-# here we know we need to install the bootstrap compiler
-INTENDED_COMPILER=BOOTSTRAP
-FULL_GNATGCC=${BOOTSTRAP_PREFIX}/bin/gnatgcc
-DISTFILES+= ${BOOTSTRAP_COMPILER}
-SITES.${BOOTSTRAP_COMPILER}= ${BOOTSTRAP_SITES}
-FULL_PATH=${BOOTSTRAP_PREFIX}/bin:/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/sbin:${PREFIX}/bin
-.endif
-
-
-# For pkg maintenance, uncomment to invoke "bmake mdi PLUS_BOOTSTRAPS=1"
-.if defined(PLUS_BOOTSTRAPS)
-BS1= gnat-bootstrap.i386.dragonfly.tar.bz2
-BS2= gnat-bootstrap.x86_64.dragonfly.tar.bz2
-BS3= gnat-bootstrap.i386.netbsd.tar.bz2
-BS4= gnat-bootstrap.x86_64.netbsd.tar.bz2
-BS5= gnat-bootstrap.i386.solaris.tar.bz2
-. for bsite in ${BS1} ${BS2} ${BS3} ${BS4} ${BS5}
-SITES.${bsite}= ${BOOTSTRAP_SITES}
-. endfor
-DISTFILES= \
- gcc-core-${GCC_VERSION}.tar.bz2 \
- gcc-ada-${GCC_VERSION}.tar.bz2 \
- gcc-g++-${GCC_VERSION}.tar.bz2 \
- gcc-fortran-${GCC_VERSION}.tar.bz2 \
- gcc-objc-${GCC_VERSION}.tar.bz2 \
- gcc-testsuite-${GCC_VERSION}.tar.bz2 \
- ${BS1} ${BS2} ${BS3} ${BS4} ${BS5}
-.endif
-
-
-# establish ada-aware compiler for use
-MY_CONFIGURE_ENV= CC=${FULL_GNATGCC}
-MY_CONFIGURE_ENV+= PATH=${FULL_PATH}
-MY_CONFIGURE_ENV+= CONFIG_SHELL=${CONFIG_SHELL}
-MY_MAKE_ENV= PATH=${FULL_PATH}
-MY_MAKE_ENV+= LD_LIBRARY_PATH=${BUILDDIR}/gcc
-
-
-# The standard configuration options
-CONFIGURE_ARGS= --enable-languages=${LANGS:Q}
-CONFIGURE_ARGS+= --build=${BLD_TARGET}
-CONFIGURE_ARGS+= --program-prefix=gnat
-CONFIGURE_ARGS+= --prefix=${PREFIX}
-CONFIGURE_ARGS+= --with-system-zlib
-CONFIGURE_ARGS+= --with-gmp=${BUILDLINK_PREFIX.gmp}
-CONFIGURE_ARGS+= --with-mpfr=${BUILDLINK_PREFIX.mpfr}
-CONFIGURE_ARGS+= --with-mpc=${BUILDLINK_PREFIX.mpcomplex}
-CONFIGURE_ARGS+= --with-libiconv-prefix=${PKG_PREFIX}
-CONFIGURE_ARGS+= --enable-shared
-CONFIGURE_ARGS+= --enable-threads=${THREAD_MODEL}
-CONFIGURE_ARGS+= --disable-bootstrap
-CONFIGURE_ARGS+= ${QUADOPT}
-CONFIGURE_ARGS+= --disable-libmudflap
-CONFIGURE_ARGS+= --disable-libgomp
-CONFIGURE_ARGS+= --disable-libssp
-CONFIGURE_ARGS+= --disable-nls
-
-# Automatic package list generation
-GENERATE_PLIST= cd ${DESTDIR}${PREFIX};
-GENERATE_PLIST+= ${FIND} * \( -type f -or -type l \) | ${SORT} -dr;
-
-
-post-extract:
- # Personalize GNAT for each different machine
- @${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE}
-
- # Create new directories in preparation of applying diff files
-.if !empty(PKG_OPTIONS:Mcxx)
- ${MKDIR} ${WRKSRC}/libstdc++-v3/config/locale/dragonfly
- ${MKDIR} ${WRKSRC}/libstdc++-v3/config/os/bsd/dragonfly
-.endif
-
- # Apply required composite diff files
-.for suffix in ${APPLY_DIFFS}
- @${ECHO} "Applying composite patch diff-${suffix}"
- @${PATCH} -d ${WRKSRC} -s -E < ${FILESDIR}/diff-${suffix}
-.endfor
-
-.if ${INTENDED_COMPILER} == "BOOTSTRAP"
- # Bootstrap compiler has statically linked z, gmp, mpc, mpfr and iconv
- # The only shared lib is libc.so.7, so it should work for a long time.
- # It is at least 28MB and doesn't come with shared libraries.
-
- ${MKDIR} ${BOOTSTRAP_PREFIX}
- mv ${BOOTSTRAP_PREFIX}/../bin ${BOOTSTRAP_PREFIX}
- mv ${BOOTSTRAP_PREFIX}/../lib ${BOOTSTRAP_PREFIX}
- mv ${BOOTSTRAP_PREFIX}/../libexec ${BOOTSTRAP_PREFIX}
-
- # Bootstrap compiler malfunctions in NetBSD 6 unless include-fixed
- # directory is removed first. It will eventually cause problems
- # for DragonFly and Solaris as well, so just unconditionally kill it.
- ${RM} -rf ${BOOTSTRAP_PREFIX}/lib/gcc/${BOOTSTRAP_TRIPLET}/include-fixed
-.endif
-
-
-pre-configure:
-# NetBSD's system compiler is not configured to use dl_iterate_phdr which is
-# required to build shared libraries if gnat-aux handles exceptions via
-# dl_iterate_phdr. Therefore this functionality is disabled for NetBSD until
-# further notice. DragonFly introduced this functionality with 2.11, but it's
-# possible the shared libraries were built with an earlier compiler in the
-# case of an upgrade. We need to detect this situation and stop the build
-# if the libraries need to be rebuilt.
-.if ${OPSYS} == "DragonFly"
- @if ${GREP} dl_iterate_phdr ${LINK_HEADER} > /dev/null; then \
- if ${GREP} ${OLD_EH} ${BASELIB}/libmpc.so > /dev/null; then \
- ${ERROR_MSG} "${REBUILD_LIB} math/mpcomplex"; \
- exit 101; \
- fi; \
- if ${GREP} ${OLD_EH} ${BASELIB}/libmpfr.so > /dev/null; then \
- ${ERROR_MSG} "${REBUILD_LIB} math/mpfr"; \
- exit 102; \
- fi; \
- if ${GREP} ${OLD_EH} ${BASELIB}/libgmp.so > /dev/null; then \
- ${ERROR_MSG} "${REBUILD_LIB} devel/gmp"; \
- exit 103; \
- fi; \
- if ${GREP} ${OLD_EH} ${BASELIB}/libiconv.so > /dev/null; then \
- ${ERROR_MSG} "${REBUILD_LIB} converters/libiconv"; \
- exit 104; \
- fi; \
- fi
-.endif
-
-
-do-configure:
- ${MKDIR} ${BUILDDIR}
- cd ${BUILDDIR} && ${SETENV} ${MY_CONFIGURE_ENV} \
- ${CFG_SCRIPT} ${CONFIGURE_ARGS}
-
-
-do-build:
- # The unlimited stacksize is for NetBSD64
- cd ${BUILDDIR} && \
- ${ULIMIT_CMD_stacksize} && \
- ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1:Q} all
-
-
-do-test: build
-.if !empty(PKG_OPTIONS:Mtestada)
-.if (${OPSYS} == "NetBSD") && (${MACHINE_ARCH} == "x86_64")
- # NetBSD has an extremely small default stacksize of 2MB, which is
- # insufficient for the gnat.dg testsuite.
- # specifically: entry_queues test on AMD64
- # Unlimiting stack resources on i386-netbsdelf* will result in
- # failure of gnat.dg/task_stack_align.adb execution test.
- cd ${BUILDDIR} && \
- ${ULIMIT_CMD_stacksize} && \
- ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-ada
-.else
- cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-ada
-.endif
-.endif
-.if !empty(PKG_OPTIONS:Mfortran) && !empty(PKG_OPTIONS:Mtestfortran)
- cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-fortran
-.endif
-.if !empty(PKG_OPTIONS:Mobjc) && !empty(PKG_OPTIONS:Mtestobjc)
- cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-objc
-.endif
-.if !empty(PKG_OPTIONS:Mcxx) && !empty(PKG_OPTIONS:Mtestcxx)
- # libstdc++ always ends with error status, so ignore it
- cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk \
- check-c++ || ${TRUE}
-.endif
-.if !empty(PKG_OPTIONS:Mtestgcc)
- cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-c
-.endif
-
-
-do-install:
- cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} install-strip \
- DESTDIR=${DESTDIR}
-
-
-
-.include "../../devel/zlib/buildlink3.mk"
-.include "../../devel/gmp/buildlink3.mk"
-.include "../../math/mpfr/buildlink3.mk"
-.include "../../math/mpcomplex/buildlink3.mk"
-.include "../../converters/libiconv/buildlink3.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/lang/gnat-aux/buildlink3.mk b/lang/gnat-aux/buildlink3.mk
deleted file mode 100644
index fcacdc3d1f5..00000000000
--- a/lang/gnat-aux/buildlink3.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.2 2011/12/03 07:28:18 marino Exp $
-
-BUILDLINK_TREE+= gnat-aux
-
-.if !defined(GNAT_AUX_BUILDLINK3_MK)
-GNAT_AUX_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.gnat-aux+= gnat-aux>=20110627nb2
-BUILDLINK_PKGSRCDIR.gnat-aux?= ../../lang/gnat-aux
-
-.include "../../devel/zlib/buildlink3.mk"
-.include "../../devel/gmp/buildlink3.mk"
-.include "../../math/mpfr/buildlink3.mk"
-.include "../../math/mpcomplex/buildlink3.mk"
-.include "../../converters/libiconv/buildlink3.mk"
-.endif # GNAT_AUX_BUILDLINK3_MK
-
-BUILDLINK_TREE+= -gnat-aux
diff --git a/lang/gnat-aux/distinfo b/lang/gnat-aux/distinfo
deleted file mode 100644
index a5bafc14b68..00000000000
--- a/lang/gnat-aux/distinfo
+++ /dev/null
@@ -1,38 +0,0 @@
-$NetBSD: distinfo,v 1.11 2013/04/30 22:24:16 joerg Exp $
-
-SHA1 (gcc-ada-4.6.4.tar.bz2) = 64a18fa78262f0f0dfa6f92fb8cad75997e22b57
-RMD160 (gcc-ada-4.6.4.tar.bz2) = 9e12200c1b250cb0e8841d4074ddd1726a150ad3
-Size (gcc-ada-4.6.4.tar.bz2) = 6084085 bytes
-SHA1 (gcc-core-4.6.4.tar.bz2) = 9b2f25ac248d81c97bbe46690dc2c350e51996a5
-RMD160 (gcc-core-4.6.4.tar.bz2) = c85dbe4722b1943fd3a194cb32235308990c049a
-Size (gcc-core-4.6.4.tar.bz2) = 30353380 bytes
-SHA1 (gcc-fortran-4.6.4.tar.bz2) = 44437d5949c47a0301f831a5eb6068d43893a1ae
-RMD160 (gcc-fortran-4.6.4.tar.bz2) = 5b3292629c89a2872cfeff95cc00cbeab18041f6
-Size (gcc-fortran-4.6.4.tar.bz2) = 1679632 bytes
-SHA1 (gcc-g++-4.6.4.tar.bz2) = e9a47df1bc5e39a9ef995484c315f5d47114daeb
-RMD160 (gcc-g++-4.6.4.tar.bz2) = 33710c77553ba5c865f41c91bc29c1138fe3a0a0
-Size (gcc-g++-4.6.4.tar.bz2) = 6939359 bytes
-SHA1 (gcc-objc-4.6.4.tar.bz2) = cf7e31693d96f378723a1fbc5e538f612b96c228
-RMD160 (gcc-objc-4.6.4.tar.bz2) = f83fb907d8aad1f89fcd67d272e1fce861be9cf7
-Size (gcc-objc-4.6.4.tar.bz2) = 346591 bytes
-SHA1 (gcc-testsuite-4.6.4.tar.bz2) = 3ab3db5d90436f2e42ab435ec7dc0f05a25e6ae4
-RMD160 (gcc-testsuite-4.6.4.tar.bz2) = c4657f4c625f8731a5865fa5f4286a7c5ec089c2
-Size (gcc-testsuite-4.6.4.tar.bz2) = 6388458 bytes
-SHA1 (gnat-bootstrap.i386.dragonfly.tar.bz2) = d7a8103243a2df3723d9d3c3ec0da9c3bb725214
-RMD160 (gnat-bootstrap.i386.dragonfly.tar.bz2) = 9e6fde444e0ed76ee404810af6d6b7eb48659c09
-Size (gnat-bootstrap.i386.dragonfly.tar.bz2) = 28205489 bytes
-SHA1 (gnat-bootstrap.i386.netbsd.tar.bz2) = 19b61f54fae8e237a4e678ff03f20f50b47db1df
-RMD160 (gnat-bootstrap.i386.netbsd.tar.bz2) = ade03f223b2af229daece20a749915f7da0eb0a6
-Size (gnat-bootstrap.i386.netbsd.tar.bz2) = 27654956 bytes
-SHA1 (gnat-bootstrap.i386.solaris.tar.bz2) = 4962657bfc894a20ad3102c1f6fe8e566b47cb51
-RMD160 (gnat-bootstrap.i386.solaris.tar.bz2) = ae72e76d0aba94451d99b9a70a3c049c9258cc82
-Size (gnat-bootstrap.i386.solaris.tar.bz2) = 43247034 bytes
-SHA1 (gnat-bootstrap.x86_64.dragonfly.tar.bz2) = 77a637a497c61e4085de31b24a205f24b1776a15
-RMD160 (gnat-bootstrap.x86_64.dragonfly.tar.bz2) = 4d0eb7b8a5f901333f1ffd190a5bf72072b2b52e
-Size (gnat-bootstrap.x86_64.dragonfly.tar.bz2) = 31380342 bytes
-SHA1 (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 84f0e9179998daa643046a5d139321c4130ea84d
-RMD160 (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 0b2943349536c323a62b56dc05ff1fedd6d7e17a
-Size (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 30572187 bytes
-SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = cf1327efb559ca310a131b3446da0449d8845b61
-SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 830038744cbbb713ecc3f960a9509bef16176db9
-SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = ce481809b051cb281772a0ad4d561241731f7556
diff --git a/lang/gnat-aux/files/diff-ada b/lang/gnat-aux/files/diff-ada
deleted file mode 100644
index 9d4a8cf5f6f..00000000000
--- a/lang/gnat-aux/files/diff-ada
+++ /dev/null
@@ -1,9755 +0,0 @@
---- /dev/null
-+++ gcc/ada/a-intnam-dragonfly.ads
-@@ -0,0 +1,133 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- A D A . I N T E R R U P T S . N A M E S --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the DragonFly BSD THREADS version of this package
-+
-+with System.OS_Interface;
-+
-+package Ada.Interrupts.Names is
-+
-+ -- Beware that the mapping of names to signals may be many-to-one. There
-+ -- may be aliases. Also, for all signal names that are not supported on
-+ -- the current system the value of the corresponding constant will be zero.
-+
-+ SIGHUP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGHUP; -- hangup
-+
-+ SIGINT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGINT; -- interrupt (rubout)
-+
-+ SIGQUIT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGQUIT; -- quit (ASCD FS)
-+
-+ SIGILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGILL; -- illegal instruction (not reset)
-+
-+ SIGTRAP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTRAP; -- trace trap (not reset)
-+
-+ SIGIOT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGIOT; -- IOT instruction
-+
-+ SIGABRT : constant Interrupt_ID := -- used by abort,
-+ System.OS_Interface.SIGABRT; -- replace SIGIOT in the future
-+
-+ SIGFPE : constant Interrupt_ID :=
-+ System.OS_Interface.SIGFPE; -- floating point exception
-+
-+ SIGKILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGKILL; -- kill (cannot be caught or ignored)
-+
-+ SIGBUS : constant Interrupt_ID :=
-+ System.OS_Interface.SIGBUS; -- bus error
-+
-+ SIGSEGV : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSEGV; -- segmentation violation
-+
-+ SIGPIPE : constant Interrupt_ID := -- write on a pipe with
-+ System.OS_Interface.SIGPIPE; -- no one to read it
-+
-+ SIGALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGALRM; -- alarm clock
-+
-+ SIGTERM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTERM; -- software termination signal from kill
-+
-+ SIGURG : constant Interrupt_ID :=
-+ System.OS_Interface.SIGURG; -- urgent condition on IO channel
-+
-+ SIGSTOP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSTOP; -- stop (cannot be caught or ignored)
-+
-+ SIGTSTP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTSTP; -- user stop requested from tty
-+
-+ SIGCONT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCONT; -- stopped process has been continued
-+
-+ SIGCHLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCHLD; -- 4.3BSD's/POSIX name for SIGCLD
-+
-+ SIGCLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCLD; -- child status change
-+
-+ SIGTTIN : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTIN; -- background tty read attempted
-+
-+ SIGTTOU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTOU; -- background tty write attempted
-+
-+ SIGIO : constant Interrupt_ID := -- input/output possible,
-+ System.OS_Interface.SIGIO; -- SIGPOLL alias (Solaris)
-+
-+ SIGXCPU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXCPU; -- CPU time limit exceeded
-+
-+ SIGXFSZ : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXFSZ; -- filesize limit exceeded
-+
-+ SIGVTALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGVTALRM; -- virtual timer expired
-+
-+ SIGPROF : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPROF; -- profiling timer expired
-+
-+ SIGWINCH : constant Interrupt_ID :=
-+ System.OS_Interface.SIGWINCH; -- window size change
-+
-+ SIGUSR1 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR1; -- user defined signal 1
-+
-+ SIGUSR2 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR2; -- user defined signal 2
-+
-+end Ada.Interrupts.Names;
---- /dev/null
-+++ gcc/ada/a-intnam-netbsd.ads
-@@ -0,0 +1,136 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- A D A . I N T E R R U P T S . N A M E S --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the NetBSD THREADS version of this package
-+
-+with System.OS_Interface;
-+
-+package Ada.Interrupts.Names is
-+
-+ -- Beware that the mapping of names to signals may be many-to-one. There
-+ -- may be aliases. Also, for all signal names that are not supported on
-+ -- the current system the value of the corresponding constant will be zero.
-+
-+ SIGHUP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGHUP; -- hangup
-+
-+ SIGINT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGINT; -- interrupt (rubout)
-+
-+ SIGQUIT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGQUIT; -- quit (ASCD FS)
-+
-+ SIGILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGILL; -- illegal instruction (not reset)
-+
-+ SIGTRAP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTRAP; -- trace trap (not reset)
-+
-+ SIGIOT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGIOT; -- IOT instruction
-+
-+ SIGABRT : constant Interrupt_ID := -- used by abort,
-+ System.OS_Interface.SIGABRT; -- replace SIGIOT in the future
-+
-+ SIGFPE : constant Interrupt_ID :=
-+ System.OS_Interface.SIGFPE; -- floating point exception
-+
-+ SIGKILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGKILL; -- kill (cannot be caught or ignored)
-+
-+ SIGBUS : constant Interrupt_ID :=
-+ System.OS_Interface.SIGBUS; -- bus error
-+
-+ SIGSEGV : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSEGV; -- segmentation violation
-+
-+ SIGPIPE : constant Interrupt_ID := -- write on a pipe with
-+ System.OS_Interface.SIGPIPE; -- no one to read it
-+
-+ SIGALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGALRM; -- alarm clock
-+
-+ SIGTERM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTERM; -- software termination signal from kill
-+
-+ SIGURG : constant Interrupt_ID :=
-+ System.OS_Interface.SIGURG; -- urgent condition on IO channel
-+
-+ SIGSTOP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSTOP; -- stop (cannot be caught or ignored)
-+
-+ SIGTSTP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTSTP; -- user stop requested from tty
-+
-+ SIGCONT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCONT; -- stopped process has been continued
-+
-+ SIGCHLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCHLD; -- 4.3BSD's/POSIX name for SIGCLD
-+
-+ SIGCLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCLD; -- child status change
-+
-+ SIGTTIN : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTIN; -- background tty read attempted
-+
-+ SIGTTOU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTOU; -- background tty write attempted
-+
-+ SIGIO : constant Interrupt_ID := -- input/output possible,
-+ System.OS_Interface.SIGIO; -- SIGPOLL alias (Solaris)
-+
-+ SIGXCPU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXCPU; -- CPU time limit exceeded
-+
-+ SIGXFSZ : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXFSZ; -- filesize limit exceeded
-+
-+ SIGVTALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGVTALRM; -- virtual timer expired
-+
-+ SIGPROF : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPROF; -- profiling timer expired
-+
-+ SIGWINCH : constant Interrupt_ID :=
-+ System.OS_Interface.SIGWINCH; -- window size change
-+
-+ SIGUSR1 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR1; -- user defined signal 1
-+
-+ SIGUSR2 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR2; -- user defined signal 2
-+
-+ SIGPWR : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPWR; -- power fail/restart
-+
-+end Ada.Interrupts.Names;
---- /dev/null
-+++ gcc/ada/a-intnam-openbsd.ads
-@@ -0,0 +1,133 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- A D A . I N T E R R U P T S . N A M E S --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the OpenBSD THREADS version of this package
-+
-+with System.OS_Interface;
-+
-+package Ada.Interrupts.Names is
-+
-+ -- Beware that the mapping of names to signals may be many-to-one. There
-+ -- may be aliases. Also, for all signal names that are not supported on
-+ -- the current system the value of the corresponding constant will be zero.
-+
-+ SIGHUP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGHUP; -- hangup
-+
-+ SIGINT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGINT; -- interrupt (rubout)
-+
-+ SIGQUIT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGQUIT; -- quit (ASCD FS)
-+
-+ SIGILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGILL; -- illegal instruction (not reset)
-+
-+ SIGTRAP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTRAP; -- trace trap (not reset)
-+
-+ SIGIOT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGIOT; -- IOT instruction
-+
-+ SIGABRT : constant Interrupt_ID := -- used by abort,
-+ System.OS_Interface.SIGABRT; -- replace SIGIOT in the future
-+
-+ SIGFPE : constant Interrupt_ID :=
-+ System.OS_Interface.SIGFPE; -- floating point exception
-+
-+ SIGKILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGKILL; -- kill (cannot be caught or ignored)
-+
-+ SIGBUS : constant Interrupt_ID :=
-+ System.OS_Interface.SIGBUS; -- bus error
-+
-+ SIGSEGV : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSEGV; -- segmentation violation
-+
-+ SIGPIPE : constant Interrupt_ID := -- write on a pipe with
-+ System.OS_Interface.SIGPIPE; -- no one to read it
-+
-+ SIGALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGALRM; -- alarm clock
-+
-+ SIGTERM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTERM; -- software termination signal from kill
-+
-+ SIGURG : constant Interrupt_ID :=
-+ System.OS_Interface.SIGURG; -- urgent condition on IO channel
-+
-+ SIGSTOP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSTOP; -- stop (cannot be caught or ignored)
-+
-+ SIGTSTP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTSTP; -- user stop requested from tty
-+
-+ SIGCONT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCONT; -- stopped process has been continued
-+
-+ SIGCHLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCHLD; -- 4.3BSD's/POSIX name for SIGCLD
-+
-+ SIGCLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCLD; -- child status change
-+
-+ SIGTTIN : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTIN; -- background tty read attempted
-+
-+ SIGTTOU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTOU; -- background tty write attempted
-+
-+ SIGIO : constant Interrupt_ID := -- input/output possible,
-+ System.OS_Interface.SIGIO; -- SIGPOLL alias (Solaris)
-+
-+ SIGXCPU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXCPU; -- CPU time limit exceeded
-+
-+ SIGXFSZ : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXFSZ; -- filesize limit exceeded
-+
-+ SIGVTALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGVTALRM; -- virtual timer expired
-+
-+ SIGPROF : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPROF; -- profiling timer expired
-+
-+ SIGWINCH : constant Interrupt_ID :=
-+ System.OS_Interface.SIGWINCH; -- window size change
-+
-+ SIGUSR1 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR1; -- user defined signal 1
-+
-+ SIGUSR2 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR2; -- user defined signal 2
-+
-+end Ada.Interrupts.Names;
---- gcc/ada/adaint.c.orig
-+++ gcc/ada/adaint.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010 John Marino <www.dragonlace.net> *
- ****************************************************************************/
-
- /* This file contains those routines named by Import pragmas in
-@@ -400,7 +401,11 @@
- __gnat_current_time
- (void)
- {
-+#if defined(__NetBSD__) && (__NetBSD__ > 5)
-+ time_t res = __time50 (NULL);
-+#else
- time_t res = time (NULL);
-+#endif
- return (OS_Time) res;
- }
-
-@@ -1047,6 +1052,7 @@
- strcpy (path, "GNAT-XXXXXX");
-
- #if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) \
-+ || defined (__DragonFly__) \
- || defined (linux) || defined(__GLIBC__)) && !defined (__vxworks)
- return mkstemp (path);
- #elif defined (__Lynx__)
-@@ -1195,7 +1201,49 @@
- free (pname);
- }
-
-+#elif defined (__ANDROID__)
-+
-+ /*
-+ * ext2 /ext3/ext4/fat16/fat32 have no path limits
-+ * /data/local/tmp normally requires rooted devices, if it even exists
-+ * /sdcard is the standard location for external storage. Nativeactivity
-+ * manifest needs to authorize its use, otherwise it might not have the
-+ * proper permissions.
-+ */
-+
-+ int testfd;
-+ char *datadir = getenv ("ANDROID_DATA");
-+
-+ if (datadir == NULL)
-+ strcpy (tmp_filename, "/data/local/tmp/gnat-XXXXXX");
-+ else
-+ sprintf (tmp_filename, "%s/local/tmp/gnat-XXXXXX", datadir);
-+
-+ testfd = mkstemp (tmp_filename);
-+ if (testfd != -1)
-+ {
-+ close (testfd);
-+ return;
-+ }
-+
-+ char *sdcard = getenv ("EXTERNAL_STORAGE");
-+
-+ if (sdcard == NULL)
-+ strcpy (tmp_filename, "/sdcard/gnat-XXXXXX");
-+ else
-+ sprintf (tmp_filename, "%s/gnat-XXXXXX", sdcard);
-+
-+ testfd = mkstemp (tmp_filename);
-+ if (testfd != -1)
-+ {
-+ close (testfd);
-+ return;
-+ }
-+
-+ tmpnam (tmp_filename);
-+
- #elif defined (linux) || defined (__FreeBSD__) || defined (__NetBSD__) \
-+ || defined (__DragonFly__) \
- || defined (__OpenBSD__) || defined(__GLIBC__)
- #define MAX_SAFE_PATH 1000
- char *tmpdir = getenv ("TMPDIR");
-@@ -1617,9 +1665,12 @@
- /* Set access time to now in local time. */
- t = time ((time_t) 0);
- utimbuf.actime = mktime (localtime (&t));
--
-+#if defined(__NetBSD__) && (__NetBSD__ > 5)
-+ __utime50 (name, &utimbuf);
-+#else
- utime (name, &utimbuf);
- #endif
-+#endif
- }
-
- /* Get the list of installed standard libraries from the
-@@ -2384,6 +2435,8 @@
- int cores = 1;
-
- #if defined (linux) || defined (sun) || defined (AIX) \
-+ || defined (__FreeBSD__) || defined (__DragonFly__) \
-+ || defined (__OpenBSD__) || defined (__NetBSD__) \
- || (defined (__alpha__) && defined (_osf_)) || defined (__APPLE__)
- cores = (int) sysconf (_SC_NPROCESSORS_ONLN);
-
-@@ -3421,25 +3474,214 @@
- }
- #endif
-
--#if defined (IS_CROSS) \
-- || (! ((defined (sparc) || defined (i386)) && defined (sun) \
-- && defined (__SVR4)) \
-- && ! (defined (linux) && (defined (i386) || defined (__x86_64__))) \
-- && ! (defined (linux) && defined (__ia64__)) \
-- && ! (defined (linux) && defined (powerpc)) \
-- && ! defined (__FreeBSD__) \
-- && ! defined (__Lynx__) \
-- && ! defined (__hpux__) \
-- && ! defined (__APPLE__) \
-- && ! defined (_AIX) \
-- && ! (defined (__alpha__) && defined (__osf__)) \
-- && ! defined (VMS) \
-- && ! defined (__MINGW32__) \
-- && ! (defined (__mips) && defined (__sgi)))
--
--/* Dummy function to satisfy g-trasym.o. See the preprocessor conditional
-- just above for a list of native platforms that provide a non-dummy
-- version of this procedure in libaddr2line.a. */
-+/* run-time symbolic traceback support */
-+#if defined (__DragonFly__) \
-+ || defined (__FreeBSD__) \
-+ || defined (__OpenBSD__) \
-+ || defined (__NetBSD__) \
-+ || (defined (__sun__) && defined (__i386__) && defined (__SVR4))
-+
-+/* The above platforms use the external program /usr/bin/addr2line */
-+#define EXTERNAL_SYMTRACE
-+
-+#elif defined (VMS) \
-+ || defined (_AIX) \
-+ || defined (__Lynx__) \
-+ || defined (__hpux__) \
-+ || defined (__APPLE__) \
-+ || defined (__MINGW32__) \
-+ || (defined (__mips) && defined (__sgi)) \
-+ || (defined (__alpha__) && defined (__osf__)) \
-+ || (defined (linux) && defined (i386)) \
-+ || (defined (linux) && defined (powerpc)) \
-+ || (defined (linux) && defined (__ia64__)) \
-+ || (defined (linux) && defined (__x86_64__)) \
-+ || (defined (__SVR4) && defined (__sun__) && defined (sparc))
-+
-+/* The above platforms use the system library libaddr2line.a */
-+#define NATIVE_SYMTRACE
-+#endif
-+
-+#if defined (EXTERNAL_SYMTRACE) && !defined (IS_CROSS)
-+
-+/*
-+ Copyright (C) 1999 by Juergen Pfeifer <juergen.pfeifer@gmx.net>
-+ Ada for Linux Team (ALT)
-+ Heavily modified by John Marino <http://www.dragonlace.net>
-+
-+ Permission is hereby granted, free of charge, to any person obtaining a
-+ copy of this software and associated documentation files (the
-+ "Software"), to deal in the Software without restriction, including
-+ without limitation the rights to use, copy, modify, merge, publish,
-+ distribute, distribute with modifications, sublicense, and/or sell
-+ copies of the Software, and to permit persons to whom the Software is
-+ furnished to do so, subject to the following conditions:
-+
-+ The above copyright notice and this permission notice shall be included
-+ in all copies or substantial portions of the Software.
-+
-+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-+ IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
-+ THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+
-+ Except as contained in this notice, the name(s) of the above copyright
-+ holders shall not be used in advertising or otherwise to promote the
-+ sale, use or other dealings in this Software without prior written
-+ authorization.
-+*/
-+
-+#include <sys/types.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <signal.h>
-+
-+#define CLOSE_SENDPIPE close(sendpipe[0]); close(sendpipe[1])
-+#define CLOSE_READPIPE close(readpipe[0]); close(readpipe[1])
-+#define DUP2CLOSE(oldfd, newfd) dup2(oldfd, newfd); close(oldfd);
-+#define RESTSIG sigaction(SIGPIPE,&oact,NULL)
-+
-+#define MAX_LINE 1024
-+#define PARENT_READ readpipe[0]
-+#define CHILD_WRITE readpipe[1]
-+#define CHILD_READ sendpipe[0]
-+#define PARENT_WRITE sendpipe[1]
-+
-+#if defined (__sun__)
-+#define ADDR2LINE_PROG "/usr/gnu/bin/addr2line"
-+#else
-+#define ADDR2LINE_PROG "/usr/bin/addr2line"
-+#endif
-+
-+void
-+convert_addresses (const char *file_name,
-+ void *addrs,
-+ int n_addr,
-+ void *buf,
-+ int *len)
-+{
-+ int max_len = *len;
-+ pid_t childpid;
-+
-+ struct sigaction act, oact;
-+
-+ int sendpipe[2] = {-1,-1}, /* parent -> child */
-+ readpipe[2] = {-1,-1}; /* parent <- child */
-+
-+ *len = 0;
-+ act.sa_handler = SIG_IGN;
-+ sigemptyset(&act.sa_mask);
-+ act.sa_flags = 0;
-+ if (sigaction(SIGPIPE,&act,&oact) < 0)
-+ return;
-+
-+ if (pipe(sendpipe) < 0) { RESTSIG; return; }
-+ if (pipe(readpipe) < 0) { CLOSE_SENDPIPE; RESTSIG; return; }
-+ if ((childpid = fork()) < 0) {
-+ CLOSE_READPIPE;
-+ CLOSE_SENDPIPE;
-+ RESTSIG;
-+ return;
-+ }
-+
-+ if (childpid == 0) { /* child process */
-+ close(PARENT_WRITE);
-+ close(PARENT_READ);
-+ if ((CHILD_READ != STDIN_FILENO) && (CHILD_WRITE != STDOUT_FILENO)) {
-+ if ((CHILD_READ == STDOUT_FILENO) && (CHILD_WRITE == STDIN_FILENO)) {
-+ const int temp_fd = dup(CHILD_WRITE);
-+ close (CHILD_WRITE);
-+ DUP2CLOSE (CHILD_READ, STDIN_FILENO);
-+ DUP2CLOSE (temp_fd, STDOUT_FILENO);
-+ }
-+ else if ((CHILD_READ == STDIN_FILENO) && (CHILD_WRITE > 1)) {
-+ DUP2CLOSE (CHILD_WRITE, STDOUT_FILENO);
-+ }
-+ else if ((CHILD_READ > 1) && (CHILD_WRITE == STDOUT_FILENO)) {
-+ DUP2CLOSE (CHILD_READ, STDIN_FILENO);
-+ }
-+ else if ((CHILD_READ > 1) && (CHILD_WRITE == STDIN_FILENO)) {
-+ DUP2CLOSE (CHILD_WRITE, STDOUT_FILENO);
-+ DUP2CLOSE (CHILD_READ, STDIN_FILENO);
-+ }
-+ else {
-+ /* CHILD_READ >= 1 and CHILD_WRITE > 1 */
-+ DUP2CLOSE (CHILD_READ, STDIN_FILENO);
-+ DUP2CLOSE (CHILD_WRITE, STDOUT_FILENO);
-+ }
-+ }
-+ /* As pointed out by Florian Weimer to JP, it is a security threat to call
-+ the script with a user defined environment and using the path. That
-+ would be Trojans pleasure. Therefore the absolute path to addr2line
-+ and an empty environment is used. That should be safe.
-+ */
-+ char *const argv[] = { "addr2line",
-+ "-e", file_name,
-+ "--demangle=gnat",
-+ "--functions",
-+ "--basenames",
-+ NULL };
-+ char *const envp[] = { NULL };
-+ if (execve(ADDR2LINE_PROG, argv, envp) < 0) {
-+ close (CHILD_WRITE);
-+ close (CHILD_READ);
-+ RESTSIG;
-+ exit (1);
-+ }
-+ }
-+
-+ /* Below this line is parent process */
-+ int i, n;
-+ char hex[16];
-+ char line[MAX_LINE + 1];
-+ char *p;
-+ char *s = buf;
-+ long *trace_address = addrs;
-+
-+ close(CHILD_WRITE);
-+ close(CHILD_READ);
-+
-+ for(i=0; i < n_addr; i++) {
-+ snprintf(hex,sizeof(hex),"%#lx\n",*trace_address);
-+ write(PARENT_WRITE,hex,strlen(hex));
-+ n = read(PARENT_READ,line,MAX_LINE);
-+ if (n<=0)
-+ break;
-+
-+ line[n]=0;
-+ /* We have approx. 16 additional chars for "%#lx in " clause.
-+ We use this info to prevent a buffer overrun. */
-+ if (n + 16 + (*len) > max_len)
-+ break;
-+
-+ p = strchr(line,'\n');
-+ if (p) {
-+ if (*(p+1)) {
-+ *p = 0;
-+ *len += snprintf(s, (max_len - (*len)), "%#lx in %s at %s",
-+ *trace_address, line, p+1);
-+ }
-+ else {
-+ *len += snprintf(s, (max_len - (*len)), "%#lx at %s",
-+ *trace_address, line);
-+ }
-+ s = buf + (*len);
-+ }
-+ trace_address += 1;
-+ }
-+ close (PARENT_WRITE);
-+ close (PARENT_READ);
-+ RESTSIG;
-+}
-+
-+#elif defined (IS_CROSS) || !defined (NATIVE_SYMTRACE)
-+
-+/* run-time symbolic traceback support
-+ Dummy function to satisfy g-trasym.o. */
-
- void
- convert_addresses (const char *file_name ATTRIBUTE_UNUSED,
-@@ -3686,3 +3928,110 @@
- return (void *) syscall (__NR_gettid);
- }
- #endif
-+
-+
-+
-+
-+#ifdef MARINO_DISABLED_THIS
-+/* JRM 31 OCT 2010: For some reason, gnatmake wouldn't function correct when
-+ strcpy or sprintf & friends were replaced. I had to back out the patches.
-+ I'll leave the BSD routines here in case we ever want to try again. */
-+
-+
-+/*
-+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+/*
-+ * original function name: strlcpy
-+ * Copy src to string dst of size siz. At most siz-1 characters
-+ * will be copied. Always NUL terminates (unless siz == 0).
-+ * Returns strlen(src); if retval >= siz, truncation occurred.
-+ *
-+ * OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp
-+ * FreeBSD: src/lib/libc/string/strlcpy.c,v 1.10 2008/10/19 delphij Exp
-+ * DragonFly: src/lib/libc/string/strlcpy.c,v 1.4 2005/09/18 asmodai Exp
-+ */
-+
-+size_t
-+bsd_strlcpy(char *dst, const char *src, size_t siz)
-+{
-+ char *d = dst;
-+ const char *s = src;
-+ size_t n = siz;
-+
-+ /* Copy as many bytes as will fit */
-+ if (n != 0) {
-+ while (--n != 0) {
-+ if ((*d++ = *s++) == '\0')
-+ break;
-+ }
-+ }
-+
-+ /* Not enough room in dst, add NUL and traverse rest of src */
-+ if (n == 0) {
-+ if (siz != 0)
-+ *d = '\0'; /* NUL-terminate dst */
-+ while (*s++)
-+ ;
-+ }
-+
-+ return(s - src - 1); /* count does not include NUL */
-+}
-+
-+
-+
-+/*
-+ * Original function name: strlcat
-+ * Appends src to string dst of size siz (unlike strncat, siz is the
-+ * full size of dst, not space left). At most siz-1 characters
-+ * will be copied. Always NUL terminates (unless siz <= strlen(dst)).
-+ * Returns strlen(src) + MIN(siz, strlen(initial dst)).
-+ * If retval >= siz, truncation occurred.
-+ *
-+ * OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp
-+ * FreeBSD: src/lib/libc/string/strlcat.c,v 1.11 2009/01/12 delphij Exp
-+ * DragonFly: src/lib/libc/string/strlcat.c,v 1.4 2004/12/18 asmodai Exp
-+ */
-+
-+size_t
-+bsd_strlcat(char *dst, const char *src, size_t siz)
-+{
-+ char *d = dst;
-+ const char *s = src;
-+ size_t n = siz;
-+ size_t dlen;
-+
-+ /* Find the end of dst and adjust bytes left but don't go past end */
-+ while (n-- != 0 && *d != '\0')
-+ d++;
-+ dlen = d - dst;
-+ n = siz - dlen;
-+
-+ if (n == 0)
-+ return(dlen + strlen(s));
-+ while (*s != '\0') {
-+ if (n != 1) {
-+ *d++ = *s;
-+ n--;
-+ }
-+ s++;
-+ }
-+ *d = '\0';
-+
-+ return(dlen + (s - src)); /* count does not include NUL */
-+}
-+#endif
-+
---- gcc/ada/cio.c.orig
-+++ gcc/ada/cio.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2011 John Marino <www.dragonlace.net> *
- ****************************************************************************/
-
- #ifdef IN_RTS
-@@ -42,7 +43,8 @@
-
- /* Don't use macros on GNU/Linux since they cause incompatible changes between
- glibc 2.0 and 2.1 */
--#ifdef linux
-+/* Android is The exception because it uses the BIONIC library */
-+#if defined(linux) && !defined(__ANDROID__)
- #undef putchar
- #undef getchar
- #undef fputc
---- gcc/ada/cstreams.c.orig
-+++ gcc/ada/cstreams.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010 John Marino <draco@marino.st> *
- ****************************************************************************/
-
- /* Routines required for implementing routines in Interfaces.C.Streams */
-@@ -50,9 +51,10 @@
- #include <unixlib.h>
- #endif
-
--#ifdef linux
-+#if defined(linux) && !defined(__ANDROID__)
- /* Don't use macros on GNU/Linux since they cause incompatible changes between
- glibc 2.0 and 2.1 */
-+/* Android is The exception because it uses the BIONIC library */
-
- #ifdef stderr
- # undef stderr
-@@ -173,7 +175,9 @@
- *p = '\\';
- }
-
--#elif defined (sgi) || defined (__FreeBSD__)
-+#elif defined (sgi) || defined (__FreeBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__OpenBSD__)
-
- /* Use realpath function which resolves links and references to . and ..
- on those Unix systems that support it. Note that GNU/Linux provides it but
---- gcc/ada/env.c.orig
-+++ gcc/ada/env.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010 John Marino <draco@marino.st> *
- ****************************************************************************/
-
- /* Tru64 UNIX V4.0F <stdlib.h> declares unsetenv() only if AES_SOURCE (which
-@@ -172,7 +173,8 @@
- LIB$SIGNAL (status);
- }
-
--#elif (defined (__vxworks) && defined (__RTP__)) || defined (__APPLE__)
-+#elif (defined (__vxworks) && defined (__RTP__)) || defined (__APPLE__) \
-+ || defined (__OpenBSD__)
- setenv (name, value, 1);
-
- #else
-@@ -299,6 +301,7 @@
- }
- #elif defined (__MINGW32__) || defined (__FreeBSD__) || defined (__APPLE__) \
- || (defined (__vxworks) && defined (__RTP__)) || defined (__CYGWIN__) \
-+ || defined (__DragonFly__) \
- || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__rtems__)
- /* On Windows, FreeBSD and MacOS there is no function to clean all the
- environment but there is a "clean" way to unset a variable. So go
---- gcc/ada/errno.c.orig
-+++ gcc/ada/errno.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2011 John Marino <www.dragonlace.net> *
- ****************************************************************************/
-
- /* This file provides access to the C-language errno to the Ada interface
-@@ -39,6 +40,7 @@
- #define _REENTRANT
- #define _THREAD_SAFE
- #define _SGI_MP_SOURCE
-+#define GNAT_SET_ERRNO
-
- #ifdef MaRTE
-
-@@ -52,6 +54,17 @@
-
- #endif
-
-+#ifdef __ANDROID__
-+
-+/* The ANDROID errno.h file also defines __set_errno as an external variable
-+ for use with syscalls. It should not be referenced directly, but we are
-+ going to do it anyway because the alternative solution is to rename all
-+ uses of __set_errno in GNAT. */
-+
-+#undef GNAT_SET_ERRNO
-+#endif
-+
-+
- #include <errno.h>
- int
- __get_errno(void)
-@@ -59,8 +72,10 @@
- return errno;
- }
-
-+#ifdef GNAT_SET_ERRNO
- void
- __set_errno(int err)
- {
- errno = err;
- }
-+#endif
---- gcc/ada/g-comlin.adb.orig
-+++ gcc/ada/g-comlin.adb
-@@ -27,6 +27,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- with Ada.Characters.Handling; use Ada.Characters.Handling;
-@@ -512,6 +513,7 @@
- begin
- Index_In_Switches := 0;
- Switch_Length := 0;
-+ Param := Parameter_None;
-
- -- Remove all leading spaces first to make sure that Index points
- -- at the start of the first switch.
---- gcc/ada/g-expect.adb.orig
-+++ gcc/ada/g-expect.adb
-@@ -29,6 +29,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- with System; use System;
-@@ -1333,15 +1334,21 @@
-
- -- The following commands are not executed on Unix systems, and are only
- -- required for Windows systems. We are now in the parent process.
-+ -- Although the if-statement is redundant, it's here so the compiler
-+ -- doesn't complain about uninitialized variables.
-
-- -- Restore the old descriptors
-+ if No_Fork_On_Target then
-+
-+ -- Restore the old descriptors
-+
-+ Dup2 (Input, GNAT.OS_Lib.Standin);
-+ Dup2 (Output, GNAT.OS_Lib.Standout);
-+ Dup2 (Error, GNAT.OS_Lib.Standerr);
-+ Close (Input);
-+ Close (Output);
-+ Close (Error);
-+ end if;
-
-- Dup2 (Input, GNAT.OS_Lib.Standin);
-- Dup2 (Output, GNAT.OS_Lib.Standout);
-- Dup2 (Error, GNAT.OS_Lib.Standerr);
-- Close (Input);
-- Close (Output);
-- Close (Error);
- end Set_Up_Child_Communications;
-
- ---------------------------
---- /dev/null
-+++ gcc/ada/g-socthi-bsd.adb
-@@ -0,0 +1,379 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT COMPILER COMPONENTS --
-+-- --
-+-- G N A T . S O C K E T S . T H I N --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 2001-2009, AdaCore --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This package provides a target dependent thin interface to the sockets
-+-- layer for use by the GNAT.Sockets package (g-socket.ads). This package
-+-- should not be directly with'ed by an applications program.
-+
-+-- This is the *BSD version which uses fcntl rather than ioctl
-+-- The constant SCON.Thread_Blocking_IO is always true (for all platforms, not
-+-- just *BSD), so this binding is significantly simpler than the standard
-+-- one it replaces.
-+
-+with GNAT.OS_Lib; use GNAT.OS_Lib;
-+
-+with Interfaces.C; use Interfaces.C;
-+
-+package body GNAT.Sockets.Thin is
-+
-+ Unknown_System_Error : constant C.Strings.chars_ptr :=
-+ C.Strings.New_String ("Unknown system error");
-+
-+ function Syscall_Accept
-+ (S : C.int;
-+ Addr : System.Address;
-+ Addrlen : not null access C.int) return C.int;
-+ pragma Import (C, Syscall_Accept, "accept");
-+ -- The accept() function accepts a connection on a socket. An incoming
-+ -- connection is acknowledged and associated with an immediately created
-+ -- socket. The original socket is returned to the listening state.
-+
-+ function Syscall_Connect
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : C.int) return C.int;
-+ pragma Import (C, Syscall_Connect, "connect");
-+ -- The connect() system call initiates a connection on a socket. If the
-+ -- parameter S is of type SOCK_DGRAM then connect() permanently specifies
-+ -- the peer to which datagrams are to be sent. If S is type SOCK_STREAM
-+ -- then connect() attempts to make a connection with another socket, which
-+ -- is identified by the parameter Name.
-+
-+ function Syscall_Recv
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int) return C.int;
-+ pragma Import (C, Syscall_Recv, "recv");
-+ -- The recv() function receives a message from a socket. The call can be
-+ -- used on a connection mode socket or a bound, connectionless socket. If
-+ -- no messages are available at the socket, the recv() call waits for a
-+ -- message to arrive unless the socket is non-blocking. If a socket is
-+ -- non-blocking, the call returns a -1 and ERRNO is set to EWOULDBLOCK.
-+
-+ function Syscall_Recvfrom
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ From : System.Address;
-+ Fromlen : not null access C.int) return C.int;
-+ pragma Import (C, Syscall_Recvfrom, "recvfrom");
-+ -- The recvfrom() system call receives a message from a socket and captures
-+ -- the address from which the data was sent. It can be used to receive
-+ -- data on an unconnected socket as well. If no messages are available,
-+ -- the call waits for a message to arrive on blocking sockets. For
-+ -- non-blocking sockets without messages, -1 is returned and ERRNO is set
-+ -- to EAGAIN or EWOULDBLOCK.
-+
-+ function Syscall_Recvmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t;
-+ pragma Import (C, Syscall_Recvmsg, "recvmsg");
-+ -- The recvmsg call receives a message from a socket, and can be used to
-+ -- receive data on an unconnected socket as well. If no messages are
-+ -- available, the call waits for a message to arrive on blocking sockets.
-+ -- For non-blocking sockets without messages, -1 is returned and ERRNO is
-+ -- set to EAGAIN or EWOULDBLOCK.
-+
-+ function Syscall_Sendmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t;
-+ pragma Import (C, Syscall_Sendmsg, "sendmsg");
-+ -- The sendmsg() function sends a message to a socket, and can be used with
-+ -- unconnected sockets as well (the msg is ignored in this case). The
-+ -- function returns the number of bytes sent when successful, otherwise it
-+ -- returns -1 and ERRNO is set (many possible values).
-+
-+ function Syscall_Sendto
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ To : System.Address;
-+ Tolen : C.int) return C.int;
-+ pragma Import (C, Syscall_Sendto, "sendto");
-+ -- The sendto() function only works for connected sockets and it initiates
-+ -- the transmission of a message. A successful call returns the numbers of
-+ -- bytes sent, and a failure returns a -1 and ERRNO is set.
-+
-+ function Syscall_Socket
-+ (Domain : C.int;
-+ Typ : C.int;
-+ Protocol : C.int) return C.int;
-+ pragma Import (C, Syscall_Socket, "socket");
-+ -- The socket() function is used to create an unbound socket and returns a
-+ -- file descriptor that can be used with other socket functions. Upon
-+ -- failure, a -1 is returned and ERRNO is set.
-+
-+ procedure Disable_SIGPIPE (S : C.int);
-+ pragma Import (C, Disable_SIGPIPE, "__gnat_disable_sigpipe");
-+
-+ procedure Disable_All_SIGPIPEs;
-+ pragma Import (C, Disable_All_SIGPIPEs, "__gnat_disable_all_sigpipes");
-+ -- Sets the process to ignore all SIGPIPE signals on platforms that
-+ -- don't support Disable_SIGPIPE for particular streams.
-+
-+ function C_Fcntl
-+ (Fd : C.int;
-+ Cmd : C.int;
-+ Val : C.int) return C.int;
-+ pragma Import (C, C_Fcntl, "fcntl");
-+ -- The ioctl of 64-bit DragonFlyBSD, OpenBSD, and NetBSD does not support
-+ -- setting a socket in non-blocking mode. fcntl must be used instead.
-+
-+ --------------
-+ -- C_Accept --
-+ --------------
-+
-+ function C_Accept
-+ (S : C.int;
-+ Addr : System.Address;
-+ Addrlen : not null access C.int) return C.int
-+ is
-+ Res : constant C.int := Syscall_Accept (S, Addr, Addrlen);
-+ begin
-+
-+ Disable_SIGPIPE (Res);
-+ return Res;
-+
-+ end C_Accept;
-+
-+ ---------------
-+ -- C_Connect --
-+ ---------------
-+
-+ function C_Connect
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Connect (S, Name, Namelen);
-+
-+ end C_Connect;
-+
-+ ------------------
-+ -- Socket_Ioctl --
-+ ------------------
-+
-+ function Socket_Ioctl
-+ (S : C.int;
-+ Req : C.int;
-+ Arg : access C.int) return C.int
-+ is
-+ -- Currently all requests are of the FIONBIO type, so always calc flags
-+ use Interfaces;
-+ flags : constant Unsigned_32 :=
-+ Unsigned_32 (C_Fcntl (S, SOSC.F_GETFL, 0));
-+ nonblock : constant Unsigned_32 := Unsigned_32 (SOSC.FNDELAY);
-+ enabled : constant Boolean := Arg.all = 1;
-+ newval : C.int;
-+ begin
-+ if Req = SOSC.FIONBIO then
-+ if enabled then
-+ newval := C.int (flags or nonblock);
-+ elsif (flags and nonblock) > 0 then
-+ newval := C.int (flags - nonblock);
-+ else
-+ newval := C.int (flags);
-+ end if;
-+ return C_Fcntl (Fd => S, Cmd => SOSC.F_SETFL, Val => newval);
-+ else
-+ return C_Ioctl (Fd => S, Req => Req, Arg => Arg);
-+ end if;
-+ end Socket_Ioctl;
-+
-+ ------------
-+ -- C_Recv --
-+ ------------
-+
-+ function C_Recv
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Recv (S, Msg, Len, Flags);
-+
-+ end C_Recv;
-+
-+ ----------------
-+ -- C_Recvfrom --
-+ ----------------
-+
-+ function C_Recvfrom
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ From : System.Address;
-+ Fromlen : not null access C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Recvfrom (S, Msg, Len, Flags, From, Fromlen);
-+
-+ end C_Recvfrom;
-+
-+ ---------------
-+ -- C_Recvmsg --
-+ ---------------
-+
-+ function C_Recvmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t
-+ is
-+ begin
-+
-+ return Syscall_Recvmsg (S, Msg, Flags);
-+
-+ end C_Recvmsg;
-+
-+ ---------------
-+ -- C_Sendmsg --
-+ ---------------
-+
-+ function C_Sendmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t
-+ is
-+ begin
-+
-+ return Syscall_Sendmsg (S, Msg, Flags);
-+
-+ end C_Sendmsg;
-+
-+ --------------
-+ -- C_Sendto --
-+ --------------
-+
-+ function C_Sendto
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ To : System.Address;
-+ Tolen : C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Sendto (S, Msg, Len, Flags, To, Tolen);
-+
-+ end C_Sendto;
-+
-+ --------------
-+ -- C_Socket --
-+ --------------
-+
-+ function C_Socket
-+ (Domain : C.int;
-+ Typ : C.int;
-+ Protocol : C.int) return C.int
-+ is
-+ Res : constant C.int := Syscall_Socket (Domain, Typ, Protocol);
-+ begin
-+
-+ Disable_SIGPIPE (Res);
-+ return Res;
-+
-+ end C_Socket;
-+
-+ --------------
-+ -- Finalize --
-+ --------------
-+
-+ procedure Finalize is
-+ begin
-+ null;
-+ end Finalize;
-+
-+ -------------------------
-+ -- Host_Error_Messages --
-+ -------------------------
-+
-+ package body Host_Error_Messages is separate;
-+
-+ ----------------
-+ -- Initialize --
-+ ----------------
-+
-+ procedure Initialize is
-+ begin
-+ Disable_All_SIGPIPEs;
-+ end Initialize;
-+
-+ --------------------
-+ -- Signalling_Fds --
-+ --------------------
-+
-+ package body Signalling_Fds is
-+
-+ -- In this default implementation, we use a C version of these
-+ -- subprograms provided by socket.c.
-+
-+ function C_Create (Fds : not null access Fd_Pair) return C.int;
-+ function C_Read (Rsig : C.int) return C.int;
-+ function C_Write (Wsig : C.int) return C.int;
-+ procedure C_Close (Sig : C.int);
-+
-+ pragma Import (C, C_Create, "__gnat_create_signalling_fds");
-+ pragma Import (C, C_Read, "__gnat_read_signalling_fd");
-+ pragma Import (C, C_Write, "__gnat_write_signalling_fd");
-+ pragma Import (C, C_Close, "__gnat_close_signalling_fd");
-+
-+ function Create
-+ (Fds : not null access Fd_Pair) return C.int renames C_Create;
-+ function Read (Rsig : C.int) return C.int renames C_Read;
-+ function Write (Wsig : C.int) return C.int renames C_Write;
-+ procedure Close (Sig : C.int) renames C_Close;
-+
-+ end Signalling_Fds;
-+
-+ --------------------------
-+ -- Socket_Error_Message --
-+ --------------------------
-+
-+ function Socket_Error_Message
-+ (Errno : Integer) return C.Strings.chars_ptr
-+ is separate;
-+
-+end GNAT.Sockets.Thin;
---- /dev/null
-+++ gcc/ada/g-socthi-netbsd.adb
-@@ -0,0 +1,381 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT COMPILER COMPONENTS --
-+-- --
-+-- G N A T . S O C K E T S . T H I N --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 2001-2009, AdaCore --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010, 2011 John Marino <www.dragonlace.net> --
-+------------------------------------------------------------------------------
-+
-+-- This package provides a target dependent thin interface to the sockets
-+-- layer for use by the GNAT.Sockets package (g-socket.ads). This package
-+-- should not be directly with'ed by an applications program.
-+
-+-- This is the NetBSD version which uses fcntl rather than ioctl
-+-- The constant SCON.Thread_Blocking_IO is always true (for all platforms, not
-+-- just *BSD), so this binding is significantly simpler than the standard
-+-- one it replaces.
-+-- NetBSD uses binary compatibility functions that are forcing the use of
-+-- their own files rather than sharing the *BSD versions.
-+
-+with GNAT.OS_Lib; use GNAT.OS_Lib;
-+
-+with Interfaces.C; use Interfaces.C;
-+
-+package body GNAT.Sockets.Thin is
-+
-+ Unknown_System_Error : constant C.Strings.chars_ptr :=
-+ C.Strings.New_String ("Unknown system error");
-+
-+ function Syscall_Accept
-+ (S : C.int;
-+ Addr : System.Address;
-+ Addrlen : not null access C.int) return C.int;
-+ pragma Import (C, Syscall_Accept, "accept");
-+ -- The accept() function accepts a connection on a socket. An incoming
-+ -- connection is acknowledged and associated with an immediately created
-+ -- socket. The original socket is returned to the listening state.
-+
-+ function Syscall_Connect
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : C.int) return C.int;
-+ pragma Import (C, Syscall_Connect, "connect");
-+ -- The connect() system call initiates a connection on a socket. If the
-+ -- parameter S is of type SOCK_DGRAM then connect() permanently specifies
-+ -- the peer to which datagrams are to be sent. If S is type SOCK_STREAM
-+ -- then connect() attempts to make a connection with another socket, which
-+ -- is identified by the parameter Name.
-+
-+ function Syscall_Recv
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int) return C.int;
-+ pragma Import (C, Syscall_Recv, "recv");
-+ -- The recv() function receives a message from a socket. The call can be
-+ -- used on a connection mode socket or a bound, connectionless socket. If
-+ -- no messages are available at the socket, the recv() call waits for a
-+ -- message to arrive unless the socket is non-blocking. If a socket is
-+ -- non-blocking, the call returns a -1 and ERRNO is set to EWOULDBLOCK.
-+
-+ function Syscall_Recvfrom
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ From : System.Address;
-+ Fromlen : not null access C.int) return C.int;
-+ pragma Import (C, Syscall_Recvfrom, "recvfrom");
-+ -- The recvfrom() system call receives a message from a socket and captures
-+ -- the address from which the data was sent. It can be used to receive
-+ -- data on an unconnected socket as well. If no messages are available,
-+ -- the call waits for a message to arrive on blocking sockets. For
-+ -- non-blocking sockets without messages, -1 is returned and ERRNO is set
-+ -- to EAGAIN or EWOULDBLOCK.
-+
-+ function Syscall_Recvmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t;
-+ pragma Import (C, Syscall_Recvmsg, "recvmsg");
-+ -- The recvmsg call receives a message from a socket, and can be used to
-+ -- receive data on an unconnected socket as well. If no messages are
-+ -- available, the call waits for a message to arrive on blocking sockets.
-+ -- For non-blocking sockets without messages, -1 is returned and ERRNO is
-+ -- set to EAGAIN or EWOULDBLOCK.
-+
-+ function Syscall_Sendmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t;
-+ pragma Import (C, Syscall_Sendmsg, "sendmsg");
-+ -- The sendmsg() function sends a message to a socket, and can be used with
-+ -- unconnected sockets as well (the msg is ignored in this case). The
-+ -- function returns the number of bytes sent when successful, otherwise it
-+ -- returns -1 and ERRNO is set (many possible values).
-+
-+ function Syscall_Sendto
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ To : System.Address;
-+ Tolen : C.int) return C.int;
-+ pragma Import (C, Syscall_Sendto, "sendto");
-+ -- The sendto() function only works for connected sockets and it initiates
-+ -- the transmission of a message. A successful call returns the numbers of
-+ -- bytes sent, and a failure returns a -1 and ERRNO is set.
-+
-+ function Syscall_Socket
-+ (Domain : C.int;
-+ Typ : C.int;
-+ Protocol : C.int) return C.int;
-+ pragma Import (C, Syscall_Socket, "__socket30");
-+ -- The socket() function is used to create an unbound socket and returns a
-+ -- file descriptor that can be used with other socket functions. Upon
-+ -- failure, a -1 is returned and ERRNO is set.
-+
-+ procedure Disable_SIGPIPE (S : C.int);
-+ pragma Import (C, Disable_SIGPIPE, "__gnat_disable_sigpipe");
-+
-+ procedure Disable_All_SIGPIPEs;
-+ pragma Import (C, Disable_All_SIGPIPEs, "__gnat_disable_all_sigpipes");
-+ -- Sets the process to ignore all SIGPIPE signals on platforms that
-+ -- don't support Disable_SIGPIPE for particular streams.
-+
-+ function C_Fcntl
-+ (Fd : C.int;
-+ Cmd : C.int;
-+ Val : C.int) return C.int;
-+ pragma Import (C, C_Fcntl, "fcntl");
-+ -- The ioctl of 64-bit DragonFlyBSD, OpenBSD, and NetBSD does not support
-+ -- setting a socket in non-blocking mode. fcntl must be used instead.
-+
-+ --------------
-+ -- C_Accept --
-+ --------------
-+
-+ function C_Accept
-+ (S : C.int;
-+ Addr : System.Address;
-+ Addrlen : not null access C.int) return C.int
-+ is
-+ Res : constant C.int := Syscall_Accept (S, Addr, Addrlen);
-+ begin
-+
-+ Disable_SIGPIPE (Res);
-+ return Res;
-+
-+ end C_Accept;
-+
-+ ---------------
-+ -- C_Connect --
-+ ---------------
-+
-+ function C_Connect
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Connect (S, Name, Namelen);
-+
-+ end C_Connect;
-+
-+ ------------------
-+ -- Socket_Ioctl --
-+ ------------------
-+
-+ function Socket_Ioctl
-+ (S : C.int;
-+ Req : C.int;
-+ Arg : access C.int) return C.int
-+ is
-+ -- Currently all requests are of the FIONBIO type, so always calc flags
-+ use Interfaces;
-+ flags : constant Unsigned_32 :=
-+ Unsigned_32 (C_Fcntl (S, SOSC.F_GETFL, 0));
-+ nonblock : constant Unsigned_32 := Unsigned_32 (SOSC.FNDELAY);
-+ enabled : constant Boolean := Arg.all = 1;
-+ newval : C.int;
-+ begin
-+ if Req = SOSC.FIONBIO then
-+ if enabled then
-+ newval := C.int (flags or nonblock);
-+ elsif (flags and nonblock) > 0 then
-+ newval := C.int (flags - nonblock);
-+ else
-+ newval := C.int (flags);
-+ end if;
-+ return C_Fcntl (Fd => S, Cmd => SOSC.F_SETFL, Val => newval);
-+ else
-+ return C_Ioctl (Fd => S, Req => Req, Arg => Arg);
-+ end if;
-+ end Socket_Ioctl;
-+
-+ ------------
-+ -- C_Recv --
-+ ------------
-+
-+ function C_Recv
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Recv (S, Msg, Len, Flags);
-+
-+ end C_Recv;
-+
-+ ----------------
-+ -- C_Recvfrom --
-+ ----------------
-+
-+ function C_Recvfrom
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ From : System.Address;
-+ Fromlen : not null access C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Recvfrom (S, Msg, Len, Flags, From, Fromlen);
-+
-+ end C_Recvfrom;
-+
-+ ---------------
-+ -- C_Recvmsg --
-+ ---------------
-+
-+ function C_Recvmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t
-+ is
-+ begin
-+
-+ return Syscall_Recvmsg (S, Msg, Flags);
-+
-+ end C_Recvmsg;
-+
-+ ---------------
-+ -- C_Sendmsg --
-+ ---------------
-+
-+ function C_Sendmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t
-+ is
-+ begin
-+
-+ return Syscall_Sendmsg (S, Msg, Flags);
-+
-+ end C_Sendmsg;
-+
-+ --------------
-+ -- C_Sendto --
-+ --------------
-+
-+ function C_Sendto
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ To : System.Address;
-+ Tolen : C.int) return C.int
-+ is
-+ begin
-+
-+ return Syscall_Sendto (S, Msg, Len, Flags, To, Tolen);
-+
-+ end C_Sendto;
-+
-+ --------------
-+ -- C_Socket --
-+ --------------
-+
-+ function C_Socket
-+ (Domain : C.int;
-+ Typ : C.int;
-+ Protocol : C.int) return C.int
-+ is
-+ Res : constant C.int := Syscall_Socket (Domain, Typ, Protocol);
-+ begin
-+
-+ Disable_SIGPIPE (Res);
-+ return Res;
-+
-+ end C_Socket;
-+
-+ --------------
-+ -- Finalize --
-+ --------------
-+
-+ procedure Finalize is
-+ begin
-+ null;
-+ end Finalize;
-+
-+ -------------------------
-+ -- Host_Error_Messages --
-+ -------------------------
-+
-+ package body Host_Error_Messages is separate;
-+
-+ ----------------
-+ -- Initialize --
-+ ----------------
-+
-+ procedure Initialize is
-+ begin
-+ Disable_All_SIGPIPEs;
-+ end Initialize;
-+
-+ --------------------
-+ -- Signalling_Fds --
-+ --------------------
-+
-+ package body Signalling_Fds is
-+
-+ -- In this default implementation, we use a C version of these
-+ -- subprograms provided by socket.c.
-+
-+ function C_Create (Fds : not null access Fd_Pair) return C.int;
-+ function C_Read (Rsig : C.int) return C.int;
-+ function C_Write (Wsig : C.int) return C.int;
-+ procedure C_Close (Sig : C.int);
-+
-+ pragma Import (C, C_Create, "__gnat_create_signalling_fds");
-+ pragma Import (C, C_Read, "__gnat_read_signalling_fd");
-+ pragma Import (C, C_Write, "__gnat_write_signalling_fd");
-+ pragma Import (C, C_Close, "__gnat_close_signalling_fd");
-+
-+ function Create
-+ (Fds : not null access Fd_Pair) return C.int renames C_Create;
-+ function Read (Rsig : C.int) return C.int renames C_Read;
-+ function Write (Wsig : C.int) return C.int renames C_Write;
-+ procedure Close (Sig : C.int) renames C_Close;
-+
-+ end Signalling_Fds;
-+
-+ --------------------------
-+ -- Socket_Error_Message --
-+ --------------------------
-+
-+ function Socket_Error_Message
-+ (Errno : Integer) return C.Strings.chars_ptr
-+ is separate;
-+
-+end GNAT.Sockets.Thin;
---- /dev/null
-+++ gcc/ada/g-socthi-netbsd6.ads
-@@ -0,0 +1,263 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT COMPILER COMPONENTS --
-+-- --
-+-- G N A T . S O C K E T S . T H I N --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 2001-2009, AdaCore --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2011 John Marino <www.dragonlace.net> --
-+------------------------------------------------------------------------------
-+
-+-- This package provides a target dependent thin interface to the sockets
-+-- layer for use by the GNAT.Sockets package (g-socket.ads). This package
-+-- should not be directly with'ed by an applications program.
-+
-+-- This is the NetBSD 6+ version
-+
-+with Interfaces.C.Strings;
-+
-+with GNAT.OS_Lib;
-+with GNAT.Sockets.Thin_Common;
-+
-+with System;
-+with System.CRTL;
-+
-+package GNAT.Sockets.Thin is
-+
-+ -- This package is intended for hosts implementing BSD sockets with a
-+ -- standard interface. It will be used as a default for all the platforms
-+ -- that do not have a specific version of this file.
-+
-+ use Thin_Common;
-+
-+ package C renames Interfaces.C;
-+
-+ use type System.CRTL.ssize_t;
-+
-+ function Socket_Errno return Integer renames GNAT.OS_Lib.Errno;
-+ -- Returns last socket error number
-+
-+ function Socket_Error_Message (Errno : Integer) return C.Strings.chars_ptr;
-+ -- Returns the error message string for the error number Errno. If Errno is
-+ -- not known, returns "Unknown system error".
-+
-+ function Host_Errno return Integer;
-+ pragma Import (C, Host_Errno, "__gnat_get_h_errno");
-+ -- Returns last host error number
-+
-+ package Host_Error_Messages is
-+
-+ function Host_Error_Message
-+ (H_Errno : Integer) return C.Strings.chars_ptr;
-+ -- Returns the error message string for the host error number H_Errno.
-+ -- If H_Errno is not known, returns "Unknown system error".
-+
-+ end Host_Error_Messages;
-+
-+ --------------------------------
-+ -- Standard library functions --
-+ --------------------------------
-+
-+ function C_Accept
-+ (S : C.int;
-+ Addr : System.Address;
-+ Addrlen : not null access C.int) return C.int;
-+
-+ function C_Bind
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : C.int) return C.int;
-+
-+ function C_Close
-+ (Fd : C.int) return C.int;
-+
-+ function C_Connect
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : C.int) return C.int;
-+
-+ function C_Gethostname
-+ (Name : System.Address;
-+ Namelen : C.int) return C.int;
-+
-+ function C_Getpeername
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : not null access C.int) return C.int;
-+
-+ function C_Getsockname
-+ (S : C.int;
-+ Name : System.Address;
-+ Namelen : not null access C.int) return C.int;
-+
-+ function C_Getsockopt
-+ (S : C.int;
-+ Level : C.int;
-+ Optname : C.int;
-+ Optval : System.Address;
-+ Optlen : not null access C.int) return C.int;
-+
-+ function Socket_Ioctl
-+ (S : C.int;
-+ Req : C.int;
-+ Arg : access C.int) return C.int;
-+
-+ function C_Listen
-+ (S : C.int;
-+ Backlog : C.int) return C.int;
-+
-+ function C_Recv
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int) return C.int;
-+
-+ function C_Recvfrom
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ From : System.Address;
-+ Fromlen : not null access C.int) return C.int;
-+
-+ function C_Recvmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t;
-+
-+ function C_Select
-+ (Nfds : C.int;
-+ Readfds : access Fd_Set;
-+ Writefds : access Fd_Set;
-+ Exceptfds : access Fd_Set;
-+ Timeout : Timeval_Access) return C.int;
-+
-+ function C_Sendmsg
-+ (S : C.int;
-+ Msg : System.Address;
-+ Flags : C.int) return System.CRTL.ssize_t;
-+
-+ function C_Sendto
-+ (S : C.int;
-+ Msg : System.Address;
-+ Len : C.int;
-+ Flags : C.int;
-+ To : System.Address;
-+ Tolen : C.int) return C.int;
-+
-+ function C_Setsockopt
-+ (S : C.int;
-+ Level : C.int;
-+ Optname : C.int;
-+ Optval : System.Address;
-+ Optlen : C.int) return C.int;
-+
-+ function C_Shutdown
-+ (S : C.int;
-+ How : C.int) return C.int;
-+
-+ function C_Socket
-+ (Domain : C.int;
-+ Typ : C.int;
-+ Protocol : C.int) return C.int;
-+
-+ function C_System
-+ (Command : System.Address) return C.int;
-+
-+ -------------------------------------------------------
-+ -- Signalling file descriptors for selector abortion --
-+ -------------------------------------------------------
-+
-+ package Signalling_Fds is
-+
-+ function Create (Fds : not null access Fd_Pair) return C.int;
-+ pragma Convention (C, Create);
-+ -- Create a pair of connected descriptors suitable for use with C_Select
-+ -- (used for signalling in Selector objects).
-+
-+ function Read (Rsig : C.int) return C.int;
-+ pragma Convention (C, Read);
-+ -- Read one byte of data from rsig, the read end of a pair of signalling
-+ -- fds created by Create_Signalling_Fds.
-+
-+ function Write (Wsig : C.int) return C.int;
-+ pragma Convention (C, Write);
-+ -- Write one byte of data to wsig, the write end of a pair of signalling
-+ -- fds created by Create_Signalling_Fds.
-+
-+ procedure Close (Sig : C.int);
-+ pragma Convention (C, Close);
-+ -- Close one end of a pair of signalling fds (ignoring any error)
-+
-+ end Signalling_Fds;
-+
-+ -------------------------------------------
-+ -- Nonreentrant network databases access --
-+ -------------------------------------------
-+
-+ -- The following are used only on systems that have nonreentrant
-+ -- getXXXbyYYY functions, and do NOT have corresponding getXXXbyYYY_
-+ -- functions. Currently, LynxOS is the only such system.
-+
-+ function Nonreentrant_Gethostbyname
-+ (Name : C.char_array) return Hostent_Access;
-+
-+ function Nonreentrant_Gethostbyaddr
-+ (Addr : System.Address;
-+ Addr_Len : C.int;
-+ Addr_Type : C.int) return Hostent_Access;
-+
-+ function Nonreentrant_Getservbyname
-+ (Name : C.char_array;
-+ Proto : C.char_array) return Servent_Access;
-+
-+ function Nonreentrant_Getservbyport
-+ (Port : C.int;
-+ Proto : C.char_array) return Servent_Access;
-+
-+ procedure Initialize;
-+ procedure Finalize;
-+
-+private
-+ pragma Import (C, C_Bind, "bind");
-+ pragma Import (C, C_Close, "close");
-+ pragma Import (C, C_Gethostname, "gethostname");
-+ pragma Import (C, C_Getpeername, "getpeername");
-+ pragma Import (C, C_Getsockname, "getsockname");
-+ pragma Import (C, C_Getsockopt, "getsockopt");
-+ pragma Import (C, C_Listen, "listen");
-+ pragma Import (C, C_Select, "__select50");
-+ pragma Import (C, C_Setsockopt, "setsockopt");
-+ pragma Import (C, C_Shutdown, "shutdown");
-+ pragma Import (C, C_System, "system");
-+
-+ pragma Import (C, Nonreentrant_Gethostbyname, "gethostbyname");
-+ pragma Import (C, Nonreentrant_Gethostbyaddr, "gethostbyaddr");
-+ pragma Import (C, Nonreentrant_Getservbyname, "getservbyname");
-+ pragma Import (C, Nonreentrant_Getservbyport, "getservbyport");
-+
-+end GNAT.Sockets.Thin;
---- /dev/null
-+++ gcc/ada/g-trasym-bsd.adb
-@@ -0,0 +1,150 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- G N A T . T R A C E B A C K . S Y M B O L I C --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1999-2009, AdaCore --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+------------------------------------------------------------------------------
-+
-+-- Run-time symbolic traceback support
-+-- This file is based on the work by Juergen Pfiefer which is still used
-+-- today to provide symbolic traceback support for gnu/kFreeBSD.
-+-- Incorporated in GNAT-AUX by John Marino <http://www.dragonlace.net>
-+
-+with System.Soft_Links;
-+with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback;
-+
-+package body GNAT.Traceback.Symbolic is
-+
-+ package TSL renames System.Soft_Links;
-+
-+ -- To perform the raw addresses to symbolic form translation we rely on a
-+ -- libaddr2line symbolizer which examines debug info from a provided
-+ -- executable file name, and an absolute path is needed to ensure the file
-+ -- is always found. This is "__gnat_locate_exec_on_path (gnat_argv [0])"
-+ -- for our executable file, a fairly heavy operation so we cache the
-+ -- result.
-+
-+ Exename : System.Address;
-+ -- Pointer to the name of the executable file to be used on all
-+ -- invocations of the libaddr2line symbolization service.
-+
-+ Exename_Resolved : Boolean := False;
-+ -- Flag to indicate whether we have performed the executable file name
-+ -- resolution already. Relying on a not null Exename for this purpose
-+ -- would be potentially inefficient as this is what we will get if the
-+ -- resolution attempt fails.
-+
-+ ------------------------
-+ -- Symbolic_Traceback --
-+ ------------------------
-+
-+ function Symbolic_Traceback (Traceback : Tracebacks_Array) return String is
-+
-+ procedure convert_addresses
-+ (filename : System.Address;
-+ addrs : System.Address;
-+ n_addrs : Integer;
-+ buf : System.Address;
-+ len : System.Address);
-+ pragma Import (C, convert_addresses, "convert_addresses");
-+ -- This is the procedure version of the Ada-aware addr2line. It places
-+ -- in BUF a string representing the symbolic translation of the N_ADDRS
-+ -- raw addresses provided in ADDRS, looked up in debug information from
-+ -- FILENAME. LEN points to an integer which contains the size of the
-+ -- BUF buffer at input and the result length at output.
-+ --
-+ -- Note that this procedure is *not* thread-safe.
-+
-+ type Argv_Array is array (0 .. 0) of System.Address;
-+ gnat_argv : access Argv_Array;
-+ pragma Import (C, gnat_argv, "gnat_argv");
-+
-+ function locate_exec_on_path
-+ (c_exename : System.Address) return System.Address;
-+ pragma Import (C, locate_exec_on_path, "__gnat_locate_exec_on_path");
-+
-+ B_Size : constant Integer := 256 * Traceback'Length;
-+ Len : Integer := B_Size;
-+ Res : String (1 .. B_Size);
-+
-+ use type System.Address;
-+
-+ begin
-+ -- The symbolic translation of an empty set of addresses is an empty
-+ -- string.
-+
-+ if Traceback'Length = 0 then
-+ return "";
-+ end if;
-+
-+ -- If our input set of raw addresses is not empty, resort to the
-+ -- libaddr2line service to symbolize it all.
-+
-+ -- Compute, cache and provide the absolute path to our executable file
-+ -- name as the binary file where the relevant debug information is to be
-+ -- found. If the executable file name resolution fails, we have no
-+ -- sensible basis to invoke the symbolizer at all.
-+
-+ -- Protect all this against concurrent accesses explicitly, as the
-+ -- underlying services are potentially thread unsafe.
-+
-+ TSL.Lock_Task.all;
-+
-+ if not Exename_Resolved then
-+ Exename := locate_exec_on_path (gnat_argv (0));
-+ Exename_Resolved := True;
-+ end if;
-+
-+ if Exename /= System.Null_Address then
-+ Len := Res'Length;
-+ convert_addresses
-+ (Exename, Traceback'Address, Traceback'Length,
-+ Res (1)'Address, Len'Address);
-+ end if;
-+
-+ TSL.Unlock_Task.all;
-+
-+ -- Return what the addr2line symbolizer has produced if we have called
-+ -- it (the executable name resolution succeeded), or an empty string
-+ -- otherwise.
-+
-+ if Exename /= System.Null_Address then
-+ return Res (1 .. Len);
-+ else
-+ return "";
-+ end if;
-+
-+ end Symbolic_Traceback;
-+
-+ function Symbolic_Traceback (E : Exception_Occurrence) return String is
-+ begin
-+ return Symbolic_Traceback (Tracebacks (E));
-+ end Symbolic_Traceback;
-+
-+end GNAT.Traceback.Symbolic;
---- gcc/ada/gnatchop.adb.orig
-+++ gcc/ada/gnatchop.adb
-@@ -21,6 +21,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- with Ada.Characters.Conversions; use Ada.Characters.Conversions;
-@@ -45,7 +46,7 @@
- Config_File_Name : constant String_Access := new String'("gnat.adc");
- -- The name of the file holding the GNAT configuration pragmas
-
-- Gcc : String_Access := new String'("gcc");
-+ Gcc : String_Access := new String'("gnatgcc");
- -- May be modified by switch --GCC=
-
- Gcc_Set : Boolean := False;
---- gcc/ada/gnatlink.adb.orig
-+++ gcc/ada/gnatlink.adb
-@@ -21,6 +21,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- -- Gnatlink usage: please consult the gnat documentation
-@@ -137,7 +138,7 @@
- -- This table collects the arguments to be passed to compile the binder
- -- generated file.
-
-- Gcc : String_Access := Program_Name ("gcc", "gnatlink");
-+ Gcc : String_Access := Program_Name ("gnatgcc", "gnatlink");
-
- Read_Mode : constant String := "r" & ASCII.NUL;
-
---- gcc/ada/gnatvsn.ads.orig
-+++ gcc/ada/gnatvsn.ads
-@@ -27,6 +27,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- -- This package spec holds version information for the GNAT tools.
-@@ -34,7 +35,7 @@
-
- package Gnatvsn is
-
-- Gnat_Static_Version_String : constant String := "GNU Ada";
-+ Gnat_Static_Version_String : constant String := "GNAT AUX";
- -- Static string identifying this version, that can be used as an argument
- -- to e.g. pragma Ident.
-
---- gcc/ada/gsocket.h.orig
-+++ gcc/ada/gsocket.h
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010 John Marino <draco@marino.st> *
- ****************************************************************************/
-
- #if defined(__nucleus__) || defined(VTHREADS)
-@@ -194,7 +195,14 @@
- #include <netdb.h>
- #endif
-
-+#if defined(__ANDROID__)
-+#include <sys/select.h>
-+#endif
-+
- #if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || \
-+ defined (__OpenBSD__) || \
-+ defined (__NetBSD__) || \
-+ defined (__DragonFly__) || \
- defined (__osf__) || defined (_WIN32) || defined (__APPLE__)
- # define HAVE_THREAD_SAFE_GETxxxBYyyy 1
-
-@@ -227,7 +235,13 @@
- # endif
- #endif
-
--#if defined (__FreeBSD__) || defined (__vxworks) || defined(__rtems__)
-+#if defined (__FreeBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__OpenBSD__) \
-+ || defined (__NetBSD__) \
-+ || defined (__ANDROID__) \
-+ || defined (__vxworks) \
-+ || defined(__rtems__)
- # define Has_Sockaddr_Len 1
- #else
- # define Has_Sockaddr_Len 0
---- gcc/ada/init.c.orig
-+++ gcc/ada/init.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010, 2011 John Marino <www.dragonlace.net> *
- ****************************************************************************/
-
- /* This unit contains initialization circuits that are system dependent.
-@@ -519,7 +520,7 @@
- /* GNU/Linux Section */
- /*********************/
-
--#elif defined (linux)
-+#elif defined (linux) && !defined(__ANDROID__)
-
- #include <signal.h>
-
-@@ -1724,7 +1725,7 @@
- /* FreeBSD Section */
- /*******************/
-
--#elif defined (__FreeBSD__)
-+#elif defined (__FreeBSD__) || defined (__DragonFly__)
-
- #include <signal.h>
- #include <sys/ucontext.h>
-@@ -1769,7 +1770,7 @@
- }
-
- void
--__gnat_install_handler ()
-+__gnat_install_handler (void)
- {
- struct sigaction act;
-
-@@ -1791,6 +1792,77 @@
- }
-
- /*******************/
-+/* Android Section */
-+/*******************/
-+
-+#elif defined(__ANDROID__)
-+
-+#include <signal.h>
-+
-+static void
-+__gnat_error_handler (int sig,
-+ struct siginfo *si ATTRIBUTE_UNUSED,
-+ void *ucontext ATTRIBUTE_UNUSED)
-+{
-+ struct Exception_Data *exception;
-+ const char *msg;
-+
-+ switch (sig)
-+ {
-+ case SIGFPE:
-+ exception = &constraint_error;
-+ msg = "SIGFPE";
-+ break;
-+
-+ case SIGILL:
-+ exception = &constraint_error;
-+ msg = "SIGILL";
-+ break;
-+
-+ case SIGSEGV:
-+ exception = &storage_error;
-+ msg = "stack overflow or erroneous memory access";
-+ break;
-+
-+ case SIGBUS:
-+ exception = &constraint_error;
-+ msg = "SIGBUS";
-+ break;
-+
-+ default:
-+ exception = &program_error;
-+ msg = "unhandled signal";
-+ }
-+
-+ Raise_From_Signal_Handler (exception, msg);
-+}
-+
-+void
-+__gnat_install_handler (void)
-+{
-+ struct sigaction act;
-+
-+ act.sa_sigaction = __gnat_error_handler;
-+ act.sa_flags = SA_NODEFER | SA_RESTART | SA_SIGINFO;
-+ sigemptyset (&act.sa_mask);
-+
-+ /* Do not install handlers if interrupt state is "System". */
-+ if (__gnat_get_interrupt_state (SIGABRT) != 's')
-+ sigaction (SIGABRT, &act, NULL);
-+ if (__gnat_get_interrupt_state (SIGFPE) != 's')
-+ sigaction (SIGFPE, &act, NULL);
-+ if (__gnat_get_interrupt_state (SIGILL) != 's')
-+ sigaction (SIGILL, &act, NULL);
-+ if (__gnat_get_interrupt_state (SIGBUS) != 's')
-+ sigaction (SIGBUS, &act, NULL);
-+ if (__gnat_get_interrupt_state (SIGSEGV) != 's')
-+ sigaction (SIGSEGV, &act, NULL);
-+
-+ __gnat_handler_installed = 1;
-+}
-+
-+
-+/*******************/
- /* VxWorks Section */
- /*******************/
-
-@@ -2341,6 +2413,7 @@
-
- #if defined (_WIN32) || defined (__INTERIX) \
- || defined (__Lynx__) || defined(__NetBSD__) || defined(__FreeBSD__) \
-+ || defined (__DragonFly__) \
- || defined (__OpenBSD__)
-
- #define HAVE_GNAT_INIT_FLOAT
---- gcc/ada/initialize.c.orig
-+++ gcc/ada/initialize.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010 John Marino <draco@marino.st> *
- ****************************************************************************/
-
- /* This unit provides default implementation for __gnat_initialize ()
-@@ -255,6 +256,7 @@
- /******************************************/
-
- #elif defined (__Lynx__) || defined (__FreeBSD__) || defined(__NetBSD__) \
-+ || defined (__DragonFly__) \
- || defined (__OpenBSD__)
-
- extern void __gnat_init_float (void);
---- gcc/ada/link.c.orig
-+++ gcc/ada/link.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010, 2011 John Marino <www.dragonlace.net> *
- ****************************************************************************/
-
- /* This file contains host-specific parameters describing the behavior */
-@@ -187,7 +188,10 @@
- const char *__gnat_default_libgcc_subdir = "lib";
- #endif
-
--#elif defined (__FreeBSD__)
-+#elif defined (__FreeBSD__) \
-+ || defined (__OpenBSD__) \
-+ || defined (__NetBSD__) \
-+ || defined (__DragonFly__)
- const char *__gnat_object_file_option = "";
- const char *__gnat_run_path_option = "-Wl,-rpath,";
- char __gnat_shared_libgnat_default = STATIC;
---- gcc/ada/make.adb.orig
-+++ gcc/ada/make.adb
-@@ -21,6 +21,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- with ALI; use ALI;
-@@ -652,7 +653,7 @@
- -- Compiler, Binder & Linker Data and Subprograms --
- ----------------------------------------------------
-
-- Gcc : String_Access := Program_Name ("gcc", "gnatmake");
-+ Gcc : String_Access := Program_Name ("gnatgcc", "gnatmake");
- Gnatbind : String_Access := Program_Name ("gnatbind", "gnatmake");
- Gnatlink : String_Access := Program_Name ("gnatlink", "gnatmake");
- -- Default compiler, binder, linker programs
---- gcc/ada/mlib-prj.adb.orig
-+++ gcc/ada/mlib-prj.adb
-@@ -341,6 +341,11 @@
-
- Foreign_Sources : Boolean;
-
-+ Rpath_Disabled : Boolean := False;
-+ -- If -R is passed through the library options for the linker, it will
-+ -- prevent the implemented libraries portion of the rpath switch from
-+ -- being built, even if the linker is capable of supporting rpath.
-+
- Rpath : String_Access := null;
- -- Allocated only if Path Option is supported
-
-@@ -790,7 +795,7 @@
- Opts.Table (Opts.Last) :=
- new String'("-L" & Name_Buffer (1 .. Name_Len));
-
-- if Path_Option /= null then
-+ if not Rpath_Disabled and then Path_Option /= null then
- Add_Rpath (Name_Buffer (1 .. Name_Len));
- end if;
-
-@@ -1285,6 +1290,9 @@
- Opts.Increment_Last;
- Opts.Table (Opts.Last) :=
- new String'(Name_Buffer (1 .. Name_Len));
-+ if Name_Len = 2 and then Name_Buffer (1 .. 2) = "-R" then
-+ Rpath_Disabled := True;
-+ end if;
- end if;
-
- Current := Element.Next;
---- gcc/ada/mlib-utl.adb.orig
-+++ gcc/ada/mlib-utl.adb
-@@ -21,6 +21,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- with MLib.Fil; use MLib.Fil;
-@@ -412,7 +413,7 @@
- if Driver_Name = No_Name then
- if Gcc_Exec = null then
- if Gcc_Name = null then
-- Gcc_Name := Osint.Program_Name ("gcc", "gnatmake");
-+ Gcc_Name := Osint.Program_Name ("gnatgcc", "gnatmake");
- end if;
-
- Gcc_Exec := Locate_Exec_On_Path (Gcc_Name.all);
---- gcc/ada/prj-makr.adb.orig
-+++ gcc/ada/prj-makr.adb
-@@ -21,6 +21,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- with Csets;
-@@ -110,7 +111,7 @@
-
- procedure Dup2 (Old_Fd, New_Fd : File_Descriptor);
-
-- Gcc : constant String := "gcc";
-+ Gcc : constant String := "gnatgcc";
- Gcc_Path : String_Access := null;
-
- Non_Empty_Node : constant Project_Node_Id := 1;
---- gcc/ada/s-fileio.adb.orig
-+++ gcc/ada/s-fileio.adb
-@@ -231,7 +231,7 @@
- Close_Status : int := 0;
- Dup_Strm : Boolean := False;
- File : AFCB_Ptr renames File_Ptr.all;
-- Errno : Integer;
-+ Errno : Integer := 0;
-
- begin
- -- Take a task lock, to protect the global data value Open_Files
---- /dev/null
-+++ gcc/ada/s-osinte-android.ads
-@@ -0,0 +1,566 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2010, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+------------------------------------------------------------------------------
-+
-+-- This is a GNU/Linux (GNU/LinuxThreads) version of this package
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+with Interfaces.C;
-+with System.Linux;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ subtype int is Interfaces.C.int;
-+ subtype char is Interfaces.C.char;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function errno return int;
-+ pragma Import (C, errno, "__get_errno");
-+
-+ EAGAIN : constant := System.Linux.EAGAIN;
-+ EINTR : constant := System.Linux.EINTR;
-+ EINVAL : constant := System.Linux.EINVAL;
-+ ENOMEM : constant := System.Linux.ENOMEM;
-+ EPERM : constant := System.Linux.EPERM;
-+ ETIMEDOUT : constant := System.Linux.ETIMEDOUT;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 63;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := System.Linux.SIGHUP;
-+ SIGINT : constant := System.Linux.SIGINT;
-+ SIGQUIT : constant := System.Linux.SIGQUIT;
-+ SIGILL : constant := System.Linux.SIGILL;
-+ SIGTRAP : constant := System.Linux.SIGTRAP;
-+ SIGIOT : constant := System.Linux.SIGIOT;
-+ SIGABRT : constant := System.Linux.SIGABRT;
-+ SIGFPE : constant := System.Linux.SIGFPE;
-+ SIGKILL : constant := System.Linux.SIGKILL;
-+ SIGBUS : constant := System.Linux.SIGBUS;
-+ SIGSEGV : constant := System.Linux.SIGSEGV;
-+ SIGPIPE : constant := System.Linux.SIGPIPE;
-+ SIGALRM : constant := System.Linux.SIGALRM;
-+ SIGTERM : constant := System.Linux.SIGTERM;
-+ SIGUSR1 : constant := System.Linux.SIGUSR1;
-+ SIGUSR2 : constant := System.Linux.SIGUSR2;
-+ SIGCLD : constant := System.Linux.SIGCLD;
-+ SIGCHLD : constant := System.Linux.SIGCHLD;
-+ SIGPWR : constant := System.Linux.SIGPWR;
-+ SIGWINCH : constant := System.Linux.SIGWINCH;
-+ SIGURG : constant := System.Linux.SIGURG;
-+ SIGPOLL : constant := System.Linux.SIGPOLL;
-+ SIGIO : constant := System.Linux.SIGIO;
-+ SIGLOST : constant := System.Linux.SIGLOST;
-+ SIGSTOP : constant := System.Linux.SIGSTOP;
-+ SIGTSTP : constant := System.Linux.SIGTSTP;
-+ SIGCONT : constant := System.Linux.SIGCONT;
-+ SIGTTIN : constant := System.Linux.SIGTTIN;
-+ SIGTTOU : constant := System.Linux.SIGTTOU;
-+ SIGVTALRM : constant := System.Linux.SIGVTALRM;
-+ SIGPROF : constant := System.Linux.SIGPROF;
-+ SIGXCPU : constant := System.Linux.SIGXCPU;
-+ SIGXFSZ : constant := System.Linux.SIGXFSZ;
-+ SIGUNUSED : constant := System.Linux.SIGUNUSED;
-+ SIGSTKFLT : constant := System.Linux.SIGSTKFLT;
-+ SIGLTHRRES : constant := System.Linux.SIGLTHRRES;
-+ SIGLTHRCAN : constant := System.Linux.SIGLTHRCAN;
-+ SIGLTHRDBG : constant := System.Linux.SIGLTHRDBG;
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ Unmasked : constant Signal_Set := (
-+ SIGTRAP,
-+ -- To enable debugging on multithreaded applications, mark SIGTRAP to
-+ -- be kept unmasked.
-+
-+ SIGBUS,
-+
-+ SIGTTIN, SIGTTOU, SIGTSTP,
-+ -- Keep these three signals unmasked so that background processes
-+ -- and IO behaves as normal "C" applications
-+
-+ SIGPROF,
-+ -- To avoid confusing the profiler
-+
-+ SIGKILL, SIGSTOP,
-+ -- These two signals actually cannot be masked;
-+ -- POSIX simply won't allow it.
-+
-+ SIGLTHRRES, SIGLTHRCAN, SIGLTHRDBG);
-+ -- These three signals are used by GNU/LinuxThreads starting from
-+ -- glibc 2.1 (future 2.2).
-+
-+ Reserved : constant Signal_Set :=
-+ -- I am not sure why the following two signals are reserved.
-+ -- I guess they are not supported by this version of GNU/Linux.
-+ (SIGVTALRM, SIGUNUSED);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset (set : access sigset_t; sig : Signal) return int;
-+ pragma Import (C, sigaddset, "sigaddset");
-+
-+ function sigdelset (set : access sigset_t; sig : Signal) return int;
-+ pragma Import (C, sigdelset, "sigdelset");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "sigfillset");
-+
-+ function sigismember (set : access sigset_t; sig : Signal) return int;
-+ pragma Import (C, sigismember, "sigismember");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "sigemptyset");
-+
-+ type union_type_3 is new String (1 .. 116);
-+ type siginfo_t is record
-+ si_signo : int;
-+ si_code : int;
-+ si_errno : int;
-+ X_data : union_type_3;
-+ end record;
-+ pragma Convention (C, siginfo_t);
-+
-+ type struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : Interfaces.C.unsigned_long;
-+ sa_restorer : System.Address;
-+ end record;
-+ pragma Convention (C, struct_sigaction);
-+
-+ type struct_sigaction_ptr is access all struct_sigaction;
-+
-+ type Machine_State is record
-+ eip : unsigned_long;
-+ ebx : unsigned_long;
-+ esp : unsigned_long;
-+ ebp : unsigned_long;
-+ esi : unsigned_long;
-+ edi : unsigned_long;
-+ end record;
-+ type Machine_State_Ptr is access all Machine_State;
-+
-+ SA_SIGINFO : constant := System.Linux.SA_SIGINFO;
-+ SA_ONSTACK : constant := System.Linux.SA_ONSTACK;
-+
-+ SIG_BLOCK : constant := 0;
-+ SIG_UNBLOCK : constant := 1;
-+ SIG_SETMASK : constant := 2;
-+
-+ SIG_DFL : constant := 0;
-+ SIG_IGN : constant := 1;
-+
-+ function sigaction
-+ (sig : Signal;
-+ act : struct_sigaction_ptr;
-+ oact : struct_sigaction_ptr) return int;
-+ pragma Import (C, sigaction, "sigaction");
-+
-+ ----------
-+ -- Time --
-+ ----------
-+
-+ type timespec is private;
-+
-+ function To_Duration (TS : timespec) return Duration;
-+ pragma Inline (To_Duration);
-+
-+ function To_Timespec (D : Duration) return timespec;
-+ pragma Inline (To_Timespec);
-+
-+ function sysconf (name : int) return long;
-+ pragma Import (C, sysconf);
-+
-+ SC_CLK_TCK : constant := 2;
-+ SC_NPROCESSORS_ONLN : constant := 84;
-+
-+ -------------------------
-+ -- Priority Scheduling --
-+ -------------------------
-+
-+ SCHED_OTHER : constant := 0;
-+ SCHED_FIFO : constant := 1;
-+ SCHED_RR : constant := 2;
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int;
-+ -- Maps System.Any_Priority to a POSIX priority
-+
-+ -------------
-+ -- Process --
-+ -------------
-+
-+ type pid_t is private;
-+
-+ function kill (pid : pid_t; sig : Signal) return int;
-+ pragma Import (C, kill, "kill");
-+
-+ function getpid return pid_t;
-+ pragma Import (C, getpid, "getpid");
-+
-+ -------------
-+ -- Threads --
-+ -------------
-+
-+ type Thread_Body is access
-+ function (arg : System.Address) return System.Address;
-+ pragma Convention (C, Thread_Body);
-+
-+ function Thread_Body_Access is new
-+ Ada.Unchecked_Conversion (System.Address, Thread_Body);
-+
-+ type pthread_t is new unsigned_long;
-+ subtype Thread_Id is pthread_t;
-+
-+ function To_pthread_t is new Ada.Unchecked_Conversion
-+ (unsigned_long, pthread_t);
-+
-+ type pthread_mutex_t is limited private;
-+ type pthread_cond_t is limited private;
-+ type pthread_attr_t is limited private;
-+ type pthread_mutexattr_t is limited private;
-+ type pthread_condattr_t is limited private;
-+ type pthread_key_t is private;
-+
-+ PTHREAD_CREATE_DETACHED : constant := 1;
-+
-+ -----------
-+ -- Stack --
-+ -----------
-+
-+ type stack_t is record
-+ ss_sp : System.Address;
-+ ss_flags : int;
-+ ss_size : size_t;
-+ end record;
-+ pragma Convention (C, stack_t);
-+
-+ function sigaltstack
-+ (ss : not null access stack_t;
-+ oss : access stack_t) return int;
-+ pragma Import (C, sigaltstack, "sigaltstack");
-+
-+ Alternate_Stack : aliased System.Address;
-+ pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
-+ -- The alternate signal stack for stack overflows
-+
-+ Alternate_Stack_Size : constant := 16 * 1024;
-+ -- This must be in keeping with init.c:__gnat_alternate_stack
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address;
-+ pragma Inline (Get_Stack_Base);
-+ -- This is a dummy procedure to share some GNULLI files
-+
-+ ---------------------------------------
-+ -- Nonstandard Thread Initialization --
-+ ---------------------------------------
-+
-+ procedure pthread_init;
-+ pragma Inline (pthread_init);
-+ -- This is a dummy procedure to share some GNULLI files
-+
-+ -------------------------
-+ -- POSIX.1c Section 3 --
-+ -------------------------
-+
-+ function sigwait (set : access sigset_t; sig : access Signal) return int;
-+ pragma Import (C, sigwait, "sigwait");
-+
-+ function pthread_kill (thread : pthread_t; sig : Signal) return int;
-+ pragma Import (C, pthread_kill, "pthread_kill");
-+
-+ function pthread_sigmask
-+ (how : int;
-+ set : access sigset_t;
-+ oset : access sigset_t) return int;
-+ pragma Import (C, pthread_sigmask, "pthread_sigmask");
-+
-+ --------------------------
-+ -- POSIX.1c Section 11 --
-+ --------------------------
-+
-+ function pthread_mutexattr_init
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
-+
-+ function pthread_mutexattr_destroy
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
-+
-+ function pthread_mutex_init
-+ (mutex : access pthread_mutex_t;
-+ attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
-+
-+ function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
-+
-+ function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
-+
-+ function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
-+
-+ function pthread_condattr_init
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
-+
-+ function pthread_condattr_destroy
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
-+
-+ function pthread_cond_init
-+ (cond : access pthread_cond_t;
-+ attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_cond_init, "pthread_cond_init");
-+
-+ function pthread_cond_destroy (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
-+
-+ function pthread_cond_signal (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
-+
-+ function pthread_cond_wait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
-+
-+ function pthread_cond_timedwait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t;
-+ abstime : access timespec) return int;
-+ pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
-+
-+ --------------------------
-+ -- POSIX.1c Section 13 --
-+ --------------------------
-+
-+ type struct_sched_param is record
-+ sched_priority : int; -- scheduling priority
-+ end record;
-+ pragma Convention (C, struct_sched_param);
-+
-+ function pthread_setschedparam
-+ (thread : pthread_t;
-+ policy : int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
-+
-+ function pthread_attr_setschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setschedpolicy, "pthread_attr_setschedpolicy");
-+
-+ function sched_yield return int;
-+ pragma Import (C, sched_yield, "sched_yield");
-+
-+ ---------------------------
-+ -- P1003.1c - Section 16 --
-+ ---------------------------
-+
-+ function pthread_attr_init
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_init, "pthread_attr_init");
-+
-+ function pthread_attr_destroy
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-+
-+ function pthread_attr_setdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
-+
-+ function pthread_attr_setstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : size_t) return int;
-+ pragma Import (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
-+
-+ function pthread_create
-+ (thread : access pthread_t;
-+ attributes : access pthread_attr_t;
-+ start_routine : Thread_Body;
-+ arg : System.Address) return int;
-+ pragma Import (C, pthread_create, "pthread_create");
-+
-+ procedure pthread_exit (status : System.Address);
-+ pragma Import (C, pthread_exit, "pthread_exit");
-+
-+ function pthread_self return pthread_t;
-+ pragma Import (C, pthread_self, "pthread_self");
-+
-+ function lwp_self return System.Address;
-+ pragma Import (C, lwp_self, "__gnat_lwp_self");
-+
-+ --------------------------
-+ -- POSIX.1c Section 17 --
-+ --------------------------
-+
-+ function pthread_setspecific
-+ (key : pthread_key_t;
-+ value : System.Address) return int;
-+ pragma Import (C, pthread_setspecific, "pthread_setspecific");
-+
-+ function pthread_getspecific (key : pthread_key_t) return System.Address;
-+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
-+
-+ type destructor_pointer is access procedure (arg : System.Address);
-+ pragma Convention (C, destructor_pointer);
-+
-+ function pthread_key_create
-+ (key : access pthread_key_t;
-+ destructor : destructor_pointer) return int;
-+ pragma Import (C, pthread_key_create, "pthread_key_create");
-+
-+ CPU_SETSIZE : constant := 1_024;
-+
-+ type bit_field is array (1 .. CPU_SETSIZE) of Boolean;
-+ for bit_field'Size use CPU_SETSIZE;
-+ pragma Pack (bit_field);
-+ pragma Convention (C, bit_field);
-+
-+ type cpu_set_t is record
-+ bits : bit_field;
-+ end record;
-+ pragma Convention (C, cpu_set_t);
-+
-+ function pthread_setaffinity_np
-+ (thread : pthread_t;
-+ cpusetsize : size_t;
-+ cpuset : access cpu_set_t) return int;
-+ pragma Import (C, pthread_setaffinity_np, "pthread_setaffinity_np");
-+ pragma Weak_External (pthread_setaffinity_np);
-+ -- Use a weak symbol because this function may be available or not,
-+ -- depending on the version of the system.
-+
-+ function pthread_attr_setaffinity_np
-+ (attr : access pthread_attr_t;
-+ cpusetsize : size_t;
-+ cpuset : access cpu_set_t) return int;
-+ pragma Import (C, pthread_attr_setaffinity_np,
-+ "pthread_attr_setaffinity_np");
-+ pragma Weak_External (pthread_attr_setaffinity_np);
-+ -- Use a weak symbol because this function may be available or not,
-+ -- depending on the version of the system.
-+
-+private
-+
-+ type sigset_t is array (0 .. 127) of unsigned_char;
-+ pragma Convention (C, sigset_t);
-+ for sigset_t'Alignment use Interfaces.C.unsigned_long'Alignment;
-+
-+ pragma Warnings (Off);
-+ for struct_sigaction use record
-+ sa_handler at Linux.sa_handler_pos range 0 .. Standard'Address_Size - 1;
-+ sa_mask at Linux.sa_mask_pos range 0 .. 1023;
-+ sa_flags at Linux.sa_flags_pos range 0 .. Standard'Address_Size - 1;
-+ end record;
-+ -- We intentionally leave sa_restorer unspecified and let the compiler
-+ -- append it after the last field, so disable corresponding warning.
-+ pragma Warnings (On);
-+
-+ type pid_t is new int;
-+
-+ type time_t is new long;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type pthread_attr_t is record
-+ detachstate : int;
-+ schedpolicy : int;
-+ schedparam : struct_sched_param;
-+ inheritsched : int;
-+ scope : int;
-+ guardsize : size_t;
-+ stackaddr_set : int;
-+ stackaddr : System.Address;
-+ stacksize : size_t;
-+ end record;
-+ pragma Convention (C, pthread_attr_t);
-+
-+ type pthread_condattr_t is record
-+ dummy : int;
-+ end record;
-+ pragma Convention (C, pthread_condattr_t);
-+
-+ type pthread_mutexattr_t is record
-+ mutexkind : int;
-+ end record;
-+ pragma Convention (C, pthread_mutexattr_t);
-+
-+ type pthread_mutex_t is new System.Linux.pthread_mutex_t;
-+
-+ type unsigned_long_long_t is mod 2 ** 64;
-+ -- Interfaces.C.Extensions isn't preelaborated so cannot be with-ed
-+
-+ type pthread_cond_t is array (0 .. 47) of unsigned_char;
-+ pragma Convention (C, pthread_cond_t);
-+ for pthread_cond_t'Alignment use unsigned_long_long_t'Alignment;
-+
-+ type pthread_key_t is new unsigned;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-dragonfly.adb
-@@ -0,0 +1,117 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1991-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the DragonFly THREADS version of this package
-+
-+with Interfaces.C; use Interfaces.C;
-+
-+package body System.OS_Interface is
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int is
-+ type int_ptr is access all int;
-+
-+ function internal_errno return int_ptr;
-+ pragma Import (C, internal_errno, "__get_errno");
-+
-+ begin
-+ return (internal_errno.all);
-+ end Errno;
-+
-+ --------------------
-+ -- Get_Stack_Base --
-+ --------------------
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address is
-+ pragma Unreferenced (thread);
-+ begin
-+ return Null_Address;
-+ end Get_Stack_Base;
-+
-+ ------------------
-+ -- pthread_init --
-+ ------------------
-+
-+ procedure pthread_init is
-+ begin
-+ null;
-+ end pthread_init;
-+
-+ -----------------
-+ -- To_Duration --
-+ -----------------
-+
-+ function To_Duration (TS : timespec) return Duration is
-+ begin
-+ return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9;
-+ end To_Duration;
-+
-+ ------------------------
-+ -- To_Target_Priority --
-+ ------------------------
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int
-+ is
-+ begin
-+ return Interfaces.C.int (Prio);
-+ end To_Target_Priority;
-+
-+ -----------------
-+ -- To_Timespec --
-+ -----------------
-+
-+ function To_Timespec (D : Duration) return timespec is
-+ S : time_t;
-+ F : Duration;
-+
-+ begin
-+ S := time_t (Long_Long_Integer (D));
-+ F := D - Duration (S);
-+
-+ -- If F has negative value due to a round-up, adjust for positive F
-+ -- value.
-+
-+ if F < 0.0 then
-+ S := S - 1;
-+ F := F + 1.0;
-+ end if;
-+
-+ return timespec'(tv_sec => S,
-+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ end To_Timespec;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-dragonfly.ads
-@@ -0,0 +1,648 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the DragonFly BSD PTHREADS version of this package
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+
-+with Interfaces.C;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ pragma Linker_Options ("-pthread");
-+
-+ subtype int is Interfaces.C.int;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int;
-+ pragma Inline (Errno);
-+
-+ EAGAIN : constant := 35;
-+ EINTR : constant := 4;
-+ EINVAL : constant := 22;
-+ ENOMEM : constant := 12;
-+ ETIMEDOUT : constant := 60;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 31;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := 1; -- hangup
-+ SIGINT : constant := 2; -- interrupt (rubout)
-+ SIGQUIT : constant := 3; -- quit (ASCD FS)
-+ SIGILL : constant := 4; -- illegal instruction (not reset)
-+ SIGTRAP : constant := 5; -- trace trap (not reset)
-+ SIGIOT : constant := 6; -- IOT instruction
-+ SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
-+ SIGEMT : constant := 7; -- EMT instruction
-+ SIGFPE : constant := 8; -- floating point exception
-+ SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
-+ SIGBUS : constant := 10; -- bus error
-+ SIGSEGV : constant := 11; -- segmentation violation
-+ SIGSYS : constant := 12; -- bad argument to system call
-+ SIGPIPE : constant := 13; -- write on a pipe with no one to read it
-+ SIGALRM : constant := 14; -- alarm clock
-+ SIGTERM : constant := 15; -- software termination signal from kill
-+ SIGURG : constant := 16; -- urgent condition on IO channel
-+ SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
-+ SIGTSTP : constant := 18; -- user stop requested from tty
-+ SIGCONT : constant := 19; -- stopped process has been continued
-+ SIGCLD : constant := 20; -- alias for SIGCHLD
-+ SIGCHLD : constant := 20; -- child status change
-+ SIGTTIN : constant := 21; -- background tty read attempted
-+ SIGTTOU : constant := 22; -- background tty write attempted
-+ SIGIO : constant := 23; -- I/O possible (Solaris SIGPOLL alias)
-+ SIGXCPU : constant := 24; -- CPU time limit exceeded
-+ SIGXFSZ : constant := 25; -- filesize limit exceeded
-+ SIGVTALRM : constant := 26; -- virtual timer expired
-+ SIGPROF : constant := 27; -- profiling timer expired
-+ SIGWINCH : constant := 28; -- window size change
-+ SIGINFO : constant := 29; -- information request (BSD)
-+ SIGUSR1 : constant := 30; -- user defined signal 1
-+ SIGUSR2 : constant := 31; -- user defined signal 2
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ -- Interrupts that must be unmasked at all times. DragonFlyBSD
-+ -- pthreads will not allow an application to mask out any
-+ -- interrupt needed by the threads library.
-+ Unmasked : constant Signal_Set :=
-+ (SIGTRAP, SIGBUS, SIGTTIN, SIGTTOU, SIGTSTP);
-+
-+ -- DragonFlyBSD will uses SIGPROF for timing. Do not allow a
-+ -- handler to attach to this signal.
-+ Reserved : constant Signal_Set := (0 .. 0 => SIGPROF);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigaddset, "sigaddset");
-+
-+ function sigdelset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigdelset, "sigdelset");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "sigfillset");
-+
-+ function sigismember
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigismember, "sigismember");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "sigemptyset");
-+
-+ -- sigcontext is architecture dependent, so define it private
-+ type struct_sigcontext is private;
-+
-+ type old_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : int;
-+ end record;
-+ pragma Convention (C, old_struct_sigaction);
-+
-+ type new_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_flags : int;
-+ sa_mask : sigset_t;
-+ end record;
-+ pragma Convention (C, new_struct_sigaction);
-+
-+ subtype struct_sigaction is new_struct_sigaction;
-+ type struct_sigaction_ptr is access all struct_sigaction;
-+
-+ SIG_BLOCK : constant := 1;
-+ SIG_UNBLOCK : constant := 2;
-+ SIG_SETMASK : constant := 3;
-+
-+ SIG_DFL : constant := 0;
-+ SIG_IGN : constant := 1;
-+
-+ SA_SIGINFO : constant := 16#0040#;
-+ SA_ONSTACK : constant := 16#0001#;
-+
-+ function sigaction
-+ (sig : Signal;
-+ act : struct_sigaction_ptr;
-+ oact : struct_sigaction_ptr) return int;
-+ pragma Import (C, sigaction, "sigaction");
-+
-+ ----------
-+ -- Time --
-+ ----------
-+
-+ Time_Slice_Supported : constant Boolean := True;
-+ -- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
-+
-+ type timespec is private;
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "nanosleep");
-+
-+ type clockid_t is private;
-+
-+ CLOCK_REALTIME : constant clockid_t;
-+
-+ function clock_gettime
-+ (clock_id : clockid_t;
-+ tp : access timespec)
-+ return int;
-+ pragma Import (C, clock_gettime, "clock_gettime");
-+
-+ function To_Duration (TS : timespec) return Duration;
-+ pragma Inline (To_Duration);
-+
-+ function To_Timespec (D : Duration) return timespec;
-+ pragma Inline (To_Timespec);
-+
-+ type struct_timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, struct_timezone);
-+
-+ procedure usleep (useconds : unsigned_long);
-+ pragma Import (C, usleep, "usleep");
-+
-+ -------------------------
-+ -- Priority Scheduling --
-+ -------------------------
-+
-+ SCHED_FIFO : constant := 1;
-+ SCHED_OTHER : constant := 2;
-+ SCHED_RR : constant := 3;
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int;
-+ -- Maps System.Any_Priority to a POSIX priority
-+
-+ -------------
-+ -- Process --
-+ -------------
-+
-+ type pid_t is private;
-+
-+ function kill (pid : pid_t; sig : Signal) return int;
-+ pragma Import (C, kill, "kill");
-+
-+ function getpid return pid_t;
-+ pragma Import (C, getpid, "getpid");
-+
-+ ---------
-+ -- LWP --
-+ ---------
-+
-+ function lwp_self return System.Address;
-+ -- lwp_self does not exist on this thread library, revert to pthread_self
-+ -- which is the closest approximation (with getpid). This function is
-+ -- needed to share 7staprop.adb across POSIX-like targets.
-+ pragma Import (C, lwp_self, "pthread_self");
-+
-+ -------------
-+ -- Threads --
-+ -------------
-+
-+ type Thread_Body is access
-+ function (arg : System.Address) return System.Address;
-+ pragma Convention (C, Thread_Body);
-+
-+ function Thread_Body_Access is new
-+ Ada.Unchecked_Conversion (System.Address, Thread_Body);
-+
-+ type pthread_t is private;
-+ subtype Thread_Id is pthread_t;
-+
-+ type pthread_mutex_t is limited private;
-+ type pthread_cond_t is limited private;
-+ type pthread_attr_t is limited private;
-+ type pthread_mutexattr_t is limited private;
-+ type pthread_condattr_t is limited private;
-+ type pthread_key_t is private;
-+
-+ PTHREAD_CREATE_DETACHED : constant := 1;
-+ PTHREAD_CREATE_JOINABLE : constant := 0;
-+
-+ PTHREAD_SCOPE_PROCESS : constant := 0;
-+ PTHREAD_SCOPE_SYSTEM : constant := 2;
-+
-+ -----------
-+ -- Stack --
-+ -----------
-+
-+ type stack_t is record
-+ ss_sp : System.Address;
-+ ss_size : size_t;
-+ ss_flags : int;
-+ end record;
-+ pragma Convention (C, stack_t);
-+
-+ function sigaltstack
-+ (ss : not null access stack_t;
-+ oss : access stack_t) return int;
-+ pragma Import (C, sigaltstack, "sigaltstack");
-+
-+ Alternate_Stack : aliased System.Address;
-+ -- This is a dummy definition, never used (Alternate_Stack_Size is null)
-+
-+ Alternate_Stack_Size : constant := 0;
-+ -- No alternate signal stack is used on this platform
-+
-+ Stack_Base_Available : constant Boolean := False;
-+ -- Indicates whether the stack base is available on this target. This
-+ -- allows us to share s-osinte.adb between all the FSU run time. Note that
-+ -- this value can only be true if pthread_t has a complete definition that
-+ -- corresponds exactly to the C header files.
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address;
-+ pragma Inline (Get_Stack_Base);
-+ -- returns the stack base of the specified thread. Only call this function
-+ -- when Stack_Base_Available is True.
-+
-+ function Get_Page_Size return size_t;
-+ function Get_Page_Size return Address;
-+ pragma Import (C, Get_Page_Size, "getpagesize");
-+ -- Returns the size of a page
-+
-+ PROT_NONE : constant := 0;
-+ PROT_READ : constant := 1;
-+ PROT_WRITE : constant := 2;
-+ PROT_EXEC : constant := 4;
-+ PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
-+ PROT_ON : constant := PROT_NONE;
-+ PROT_OFF : constant := PROT_ALL;
-+
-+ function mprotect (addr : Address; len : size_t; prot : int) return int;
-+ pragma Import (C, mprotect);
-+
-+ ---------------------------------------
-+ -- Nonstandard Thread Initialization --
-+ ---------------------------------------
-+
-+ -- FSU_THREADS requires pthread_init, which is nonstandard and this should
-+ -- be invoked during the elaboration of s-taprop.adb.
-+
-+ -- DragonFlyBSD does not require this so we provide an empty Ada body
-+
-+ procedure pthread_init;
-+
-+ -------------------------
-+ -- POSIX.1c Section 3 --
-+ -------------------------
-+
-+ function sigwait
-+ (set : access sigset_t;
-+ sig : access Signal) return int;
-+ pragma Import (C, sigwait, "sigwait");
-+
-+ function pthread_kill
-+ (thread : pthread_t;
-+ sig : Signal) return int;
-+ pragma Import (C, pthread_kill, "pthread_kill");
-+
-+ function pthread_sigmask
-+ (how : int;
-+ set : access sigset_t;
-+ oset : access sigset_t) return int;
-+ pragma Import (C, pthread_sigmask, "pthread_sigmask");
-+
-+ --------------------------
-+ -- POSIX.1c Section 11 --
-+ --------------------------
-+
-+ function pthread_mutexattr_init
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
-+
-+ function pthread_mutexattr_destroy
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
-+
-+ function pthread_mutex_init
-+ (mutex : access pthread_mutex_t;
-+ attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
-+
-+ function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
-+
-+ function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
-+
-+ function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
-+
-+ function pthread_condattr_init
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
-+
-+ function pthread_condattr_destroy
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
-+
-+ function pthread_cond_init
-+ (cond : access pthread_cond_t;
-+ attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_cond_init, "pthread_cond_init");
-+
-+ function pthread_cond_destroy (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
-+
-+ function pthread_cond_signal (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
-+
-+ function pthread_cond_wait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
-+
-+ function pthread_cond_timedwait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t;
-+ abstime : access timespec) return int;
-+ pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
-+
-+ Relative_Timed_Wait : constant Boolean := False;
-+ -- pthread_cond_timedwait requires an absolute delay time
-+
-+ --------------------------
-+ -- POSIX.1c Section 13 --
-+ --------------------------
-+
-+ PTHREAD_PRIO_NONE : constant := 0;
-+ PTHREAD_PRIO_PROTECT : constant := 2;
-+ PTHREAD_PRIO_INHERIT : constant := 1;
-+
-+ function pthread_mutexattr_setprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprotocol, "pthread_mutexattr_setprotocol");
-+
-+ function pthread_mutexattr_getprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprotocol, "pthread_mutexattr_getprotocol");
-+
-+ function pthread_mutexattr_setprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprioceiling,
-+ "pthread_mutexattr_setprioceiling");
-+
-+ function pthread_mutexattr_getprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprioceiling,
-+ "pthread_mutexattr_getprioceiling");
-+
-+ type struct_sched_param is record
-+ sched_priority : int;
-+ end record;
-+ pragma Convention (C, struct_sched_param);
-+
-+ function pthread_getschedparam
-+ (thread : pthread_t;
-+ policy : access int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_getschedparam, "pthread_getschedparam");
-+
-+ function pthread_setschedparam
-+ (thread : pthread_t;
-+ policy : int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
-+
-+ function pthread_attr_setscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : int) return int;
-+ pragma Import (C, pthread_attr_setscope, "pthread_attr_setscope");
-+
-+ function pthread_attr_getscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : access int) return int;
-+ pragma Import (C, pthread_attr_getscope, "pthread_attr_getscope");
-+
-+ function pthread_attr_setinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setinheritsched, "pthread_attr_setinheritsched");
-+
-+ function pthread_attr_getinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getinheritsched, "pthread_attr_getinheritsched");
-+
-+ function pthread_attr_setschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : int) return int;
-+ pragma Import (C, pthread_attr_setschedpolicy,
-+ "pthread_attr_setschedpolicy");
-+
-+ function pthread_attr_getschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : access int) return int;
-+ pragma Import (C, pthread_attr_getschedpolicy,
-+ "pthread_attr_getschedpolicy");
-+
-+ function pthread_attr_setschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : int) return int;
-+ pragma Import (C, pthread_attr_setschedparam, "pthread_attr_setschedparam");
-+
-+ function pthread_attr_getschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : access int) return int;
-+ pragma Import (C, pthread_attr_getschedparam, "pthread_attr_getschedparam");
-+
-+ function sched_yield return int;
-+ pragma Import (C, sched_yield, "pthread_yield");
-+
-+ --------------------------
-+ -- P1003.1c Section 16 --
-+ --------------------------
-+
-+ function pthread_attr_init (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_init, "pthread_attr_init");
-+
-+ function pthread_attr_destroy
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-+
-+ function pthread_attr_setdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
-+
-+ function pthread_attr_getdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getdetachstate, "pthread_attr_getdetachstate");
-+
-+ function pthread_attr_getstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : access size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_getstacksize, "pthread_attr_getstacksize");
-+
-+ function pthread_attr_setstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
-+
-+ function pthread_create
-+ (thread : access pthread_t;
-+ attributes : access pthread_attr_t;
-+ start_routine : Thread_Body;
-+ arg : System.Address) return int;
-+ pragma Import (C, pthread_create, "pthread_create");
-+
-+ function pthread_detach (thread : pthread_t) return int;
-+ pragma Import (C, pthread_detach, "pthread_detach");
-+
-+ procedure pthread_exit (status : System.Address);
-+ pragma Import (C, pthread_exit, "pthread_exit");
-+
-+ function pthread_self return pthread_t;
-+ pragma Import (C, pthread_self, "pthread_self");
-+
-+ --------------------------
-+ -- POSIX.1c Section 17 --
-+ --------------------------
-+
-+ function pthread_setspecific
-+ (key : pthread_key_t;
-+ value : System.Address) return int;
-+ pragma Import (C, pthread_setspecific, "pthread_setspecific");
-+
-+ function pthread_getspecific (key : pthread_key_t) return System.Address;
-+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
-+
-+ type destructor_pointer is access procedure (arg : System.Address);
-+ pragma Convention (C, destructor_pointer);
-+
-+ function pthread_key_create
-+ (key : access pthread_key_t;
-+ destructor : destructor_pointer) return int;
-+ pragma Import (C, pthread_key_create, "pthread_key_create");
-+
-+ ------------------------------------
-+ -- Non-portable Pthread Functions --
-+ ------------------------------------
-+
-+ function pthread_set_name_np
-+ (thread : pthread_t;
-+ name : System.Address) return int;
-+ pragma Import (C, pthread_set_name_np, "pthread_set_name_np");
-+
-+private
-+
-+ type sigset_t is array (1 .. 4) of unsigned;
-+
-+ -- In DragonFlyBSD the component sa_handler turns out to
-+ -- be one a union type, and the selector is a macro:
-+ -- #define sa_handler __sigaction_u._handler
-+ -- #define sa_sigaction __sigaction_u._sigaction
-+
-+ -- Should we add a signal_context type here ???
-+ -- How could it be done independent of the CPU architecture ???
-+ -- sigcontext type is opaque, so it is architecturally neutral.
-+ -- It is always passed as an access type, so define it as an empty record
-+ -- since the contents are not used anywhere.
-+
-+ type struct_sigcontext is null record;
-+ pragma Convention (C, struct_sigcontext);
-+
-+ type pid_t is new int;
-+
-+ type time_t is new long;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type clockid_t is new int;
-+ CLOCK_REALTIME : constant clockid_t := 0;
-+
-+ type pthread_t is new System.Address;
-+ type pthread_attr_t is new System.Address;
-+ type pthread_mutex_t is new System.Address;
-+ type pthread_mutexattr_t is new System.Address;
-+ type pthread_cond_t is new System.Address;
-+ type pthread_condattr_t is new System.Address;
-+ type pthread_key_t is new int;
-+
-+end System.OS_Interface;
---- gcc/ada/s-osinte-freebsd.adb.orig
-+++ gcc/ada/s-osinte-freebsd.adb
-@@ -28,6 +28,7 @@
- -- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
- -- State University (http://www.gnat.com). --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- -- This is the FreeBSD THREADS version of this package
-@@ -44,7 +45,7 @@
- type int_ptr is access all int;
-
- function internal_errno return int_ptr;
-- pragma Import (C, internal_errno, "__error");
-+ pragma Import (C, internal_errno, "__get_errno");
-
- begin
- return (internal_errno.all);
-@@ -57,7 +58,7 @@
- function Get_Stack_Base (thread : pthread_t) return Address is
- pragma Unreferenced (thread);
- begin
-- return (0);
-+ return Null_Address;
- end Get_Stack_Base;
-
- ------------------
-@@ -75,7 +76,7 @@
-
- function To_Duration (TS : timespec) return Duration is
- begin
-- return Duration (TS.ts_sec) + Duration (TS.ts_nsec) / 10#1#E9;
-+ return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9;
- end To_Duration;
-
- ------------------------
-@@ -108,8 +109,8 @@
- F := F + 1.0;
- end if;
-
-- return timespec'(ts_sec => S,
-- ts_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ return timespec'(tv_sec => S,
-+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
- end To_Timespec;
-
- end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-freebsd32.ads
-@@ -0,0 +1,648 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the FreeBSD PTHREADS version of this package
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+
-+with Interfaces.C;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ pragma Linker_Options ("-pthread");
-+
-+ subtype int is Interfaces.C.int;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int;
-+ pragma Inline (Errno);
-+
-+ EAGAIN : constant := 35;
-+ EINTR : constant := 4;
-+ EINVAL : constant := 22;
-+ ENOMEM : constant := 12;
-+ ETIMEDOUT : constant := 60;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 31;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := 1; -- hangup
-+ SIGINT : constant := 2; -- interrupt (rubout)
-+ SIGQUIT : constant := 3; -- quit (ASCD FS)
-+ SIGILL : constant := 4; -- illegal instruction (not reset)
-+ SIGTRAP : constant := 5; -- trace trap (not reset)
-+ SIGIOT : constant := 6; -- IOT instruction
-+ SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
-+ SIGEMT : constant := 7; -- EMT instruction
-+ SIGFPE : constant := 8; -- floating point exception
-+ SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
-+ SIGBUS : constant := 10; -- bus error
-+ SIGSEGV : constant := 11; -- segmentation violation
-+ SIGSYS : constant := 12; -- bad argument to system call
-+ SIGPIPE : constant := 13; -- write on a pipe with no one to read it
-+ SIGALRM : constant := 14; -- alarm clock
-+ SIGTERM : constant := 15; -- software termination signal from kill
-+ SIGURG : constant := 16; -- urgent condition on IO channel
-+ SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
-+ SIGTSTP : constant := 18; -- user stop requested from tty
-+ SIGCONT : constant := 19; -- stopped process has been continued
-+ SIGCLD : constant := 20; -- alias for SIGCHLD
-+ SIGCHLD : constant := 20; -- child status change
-+ SIGTTIN : constant := 21; -- background tty read attempted
-+ SIGTTOU : constant := 22; -- background tty write attempted
-+ SIGIO : constant := 23; -- I/O possible (Solaris SIGPOLL alias)
-+ SIGXCPU : constant := 24; -- CPU time limit exceeded
-+ SIGXFSZ : constant := 25; -- filesize limit exceeded
-+ SIGVTALRM : constant := 26; -- virtual timer expired
-+ SIGPROF : constant := 27; -- profiling timer expired
-+ SIGWINCH : constant := 28; -- window size change
-+ SIGINFO : constant := 29; -- information request (BSD)
-+ SIGUSR1 : constant := 30; -- user defined signal 1
-+ SIGUSR2 : constant := 31; -- user defined signal 2
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ -- Interrupts that must be unmasked at all times. FreeBSD
-+ -- pthreads will not allow an application to mask out any
-+ -- interrupt needed by the threads library.
-+ Unmasked : constant Signal_Set :=
-+ (SIGTRAP, SIGBUS, SIGTTIN, SIGTTOU, SIGTSTP);
-+
-+ -- FreeBSD will uses SIGPROF for timing. Do not allow a
-+ -- handler to attach to this signal.
-+ Reserved : constant Signal_Set := (0 .. 0 => SIGPROF);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigaddset, "sigaddset");
-+
-+ function sigdelset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigdelset, "sigdelset");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "sigfillset");
-+
-+ function sigismember
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigismember, "sigismember");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "sigemptyset");
-+
-+ -- sigcontext is architecture dependent, so define it private
-+ type struct_sigcontext is private;
-+
-+ type old_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : int;
-+ end record;
-+ pragma Convention (C, old_struct_sigaction);
-+
-+ type new_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_flags : int;
-+ sa_mask : sigset_t;
-+ end record;
-+ pragma Convention (C, new_struct_sigaction);
-+
-+ subtype struct_sigaction is new_struct_sigaction;
-+ type struct_sigaction_ptr is access all struct_sigaction;
-+
-+ SIG_BLOCK : constant := 1;
-+ SIG_UNBLOCK : constant := 2;
-+ SIG_SETMASK : constant := 3;
-+
-+ SIG_DFL : constant := 0;
-+ SIG_IGN : constant := 1;
-+
-+ SA_SIGINFO : constant := 16#0040#;
-+ SA_ONSTACK : constant := 16#0001#;
-+
-+ function sigaction
-+ (sig : Signal;
-+ act : struct_sigaction_ptr;
-+ oact : struct_sigaction_ptr) return int;
-+ pragma Import (C, sigaction, "sigaction");
-+
-+ ----------
-+ -- Time --
-+ ----------
-+
-+ Time_Slice_Supported : constant Boolean := True;
-+ -- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
-+
-+ type timespec is private;
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "nanosleep");
-+
-+ type clockid_t is private;
-+
-+ CLOCK_REALTIME : constant clockid_t;
-+
-+ function clock_gettime
-+ (clock_id : clockid_t;
-+ tp : access timespec)
-+ return int;
-+ pragma Import (C, clock_gettime, "clock_gettime");
-+
-+ function To_Duration (TS : timespec) return Duration;
-+ pragma Inline (To_Duration);
-+
-+ function To_Timespec (D : Duration) return timespec;
-+ pragma Inline (To_Timespec);
-+
-+ type struct_timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, struct_timezone);
-+
-+ procedure usleep (useconds : unsigned_long);
-+ pragma Import (C, usleep, "usleep");
-+
-+ -------------------------
-+ -- Priority Scheduling --
-+ -------------------------
-+
-+ SCHED_FIFO : constant := 1;
-+ SCHED_OTHER : constant := 2;
-+ SCHED_RR : constant := 3;
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int;
-+ -- Maps System.Any_Priority to a POSIX priority
-+
-+ -------------
-+ -- Process --
-+ -------------
-+
-+ type pid_t is private;
-+
-+ function kill (pid : pid_t; sig : Signal) return int;
-+ pragma Import (C, kill, "kill");
-+
-+ function getpid return pid_t;
-+ pragma Import (C, getpid, "getpid");
-+
-+ ---------
-+ -- LWP --
-+ ---------
-+
-+ function lwp_self return System.Address;
-+ -- lwp_self does not exist on this thread library, revert to pthread_self
-+ -- which is the closest approximation (with getpid). This function is
-+ -- needed to share 7staprop.adb across POSIX-like targets.
-+ pragma Import (C, lwp_self, "pthread_self");
-+
-+ -------------
-+ -- Threads --
-+ -------------
-+
-+ type Thread_Body is access
-+ function (arg : System.Address) return System.Address;
-+ pragma Convention (C, Thread_Body);
-+
-+ function Thread_Body_Access is new
-+ Ada.Unchecked_Conversion (System.Address, Thread_Body);
-+
-+ type pthread_t is private;
-+ subtype Thread_Id is pthread_t;
-+
-+ type pthread_mutex_t is limited private;
-+ type pthread_cond_t is limited private;
-+ type pthread_attr_t is limited private;
-+ type pthread_mutexattr_t is limited private;
-+ type pthread_condattr_t is limited private;
-+ type pthread_key_t is private;
-+
-+ PTHREAD_CREATE_DETACHED : constant := 1;
-+ PTHREAD_CREATE_JOINABLE : constant := 0;
-+
-+ PTHREAD_SCOPE_PROCESS : constant := 0;
-+ PTHREAD_SCOPE_SYSTEM : constant := 2;
-+
-+ -----------
-+ -- Stack --
-+ -----------
-+
-+ type stack_t is record
-+ ss_sp : System.Address;
-+ ss_size : size_t;
-+ ss_flags : int;
-+ end record;
-+ pragma Convention (C, stack_t);
-+
-+ function sigaltstack
-+ (ss : not null access stack_t;
-+ oss : access stack_t) return int;
-+ pragma Import (C, sigaltstack, "sigaltstack");
-+
-+ Alternate_Stack : aliased System.Address;
-+ -- This is a dummy definition, never used (Alternate_Stack_Size is null)
-+
-+ Alternate_Stack_Size : constant := 0;
-+ -- No alternate signal stack is used on this platform
-+
-+ Stack_Base_Available : constant Boolean := False;
-+ -- Indicates whether the stack base is available on this target. This
-+ -- allows us to share s-osinte.adb between all the FSU run time. Note that
-+ -- this value can only be true if pthread_t has a complete definition that
-+ -- corresponds exactly to the C header files.
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address;
-+ pragma Inline (Get_Stack_Base);
-+ -- returns the stack base of the specified thread. Only call this function
-+ -- when Stack_Base_Available is True.
-+
-+ function Get_Page_Size return size_t;
-+ function Get_Page_Size return Address;
-+ pragma Import (C, Get_Page_Size, "getpagesize");
-+ -- Returns the size of a page
-+
-+ PROT_NONE : constant := 0;
-+ PROT_READ : constant := 1;
-+ PROT_WRITE : constant := 2;
-+ PROT_EXEC : constant := 4;
-+ PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
-+ PROT_ON : constant := PROT_NONE;
-+ PROT_OFF : constant := PROT_ALL;
-+
-+ function mprotect (addr : Address; len : size_t; prot : int) return int;
-+ pragma Import (C, mprotect);
-+
-+ ---------------------------------------
-+ -- Nonstandard Thread Initialization --
-+ ---------------------------------------
-+
-+ -- FSU_THREADS requires pthread_init, which is nonstandard and this should
-+ -- be invoked during the elaboration of s-taprop.adb.
-+
-+ -- FreeBSD does not require this so we provide an empty Ada body
-+
-+ procedure pthread_init;
-+
-+ -------------------------
-+ -- POSIX.1c Section 3 --
-+ -------------------------
-+
-+ function sigwait
-+ (set : access sigset_t;
-+ sig : access Signal) return int;
-+ pragma Import (C, sigwait, "sigwait");
-+
-+ function pthread_kill
-+ (thread : pthread_t;
-+ sig : Signal) return int;
-+ pragma Import (C, pthread_kill, "pthread_kill");
-+
-+ function pthread_sigmask
-+ (how : int;
-+ set : access sigset_t;
-+ oset : access sigset_t) return int;
-+ pragma Import (C, pthread_sigmask, "pthread_sigmask");
-+
-+ --------------------------
-+ -- POSIX.1c Section 11 --
-+ --------------------------
-+
-+ function pthread_mutexattr_init
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
-+
-+ function pthread_mutexattr_destroy
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
-+
-+ function pthread_mutex_init
-+ (mutex : access pthread_mutex_t;
-+ attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
-+
-+ function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
-+
-+ function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
-+
-+ function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
-+
-+ function pthread_condattr_init
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
-+
-+ function pthread_condattr_destroy
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
-+
-+ function pthread_cond_init
-+ (cond : access pthread_cond_t;
-+ attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_cond_init, "pthread_cond_init");
-+
-+ function pthread_cond_destroy (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
-+
-+ function pthread_cond_signal (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
-+
-+ function pthread_cond_wait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
-+
-+ function pthread_cond_timedwait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t;
-+ abstime : access timespec) return int;
-+ pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
-+
-+ Relative_Timed_Wait : constant Boolean := False;
-+ -- pthread_cond_timedwait requires an absolute delay time
-+
-+ --------------------------
-+ -- POSIX.1c Section 13 --
-+ --------------------------
-+
-+ PTHREAD_PRIO_NONE : constant := 0;
-+ PTHREAD_PRIO_PROTECT : constant := 2;
-+ PTHREAD_PRIO_INHERIT : constant := 1;
-+
-+ function pthread_mutexattr_setprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprotocol, "pthread_mutexattr_setprotocol");
-+
-+ function pthread_mutexattr_getprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprotocol, "pthread_mutexattr_getprotocol");
-+
-+ function pthread_mutexattr_setprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprioceiling,
-+ "pthread_mutexattr_setprioceiling");
-+
-+ function pthread_mutexattr_getprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprioceiling,
-+ "pthread_mutexattr_getprioceiling");
-+
-+ type struct_sched_param is record
-+ sched_priority : int;
-+ end record;
-+ pragma Convention (C, struct_sched_param);
-+
-+ function pthread_getschedparam
-+ (thread : pthread_t;
-+ policy : access int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_getschedparam, "pthread_getschedparam");
-+
-+ function pthread_setschedparam
-+ (thread : pthread_t;
-+ policy : int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
-+
-+ function pthread_attr_setscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : int) return int;
-+ pragma Import (C, pthread_attr_setscope, "pthread_attr_setscope");
-+
-+ function pthread_attr_getscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : access int) return int;
-+ pragma Import (C, pthread_attr_getscope, "pthread_attr_getscope");
-+
-+ function pthread_attr_setinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setinheritsched, "pthread_attr_setinheritsched");
-+
-+ function pthread_attr_getinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getinheritsched, "pthread_attr_getinheritsched");
-+
-+ function pthread_attr_setschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : int) return int;
-+ pragma Import (C, pthread_attr_setschedpolicy,
-+ "pthread_attr_setschedpolicy");
-+
-+ function pthread_attr_getschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : access int) return int;
-+ pragma Import (C, pthread_attr_getschedpolicy,
-+ "pthread_attr_getschedpolicy");
-+
-+ function pthread_attr_setschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : int) return int;
-+ pragma Import (C, pthread_attr_setschedparam, "pthread_attr_setschedparam");
-+
-+ function pthread_attr_getschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : access int) return int;
-+ pragma Import (C, pthread_attr_getschedparam, "pthread_attr_getschedparam");
-+
-+ function sched_yield return int;
-+ pragma Import (C, sched_yield, "pthread_yield");
-+
-+ --------------------------
-+ -- P1003.1c Section 16 --
-+ --------------------------
-+
-+ function pthread_attr_init (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_init, "pthread_attr_init");
-+
-+ function pthread_attr_destroy
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-+
-+ function pthread_attr_setdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
-+
-+ function pthread_attr_getdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getdetachstate, "pthread_attr_getdetachstate");
-+
-+ function pthread_attr_getstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : access size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_getstacksize, "pthread_attr_getstacksize");
-+
-+ function pthread_attr_setstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
-+
-+ function pthread_create
-+ (thread : access pthread_t;
-+ attributes : access pthread_attr_t;
-+ start_routine : Thread_Body;
-+ arg : System.Address) return int;
-+ pragma Import (C, pthread_create, "pthread_create");
-+
-+ function pthread_detach (thread : pthread_t) return int;
-+ pragma Import (C, pthread_detach, "pthread_detach");
-+
-+ procedure pthread_exit (status : System.Address);
-+ pragma Import (C, pthread_exit, "pthread_exit");
-+
-+ function pthread_self return pthread_t;
-+ pragma Import (C, pthread_self, "pthread_self");
-+
-+ --------------------------
-+ -- POSIX.1c Section 17 --
-+ --------------------------
-+
-+ function pthread_setspecific
-+ (key : pthread_key_t;
-+ value : System.Address) return int;
-+ pragma Import (C, pthread_setspecific, "pthread_setspecific");
-+
-+ function pthread_getspecific (key : pthread_key_t) return System.Address;
-+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
-+
-+ type destructor_pointer is access procedure (arg : System.Address);
-+ pragma Convention (C, destructor_pointer);
-+
-+ function pthread_key_create
-+ (key : access pthread_key_t;
-+ destructor : destructor_pointer) return int;
-+ pragma Import (C, pthread_key_create, "pthread_key_create");
-+
-+ ------------------------------------
-+ -- Non-portable Pthread Functions --
-+ ------------------------------------
-+
-+ function pthread_set_name_np
-+ (thread : pthread_t;
-+ name : System.Address) return int;
-+ pragma Import (C, pthread_set_name_np, "pthread_set_name_np");
-+
-+private
-+
-+ type sigset_t is array (1 .. 4) of unsigned;
-+
-+ -- In FreeBSD the component sa_handler turns out to
-+ -- be one a union type, and the selector is a macro:
-+ -- #define sa_handler __sigaction_u._handler
-+ -- #define sa_sigaction __sigaction_u._sigaction
-+
-+ -- Should we add a signal_context type here ???
-+ -- How could it be done independent of the CPU architecture ???
-+ -- sigcontext type is opaque, so it is architecturally neutral.
-+ -- It is always passed as an access type, so define it as an empty record
-+ -- since the contents are not used anywhere.
-+
-+ type struct_sigcontext is null record;
-+ pragma Convention (C, struct_sigcontext);
-+
-+ type pid_t is new int;
-+
-+ type time_t is new int;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type clockid_t is new int;
-+ CLOCK_REALTIME : constant clockid_t := 0;
-+
-+ type pthread_t is new System.Address;
-+ type pthread_attr_t is new System.Address;
-+ type pthread_mutex_t is new System.Address;
-+ type pthread_mutexattr_t is new System.Address;
-+ type pthread_cond_t is new System.Address;
-+ type pthread_condattr_t is new System.Address;
-+ type pthread_key_t is new int;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-freebsd64.ads
-@@ -0,0 +1,649 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the FreeBSD PTHREADS version of this package
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+
-+with Interfaces.C;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ pragma Linker_Options ("-pthread");
-+
-+ subtype int is Interfaces.C.int;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+ subtype int64_t is Interfaces.Integer_64;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int;
-+ pragma Inline (Errno);
-+
-+ EAGAIN : constant := 35;
-+ EINTR : constant := 4;
-+ EINVAL : constant := 22;
-+ ENOMEM : constant := 12;
-+ ETIMEDOUT : constant := 60;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 31;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := 1; -- hangup
-+ SIGINT : constant := 2; -- interrupt (rubout)
-+ SIGQUIT : constant := 3; -- quit (ASCD FS)
-+ SIGILL : constant := 4; -- illegal instruction (not reset)
-+ SIGTRAP : constant := 5; -- trace trap (not reset)
-+ SIGIOT : constant := 6; -- IOT instruction
-+ SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
-+ SIGEMT : constant := 7; -- EMT instruction
-+ SIGFPE : constant := 8; -- floating point exception
-+ SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
-+ SIGBUS : constant := 10; -- bus error
-+ SIGSEGV : constant := 11; -- segmentation violation
-+ SIGSYS : constant := 12; -- bad argument to system call
-+ SIGPIPE : constant := 13; -- write on a pipe with no one to read it
-+ SIGALRM : constant := 14; -- alarm clock
-+ SIGTERM : constant := 15; -- software termination signal from kill
-+ SIGURG : constant := 16; -- urgent condition on IO channel
-+ SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
-+ SIGTSTP : constant := 18; -- user stop requested from tty
-+ SIGCONT : constant := 19; -- stopped process has been continued
-+ SIGCLD : constant := 20; -- alias for SIGCHLD
-+ SIGCHLD : constant := 20; -- child status change
-+ SIGTTIN : constant := 21; -- background tty read attempted
-+ SIGTTOU : constant := 22; -- background tty write attempted
-+ SIGIO : constant := 23; -- I/O possible (Solaris SIGPOLL alias)
-+ SIGXCPU : constant := 24; -- CPU time limit exceeded
-+ SIGXFSZ : constant := 25; -- filesize limit exceeded
-+ SIGVTALRM : constant := 26; -- virtual timer expired
-+ SIGPROF : constant := 27; -- profiling timer expired
-+ SIGWINCH : constant := 28; -- window size change
-+ SIGINFO : constant := 29; -- information request (BSD)
-+ SIGUSR1 : constant := 30; -- user defined signal 1
-+ SIGUSR2 : constant := 31; -- user defined signal 2
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ -- Interrupts that must be unmasked at all times. FreeBSD
-+ -- pthreads will not allow an application to mask out any
-+ -- interrupt needed by the threads library.
-+ Unmasked : constant Signal_Set :=
-+ (SIGTRAP, SIGBUS, SIGTTIN, SIGTTOU, SIGTSTP);
-+
-+ -- FreeBSD will uses SIGPROF for timing. Do not allow a
-+ -- handler to attach to this signal.
-+ Reserved : constant Signal_Set := (0 .. 0 => SIGPROF);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigaddset, "sigaddset");
-+
-+ function sigdelset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigdelset, "sigdelset");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "sigfillset");
-+
-+ function sigismember
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigismember, "sigismember");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "sigemptyset");
-+
-+ -- sigcontext is architecture dependent, so define it private
-+ type struct_sigcontext is private;
-+
-+ type old_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : int;
-+ end record;
-+ pragma Convention (C, old_struct_sigaction);
-+
-+ type new_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_flags : int;
-+ sa_mask : sigset_t;
-+ end record;
-+ pragma Convention (C, new_struct_sigaction);
-+
-+ subtype struct_sigaction is new_struct_sigaction;
-+ type struct_sigaction_ptr is access all struct_sigaction;
-+
-+ SIG_BLOCK : constant := 1;
-+ SIG_UNBLOCK : constant := 2;
-+ SIG_SETMASK : constant := 3;
-+
-+ SIG_DFL : constant := 0;
-+ SIG_IGN : constant := 1;
-+
-+ SA_SIGINFO : constant := 16#0040#;
-+ SA_ONSTACK : constant := 16#0001#;
-+
-+ function sigaction
-+ (sig : Signal;
-+ act : struct_sigaction_ptr;
-+ oact : struct_sigaction_ptr) return int;
-+ pragma Import (C, sigaction, "sigaction");
-+
-+ ----------
-+ -- Time --
-+ ----------
-+
-+ Time_Slice_Supported : constant Boolean := True;
-+ -- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
-+
-+ type timespec is private;
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "nanosleep");
-+
-+ type clockid_t is private;
-+
-+ CLOCK_REALTIME : constant clockid_t;
-+
-+ function clock_gettime
-+ (clock_id : clockid_t;
-+ tp : access timespec)
-+ return int;
-+ pragma Import (C, clock_gettime, "clock_gettime");
-+
-+ function To_Duration (TS : timespec) return Duration;
-+ pragma Inline (To_Duration);
-+
-+ function To_Timespec (D : Duration) return timespec;
-+ pragma Inline (To_Timespec);
-+
-+ type struct_timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, struct_timezone);
-+
-+ procedure usleep (useconds : unsigned_long);
-+ pragma Import (C, usleep, "usleep");
-+
-+ -------------------------
-+ -- Priority Scheduling --
-+ -------------------------
-+
-+ SCHED_FIFO : constant := 1;
-+ SCHED_OTHER : constant := 2;
-+ SCHED_RR : constant := 3;
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int;
-+ -- Maps System.Any_Priority to a POSIX priority
-+
-+ -------------
-+ -- Process --
-+ -------------
-+
-+ type pid_t is private;
-+
-+ function kill (pid : pid_t; sig : Signal) return int;
-+ pragma Import (C, kill, "kill");
-+
-+ function getpid return pid_t;
-+ pragma Import (C, getpid, "getpid");
-+
-+ ---------
-+ -- LWP --
-+ ---------
-+
-+ function lwp_self return System.Address;
-+ -- lwp_self does not exist on this thread library, revert to pthread_self
-+ -- which is the closest approximation (with getpid). This function is
-+ -- needed to share 7staprop.adb across POSIX-like targets.
-+ pragma Import (C, lwp_self, "pthread_self");
-+
-+ -------------
-+ -- Threads --
-+ -------------
-+
-+ type Thread_Body is access
-+ function (arg : System.Address) return System.Address;
-+ pragma Convention (C, Thread_Body);
-+
-+ function Thread_Body_Access is new
-+ Ada.Unchecked_Conversion (System.Address, Thread_Body);
-+
-+ type pthread_t is private;
-+ subtype Thread_Id is pthread_t;
-+
-+ type pthread_mutex_t is limited private;
-+ type pthread_cond_t is limited private;
-+ type pthread_attr_t is limited private;
-+ type pthread_mutexattr_t is limited private;
-+ type pthread_condattr_t is limited private;
-+ type pthread_key_t is private;
-+
-+ PTHREAD_CREATE_DETACHED : constant := 1;
-+ PTHREAD_CREATE_JOINABLE : constant := 0;
-+
-+ PTHREAD_SCOPE_PROCESS : constant := 0;
-+ PTHREAD_SCOPE_SYSTEM : constant := 2;
-+
-+ -----------
-+ -- Stack --
-+ -----------
-+
-+ type stack_t is record
-+ ss_sp : System.Address;
-+ ss_size : size_t;
-+ ss_flags : int;
-+ end record;
-+ pragma Convention (C, stack_t);
-+
-+ function sigaltstack
-+ (ss : not null access stack_t;
-+ oss : access stack_t) return int;
-+ pragma Import (C, sigaltstack, "sigaltstack");
-+
-+ Alternate_Stack : aliased System.Address;
-+ -- This is a dummy definition, never used (Alternate_Stack_Size is null)
-+
-+ Alternate_Stack_Size : constant := 0;
-+ -- No alternate signal stack is used on this platform
-+
-+ Stack_Base_Available : constant Boolean := False;
-+ -- Indicates whether the stack base is available on this target. This
-+ -- allows us to share s-osinte.adb between all the FSU run time. Note that
-+ -- this value can only be true if pthread_t has a complete definition that
-+ -- corresponds exactly to the C header files.
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address;
-+ pragma Inline (Get_Stack_Base);
-+ -- returns the stack base of the specified thread. Only call this function
-+ -- when Stack_Base_Available is True.
-+
-+ function Get_Page_Size return size_t;
-+ function Get_Page_Size return Address;
-+ pragma Import (C, Get_Page_Size, "getpagesize");
-+ -- Returns the size of a page
-+
-+ PROT_NONE : constant := 0;
-+ PROT_READ : constant := 1;
-+ PROT_WRITE : constant := 2;
-+ PROT_EXEC : constant := 4;
-+ PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
-+ PROT_ON : constant := PROT_NONE;
-+ PROT_OFF : constant := PROT_ALL;
-+
-+ function mprotect (addr : Address; len : size_t; prot : int) return int;
-+ pragma Import (C, mprotect);
-+
-+ ---------------------------------------
-+ -- Nonstandard Thread Initialization --
-+ ---------------------------------------
-+
-+ -- FSU_THREADS requires pthread_init, which is nonstandard and this should
-+ -- be invoked during the elaboration of s-taprop.adb.
-+
-+ -- FreeBSD does not require this so we provide an empty Ada body
-+
-+ procedure pthread_init;
-+
-+ -------------------------
-+ -- POSIX.1c Section 3 --
-+ -------------------------
-+
-+ function sigwait
-+ (set : access sigset_t;
-+ sig : access Signal) return int;
-+ pragma Import (C, sigwait, "sigwait");
-+
-+ function pthread_kill
-+ (thread : pthread_t;
-+ sig : Signal) return int;
-+ pragma Import (C, pthread_kill, "pthread_kill");
-+
-+ function pthread_sigmask
-+ (how : int;
-+ set : access sigset_t;
-+ oset : access sigset_t) return int;
-+ pragma Import (C, pthread_sigmask, "pthread_sigmask");
-+
-+ --------------------------
-+ -- POSIX.1c Section 11 --
-+ --------------------------
-+
-+ function pthread_mutexattr_init
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
-+
-+ function pthread_mutexattr_destroy
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
-+
-+ function pthread_mutex_init
-+ (mutex : access pthread_mutex_t;
-+ attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
-+
-+ function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
-+
-+ function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
-+
-+ function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
-+
-+ function pthread_condattr_init
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
-+
-+ function pthread_condattr_destroy
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
-+
-+ function pthread_cond_init
-+ (cond : access pthread_cond_t;
-+ attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_cond_init, "pthread_cond_init");
-+
-+ function pthread_cond_destroy (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
-+
-+ function pthread_cond_signal (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
-+
-+ function pthread_cond_wait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
-+
-+ function pthread_cond_timedwait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t;
-+ abstime : access timespec) return int;
-+ pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
-+
-+ Relative_Timed_Wait : constant Boolean := False;
-+ -- pthread_cond_timedwait requires an absolute delay time
-+
-+ --------------------------
-+ -- POSIX.1c Section 13 --
-+ --------------------------
-+
-+ PTHREAD_PRIO_NONE : constant := 0;
-+ PTHREAD_PRIO_PROTECT : constant := 2;
-+ PTHREAD_PRIO_INHERIT : constant := 1;
-+
-+ function pthread_mutexattr_setprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprotocol, "pthread_mutexattr_setprotocol");
-+
-+ function pthread_mutexattr_getprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprotocol, "pthread_mutexattr_getprotocol");
-+
-+ function pthread_mutexattr_setprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprioceiling,
-+ "pthread_mutexattr_setprioceiling");
-+
-+ function pthread_mutexattr_getprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprioceiling,
-+ "pthread_mutexattr_getprioceiling");
-+
-+ type struct_sched_param is record
-+ sched_priority : int;
-+ end record;
-+ pragma Convention (C, struct_sched_param);
-+
-+ function pthread_getschedparam
-+ (thread : pthread_t;
-+ policy : access int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_getschedparam, "pthread_getschedparam");
-+
-+ function pthread_setschedparam
-+ (thread : pthread_t;
-+ policy : int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
-+
-+ function pthread_attr_setscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : int) return int;
-+ pragma Import (C, pthread_attr_setscope, "pthread_attr_setscope");
-+
-+ function pthread_attr_getscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : access int) return int;
-+ pragma Import (C, pthread_attr_getscope, "pthread_attr_getscope");
-+
-+ function pthread_attr_setinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setinheritsched, "pthread_attr_setinheritsched");
-+
-+ function pthread_attr_getinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getinheritsched, "pthread_attr_getinheritsched");
-+
-+ function pthread_attr_setschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : int) return int;
-+ pragma Import (C, pthread_attr_setschedpolicy,
-+ "pthread_attr_setschedpolicy");
-+
-+ function pthread_attr_getschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : access int) return int;
-+ pragma Import (C, pthread_attr_getschedpolicy,
-+ "pthread_attr_getschedpolicy");
-+
-+ function pthread_attr_setschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : int) return int;
-+ pragma Import (C, pthread_attr_setschedparam, "pthread_attr_setschedparam");
-+
-+ function pthread_attr_getschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : access int) return int;
-+ pragma Import (C, pthread_attr_getschedparam, "pthread_attr_getschedparam");
-+
-+ function sched_yield return int;
-+ pragma Import (C, sched_yield, "pthread_yield");
-+
-+ --------------------------
-+ -- P1003.1c Section 16 --
-+ --------------------------
-+
-+ function pthread_attr_init (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_init, "pthread_attr_init");
-+
-+ function pthread_attr_destroy
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-+
-+ function pthread_attr_setdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
-+
-+ function pthread_attr_getdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getdetachstate, "pthread_attr_getdetachstate");
-+
-+ function pthread_attr_getstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : access size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_getstacksize, "pthread_attr_getstacksize");
-+
-+ function pthread_attr_setstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
-+
-+ function pthread_create
-+ (thread : access pthread_t;
-+ attributes : access pthread_attr_t;
-+ start_routine : Thread_Body;
-+ arg : System.Address) return int;
-+ pragma Import (C, pthread_create, "pthread_create");
-+
-+ function pthread_detach (thread : pthread_t) return int;
-+ pragma Import (C, pthread_detach, "pthread_detach");
-+
-+ procedure pthread_exit (status : System.Address);
-+ pragma Import (C, pthread_exit, "pthread_exit");
-+
-+ function pthread_self return pthread_t;
-+ pragma Import (C, pthread_self, "pthread_self");
-+
-+ --------------------------
-+ -- POSIX.1c Section 17 --
-+ --------------------------
-+
-+ function pthread_setspecific
-+ (key : pthread_key_t;
-+ value : System.Address) return int;
-+ pragma Import (C, pthread_setspecific, "pthread_setspecific");
-+
-+ function pthread_getspecific (key : pthread_key_t) return System.Address;
-+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
-+
-+ type destructor_pointer is access procedure (arg : System.Address);
-+ pragma Convention (C, destructor_pointer);
-+
-+ function pthread_key_create
-+ (key : access pthread_key_t;
-+ destructor : destructor_pointer) return int;
-+ pragma Import (C, pthread_key_create, "pthread_key_create");
-+
-+ ------------------------------------
-+ -- Non-portable Pthread Functions --
-+ ------------------------------------
-+
-+ function pthread_set_name_np
-+ (thread : pthread_t;
-+ name : System.Address) return int;
-+ pragma Import (C, pthread_set_name_np, "pthread_set_name_np");
-+
-+private
-+
-+ type sigset_t is array (1 .. 4) of unsigned;
-+
-+ -- In FreeBSD the component sa_handler turns out to
-+ -- be one a union type, and the selector is a macro:
-+ -- #define sa_handler __sigaction_u._handler
-+ -- #define sa_sigaction __sigaction_u._sigaction
-+
-+ -- Should we add a signal_context type here ???
-+ -- How could it be done independent of the CPU architecture ???
-+ -- sigcontext type is opaque, so it is architecturally neutral.
-+ -- It is always passed as an access type, so define it as an empty record
-+ -- since the contents are not used anywhere.
-+
-+ type struct_sigcontext is null record;
-+ pragma Convention (C, struct_sigcontext);
-+
-+ type pid_t is new int;
-+
-+ type time_t is new int64_t;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type clockid_t is new int;
-+ CLOCK_REALTIME : constant clockid_t := 0;
-+
-+ type pthread_t is new System.Address;
-+ type pthread_attr_t is new System.Address;
-+ type pthread_mutex_t is new System.Address;
-+ type pthread_mutexattr_t is new System.Address;
-+ type pthread_cond_t is new System.Address;
-+ type pthread_condattr_t is new System.Address;
-+ type pthread_key_t is new int;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-netbsd.adb
-@@ -0,0 +1,141 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1991-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the NetBSD THREADS version of this package
-+
-+with Interfaces.C; use Interfaces.C;
-+
-+package body System.OS_Interface is
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int is
-+ type int_ptr is access all int;
-+
-+ function internal_errno return int_ptr;
-+ pragma Import (C, internal_errno, "__errno");
-+
-+ begin
-+ return (internal_errno.all);
-+ end Errno;
-+
-+ --------------------
-+ -- Get_Stack_Base --
-+ --------------------
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address is
-+ pragma Unreferenced (thread);
-+ begin
-+ return Null_Address;
-+ end Get_Stack_Base;
-+
-+ ------------------
-+ -- pthread_init --
-+ ------------------
-+
-+ procedure pthread_init is
-+ begin
-+ null;
-+ end pthread_init;
-+
-+ -----------------------------------
-+ -- pthread_mutexattr_setprotocol --
-+ -----------------------------------
-+
-+ function pthread_mutexattr_setprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : int) return int is
-+ pragma Unreferenced (attr, protocol);
-+ begin
-+ return 0;
-+ end pthread_mutexattr_setprotocol;
-+
-+ --------------------------------------
-+ -- pthread_mutexattr_setprioceiling --
-+ --------------------------------------
-+
-+ function pthread_mutexattr_setprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : int) return int is
-+ pragma Unreferenced (attr, prioceiling);
-+ begin
-+ return 0;
-+ end pthread_mutexattr_setprioceiling;
-+
-+ -----------------
-+ -- To_Duration --
-+ -----------------
-+
-+ function To_Duration (TS : timespec) return Duration is
-+ begin
-+ return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9;
-+ end To_Duration;
-+
-+ ------------------------
-+ -- To_Target_Priority --
-+ ------------------------
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int
-+ is
-+ begin
-+ return Interfaces.C.int (Prio);
-+ end To_Target_Priority;
-+
-+ -----------------
-+ -- To_Timespec --
-+ -----------------
-+
-+ function To_Timespec (D : Duration) return timespec is
-+ S : time_t;
-+ F : Duration;
-+
-+ begin
-+ S := time_t (Long_Long_Integer (D));
-+ F := D - Duration (S);
-+
-+ -- If F has negative value due to a round-up, adjust for positive F
-+ -- value.
-+
-+ if F < 0.0 then
-+ S := S - 1;
-+ F := F + 1.0;
-+ end if;
-+
-+ return timespec'(tv_sec => S,
-+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ end To_Timespec;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-netbsd.ads
-@@ -0,0 +1,674 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the NetBSD PTHREADS version of this package.
-+-- It is based off of the FreeBSD PTHREADS as of 4.2.3.
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+
-+with Interfaces.C;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ pragma Linker_Options ("-pthread");
-+
-+ subtype int is Interfaces.C.int;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int;
-+ pragma Inline (Errno);
-+
-+ EAGAIN : constant := 35;
-+ EINTR : constant := 4;
-+ EINVAL : constant := 22;
-+ ENOMEM : constant := 12;
-+ ETIMEDOUT : constant := 60;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 63;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := 1; -- hangup
-+ SIGINT : constant := 2; -- interrupt (rubout)
-+ SIGQUIT : constant := 3; -- quit (ASCD FS)
-+ SIGILL : constant := 4; -- illegal instruction (not reset)
-+ SIGTRAP : constant := 5; -- trace trap (not reset)
-+ SIGIOT : constant := 6; -- IOT instruction
-+ SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
-+ SIGEMT : constant := 7; -- EMT instruction
-+ SIGFPE : constant := 8; -- floating point exception
-+ SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
-+ SIGBUS : constant := 10; -- bus error
-+ SIGSEGV : constant := 11; -- segmentation violation
-+ SIGSYS : constant := 12; -- bad argument to system call
-+ SIGPIPE : constant := 13; -- write on a pipe with no one to read it
-+ SIGALRM : constant := 14; -- alarm clock
-+ SIGTERM : constant := 15; -- software termination signal from kill
-+ SIGURG : constant := 16; -- urgent condition on IO channel
-+ SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
-+ SIGTSTP : constant := 18; -- user stop requested from tty
-+ SIGCONT : constant := 19; -- stopped process has been continued
-+ SIGCLD : constant := 20; -- alias for SIGCHLD
-+ SIGCHLD : constant := 20; -- child status change
-+ SIGTTIN : constant := 21; -- background tty read attempted
-+ SIGTTOU : constant := 22; -- background tty write attempted
-+ SIGIO : constant := 23; -- I/O possible (Solaris SIGPOLL alias)
-+ SIGXCPU : constant := 24; -- CPU time limit exceeded
-+ SIGXFSZ : constant := 25; -- filesize limit exceeded
-+ SIGVTALRM : constant := 26; -- virtual timer expired
-+ SIGPROF : constant := 27; -- profiling timer expired
-+ SIGWINCH : constant := 28; -- window size change
-+ SIGINFO : constant := 29; -- information request (BSD)
-+ SIGUSR1 : constant := 30; -- user defined signal 1
-+ SIGUSR2 : constant := 31; -- user defined signal 2
-+ SIGPWR : constant := 32; -- power fail/restart (not reset when caught)
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ -- Interrupts that must be unmasked at all times. NetBSD
-+ -- pthreads will not allow an application to mask out any
-+ -- interrupt needed by the threads library.
-+ Unmasked : constant Signal_Set :=
-+ (SIGTRAP, SIGBUS, SIGTTIN, SIGTTOU, SIGTSTP);
-+
-+ -- NetBSD will uses SIGPROF for timing. Do not allow a
-+ -- handler to attach to this signal.
-+ Reserved : constant Signal_Set := (0 .. 0 => SIGPROF);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigaddset, "__sigaddset14");
-+
-+ function sigdelset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigdelset, "__sigdelset14");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "__sigfillset14");
-+
-+ function sigismember
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigismember, "__sigismember14");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "__sigemptyset14");
-+
-+ -- sigcontext is architecture dependent, so define it private
-+ type struct_sigcontext is private;
-+
-+ type old_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : int;
-+ end record;
-+ pragma Convention (C, old_struct_sigaction);
-+
-+ type new_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_flags : int;
-+ sa_mask : sigset_t;
-+ end record;
-+ pragma Convention (C, new_struct_sigaction);
-+
-+ subtype struct_sigaction is new_struct_sigaction;
-+ type struct_sigaction_ptr is access all struct_sigaction;
-+
-+ SIG_BLOCK : constant := 1;
-+ SIG_UNBLOCK : constant := 2;
-+ SIG_SETMASK : constant := 3;
-+
-+ SIG_DFL : constant := 0;
-+ SIG_IGN : constant := 1;
-+ SIG_ERR : constant := -1;
-+ SIG_HOLD : constant := 3;
-+
-+ SA_SIGINFO : constant := 16#0040#;
-+ SA_ONSTACK : constant := 16#0001#;
-+
-+ function sigaction
-+ (sig : Signal;
-+ act : struct_sigaction_ptr;
-+ oact : struct_sigaction_ptr) return int;
-+ pragma Import (C, sigaction, "__sigaction14");
-+
-+ ----------
-+ -- Time --
-+ ----------
-+
-+ Time_Slice_Supported : constant Boolean := True;
-+ -- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
-+
-+ type timespec is private;
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "nanosleep");
-+
-+ type clockid_t is private;
-+
-+ CLOCK_REALTIME : constant clockid_t;
-+
-+ function clock_gettime
-+ (clock_id : clockid_t;
-+ tp : access timespec)
-+ return int;
-+ pragma Import (C, clock_gettime, "clock_gettime");
-+
-+ function To_Duration (TS : timespec) return Duration;
-+ pragma Inline (To_Duration);
-+
-+ function To_Timespec (D : Duration) return timespec;
-+ pragma Inline (To_Timespec);
-+
-+ type struct_timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, struct_timezone);
-+
-+ -------------------------
-+ -- Priority Scheduling --
-+ -------------------------
-+
-+ SCHED_FIFO : constant := 1;
-+ SCHED_OTHER : constant := 2;
-+ SCHED_RR : constant := 3;
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int;
-+ -- Maps System.Any_Priority to a POSIX priority
-+
-+ -------------
-+ -- Process --
-+ -------------
-+
-+ type pid_t is private;
-+
-+ function kill (pid : pid_t; sig : Signal) return int;
-+ pragma Import (C, kill, "kill");
-+
-+ function getpid return pid_t;
-+ pragma Import (C, getpid, "getpid");
-+
-+ ---------
-+ -- LWP --
-+ ---------
-+
-+ function lwp_self return System.Address;
-+ -- lwp_self does not exist on this thread library, revert to pthread_self
-+ -- which is the closest approximation (with getpid). This function is
-+ -- needed to share 7staprop.adb across POSIX-like targets.
-+ pragma Import (C, lwp_self, "pthread_self");
-+
-+ -------------
-+ -- Threads --
-+ -------------
-+
-+ type Thread_Body is access
-+ function (arg : System.Address) return System.Address;
-+ pragma Convention (C, Thread_Body);
-+
-+ function Thread_Body_Access is new
-+ Ada.Unchecked_Conversion (System.Address, Thread_Body);
-+
-+ type pthread_t is private;
-+ subtype Thread_Id is pthread_t;
-+
-+ type pthread_mutex_t is limited private;
-+ type pthread_cond_t is limited private;
-+ type pthread_attr_t is limited private;
-+ type pthread_mutexattr_t is limited private;
-+ type pthread_condattr_t is limited private;
-+ type pthread_key_t is private;
-+
-+ PTHREAD_CREATE_DETACHED : constant := 1;
-+ PTHREAD_CREATE_JOINABLE : constant := 0;
-+
-+ PTHREAD_SCOPE_PROCESS : constant := 0;
-+ PTHREAD_SCOPE_SYSTEM : constant := 2;
-+
-+ -----------
-+ -- Stack --
-+ -----------
-+
-+ type stack_t is record
-+ ss_sp : System.Address;
-+ ss_size : size_t;
-+ ss_flags : int;
-+ end record;
-+ pragma Convention (C, stack_t);
-+
-+ function sigaltstack
-+ (ss : not null access stack_t;
-+ oss : access stack_t) return int;
-+ pragma Import (C, sigaltstack, "sigaltstack");
-+
-+ Alternate_Stack : aliased System.Address;
-+ -- This is a dummy definition, never used (Alternate_Stack_Size is null)
-+
-+ Alternate_Stack_Size : constant := 0;
-+ -- No alternate signal stack is used on this platform
-+
-+ Stack_Base_Available : constant Boolean := False;
-+ -- Indicates whether the stack base is available on this target. This
-+ -- allows us to share s-osinte.adb between all the FSU run time. Note that
-+ -- this value can only be true if pthread_t has a complete definition that
-+ -- corresponds exactly to the C header files.
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address;
-+ pragma Inline (Get_Stack_Base);
-+ -- returns the stack base of the specified thread. Only call this function
-+ -- when Stack_Base_Available is True.
-+
-+ function Get_Page_Size return size_t;
-+ function Get_Page_Size return Address;
-+ pragma Import (C, Get_Page_Size, "getpagesize");
-+ -- Returns the size of a page
-+
-+ PROT_NONE : constant := 0;
-+ PROT_READ : constant := 1;
-+ PROT_WRITE : constant := 2;
-+ PROT_EXEC : constant := 4;
-+ PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
-+ PROT_ON : constant := PROT_NONE;
-+ PROT_OFF : constant := PROT_ALL;
-+
-+ function mprotect (addr : Address; len : size_t; prot : int) return int;
-+ pragma Import (C, mprotect);
-+
-+ ---------------------------------------
-+ -- Nonstandard Thread Initialization --
-+ ---------------------------------------
-+
-+ -- FSU_THREADS requires pthread_init, which is nonstandard and this should
-+ -- be invoked during the elaboration of s-taprop.adb.
-+
-+ -- NetBSD does not require this so we provide an empty Ada body
-+
-+ procedure pthread_init;
-+
-+ -------------------------
-+ -- POSIX.1c Section 3 --
-+ -------------------------
-+
-+ function sigwait
-+ (set : access sigset_t;
-+ sig : access Signal) return int;
-+ pragma Import (C, sigwait, "sigwait");
-+
-+ function pthread_kill
-+ (thread : pthread_t;
-+ sig : Signal) return int;
-+ pragma Import (C, pthread_kill, "pthread_kill");
-+
-+ function pthread_sigmask
-+ (how : int;
-+ set : access sigset_t;
-+ oset : access sigset_t) return int;
-+ pragma Import (C, pthread_sigmask, "pthread_sigmask");
-+
-+ --------------------------
-+ -- POSIX.1c Section 11 --
-+ --------------------------
-+
-+ function pthread_mutexattr_init
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
-+
-+ function pthread_mutexattr_destroy
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
-+
-+ function pthread_mutex_init
-+ (mutex : access pthread_mutex_t;
-+ attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
-+
-+ function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
-+
-+ function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
-+
-+ function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
-+
-+ function pthread_condattr_init
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
-+
-+ function pthread_condattr_destroy
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
-+
-+ function pthread_cond_init
-+ (cond : access pthread_cond_t;
-+ attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_cond_init, "pthread_cond_init");
-+
-+ function pthread_cond_destroy (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
-+
-+ function pthread_cond_signal (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
-+
-+ function pthread_cond_wait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
-+
-+ function pthread_cond_timedwait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t;
-+ abstime : access timespec) return int;
-+ pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
-+
-+ Relative_Timed_Wait : constant Boolean := False;
-+ -- pthread_cond_timedwait requires an absolute delay time
-+
-+ --------------------------
-+ -- POSIX.1c Section 13 --
-+ --------------------------
-+
-+ PTHREAD_PRIO_NONE : constant := 0;
-+ PTHREAD_PRIO_PROTECT : constant := 2;
-+ PTHREAD_PRIO_INHERIT : constant := 1;
-+
-+ function pthread_mutexattr_setprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : int) return int;
-+
-+ function pthread_mutexattr_setprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : int) return int;
-+
-+ type struct_sched_param is record
-+ sched_priority : int;
-+ end record;
-+ pragma Convention (C, struct_sched_param);
-+
-+ function pthread_getschedparam
-+ (thread : pthread_t;
-+ policy : access int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_getschedparam, "pthread_getschedparam");
-+
-+ function pthread_setschedparam
-+ (thread : pthread_t;
-+ policy : int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
-+
-+ function pthread_attr_setscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : int) return int;
-+ pragma Import (C, pthread_attr_setscope, "pthread_attr_setscope");
-+
-+ function pthread_attr_getscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : access int) return int;
-+ pragma Import (C, pthread_attr_getscope, "pthread_attr_getscope");
-+
-+ function pthread_attr_setinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setinheritsched, "pthread_attr_setinheritsched");
-+
-+ function pthread_attr_getinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getinheritsched, "pthread_attr_getinheritsched");
-+
-+ function pthread_attr_setschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : int) return int;
-+ pragma Import (C, pthread_attr_setschedpolicy,
-+ "pthread_attr_setschedpolicy");
-+
-+ function pthread_attr_getschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : access int) return int;
-+ pragma Import (C, pthread_attr_getschedpolicy,
-+ "pthread_attr_getschedpolicy");
-+
-+ function pthread_attr_setschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : int) return int;
-+ pragma Import (C, pthread_attr_setschedparam, "pthread_attr_setschedparam");
-+
-+ function pthread_attr_getschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : access int) return int;
-+ pragma Import (C, pthread_attr_getschedparam, "pthread_attr_getschedparam");
-+
-+ function sched_yield return int;
-+ pragma Import (C, sched_yield, "sched_yield");
-+
-+ --------------------------
-+ -- P1003.1c Section 16 --
-+ --------------------------
-+
-+ function pthread_attr_init (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_init, "pthread_attr_init");
-+
-+ function pthread_attr_destroy
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-+
-+ function pthread_attr_setdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
-+
-+ function pthread_attr_getdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getdetachstate, "pthread_attr_getdetachstate");
-+
-+ function pthread_attr_getstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : access size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_getstacksize, "pthread_attr_getstacksize");
-+
-+ function pthread_attr_setstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
-+
-+ function pthread_create
-+ (thread : access pthread_t;
-+ attributes : access pthread_attr_t;
-+ start_routine : Thread_Body;
-+ arg : System.Address) return int;
-+ pragma Import (C, pthread_create, "pthread_create");
-+
-+ function pthread_detach (thread : pthread_t) return int;
-+ pragma Import (C, pthread_detach, "pthread_detach");
-+
-+ procedure pthread_exit (status : System.Address);
-+ pragma Import (C, pthread_exit, "pthread_exit");
-+
-+ function pthread_self return pthread_t;
-+ pragma Import (C, pthread_self, "pthread_self");
-+
-+ --------------------------
-+ -- POSIX.1c Section 17 --
-+ --------------------------
-+
-+ function pthread_setspecific
-+ (key : pthread_key_t;
-+ value : System.Address) return int;
-+ pragma Import (C, pthread_setspecific, "pthread_setspecific");
-+
-+ function pthread_getspecific (key : pthread_key_t) return System.Address;
-+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
-+
-+ type destructor_pointer is access procedure (arg : System.Address);
-+ pragma Convention (C, destructor_pointer);
-+
-+ function pthread_key_create
-+ (key : access pthread_key_t;
-+ destructor : destructor_pointer) return int;
-+ pragma Import (C, pthread_key_create, "pthread_key_create");
-+
-+ ------------------------------------
-+ -- Non-portable Pthread Functions --
-+ ------------------------------------
-+
-+ function pthread_set_name_np
-+ (thread : pthread_t;
-+ name : System.Address) return int;
-+ pragma Import (C, pthread_set_name_np, "pthread_set_name_np");
-+
-+private
-+
-+ type sigset_t is array (1 .. 4) of unsigned;
-+
-+ -- In NetBSD the component sa_handler turns out to
-+ -- be one a union type, and the selector is a macro:
-+ -- #define sa_handler __sigaction_u._handler
-+ -- #define sa_sigaction __sigaction_u._sigaction
-+
-+ -- Should we add a signal_context type here ???
-+ -- How could it be done independent of the CPU architecture ???
-+ -- sigcontext type is opaque, so it is architecturally neutral.
-+ -- It is always passed as an access type, so define it as an empty record
-+ -- since the contents are not used anywhere.
-+
-+ type struct_sigcontext is null record;
-+ pragma Convention (C, struct_sigcontext);
-+
-+ type pid_t is new int;
-+
-+ type time_t is new int;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type clockid_t is new int;
-+ CLOCK_REALTIME : constant clockid_t := 0;
-+
-+ type pthread_t is new System.Address;
-+ type pthread_attr_t is record
-+ Pta_Magic : unsigned;
-+ Pta_Flags : int;
-+ Pta_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_attr_t);
-+
-+ -- PORT NOTE: The size of pthread_spin_t is defined in
-+ -- /src/sys/arch/*/include/types.h
-+ type pthread_spin_t is new unsigned_char;
-+
-+ type pthread_queue_t is record
-+ Pthqh_First : pthread_t;
-+ Pthqh_Last : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_queue_t);
-+
-+ type pthread_mutex_t is record
-+ Ptm_Majic : unsigned;
-+ Ptm_Lock : pthread_spin_t;
-+ Ptm_Interlock : pthread_spin_t;
-+ Ptm_Owner : pthread_t;
-+ Ptm_Block : pthread_queue_t;
-+ Ptm_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_mutex_t);
-+
-+ type pthread_mutexattr_t is record
-+ Ptma_Majic : unsigned;
-+ Ptma_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_mutexattr_t);
-+
-+ type pthread_cond_t is record
-+ Ptc_Magic : unsigned;
-+ Ptc_Lock : pthread_spin_t;
-+ Ptc_Waiters : pthread_queue_t;
-+ Ptc_Mutex : pthread_mutex_t;
-+ Ptc_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_cond_t);
-+
-+ type pthread_condattr_t is record
-+ Ptca_Magic : unsigned;
-+ Ptca_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_condattr_t);
-+
-+ type pthread_key_t is new int;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-netbsd6.ads
-@@ -0,0 +1,675 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010, 2011 John Marino <www.dragonlace.net> --
-+------------------------------------------------------------------------------
-+
-+-- This is the NetBSD 6+ PTHREADS version of this package.
-+-- It is based off of the FreeBSD PTHREADS as of 4.2.3.
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+
-+with Interfaces.C;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ pragma Linker_Options ("-pthread");
-+
-+ subtype int is Interfaces.C.int;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+ subtype int64_t is Interfaces.Integer_64;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int;
-+ pragma Inline (Errno);
-+
-+ EAGAIN : constant := 35;
-+ EINTR : constant := 4;
-+ EINVAL : constant := 22;
-+ ENOMEM : constant := 12;
-+ ETIMEDOUT : constant := 60;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 63;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := 1; -- hangup
-+ SIGINT : constant := 2; -- interrupt (rubout)
-+ SIGQUIT : constant := 3; -- quit (ASCD FS)
-+ SIGILL : constant := 4; -- illegal instruction (not reset)
-+ SIGTRAP : constant := 5; -- trace trap (not reset)
-+ SIGIOT : constant := 6; -- IOT instruction
-+ SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
-+ SIGEMT : constant := 7; -- EMT instruction
-+ SIGFPE : constant := 8; -- floating point exception
-+ SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
-+ SIGBUS : constant := 10; -- bus error
-+ SIGSEGV : constant := 11; -- segmentation violation
-+ SIGSYS : constant := 12; -- bad argument to system call
-+ SIGPIPE : constant := 13; -- write on a pipe with no one to read it
-+ SIGALRM : constant := 14; -- alarm clock
-+ SIGTERM : constant := 15; -- software termination signal from kill
-+ SIGURG : constant := 16; -- urgent condition on IO channel
-+ SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
-+ SIGTSTP : constant := 18; -- user stop requested from tty
-+ SIGCONT : constant := 19; -- stopped process has been continued
-+ SIGCLD : constant := 20; -- alias for SIGCHLD
-+ SIGCHLD : constant := 20; -- child status change
-+ SIGTTIN : constant := 21; -- background tty read attempted
-+ SIGTTOU : constant := 22; -- background tty write attempted
-+ SIGIO : constant := 23; -- I/O possible (Solaris SIGPOLL alias)
-+ SIGXCPU : constant := 24; -- CPU time limit exceeded
-+ SIGXFSZ : constant := 25; -- filesize limit exceeded
-+ SIGVTALRM : constant := 26; -- virtual timer expired
-+ SIGPROF : constant := 27; -- profiling timer expired
-+ SIGWINCH : constant := 28; -- window size change
-+ SIGINFO : constant := 29; -- information request (BSD)
-+ SIGUSR1 : constant := 30; -- user defined signal 1
-+ SIGUSR2 : constant := 31; -- user defined signal 2
-+ SIGPWR : constant := 32; -- power fail/restart (not reset when caught)
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ -- Interrupts that must be unmasked at all times. NetBSD
-+ -- pthreads will not allow an application to mask out any
-+ -- interrupt needed by the threads library.
-+ Unmasked : constant Signal_Set :=
-+ (SIGTRAP, SIGBUS, SIGTTIN, SIGTTOU, SIGTSTP);
-+
-+ -- NetBSD will uses SIGPROF for timing. Do not allow a
-+ -- handler to attach to this signal.
-+ Reserved : constant Signal_Set := (0 .. 0 => SIGPROF);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigaddset, "__sigaddset14");
-+
-+ function sigdelset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigdelset, "__sigdelset14");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "__sigfillset14");
-+
-+ function sigismember
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigismember, "__sigismember14");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "__sigemptyset14");
-+
-+ -- sigcontext is architecture dependent, so define it private
-+ type struct_sigcontext is private;
-+
-+ type old_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : int;
-+ end record;
-+ pragma Convention (C, old_struct_sigaction);
-+
-+ type new_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_flags : int;
-+ sa_mask : sigset_t;
-+ end record;
-+ pragma Convention (C, new_struct_sigaction);
-+
-+ subtype struct_sigaction is new_struct_sigaction;
-+ type struct_sigaction_ptr is access all struct_sigaction;
-+
-+ SIG_BLOCK : constant := 1;
-+ SIG_UNBLOCK : constant := 2;
-+ SIG_SETMASK : constant := 3;
-+
-+ SIG_DFL : constant := 0;
-+ SIG_IGN : constant := 1;
-+ SIG_ERR : constant := -1;
-+ SIG_HOLD : constant := 3;
-+
-+ SA_SIGINFO : constant := 16#0040#;
-+ SA_ONSTACK : constant := 16#0001#;
-+
-+ function sigaction
-+ (sig : Signal;
-+ act : struct_sigaction_ptr;
-+ oact : struct_sigaction_ptr) return int;
-+ pragma Import (C, sigaction, "__sigaction14");
-+
-+ ----------
-+ -- Time --
-+ ----------
-+
-+ Time_Slice_Supported : constant Boolean := True;
-+ -- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
-+
-+ type timespec is private;
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "__nanosleep50");
-+
-+ type clockid_t is private;
-+
-+ CLOCK_REALTIME : constant clockid_t;
-+
-+ function clock_gettime
-+ (clock_id : clockid_t;
-+ tp : access timespec)
-+ return int;
-+ pragma Import (C, clock_gettime, "__clock_gettime50");
-+
-+ function To_Duration (TS : timespec) return Duration;
-+ pragma Inline (To_Duration);
-+
-+ function To_Timespec (D : Duration) return timespec;
-+ pragma Inline (To_Timespec);
-+
-+ type struct_timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, struct_timezone);
-+
-+ -------------------------
-+ -- Priority Scheduling --
-+ -------------------------
-+
-+ SCHED_FIFO : constant := 1;
-+ SCHED_OTHER : constant := 2;
-+ SCHED_RR : constant := 3;
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int;
-+ -- Maps System.Any_Priority to a POSIX priority
-+
-+ -------------
-+ -- Process --
-+ -------------
-+
-+ type pid_t is private;
-+
-+ function kill (pid : pid_t; sig : Signal) return int;
-+ pragma Import (C, kill, "kill");
-+
-+ function getpid return pid_t;
-+ pragma Import (C, getpid, "getpid");
-+
-+ ---------
-+ -- LWP --
-+ ---------
-+
-+ function lwp_self return System.Address;
-+ -- lwp_self does not exist on this thread library, revert to pthread_self
-+ -- which is the closest approximation (with getpid). This function is
-+ -- needed to share 7staprop.adb across POSIX-like targets.
-+ pragma Import (C, lwp_self, "pthread_self");
-+
-+ -------------
-+ -- Threads --
-+ -------------
-+
-+ type Thread_Body is access
-+ function (arg : System.Address) return System.Address;
-+ pragma Convention (C, Thread_Body);
-+
-+ function Thread_Body_Access is new
-+ Ada.Unchecked_Conversion (System.Address, Thread_Body);
-+
-+ type pthread_t is private;
-+ subtype Thread_Id is pthread_t;
-+
-+ type pthread_mutex_t is limited private;
-+ type pthread_cond_t is limited private;
-+ type pthread_attr_t is limited private;
-+ type pthread_mutexattr_t is limited private;
-+ type pthread_condattr_t is limited private;
-+ type pthread_key_t is private;
-+
-+ PTHREAD_CREATE_DETACHED : constant := 1;
-+ PTHREAD_CREATE_JOINABLE : constant := 0;
-+
-+ PTHREAD_SCOPE_PROCESS : constant := 0;
-+ PTHREAD_SCOPE_SYSTEM : constant := 2;
-+
-+ -----------
-+ -- Stack --
-+ -----------
-+
-+ type stack_t is record
-+ ss_sp : System.Address;
-+ ss_size : size_t;
-+ ss_flags : int;
-+ end record;
-+ pragma Convention (C, stack_t);
-+
-+ function sigaltstack
-+ (ss : not null access stack_t;
-+ oss : access stack_t) return int;
-+ pragma Import (C, sigaltstack, "sigaltstack");
-+
-+ Alternate_Stack : aliased System.Address;
-+ -- This is a dummy definition, never used (Alternate_Stack_Size is null)
-+
-+ Alternate_Stack_Size : constant := 0;
-+ -- No alternate signal stack is used on this platform
-+
-+ Stack_Base_Available : constant Boolean := False;
-+ -- Indicates whether the stack base is available on this target. This
-+ -- allows us to share s-osinte.adb between all the FSU run time. Note that
-+ -- this value can only be true if pthread_t has a complete definition that
-+ -- corresponds exactly to the C header files.
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address;
-+ pragma Inline (Get_Stack_Base);
-+ -- returns the stack base of the specified thread. Only call this function
-+ -- when Stack_Base_Available is True.
-+
-+ function Get_Page_Size return size_t;
-+ function Get_Page_Size return Address;
-+ pragma Import (C, Get_Page_Size, "getpagesize");
-+ -- Returns the size of a page
-+
-+ PROT_NONE : constant := 0;
-+ PROT_READ : constant := 1;
-+ PROT_WRITE : constant := 2;
-+ PROT_EXEC : constant := 4;
-+ PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
-+ PROT_ON : constant := PROT_NONE;
-+ PROT_OFF : constant := PROT_ALL;
-+
-+ function mprotect (addr : Address; len : size_t; prot : int) return int;
-+ pragma Import (C, mprotect);
-+
-+ ---------------------------------------
-+ -- Nonstandard Thread Initialization --
-+ ---------------------------------------
-+
-+ -- FSU_THREADS requires pthread_init, which is nonstandard and this should
-+ -- be invoked during the elaboration of s-taprop.adb.
-+
-+ -- NetBSD does not require this so we provide an empty Ada body
-+
-+ procedure pthread_init;
-+
-+ -------------------------
-+ -- POSIX.1c Section 3 --
-+ -------------------------
-+
-+ function sigwait
-+ (set : access sigset_t;
-+ sig : access Signal) return int;
-+ pragma Import (C, sigwait, "sigwait");
-+
-+ function pthread_kill
-+ (thread : pthread_t;
-+ sig : Signal) return int;
-+ pragma Import (C, pthread_kill, "pthread_kill");
-+
-+ function pthread_sigmask
-+ (how : int;
-+ set : access sigset_t;
-+ oset : access sigset_t) return int;
-+ pragma Import (C, pthread_sigmask, "pthread_sigmask");
-+
-+ --------------------------
-+ -- POSIX.1c Section 11 --
-+ --------------------------
-+
-+ function pthread_mutexattr_init
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
-+
-+ function pthread_mutexattr_destroy
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
-+
-+ function pthread_mutex_init
-+ (mutex : access pthread_mutex_t;
-+ attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
-+
-+ function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
-+
-+ function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
-+
-+ function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
-+
-+ function pthread_condattr_init
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
-+
-+ function pthread_condattr_destroy
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
-+
-+ function pthread_cond_init
-+ (cond : access pthread_cond_t;
-+ attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_cond_init, "pthread_cond_init");
-+
-+ function pthread_cond_destroy (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
-+
-+ function pthread_cond_signal (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
-+
-+ function pthread_cond_wait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
-+
-+ function pthread_cond_timedwait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t;
-+ abstime : access timespec) return int;
-+ pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
-+
-+ Relative_Timed_Wait : constant Boolean := False;
-+ -- pthread_cond_timedwait requires an absolute delay time
-+
-+ --------------------------
-+ -- POSIX.1c Section 13 --
-+ --------------------------
-+
-+ PTHREAD_PRIO_NONE : constant := 0;
-+ PTHREAD_PRIO_PROTECT : constant := 2;
-+ PTHREAD_PRIO_INHERIT : constant := 1;
-+
-+ function pthread_mutexattr_setprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : int) return int;
-+
-+ function pthread_mutexattr_setprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : int) return int;
-+
-+ type struct_sched_param is record
-+ sched_priority : int;
-+ end record;
-+ pragma Convention (C, struct_sched_param);
-+
-+ function pthread_getschedparam
-+ (thread : pthread_t;
-+ policy : access int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_getschedparam, "pthread_getschedparam");
-+
-+ function pthread_setschedparam
-+ (thread : pthread_t;
-+ policy : int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
-+
-+ function pthread_attr_setscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : int) return int;
-+ pragma Import (C, pthread_attr_setscope, "pthread_attr_setscope");
-+
-+ function pthread_attr_getscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : access int) return int;
-+ pragma Import (C, pthread_attr_getscope, "pthread_attr_getscope");
-+
-+ function pthread_attr_setinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setinheritsched, "pthread_attr_setinheritsched");
-+
-+ function pthread_attr_getinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getinheritsched, "pthread_attr_getinheritsched");
-+
-+ function pthread_attr_setschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : int) return int;
-+ pragma Import (C, pthread_attr_setschedpolicy,
-+ "pthread_attr_setschedpolicy");
-+
-+ function pthread_attr_getschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : access int) return int;
-+ pragma Import (C, pthread_attr_getschedpolicy,
-+ "pthread_attr_getschedpolicy");
-+
-+ function pthread_attr_setschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : int) return int;
-+ pragma Import (C, pthread_attr_setschedparam, "pthread_attr_setschedparam");
-+
-+ function pthread_attr_getschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : access int) return int;
-+ pragma Import (C, pthread_attr_getschedparam, "pthread_attr_getschedparam");
-+
-+ function sched_yield return int;
-+ pragma Import (C, sched_yield, "sched_yield");
-+
-+ --------------------------
-+ -- P1003.1c Section 16 --
-+ --------------------------
-+
-+ function pthread_attr_init (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_init, "pthread_attr_init");
-+
-+ function pthread_attr_destroy
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-+
-+ function pthread_attr_setdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
-+
-+ function pthread_attr_getdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getdetachstate, "pthread_attr_getdetachstate");
-+
-+ function pthread_attr_getstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : access size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_getstacksize, "pthread_attr_getstacksize");
-+
-+ function pthread_attr_setstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
-+
-+ function pthread_create
-+ (thread : access pthread_t;
-+ attributes : access pthread_attr_t;
-+ start_routine : Thread_Body;
-+ arg : System.Address) return int;
-+ pragma Import (C, pthread_create, "pthread_create");
-+
-+ function pthread_detach (thread : pthread_t) return int;
-+ pragma Import (C, pthread_detach, "pthread_detach");
-+
-+ procedure pthread_exit (status : System.Address);
-+ pragma Import (C, pthread_exit, "pthread_exit");
-+
-+ function pthread_self return pthread_t;
-+ pragma Import (C, pthread_self, "pthread_self");
-+
-+ --------------------------
-+ -- POSIX.1c Section 17 --
-+ --------------------------
-+
-+ function pthread_setspecific
-+ (key : pthread_key_t;
-+ value : System.Address) return int;
-+ pragma Import (C, pthread_setspecific, "pthread_setspecific");
-+
-+ function pthread_getspecific (key : pthread_key_t) return System.Address;
-+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
-+
-+ type destructor_pointer is access procedure (arg : System.Address);
-+ pragma Convention (C, destructor_pointer);
-+
-+ function pthread_key_create
-+ (key : access pthread_key_t;
-+ destructor : destructor_pointer) return int;
-+ pragma Import (C, pthread_key_create, "pthread_key_create");
-+
-+ ------------------------------------
-+ -- Non-portable Pthread Functions --
-+ ------------------------------------
-+
-+ function pthread_set_name_np
-+ (thread : pthread_t;
-+ name : System.Address) return int;
-+ pragma Import (C, pthread_set_name_np, "pthread_set_name_np");
-+
-+private
-+
-+ type sigset_t is array (1 .. 4) of unsigned;
-+
-+ -- In NetBSD the component sa_handler turns out to
-+ -- be one a union type, and the selector is a macro:
-+ -- #define sa_handler __sigaction_u._handler
-+ -- #define sa_sigaction __sigaction_u._sigaction
-+
-+ -- Should we add a signal_context type here ???
-+ -- How could it be done independent of the CPU architecture ???
-+ -- sigcontext type is opaque, so it is architecturally neutral.
-+ -- It is always passed as an access type, so define it as an empty record
-+ -- since the contents are not used anywhere.
-+
-+ type struct_sigcontext is null record;
-+ pragma Convention (C, struct_sigcontext);
-+
-+ type pid_t is new int;
-+
-+ type time_t is new int64_t;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type clockid_t is new int;
-+ CLOCK_REALTIME : constant clockid_t := 0;
-+
-+ type pthread_t is new System.Address;
-+ type pthread_attr_t is record
-+ Pta_Magic : unsigned;
-+ Pta_Flags : int;
-+ Pta_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_attr_t);
-+
-+ -- PORT NOTE: The size of pthread_spin_t is defined in
-+ -- /src/sys/arch/*/include/types.h
-+ type pthread_spin_t is new unsigned_char;
-+
-+ type pthread_queue_t is record
-+ Pthqh_First : pthread_t;
-+ Pthqh_Last : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_queue_t);
-+
-+ type pthread_mutex_t is record
-+ Ptm_Majic : unsigned;
-+ Ptm_Lock : pthread_spin_t;
-+ Ptm_Interlock : pthread_spin_t;
-+ Ptm_Owner : pthread_t;
-+ Ptm_Block : pthread_queue_t;
-+ Ptm_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_mutex_t);
-+
-+ type pthread_mutexattr_t is record
-+ Ptma_Majic : unsigned;
-+ Ptma_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_mutexattr_t);
-+
-+ type pthread_cond_t is record
-+ Ptc_Magic : unsigned;
-+ Ptc_Lock : pthread_spin_t;
-+ Ptc_Waiters : pthread_queue_t;
-+ Ptc_Mutex : pthread_mutex_t;
-+ Ptc_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_cond_t);
-+
-+ type pthread_condattr_t is record
-+ Ptca_Magic : unsigned;
-+ Ptca_Private : System.Address;
-+ end record;
-+ pragma Convention (C, pthread_condattr_t);
-+
-+ type pthread_key_t is new int;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-openbsd.adb
-@@ -0,0 +1,117 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1991-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the OpenBSD THREADS version of this package
-+
-+with Interfaces.C; use Interfaces.C;
-+
-+package body System.OS_Interface is
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int is
-+ type int_ptr is access all int;
-+
-+ function internal_errno return int_ptr;
-+ pragma Import (C, internal_errno, "__errno");
-+
-+ begin
-+ return (internal_errno.all);
-+ end Errno;
-+
-+ --------------------
-+ -- Get_Stack_Base --
-+ --------------------
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address is
-+ pragma Unreferenced (thread);
-+ begin
-+ return Null_Address;
-+ end Get_Stack_Base;
-+
-+ ------------------
-+ -- pthread_init --
-+ ------------------
-+
-+ procedure pthread_init is
-+ begin
-+ null;
-+ end pthread_init;
-+
-+ -----------------
-+ -- To_Duration --
-+ -----------------
-+
-+ function To_Duration (TS : timespec) return Duration is
-+ begin
-+ return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9;
-+ end To_Duration;
-+
-+ ------------------------
-+ -- To_Target_Priority --
-+ ------------------------
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int
-+ is
-+ begin
-+ return Interfaces.C.int (Prio);
-+ end To_Target_Priority;
-+
-+ -----------------
-+ -- To_Timespec --
-+ -----------------
-+
-+ function To_Timespec (D : Duration) return timespec is
-+ S : time_t;
-+ F : Duration;
-+
-+ begin
-+ S := time_t (Long_Long_Integer (D));
-+ F := D - Duration (S);
-+
-+ -- If F has negative value due to a round-up, adjust for positive F
-+ -- value.
-+
-+ if F < 0.0 then
-+ S := S - 1;
-+ F := F + 1.0;
-+ end if;
-+
-+ return timespec'(tv_sec => S,
-+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ end To_Timespec;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-openbsd.ads
-@@ -0,0 +1,648 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 2, or (at your option) any later ver- --
-+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-+-- OUT 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 distributed with GNARL; see file COPYING. If not, write --
-+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-+-- Boston, MA 02110-1301, USA. --
-+-- --
-+-- As a special exception, if other files instantiate generics from this --
-+-- unit, or you link this unit with other files to produce an executable, --
-+-- this unit 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 Public License. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+-- This is the OpenBSD PTHREADS version of this package
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+
-+with Interfaces.C;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ pragma Linker_Options ("-pthread");
-+
-+ subtype int is Interfaces.C.int;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int;
-+ pragma Inline (Errno);
-+
-+ EAGAIN : constant := 35;
-+ EINTR : constant := 4;
-+ EINVAL : constant := 22;
-+ ENOMEM : constant := 12;
-+ ETIMEDOUT : constant := 60;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 31;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := 1; -- hangup
-+ SIGINT : constant := 2; -- interrupt (rubout)
-+ SIGQUIT : constant := 3; -- quit (ASCD FS)
-+ SIGILL : constant := 4; -- illegal instruction (not reset)
-+ SIGTRAP : constant := 5; -- trace trap (not reset)
-+ SIGIOT : constant := 6; -- IOT instruction
-+ SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
-+ SIGEMT : constant := 7; -- EMT instruction
-+ SIGFPE : constant := 8; -- floating point exception
-+ SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
-+ SIGBUS : constant := 10; -- bus error
-+ SIGSEGV : constant := 11; -- segmentation violation
-+ SIGSYS : constant := 12; -- bad argument to system call
-+ SIGPIPE : constant := 13; -- write on a pipe with no one to read it
-+ SIGALRM : constant := 14; -- alarm clock
-+ SIGTERM : constant := 15; -- software termination signal from kill
-+ SIGURG : constant := 16; -- urgent condition on IO channel
-+ SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
-+ SIGTSTP : constant := 18; -- user stop requested from tty
-+ SIGCONT : constant := 19; -- stopped process has been continued
-+ SIGCLD : constant := 20; -- alias for SIGCHLD
-+ SIGCHLD : constant := 20; -- child status change
-+ SIGTTIN : constant := 21; -- background tty read attempted
-+ SIGTTOU : constant := 22; -- background tty write attempted
-+ SIGIO : constant := 23; -- I/O possible (Solaris SIGPOLL alias)
-+ SIGXCPU : constant := 24; -- CPU time limit exceeded
-+ SIGXFSZ : constant := 25; -- filesize limit exceeded
-+ SIGVTALRM : constant := 26; -- virtual timer expired
-+ SIGPROF : constant := 27; -- profiling timer expired
-+ SIGWINCH : constant := 28; -- window size change
-+ SIGINFO : constant := 29; -- information request (BSD)
-+ SIGUSR1 : constant := 30; -- user defined signal 1
-+ SIGUSR2 : constant := 31; -- user defined signal 2
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ -- Interrupts that must be unmasked at all times. OpenBSD
-+ -- pthreads will not allow an application to mask out any
-+ -- interrupt needed by the threads library.
-+ Unmasked : constant Signal_Set :=
-+ (SIGTRAP, SIGBUS, SIGTTIN, SIGTTOU, SIGTSTP);
-+
-+ -- OpenBSD will uses SIGPROF for timing. Do not allow a
-+ -- handler to attach to this signal.
-+ Reserved : constant Signal_Set := (0 .. 0 => SIGPROF);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigaddset, "sigaddset");
-+
-+ function sigdelset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigdelset, "sigdelset");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "sigfillset");
-+
-+ function sigismember
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigismember, "sigismember");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "sigemptyset");
-+
-+ -- sigcontext is architecture dependent, so define it private
-+ type struct_sigcontext is private;
-+
-+ type old_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : int;
-+ end record;
-+ pragma Convention (C, old_struct_sigaction);
-+
-+ type new_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_flags : int;
-+ sa_mask : sigset_t;
-+ end record;
-+ pragma Convention (C, new_struct_sigaction);
-+
-+ subtype struct_sigaction is new_struct_sigaction;
-+ type struct_sigaction_ptr is access all struct_sigaction;
-+
-+ SIG_BLOCK : constant := 1;
-+ SIG_UNBLOCK : constant := 2;
-+ SIG_SETMASK : constant := 3;
-+
-+ SIG_DFL : constant := 0;
-+ SIG_IGN : constant := 1;
-+
-+ SA_SIGINFO : constant := 16#0040#;
-+ SA_ONSTACK : constant := 16#0001#;
-+
-+ function sigaction
-+ (sig : Signal;
-+ act : struct_sigaction_ptr;
-+ oact : struct_sigaction_ptr) return int;
-+ pragma Import (C, sigaction, "sigaction");
-+
-+ ----------
-+ -- Time --
-+ ----------
-+
-+ Time_Slice_Supported : constant Boolean := True;
-+ -- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
-+
-+ type timespec is private;
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "nanosleep");
-+
-+ type clockid_t is private;
-+
-+ CLOCK_REALTIME : constant clockid_t;
-+
-+ function clock_gettime
-+ (clock_id : clockid_t;
-+ tp : access timespec)
-+ return int;
-+ pragma Import (C, clock_gettime, "clock_gettime");
-+
-+ function To_Duration (TS : timespec) return Duration;
-+ pragma Inline (To_Duration);
-+
-+ function To_Timespec (D : Duration) return timespec;
-+ pragma Inline (To_Timespec);
-+
-+ type struct_timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, struct_timezone);
-+
-+ procedure usleep (useconds : unsigned_long);
-+ pragma Import (C, usleep, "usleep");
-+
-+ -------------------------
-+ -- Priority Scheduling --
-+ -------------------------
-+
-+ SCHED_FIFO : constant := 1;
-+ SCHED_OTHER : constant := 2;
-+ SCHED_RR : constant := 3;
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int;
-+ -- Maps System.Any_Priority to a POSIX priority
-+
-+ -------------
-+ -- Process --
-+ -------------
-+
-+ type pid_t is private;
-+
-+ function kill (pid : pid_t; sig : Signal) return int;
-+ pragma Import (C, kill, "kill");
-+
-+ function getpid return pid_t;
-+ pragma Import (C, getpid, "getpid");
-+
-+ ---------
-+ -- LWP --
-+ ---------
-+
-+ function lwp_self return System.Address;
-+ -- lwp_self does not exist on this thread library, revert to pthread_self
-+ -- which is the closest approximation (with getpid). This function is
-+ -- needed to share 7staprop.adb across POSIX-like targets.
-+ pragma Import (C, lwp_self, "pthread_self");
-+
-+ -------------
-+ -- Threads --
-+ -------------
-+
-+ type Thread_Body is access
-+ function (arg : System.Address) return System.Address;
-+ pragma Convention (C, Thread_Body);
-+
-+ function Thread_Body_Access is new
-+ Ada.Unchecked_Conversion (System.Address, Thread_Body);
-+
-+ type pthread_t is private;
-+ subtype Thread_Id is pthread_t;
-+
-+ type pthread_mutex_t is limited private;
-+ type pthread_cond_t is limited private;
-+ type pthread_attr_t is limited private;
-+ type pthread_mutexattr_t is limited private;
-+ type pthread_condattr_t is limited private;
-+ type pthread_key_t is private;
-+
-+ PTHREAD_CREATE_DETACHED : constant := 1;
-+ PTHREAD_CREATE_JOINABLE : constant := 0;
-+
-+ PTHREAD_SCOPE_PROCESS : constant := 0;
-+ PTHREAD_SCOPE_SYSTEM : constant := 2;
-+
-+ -----------
-+ -- Stack --
-+ -----------
-+
-+ type stack_t is record
-+ ss_sp : System.Address;
-+ ss_size : size_t;
-+ ss_flags : int;
-+ end record;
-+ pragma Convention (C, stack_t);
-+
-+ function sigaltstack
-+ (ss : not null access stack_t;
-+ oss : access stack_t) return int;
-+ pragma Import (C, sigaltstack, "sigaltstack");
-+
-+ Alternate_Stack : aliased System.Address;
-+ -- This is a dummy definition, never used (Alternate_Stack_Size is null)
-+
-+ Alternate_Stack_Size : constant := 0;
-+ -- No alternate signal stack is used on this platform
-+
-+ Stack_Base_Available : constant Boolean := False;
-+ -- Indicates whether the stack base is available on this target. This
-+ -- allows us to share s-osinte.adb between all the FSU run time. Note that
-+ -- this value can only be true if pthread_t has a complete definition that
-+ -- corresponds exactly to the C header files.
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address;
-+ pragma Inline (Get_Stack_Base);
-+ -- returns the stack base of the specified thread. Only call this function
-+ -- when Stack_Base_Available is True.
-+
-+ function Get_Page_Size return size_t;
-+ function Get_Page_Size return Address;
-+ pragma Import (C, Get_Page_Size, "getpagesize");
-+ -- Returns the size of a page
-+
-+ PROT_NONE : constant := 0;
-+ PROT_READ : constant := 1;
-+ PROT_WRITE : constant := 2;
-+ PROT_EXEC : constant := 4;
-+ PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
-+ PROT_ON : constant := PROT_NONE;
-+ PROT_OFF : constant := PROT_ALL;
-+
-+ function mprotect (addr : Address; len : size_t; prot : int) return int;
-+ pragma Import (C, mprotect);
-+
-+ ---------------------------------------
-+ -- Nonstandard Thread Initialization --
-+ ---------------------------------------
-+
-+ -- FSU_THREADS requires pthread_init, which is nonstandard and this should
-+ -- be invoked during the elaboration of s-taprop.adb.
-+
-+ -- OpenBSD does not require this so we provide an empty Ada body
-+
-+ procedure pthread_init;
-+
-+ -------------------------
-+ -- POSIX.1c Section 3 --
-+ -------------------------
-+
-+ function sigwait
-+ (set : access sigset_t;
-+ sig : access Signal) return int;
-+ pragma Import (C, sigwait, "sigwait");
-+
-+ function pthread_kill
-+ (thread : pthread_t;
-+ sig : Signal) return int;
-+ pragma Import (C, pthread_kill, "pthread_kill");
-+
-+ function pthread_sigmask
-+ (how : int;
-+ set : access sigset_t;
-+ oset : access sigset_t) return int;
-+ pragma Import (C, pthread_sigmask, "pthread_sigmask");
-+
-+ --------------------------
-+ -- POSIX.1c Section 11 --
-+ --------------------------
-+
-+ function pthread_mutexattr_init
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_init, "pthread_mutexattr_init");
-+
-+ function pthread_mutexattr_destroy
-+ (attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutexattr_destroy, "pthread_mutexattr_destroy");
-+
-+ function pthread_mutex_init
-+ (mutex : access pthread_mutex_t;
-+ attr : access pthread_mutexattr_t) return int;
-+ pragma Import (C, pthread_mutex_init, "pthread_mutex_init");
-+
-+ function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_destroy, "pthread_mutex_destroy");
-+
-+ function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_lock, "pthread_mutex_lock");
-+
-+ function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_mutex_unlock, "pthread_mutex_unlock");
-+
-+ function pthread_condattr_init
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_init, "pthread_condattr_init");
-+
-+ function pthread_condattr_destroy
-+ (attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_condattr_destroy, "pthread_condattr_destroy");
-+
-+ function pthread_cond_init
-+ (cond : access pthread_cond_t;
-+ attr : access pthread_condattr_t) return int;
-+ pragma Import (C, pthread_cond_init, "pthread_cond_init");
-+
-+ function pthread_cond_destroy (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_destroy, "pthread_cond_destroy");
-+
-+ function pthread_cond_signal (cond : access pthread_cond_t) return int;
-+ pragma Import (C, pthread_cond_signal, "pthread_cond_signal");
-+
-+ function pthread_cond_wait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t) return int;
-+ pragma Import (C, pthread_cond_wait, "pthread_cond_wait");
-+
-+ function pthread_cond_timedwait
-+ (cond : access pthread_cond_t;
-+ mutex : access pthread_mutex_t;
-+ abstime : access timespec) return int;
-+ pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
-+
-+ Relative_Timed_Wait : constant Boolean := False;
-+ -- pthread_cond_timedwait requires an absolute delay time
-+
-+ --------------------------
-+ -- POSIX.1c Section 13 --
-+ --------------------------
-+
-+ PTHREAD_PRIO_NONE : constant := 0;
-+ PTHREAD_PRIO_PROTECT : constant := 2;
-+ PTHREAD_PRIO_INHERIT : constant := 1;
-+
-+ function pthread_mutexattr_setprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprotocol, "pthread_mutexattr_setprotocol");
-+
-+ function pthread_mutexattr_getprotocol
-+ (attr : access pthread_mutexattr_t;
-+ protocol : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprotocol, "pthread_mutexattr_getprotocol");
-+
-+ function pthread_mutexattr_setprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_setprioceiling,
-+ "pthread_mutexattr_setprioceiling");
-+
-+ function pthread_mutexattr_getprioceiling
-+ (attr : access pthread_mutexattr_t;
-+ prioceiling : access int) return int;
-+ pragma Import
-+ (C, pthread_mutexattr_getprioceiling,
-+ "pthread_mutexattr_getprioceiling");
-+
-+ type struct_sched_param is record
-+ sched_priority : int;
-+ end record;
-+ pragma Convention (C, struct_sched_param);
-+
-+ function pthread_getschedparam
-+ (thread : pthread_t;
-+ policy : access int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_getschedparam, "pthread_getschedparam");
-+
-+ function pthread_setschedparam
-+ (thread : pthread_t;
-+ policy : int;
-+ param : access struct_sched_param) return int;
-+ pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
-+
-+ function pthread_attr_setscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : int) return int;
-+ pragma Import (C, pthread_attr_setscope, "pthread_attr_setscope");
-+
-+ function pthread_attr_getscope
-+ (attr : access pthread_attr_t;
-+ contentionscope : access int) return int;
-+ pragma Import (C, pthread_attr_getscope, "pthread_attr_getscope");
-+
-+ function pthread_attr_setinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setinheritsched, "pthread_attr_setinheritsched");
-+
-+ function pthread_attr_getinheritsched
-+ (attr : access pthread_attr_t;
-+ inheritsched : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getinheritsched, "pthread_attr_getinheritsched");
-+
-+ function pthread_attr_setschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : int) return int;
-+ pragma Import (C, pthread_attr_setschedpolicy,
-+ "pthread_attr_setschedpolicy");
-+
-+ function pthread_attr_getschedpolicy
-+ (attr : access pthread_attr_t;
-+ policy : access int) return int;
-+ pragma Import (C, pthread_attr_getschedpolicy,
-+ "pthread_attr_getschedpolicy");
-+
-+ function pthread_attr_setschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : int) return int;
-+ pragma Import (C, pthread_attr_setschedparam, "pthread_attr_setschedparam");
-+
-+ function pthread_attr_getschedparam
-+ (attr : access pthread_attr_t;
-+ sched_param : access int) return int;
-+ pragma Import (C, pthread_attr_getschedparam, "pthread_attr_getschedparam");
-+
-+ function sched_yield return int;
-+ pragma Import (C, sched_yield, "pthread_yield");
-+
-+ --------------------------
-+ -- P1003.1c Section 16 --
-+ --------------------------
-+
-+ function pthread_attr_init (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_init, "pthread_attr_init");
-+
-+ function pthread_attr_destroy
-+ (attributes : access pthread_attr_t) return int;
-+ pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-+
-+ function pthread_attr_setdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : int) return int;
-+ pragma Import
-+ (C, pthread_attr_setdetachstate, "pthread_attr_setdetachstate");
-+
-+ function pthread_attr_getdetachstate
-+ (attr : access pthread_attr_t;
-+ detachstate : access int) return int;
-+ pragma Import
-+ (C, pthread_attr_getdetachstate, "pthread_attr_getdetachstate");
-+
-+ function pthread_attr_getstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : access size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_getstacksize, "pthread_attr_getstacksize");
-+
-+ function pthread_attr_setstacksize
-+ (attr : access pthread_attr_t;
-+ stacksize : size_t) return int;
-+ pragma Import
-+ (C, pthread_attr_setstacksize, "pthread_attr_setstacksize");
-+
-+ function pthread_create
-+ (thread : access pthread_t;
-+ attributes : access pthread_attr_t;
-+ start_routine : Thread_Body;
-+ arg : System.Address) return int;
-+ pragma Import (C, pthread_create, "pthread_create");
-+
-+ function pthread_detach (thread : pthread_t) return int;
-+ pragma Import (C, pthread_detach, "pthread_detach");
-+
-+ procedure pthread_exit (status : System.Address);
-+ pragma Import (C, pthread_exit, "pthread_exit");
-+
-+ function pthread_self return pthread_t;
-+ pragma Import (C, pthread_self, "pthread_self");
-+
-+ --------------------------
-+ -- POSIX.1c Section 17 --
-+ --------------------------
-+
-+ function pthread_setspecific
-+ (key : pthread_key_t;
-+ value : System.Address) return int;
-+ pragma Import (C, pthread_setspecific, "pthread_setspecific");
-+
-+ function pthread_getspecific (key : pthread_key_t) return System.Address;
-+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
-+
-+ type destructor_pointer is access procedure (arg : System.Address);
-+ pragma Convention (C, destructor_pointer);
-+
-+ function pthread_key_create
-+ (key : access pthread_key_t;
-+ destructor : destructor_pointer) return int;
-+ pragma Import (C, pthread_key_create, "pthread_key_create");
-+
-+ ------------------------------------
-+ -- Non-portable Pthread Functions --
-+ ------------------------------------
-+
-+ function pthread_set_name_np
-+ (thread : pthread_t;
-+ name : System.Address) return int;
-+ pragma Import (C, pthread_set_name_np, "pthread_set_name_np");
-+
-+private
-+
-+ type sigset_t is array (1 .. 4) of unsigned;
-+
-+ -- In OpenBSD the component sa_handler turns out to
-+ -- be one a union type, and the selector is a macro:
-+ -- #define sa_handler __sigaction_u._handler
-+ -- #define sa_sigaction __sigaction_u._sigaction
-+
-+ -- Should we add a signal_context type here ???
-+ -- How could it be done independent of the CPU architecture ???
-+ -- sigcontext type is opaque, so it is architecturally neutral.
-+ -- It is always passed as an access type, so define it as an empty record
-+ -- since the contents are not used anywhere.
-+
-+ type struct_sigcontext is null record;
-+ pragma Convention (C, struct_sigcontext);
-+
-+ type pid_t is new int;
-+
-+ type time_t is new int;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type clockid_t is new int;
-+ CLOCK_REALTIME : constant clockid_t := 0;
-+
-+ type pthread_t is new System.Address;
-+ type pthread_attr_t is new System.Address;
-+ type pthread_mutex_t is new System.Address;
-+ type pthread_mutexattr_t is new System.Address;
-+ type pthread_cond_t is new System.Address;
-+ type pthread_condattr_t is new System.Address;
-+ type pthread_key_t is new int;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osprim-bsd32.adb
-@@ -0,0 +1,186 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ P R I M I T I V E S --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1998-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+-- Copyright (C) 2010, 2011 John Marino <www.dragonlace.net> --
-+------------------------------------------------------------------------------
-+
-+-- This version is for BSD operating systems using 32-bit time types.
-+
-+with Interfaces.C;
-+
-+package body System.OS_Primitives is
-+
-+ -- ??? These definitions are duplicated from System.OS_Interface
-+ -- because we don't want to depend on any package. Consider removing
-+ -- these declarations in System.OS_Interface and move these ones in
-+ -- the spec.
-+
-+ subtype int is Interfaces.C.int;
-+ subtype long is Interfaces.C.long;
-+
-+ type time_t is new int;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, timezone);
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "nanosleep");
-+
-+ -----------
-+ -- Clock --
-+ -----------
-+
-+ function Clock return Duration is
-+ type timeval is array (1 .. 2) of Long_Integer;
-+ tzresult : aliased timezone;
-+
-+ procedure timeval_to_duration
-+ (T : not null access timeval;
-+ sec : not null access Long_Integer;
-+ usec : not null access Long_Integer);
-+ pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration");
-+
-+ Micro : constant := 10**6;
-+ sec : aliased Long_Integer;
-+ usec : aliased Long_Integer;
-+ TV : aliased timeval;
-+ Result : int;
-+
-+ function gettimeofday
-+ (Tv : access timeval;
-+ Tz : access timezone) return int;
-+ pragma Import (C, gettimeofday, "gettimeofday");
-+
-+ pragma Unreferenced (Result);
-+ begin
-+ -- The return codes for gettimeofday are as follows (from man pages):
-+ -- EPERM settimeofday is called by someone other than the superuser
-+ -- EINVAL Timezone (or something else) is invalid
-+ -- EFAULT One of tv or tz pointed outside accessible address space
-+
-+ -- None of these codes signal a potential clock skew, hence the return
-+ -- value is never checked.
-+
-+ Result := gettimeofday (TV'Access, tzresult'Access);
-+ timeval_to_duration (TV'Access, sec'Access, usec'Access);
-+ return Duration (sec) + Duration (usec) / Micro;
-+ end Clock;
-+
-+ ---------------------
-+ -- Monotonic_Clock --
-+ ---------------------
-+
-+ function Monotonic_Clock return Duration renames Clock;
-+
-+ -----------------
-+ -- To_Timespec --
-+ -----------------
-+
-+ function To_Timespec (D : Duration) return timespec;
-+
-+ function To_Timespec (D : Duration) return timespec is
-+ S : time_t;
-+ F : Duration;
-+
-+ begin
-+ S := time_t (Long_Long_Integer (D));
-+ F := D - Duration (S);
-+
-+ -- If F has negative value due to a round-up, adjust for positive F
-+ -- value.
-+
-+ if F < 0.0 then
-+ S := S - 1;
-+ F := F + 1.0;
-+ end if;
-+
-+ return
-+ timespec'(tv_sec => S,
-+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ end To_Timespec;
-+
-+ -----------------
-+ -- Timed_Delay --
-+ -----------------
-+
-+ procedure Timed_Delay
-+ (Time : Duration;
-+ Mode : Integer)
-+ is
-+ Request : aliased timespec;
-+ Remaind : aliased timespec;
-+ Rel_Time : Duration;
-+ Abs_Time : Duration;
-+ Base_Time : constant Duration := Clock;
-+ Check_Time : Duration := Base_Time;
-+
-+ Result : int;
-+ pragma Unreferenced (Result);
-+
-+ begin
-+ if Mode = Relative then
-+ Rel_Time := Time;
-+ Abs_Time := Time + Check_Time;
-+ else
-+ Rel_Time := Time - Check_Time;
-+ Abs_Time := Time;
-+ end if;
-+
-+ if Rel_Time > 0.0 then
-+ loop
-+ Request := To_Timespec (Rel_Time);
-+ Result := nanosleep (Request'Access, Remaind'Access);
-+ Check_Time := Clock;
-+
-+ exit when Abs_Time <= Check_Time or else Check_Time < Base_Time;
-+
-+ Rel_Time := Abs_Time - Check_Time;
-+ end loop;
-+ end if;
-+ end Timed_Delay;
-+
-+ ----------------
-+ -- Initialize --
-+ ----------------
-+
-+ procedure Initialize is
-+ begin
-+ null;
-+ end Initialize;
-+
-+end System.OS_Primitives;
---- /dev/null
-+++ gcc/ada/s-osprim-bsd64.adb
-@@ -0,0 +1,192 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ P R I M I T I V E S --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1998-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+-- Copyright (C) 2010, 2011 John Marino <www.dragonlace.net> --
-+------------------------------------------------------------------------------
-+
-+-- This version is for BSD operating systems using 64-bit time types.
-+
-+with Interfaces.C;
-+
-+package body System.OS_Primitives is
-+
-+ -- ??? These definitions are duplicated from System.OS_Interface
-+ -- because we don't want to depend on any package. Consider removing
-+ -- these declarations in System.OS_Interface and move these ones in
-+ -- the spec.
-+
-+ subtype int is Interfaces.C.int;
-+ subtype long is Interfaces.C.long;
-+ subtype int64_t is Interfaces.Integer_64;
-+
-+ type time_t is new int64_t;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, timezone);
-+
-+ type timeval is record
-+ tv_sec : time_t;
-+ tv_usec : long; -- Not for NetBSD! FreeBSD/DragonFly
-+ end record;
-+ pragma Convention (C, timeval);
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "nanosleep");
-+
-+ -----------
-+ -- Clock --
-+ -----------
-+
-+ function Clock return Duration is
-+
-+ procedure timeval_to_duration
-+ (T : not null access timeval;
-+ sec : not null access Long_Integer;
-+ usec : not null access Long_Integer);
-+ pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration");
-+
-+ Micro : constant := 10**6;
-+ sec : aliased Long_Integer;
-+ usec : aliased Long_Integer;
-+ TV : aliased timeval;
-+ tzresult : aliased timezone;
-+ Result : int;
-+
-+ function gettimeofday
-+ (Tv : access timeval;
-+ Tz : access timezone) return int;
-+ pragma Import (C, gettimeofday, "gettimeofday");
-+
-+ pragma Unreferenced (Result);
-+ begin
-+ -- The return codes for gettimeofday are as follows (from man pages):
-+ -- EPERM settimeofday is called by someone other than the superuser
-+ -- EINVAL Timezone (or something else) is invalid
-+ -- EFAULT One of tv or tz pointed outside accessible address space
-+
-+ -- None of these codes signal a potential clock skew, hence the return
-+ -- value is never checked.
-+
-+ Result := gettimeofday (TV'Access, tzresult'Access);
-+ timeval_to_duration (TV'Access, sec'Access, usec'Access);
-+ return Duration (sec) + Duration (usec) / Micro;
-+ end Clock;
-+
-+ ---------------------
-+ -- Monotonic_Clock --
-+ ---------------------
-+
-+ function Monotonic_Clock return Duration renames Clock;
-+
-+ -----------------
-+ -- To_Timespec --
-+ -----------------
-+
-+ function To_Timespec (D : Duration) return timespec;
-+
-+ function To_Timespec (D : Duration) return timespec is
-+ S : time_t;
-+ F : Duration;
-+
-+ begin
-+ S := time_t (Long_Long_Integer (D));
-+ F := D - Duration (S);
-+
-+ -- If F has negative value due to a round-up, adjust for positive F
-+ -- value.
-+
-+ if F < 0.0 then
-+ S := S - 1;
-+ F := F + 1.0;
-+ end if;
-+
-+ return
-+ timespec'(tv_sec => S,
-+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ end To_Timespec;
-+
-+ -----------------
-+ -- Timed_Delay --
-+ -----------------
-+
-+ procedure Timed_Delay
-+ (Time : Duration;
-+ Mode : Integer)
-+ is
-+ Request : aliased timespec;
-+ Remaind : aliased timespec;
-+ Rel_Time : Duration;
-+ Abs_Time : Duration;
-+ Base_Time : constant Duration := Clock;
-+ Check_Time : Duration := Base_Time;
-+
-+ Result : int;
-+ pragma Unreferenced (Result);
-+
-+ begin
-+ if Mode = Relative then
-+ Rel_Time := Time;
-+ Abs_Time := Time + Check_Time;
-+ else
-+ Rel_Time := Time - Check_Time;
-+ Abs_Time := Time;
-+ end if;
-+
-+ if Rel_Time > 0.0 then
-+ loop
-+ Request := To_Timespec (Rel_Time);
-+ Result := nanosleep (Request'Access, Remaind'Access);
-+ Check_Time := Clock;
-+
-+ exit when Abs_Time <= Check_Time or else Check_Time < Base_Time;
-+
-+ Rel_Time := Abs_Time - Check_Time;
-+ end loop;
-+ end if;
-+ end Timed_Delay;
-+
-+ ----------------
-+ -- Initialize --
-+ ----------------
-+
-+ procedure Initialize is
-+ begin
-+ null;
-+ end Initialize;
-+
-+end System.OS_Primitives;
---- /dev/null
-+++ gcc/ada/s-osprim-bsdn6.adb
-@@ -0,0 +1,193 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ P R I M I T I V E S --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1998-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+-- Copyright (C) 2010, 2011 John Marino <www.dragonlace.net> --
-+------------------------------------------------------------------------------
-+
-+-- This version is for NetBSD 6.0+
-+-- It switches time type to 64 bits and uses compatibility functions
-+
-+with Interfaces.C;
-+
-+package body System.OS_Primitives is
-+
-+ -- ??? These definitions are duplicated from System.OS_Interface
-+ -- because we don't want to depend on any package. Consider removing
-+ -- these declarations in System.OS_Interface and move these ones in
-+ -- the spec.
-+
-+ subtype int is Interfaces.C.int;
-+ subtype long is Interfaces.C.long;
-+ subtype int64_t is Interfaces.Integer_64;
-+
-+ type time_t is new int64_t;
-+
-+ type timespec is record
-+ tv_sec : time_t;
-+ tv_nsec : long;
-+ end record;
-+ pragma Convention (C, timespec);
-+
-+ type timezone is record
-+ tz_minuteswest : int;
-+ tz_dsttime : int;
-+ end record;
-+ pragma Convention (C, timezone);
-+
-+ type timeval is record
-+ tv_sec : time_t;
-+ tv_usec : int;
-+ end record;
-+ pragma Convention (C, timeval);
-+
-+ function nanosleep (rqtp, rmtp : access timespec) return int;
-+ pragma Import (C, nanosleep, "__nanosleep50");
-+
-+ -----------
-+ -- Clock --
-+ -----------
-+
-+ function Clock return Duration is
-+
-+ procedure timeval_to_duration
-+ (T : not null access timeval;
-+ sec : not null access Long_Integer;
-+ usec : not null access Long_Integer);
-+ pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration");
-+
-+ Micro : constant := 10**6;
-+ sec : aliased Long_Integer;
-+ usec : aliased Long_Integer;
-+ TV : aliased timeval;
-+ tzresult : aliased timezone;
-+ Result : int;
-+
-+ function gettimeofday
-+ (Tv : access timeval;
-+ Tz : access timezone) return int;
-+ pragma Import (C, gettimeofday, "__gettimeofday50");
-+
-+ pragma Unreferenced (Result);
-+ begin
-+ -- The return codes for gettimeofday are as follows (from man pages):
-+ -- EPERM settimeofday is called by someone other than the superuser
-+ -- EINVAL Timezone (or something else) is invalid
-+ -- EFAULT One of tv or tz pointed outside accessible address space
-+
-+ -- None of these codes signal a potential clock skew, hence the return
-+ -- value is never checked.
-+
-+ Result := gettimeofday (TV'Access, tzresult'Access);
-+ timeval_to_duration (TV'Access, sec'Access, usec'Access);
-+ return Duration (sec) + Duration (usec) / Micro;
-+ end Clock;
-+
-+ ---------------------
-+ -- Monotonic_Clock --
-+ ---------------------
-+
-+ function Monotonic_Clock return Duration renames Clock;
-+
-+ -----------------
-+ -- To_Timespec --
-+ -----------------
-+
-+ function To_Timespec (D : Duration) return timespec;
-+
-+ function To_Timespec (D : Duration) return timespec is
-+ S : time_t;
-+ F : Duration;
-+
-+ begin
-+ S := time_t (Long_Long_Integer (D));
-+ F := D - Duration (S);
-+
-+ -- If F has negative value due to a round-up, adjust for positive F
-+ -- value.
-+
-+ if F < 0.0 then
-+ S := S - 1;
-+ F := F + 1.0;
-+ end if;
-+
-+ return
-+ timespec'(tv_sec => S,
-+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ end To_Timespec;
-+
-+ -----------------
-+ -- Timed_Delay --
-+ -----------------
-+
-+ procedure Timed_Delay
-+ (Time : Duration;
-+ Mode : Integer)
-+ is
-+ Request : aliased timespec;
-+ Remaind : aliased timespec;
-+ Rel_Time : Duration;
-+ Abs_Time : Duration;
-+ Base_Time : constant Duration := Clock;
-+ Check_Time : Duration := Base_Time;
-+
-+ Result : int;
-+ pragma Unreferenced (Result);
-+
-+ begin
-+ if Mode = Relative then
-+ Rel_Time := Time;
-+ Abs_Time := Time + Check_Time;
-+ else
-+ Rel_Time := Time - Check_Time;
-+ Abs_Time := Time;
-+ end if;
-+
-+ if Rel_Time > 0.0 then
-+ loop
-+ Request := To_Timespec (Rel_Time);
-+ Result := nanosleep (Request'Access, Remaind'Access);
-+ Check_Time := Clock;
-+
-+ exit when Abs_Time <= Check_Time or else Check_Time < Base_Time;
-+
-+ Rel_Time := Abs_Time - Check_Time;
-+ end loop;
-+ end if;
-+ end Timed_Delay;
-+
-+ ----------------
-+ -- Initialize --
-+ ----------------
-+
-+ procedure Initialize is
-+ begin
-+ null;
-+ end Initialize;
-+
-+end System.OS_Primitives;
---- gcc/ada/s-rannum.adb.orig
-+++ gcc/ada/s-rannum.adb
-@@ -27,6 +27,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- ------------------------------------------------------------------------------
-@@ -294,7 +295,7 @@
- X : Real; -- Scaled mantissa
- R : Unsigned_32; -- Supply of random bits
- R_Bits : Natural; -- Number of bits left in R
-- K : Bit_Count; -- Next decrement to exponent
-+ K : Bit_Count := 0; -- Next decrement to exponent
-
- begin
- Mantissa := Random (Gen) / 2**Extra_Bits;
---- gcc/ada/s-stusta.adb.orig
-+++ gcc/ada/s-stusta.adb
-@@ -29,6 +29,7 @@
- -- GNARL was developed by the GNARL team at Florida State University. --
- -- Extensive contributions were provided by Ada Core Technologies, Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st --
- ------------------------------------------------------------------------------
-
- with System.Stack_Usage;
-@@ -235,7 +236,7 @@
- ------------
-
- procedure Print (Obj : Stack_Usage_Result) is
-- Pos : Positive;
-+ Pos : Positive := 1;
- begin
-
- -- Simply trim the string containing the task name
---- /dev/null
-+++ gcc/ada/signal_android.c
-@@ -0,0 +1,77 @@
-+/*
-+ * Copyright (C) 2008 The Android Open Source Project
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * * Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * * Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in
-+ * the documentation and/or other materials provided with the
-+ * distribution.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ */
-+#include <limits.h> /* For LONG_BIT */
-+#include <string.h> /* For memset() */
-+
-+typedef unsigned long sigset_t;
-+
-+
-+int
-+sigismember(sigset_t *set, int signum)
-+{
-+ unsigned long *local_set = (unsigned long *)set;
-+ signum--;
-+ return (int)((local_set[signum/LONG_BIT] >> (signum%LONG_BIT)) & 1);
-+}
-+
-+
-+int
-+sigaddset(sigset_t *set, int signum)
-+{
-+ unsigned long *local_set = (unsigned long *)set;
-+ signum--;
-+ local_set[signum/LONG_BIT] |= 1UL << (signum%LONG_BIT);
-+ return 0;
-+}
-+
-+
-+int
-+sigdelset(sigset_t *set, int signum)
-+{
-+ unsigned long *local_set = (unsigned long *)set;
-+ signum--;
-+ local_set[signum/LONG_BIT] &= ~(1UL << (signum%LONG_BIT));
-+ return 0;
-+}
-+
-+
-+int
-+sigemptyset(sigset_t *set)
-+{
-+ memset(set, 0, sizeof *set);
-+ return 0;
-+}
-+
-+
-+int
-+sigfillset(sigset_t *set)
-+{
-+ memset(set, ~0, sizeof *set);
-+ return 0;
-+}
-+
---- gcc/ada/sysdep.c.orig
-+++ gcc/ada/sysdep.c
-@@ -27,6 +27,7 @@
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
-+ * Copyright (C) 2010 John Marino <draco@marino.st> *
- ****************************************************************************/
-
- /* This file contains system dependent symbols that are referenced in the
-@@ -368,6 +369,7 @@
- || defined (__MACHTEN__) || defined (__hpux__) || defined (_AIX) \
- || (defined (__svr4__) && defined (i386)) || defined (__Lynx__) \
- || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
-+ || defined (__DragonFly__) \
- || defined (__GLIBC__) || defined (__APPLE__)
-
- #ifdef __MINGW32__
-@@ -426,6 +428,7 @@
- || defined (__CYGWIN32__) || defined (__MACHTEN__) || defined (__hpux__) \
- || defined (_AIX) || (defined (__svr4__) && defined (i386)) \
- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
-+ || defined (__DragonFly__) \
- || defined (__GLIBC__) || defined (__APPLE__)
- char c;
- int nread;
-@@ -446,6 +449,7 @@
- || defined (__osf__) || defined (__MACHTEN__) || defined (__hpux__) \
- || defined (_AIX) || (defined (__svr4__) && defined (i386)) \
- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
-+ || defined (__DragonFly__) \
- || defined (__GLIBC__) || defined (__APPLE__)
- eof_ch = termios_rec.c_cc[VEOF];
-
-@@ -937,6 +941,7 @@
- struct tm */
-
- #elif defined (__APPLE__) || defined (__FreeBSD__) || defined (linux) ||\
-+ defined (__DragonFly__) ||\
- (defined (__alpha__) && defined (__osf__)) || defined (__GLIBC__)
- {
- localtime_r (timer, &tp);
---- /dev/null
-+++ gcc/ada/system-dragonfly-x86_64.ads
-@@ -0,0 +1,147 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- S Y S T E M --
-+-- --
-+-- S p e c --
-+-- (DragonFly BSD/x86_64 Version) --
-+-- --
-+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-+-- --
-+-- This specification is derived from the Ada Reference Manual for use with --
-+-- GNAT. The copyright notice above, and the license provisions that follow --
-+-- apply solely to the contents of the part following the private keyword. --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+package System is
-+ pragma Pure;
-+ -- Note that we take advantage of the implementation permission to make
-+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-+ -- 2005, this is Pure in any case (AI-362).
-+
-+ type Name is (SYSTEM_NAME_GNAT);
-+ System_Name : constant Name := SYSTEM_NAME_GNAT;
-+
-+ -- System-Dependent Named Numbers
-+
-+ Min_Int : constant := Long_Long_Integer'First;
-+ Max_Int : constant := Long_Long_Integer'Last;
-+
-+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
-+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
-+
-+ Max_Base_Digits : constant := Long_Long_Float'Digits;
-+ Max_Digits : constant := Long_Long_Float'Digits;
-+
-+ Max_Mantissa : constant := 63;
-+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
-+
-+ Tick : constant := 0.000_001;
-+
-+ -- Storage-related Declarations
-+
-+ type Address is private;
-+ pragma Preelaborable_Initialization (Address);
-+ Null_Address : constant Address;
-+
-+ Storage_Unit : constant := 8;
-+ Word_Size : constant := 64;
-+ Memory_Size : constant := 2 ** 64;
-+
-+ -- Address comparison
-+
-+ function "<" (Left, Right : Address) return Boolean;
-+ function "<=" (Left, Right : Address) return Boolean;
-+ function ">" (Left, Right : Address) return Boolean;
-+ function ">=" (Left, Right : Address) return Boolean;
-+ function "=" (Left, Right : Address) return Boolean;
-+
-+ pragma Import (Intrinsic, "<");
-+ pragma Import (Intrinsic, "<=");
-+ pragma Import (Intrinsic, ">");
-+ pragma Import (Intrinsic, ">=");
-+ pragma Import (Intrinsic, "=");
-+
-+ -- Other System-Dependent Declarations
-+
-+ type Bit_Order is (High_Order_First, Low_Order_First);
-+ Default_Bit_Order : constant Bit_Order := Low_Order_First;
-+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-+
-+ -- Priority-related Declarations (RM D.1)
-+
-+ Max_Priority : constant Positive := 30;
-+ Max_Interrupt_Priority : constant Positive := 31;
-+
-+ subtype Any_Priority is Integer range 0 .. 31;
-+ subtype Priority is Any_Priority range 0 .. 30;
-+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-+
-+ Default_Priority : constant Priority := 15;
-+
-+private
-+
-+ type Address is mod Memory_Size;
-+ Null_Address : constant Address := 0;
-+
-+ --------------------------------------
-+ -- System Implementation Parameters --
-+ --------------------------------------
-+
-+ -- These parameters provide information about the target that is used
-+ -- by the compiler. They are in the private part of System, where they
-+ -- can be accessed using the special circuitry in the Targparm unit
-+ -- whose source should be consulted for more detailed descriptions
-+ -- of the individual switch values.
-+
-+ Backend_Divide_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
-+ Command_Line_Args : constant Boolean := True;
-+ Configurable_Run_Time : constant Boolean := False;
-+ Denorm : constant Boolean := True;
-+ Duration_32_Bits : constant Boolean := False;
-+ Exit_Status_Supported : constant Boolean := True;
-+ Fractional_Fixed_Ops : constant Boolean := False;
-+ Frontend_Layout : constant Boolean := False;
-+ Machine_Overflows : constant Boolean := False;
-+ Machine_Rounds : constant Boolean := True;
-+ OpenVMS : constant Boolean := False;
-+ Preallocated_Stacks : constant Boolean := False;
-+ Signed_Zeros : constant Boolean := True;
-+ Stack_Check_Default : constant Boolean := False;
-+ Stack_Check_Probes : constant Boolean := True;
-+ Stack_Check_Limits : constant Boolean := False;
-+ Support_64_Bit_Divides : constant Boolean := True;
-+ Support_Aggregates : constant Boolean := True;
-+ Support_Composite_Assign : constant Boolean := True;
-+ Support_Composite_Compare : constant Boolean := True;
-+ Support_Long_Shifts : constant Boolean := True;
-+ Always_Compatible_Rep : constant Boolean := False;
-+ Suppress_Standard_Library : constant Boolean := False;
-+ Use_Ada_Main_Program_Name : constant Boolean := False;
-+ ZCX_By_Default : constant Boolean := True;
-+ GCC_ZCX_Support : constant Boolean := True;
-+
-+end System;
---- /dev/null
-+++ gcc/ada/system-dragonfly-x86.ads
-@@ -0,0 +1,147 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- S Y S T E M --
-+-- --
-+-- S p e c --
-+-- (DragonFly BSD/x86 Version) --
-+-- --
-+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-+-- --
-+-- This specification is derived from the Ada Reference Manual for use with --
-+-- GNAT. The copyright notice above, and the license provisions that follow --
-+-- apply solely to the contents of the part following the private keyword. --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+package System is
-+ pragma Pure;
-+ -- Note that we take advantage of the implementation permission to make
-+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-+ -- 2005, this is Pure in any case (AI-362).
-+
-+ type Name is (SYSTEM_NAME_GNAT);
-+ System_Name : constant Name := SYSTEM_NAME_GNAT;
-+
-+ -- System-Dependent Named Numbers
-+
-+ Min_Int : constant := Long_Long_Integer'First;
-+ Max_Int : constant := Long_Long_Integer'Last;
-+
-+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
-+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
-+
-+ Max_Base_Digits : constant := Long_Long_Float'Digits;
-+ Max_Digits : constant := Long_Long_Float'Digits;
-+
-+ Max_Mantissa : constant := 63;
-+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
-+
-+ Tick : constant := 0.000_001;
-+
-+ -- Storage-related Declarations
-+
-+ type Address is private;
-+ pragma Preelaborable_Initialization (Address);
-+ Null_Address : constant Address;
-+
-+ Storage_Unit : constant := 8;
-+ Word_Size : constant := 32;
-+ Memory_Size : constant := 2 ** 32;
-+
-+ -- Address comparison
-+
-+ function "<" (Left, Right : Address) return Boolean;
-+ function "<=" (Left, Right : Address) return Boolean;
-+ function ">" (Left, Right : Address) return Boolean;
-+ function ">=" (Left, Right : Address) return Boolean;
-+ function "=" (Left, Right : Address) return Boolean;
-+
-+ pragma Import (Intrinsic, "<");
-+ pragma Import (Intrinsic, "<=");
-+ pragma Import (Intrinsic, ">");
-+ pragma Import (Intrinsic, ">=");
-+ pragma Import (Intrinsic, "=");
-+
-+ -- Other System-Dependent Declarations
-+
-+ type Bit_Order is (High_Order_First, Low_Order_First);
-+ Default_Bit_Order : constant Bit_Order := Low_Order_First;
-+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-+
-+ -- Priority-related Declarations (RM D.1)
-+
-+ Max_Priority : constant Positive := 30;
-+ Max_Interrupt_Priority : constant Positive := 31;
-+
-+ subtype Any_Priority is Integer range 0 .. 31;
-+ subtype Priority is Any_Priority range 0 .. 30;
-+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-+
-+ Default_Priority : constant Priority := 15;
-+
-+private
-+
-+ type Address is mod Memory_Size;
-+ Null_Address : constant Address := 0;
-+
-+ --------------------------------------
-+ -- System Implementation Parameters --
-+ --------------------------------------
-+
-+ -- These parameters provide information about the target that is used
-+ -- by the compiler. They are in the private part of System, where they
-+ -- can be accessed using the special circuitry in the Targparm unit
-+ -- whose source should be consulted for more detailed descriptions
-+ -- of the individual switch values.
-+
-+ Backend_Divide_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
-+ Command_Line_Args : constant Boolean := True;
-+ Configurable_Run_Time : constant Boolean := False;
-+ Denorm : constant Boolean := True;
-+ Duration_32_Bits : constant Boolean := False;
-+ Exit_Status_Supported : constant Boolean := True;
-+ Fractional_Fixed_Ops : constant Boolean := False;
-+ Frontend_Layout : constant Boolean := False;
-+ Machine_Overflows : constant Boolean := False;
-+ Machine_Rounds : constant Boolean := True;
-+ OpenVMS : constant Boolean := False;
-+ Preallocated_Stacks : constant Boolean := False;
-+ Signed_Zeros : constant Boolean := True;
-+ Stack_Check_Default : constant Boolean := False;
-+ Stack_Check_Probes : constant Boolean := True;
-+ Stack_Check_Limits : constant Boolean := False;
-+ Support_64_Bit_Divides : constant Boolean := True;
-+ Support_Aggregates : constant Boolean := True;
-+ Support_Composite_Assign : constant Boolean := True;
-+ Support_Composite_Compare : constant Boolean := True;
-+ Support_Long_Shifts : constant Boolean := True;
-+ Always_Compatible_Rep : constant Boolean := False;
-+ Suppress_Standard_Library : constant Boolean := False;
-+ Use_Ada_Main_Program_Name : constant Boolean := False;
-+ ZCX_By_Default : constant Boolean := True;
-+ GCC_ZCX_Support : constant Boolean := True;
-+
-+end System;
---- gcc/ada/system-freebsd-x86_64.ads.orig
-+++ gcc/ada/system-freebsd-x86_64.ads
-@@ -32,6 +32,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- package System is
-@@ -90,6 +91,7 @@
- pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-
- -- Priority-related Declarations (RM D.1)
-+ -- For FreeBSD 8.0, definitions found in <sys/priority.h>
-
- Max_Priority : constant Positive := 30;
- Max_Interrupt_Priority : constant Positive := 31;
-@@ -98,7 +100,7 @@
- subtype Priority is Any_Priority range 0 .. 30;
- subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-
-- Default_Priority : constant Priority := 15;
-+ Default_Priority : constant Priority := Max_Priority / 2;
-
- private
-
-@@ -116,7 +118,7 @@
- -- of the individual switch values.
-
- Backend_Divide_Checks : constant Boolean := False;
-- Backend_Overflow_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
- Command_Line_Args : constant Boolean := True;
- Configurable_Run_Time : constant Boolean := False;
- Denorm : constant Boolean := True;
---- gcc/ada/system-freebsd-x86.ads.orig
-+++ gcc/ada/system-freebsd-x86.ads
-@@ -32,6 +32,7 @@
- -- GNAT was originally developed by the GNAT team at New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc. --
- -- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
- ------------------------------------------------------------------------------
-
- package System is
-@@ -90,6 +91,7 @@
- pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-
- -- Priority-related Declarations (RM D.1)
-+ -- For FreeBSD 8.0, definitions found in <sys/priority.h>
-
- Max_Priority : constant Positive := 30;
- Max_Interrupt_Priority : constant Positive := 31;
-@@ -98,7 +100,7 @@
- subtype Priority is Any_Priority range 0 .. 30;
- subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-
-- Default_Priority : constant Priority := 15;
-+ Default_Priority : constant Priority := Max_Priority / 2;
-
- private
-
---- /dev/null
-+++ gcc/ada/system-netbsd-x86_64.ads
-@@ -0,0 +1,147 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- S Y S T E M --
-+-- --
-+-- S p e c --
-+-- (NetBSD/x86_64 Version) --
-+-- --
-+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-+-- --
-+-- This specification is derived from the Ada Reference Manual for use with --
-+-- GNAT. The copyright notice above, and the license provisions that follow --
-+-- apply solely to the contents of the part following the private keyword. --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+package System is
-+ pragma Pure;
-+ -- Note that we take advantage of the implementation permission to make
-+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-+ -- 2005, this is Pure in any case (AI-362).
-+
-+ type Name is (SYSTEM_NAME_GNAT);
-+ System_Name : constant Name := SYSTEM_NAME_GNAT;
-+
-+ -- System-Dependent Named Numbers
-+
-+ Min_Int : constant := Long_Long_Integer'First;
-+ Max_Int : constant := Long_Long_Integer'Last;
-+
-+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
-+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
-+
-+ Max_Base_Digits : constant := Long_Long_Float'Digits;
-+ Max_Digits : constant := Long_Long_Float'Digits;
-+
-+ Max_Mantissa : constant := 63;
-+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
-+
-+ Tick : constant := 0.000_001;
-+
-+ -- Storage-related Declarations
-+
-+ type Address is private;
-+ pragma Preelaborable_Initialization (Address);
-+ Null_Address : constant Address;
-+
-+ Storage_Unit : constant := 8;
-+ Word_Size : constant := 64;
-+ Memory_Size : constant := 2 ** 64;
-+
-+ -- Address comparison
-+
-+ function "<" (Left, Right : Address) return Boolean;
-+ function "<=" (Left, Right : Address) return Boolean;
-+ function ">" (Left, Right : Address) return Boolean;
-+ function ">=" (Left, Right : Address) return Boolean;
-+ function "=" (Left, Right : Address) return Boolean;
-+
-+ pragma Import (Intrinsic, "<");
-+ pragma Import (Intrinsic, "<=");
-+ pragma Import (Intrinsic, ">");
-+ pragma Import (Intrinsic, ">=");
-+ pragma Import (Intrinsic, "=");
-+
-+ -- Other System-Dependent Declarations
-+
-+ type Bit_Order is (High_Order_First, Low_Order_First);
-+ Default_Bit_Order : constant Bit_Order := Low_Order_First;
-+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-+
-+ -- Priority-related Declarations (RM D.1)
-+
-+ Max_Priority : constant Positive := 30;
-+ Max_Interrupt_Priority : constant Positive := 31;
-+
-+ subtype Any_Priority is Integer range 0 .. 31;
-+ subtype Priority is Any_Priority range 0 .. 30;
-+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-+
-+ Default_Priority : constant Priority := 15;
-+
-+private
-+
-+ type Address is mod Memory_Size;
-+ Null_Address : constant Address := 0;
-+
-+ --------------------------------------
-+ -- System Implementation Parameters --
-+ --------------------------------------
-+
-+ -- These parameters provide information about the target that is used
-+ -- by the compiler. They are in the private part of System, where they
-+ -- can be accessed using the special circuitry in the Targparm unit
-+ -- whose source should be consulted for more detailed descriptions
-+ -- of the individual switch values.
-+
-+ Backend_Divide_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
-+ Command_Line_Args : constant Boolean := True;
-+ Configurable_Run_Time : constant Boolean := False;
-+ Denorm : constant Boolean := True;
-+ Duration_32_Bits : constant Boolean := False;
-+ Exit_Status_Supported : constant Boolean := True;
-+ Fractional_Fixed_Ops : constant Boolean := False;
-+ Frontend_Layout : constant Boolean := False;
-+ Machine_Overflows : constant Boolean := False;
-+ Machine_Rounds : constant Boolean := True;
-+ OpenVMS : constant Boolean := False;
-+ Preallocated_Stacks : constant Boolean := False;
-+ Signed_Zeros : constant Boolean := True;
-+ Stack_Check_Default : constant Boolean := False;
-+ Stack_Check_Probes : constant Boolean := True;
-+ Stack_Check_Limits : constant Boolean := False;
-+ Support_64_Bit_Divides : constant Boolean := True;
-+ Support_Aggregates : constant Boolean := True;
-+ Support_Composite_Assign : constant Boolean := True;
-+ Support_Composite_Compare : constant Boolean := True;
-+ Support_Long_Shifts : constant Boolean := True;
-+ Always_Compatible_Rep : constant Boolean := True;
-+ Suppress_Standard_Library : constant Boolean := False;
-+ Use_Ada_Main_Program_Name : constant Boolean := False;
-+ ZCX_By_Default : constant Boolean := True;
-+ GCC_ZCX_Support : constant Boolean := True;
-+
-+end System;
---- /dev/null
-+++ gcc/ada/system-netbsd-x86.ads
-@@ -0,0 +1,147 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- S Y S T E M --
-+-- --
-+-- S p e c --
-+-- (NetBSD/x86 Version) --
-+-- --
-+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-+-- --
-+-- This specification is derived from the Ada Reference Manual for use with --
-+-- GNAT. The copyright notice above, and the license provisions that follow --
-+-- apply solely to the contents of the part following the private keyword. --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+package System is
-+ pragma Pure;
-+ -- Note that we take advantage of the implementation permission to make
-+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-+ -- 2005, this is Pure in any case (AI-362).
-+
-+ type Name is (SYSTEM_NAME_GNAT);
-+ System_Name : constant Name := SYSTEM_NAME_GNAT;
-+
-+ -- System-Dependent Named Numbers
-+
-+ Min_Int : constant := Long_Long_Integer'First;
-+ Max_Int : constant := Long_Long_Integer'Last;
-+
-+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
-+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
-+
-+ Max_Base_Digits : constant := Long_Long_Float'Digits;
-+ Max_Digits : constant := Long_Long_Float'Digits;
-+
-+ Max_Mantissa : constant := 63;
-+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
-+
-+ Tick : constant := 0.000_001;
-+
-+ -- Storage-related Declarations
-+
-+ type Address is private;
-+ pragma Preelaborable_Initialization (Address);
-+ Null_Address : constant Address;
-+
-+ Storage_Unit : constant := 8;
-+ Word_Size : constant := 32;
-+ Memory_Size : constant := 2 ** 32;
-+
-+ -- Address comparison
-+
-+ function "<" (Left, Right : Address) return Boolean;
-+ function "<=" (Left, Right : Address) return Boolean;
-+ function ">" (Left, Right : Address) return Boolean;
-+ function ">=" (Left, Right : Address) return Boolean;
-+ function "=" (Left, Right : Address) return Boolean;
-+
-+ pragma Import (Intrinsic, "<");
-+ pragma Import (Intrinsic, "<=");
-+ pragma Import (Intrinsic, ">");
-+ pragma Import (Intrinsic, ">=");
-+ pragma Import (Intrinsic, "=");
-+
-+ -- Other System-Dependent Declarations
-+
-+ type Bit_Order is (High_Order_First, Low_Order_First);
-+ Default_Bit_Order : constant Bit_Order := Low_Order_First;
-+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-+
-+ -- Priority-related Declarations (RM D.1)
-+
-+ Max_Priority : constant Positive := 30;
-+ Max_Interrupt_Priority : constant Positive := 31;
-+
-+ subtype Any_Priority is Integer range 0 .. 31;
-+ subtype Priority is Any_Priority range 0 .. 30;
-+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-+
-+ Default_Priority : constant Priority := 15;
-+
-+private
-+
-+ type Address is mod Memory_Size;
-+ Null_Address : constant Address := 0;
-+
-+ --------------------------------------
-+ -- System Implementation Parameters --
-+ --------------------------------------
-+
-+ -- These parameters provide information about the target that is used
-+ -- by the compiler. They are in the private part of System, where they
-+ -- can be accessed using the special circuitry in the Targparm unit
-+ -- whose source should be consulted for more detailed descriptions
-+ -- of the individual switch values.
-+
-+ Backend_Divide_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
-+ Command_Line_Args : constant Boolean := True;
-+ Configurable_Run_Time : constant Boolean := False;
-+ Denorm : constant Boolean := True;
-+ Duration_32_Bits : constant Boolean := False;
-+ Exit_Status_Supported : constant Boolean := True;
-+ Fractional_Fixed_Ops : constant Boolean := False;
-+ Frontend_Layout : constant Boolean := False;
-+ Machine_Overflows : constant Boolean := False;
-+ Machine_Rounds : constant Boolean := True;
-+ OpenVMS : constant Boolean := False;
-+ Preallocated_Stacks : constant Boolean := False;
-+ Signed_Zeros : constant Boolean := True;
-+ Stack_Check_Default : constant Boolean := False;
-+ Stack_Check_Probes : constant Boolean := True;
-+ Stack_Check_Limits : constant Boolean := False;
-+ Support_64_Bit_Divides : constant Boolean := True;
-+ Support_Aggregates : constant Boolean := True;
-+ Support_Composite_Assign : constant Boolean := True;
-+ Support_Composite_Compare : constant Boolean := True;
-+ Support_Long_Shifts : constant Boolean := True;
-+ Always_Compatible_Rep : constant Boolean := False;
-+ Suppress_Standard_Library : constant Boolean := False;
-+ Use_Ada_Main_Program_Name : constant Boolean := False;
-+ ZCX_By_Default : constant Boolean := True;
-+ GCC_ZCX_Support : constant Boolean := True;
-+
-+end System;
---- /dev/null
-+++ gcc/ada/system-openbsd-x86_64.ads
-@@ -0,0 +1,147 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- S Y S T E M --
-+-- --
-+-- S p e c --
-+-- (DragonFly BSD/x86_64 Version) --
-+-- --
-+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-+-- --
-+-- This specification is derived from the Ada Reference Manual for use with --
-+-- GNAT. The copyright notice above, and the license provisions that follow --
-+-- apply solely to the contents of the part following the private keyword. --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+package System is
-+ pragma Pure;
-+ -- Note that we take advantage of the implementation permission to make
-+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-+ -- 2005, this is Pure in any case (AI-362).
-+
-+ type Name is (SYSTEM_NAME_GNAT);
-+ System_Name : constant Name := SYSTEM_NAME_GNAT;
-+
-+ -- System-Dependent Named Numbers
-+
-+ Min_Int : constant := Long_Long_Integer'First;
-+ Max_Int : constant := Long_Long_Integer'Last;
-+
-+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
-+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
-+
-+ Max_Base_Digits : constant := Long_Long_Float'Digits;
-+ Max_Digits : constant := Long_Long_Float'Digits;
-+
-+ Max_Mantissa : constant := 63;
-+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
-+
-+ Tick : constant := 0.000_001;
-+
-+ -- Storage-related Declarations
-+
-+ type Address is private;
-+ pragma Preelaborable_Initialization (Address);
-+ Null_Address : constant Address;
-+
-+ Storage_Unit : constant := 8;
-+ Word_Size : constant := 64;
-+ Memory_Size : constant := 2 ** 64;
-+
-+ -- Address comparison
-+
-+ function "<" (Left, Right : Address) return Boolean;
-+ function "<=" (Left, Right : Address) return Boolean;
-+ function ">" (Left, Right : Address) return Boolean;
-+ function ">=" (Left, Right : Address) return Boolean;
-+ function "=" (Left, Right : Address) return Boolean;
-+
-+ pragma Import (Intrinsic, "<");
-+ pragma Import (Intrinsic, "<=");
-+ pragma Import (Intrinsic, ">");
-+ pragma Import (Intrinsic, ">=");
-+ pragma Import (Intrinsic, "=");
-+
-+ -- Other System-Dependent Declarations
-+
-+ type Bit_Order is (High_Order_First, Low_Order_First);
-+ Default_Bit_Order : constant Bit_Order := Low_Order_First;
-+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-+
-+ -- Priority-related Declarations (RM D.1)
-+
-+ Max_Priority : constant Positive := 30;
-+ Max_Interrupt_Priority : constant Positive := 31;
-+
-+ subtype Any_Priority is Integer range 0 .. 31;
-+ subtype Priority is Any_Priority range 0 .. 30;
-+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-+
-+ Default_Priority : constant Priority := 15;
-+
-+private
-+
-+ type Address is mod Memory_Size;
-+ Null_Address : constant Address := 0;
-+
-+ --------------------------------------
-+ -- System Implementation Parameters --
-+ --------------------------------------
-+
-+ -- These parameters provide information about the target that is used
-+ -- by the compiler. They are in the private part of System, where they
-+ -- can be accessed using the special circuitry in the Targparm unit
-+ -- whose source should be consulted for more detailed descriptions
-+ -- of the individual switch values.
-+
-+ Backend_Divide_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
-+ Command_Line_Args : constant Boolean := True;
-+ Configurable_Run_Time : constant Boolean := False;
-+ Denorm : constant Boolean := True;
-+ Duration_32_Bits : constant Boolean := False;
-+ Exit_Status_Supported : constant Boolean := True;
-+ Fractional_Fixed_Ops : constant Boolean := False;
-+ Frontend_Layout : constant Boolean := False;
-+ Machine_Overflows : constant Boolean := False;
-+ Machine_Rounds : constant Boolean := True;
-+ OpenVMS : constant Boolean := False;
-+ Preallocated_Stacks : constant Boolean := False;
-+ Signed_Zeros : constant Boolean := True;
-+ Stack_Check_Default : constant Boolean := False;
-+ Stack_Check_Probes : constant Boolean := True;
-+ Stack_Check_Limits : constant Boolean := False;
-+ Support_64_Bit_Divides : constant Boolean := True;
-+ Support_Aggregates : constant Boolean := True;
-+ Support_Composite_Assign : constant Boolean := True;
-+ Support_Composite_Compare : constant Boolean := True;
-+ Support_Long_Shifts : constant Boolean := True;
-+ Always_Compatible_Rep : constant Boolean := True;
-+ Suppress_Standard_Library : constant Boolean := False;
-+ Use_Ada_Main_Program_Name : constant Boolean := False;
-+ ZCX_By_Default : constant Boolean := False;
-+ GCC_ZCX_Support : constant Boolean := False;
-+
-+end System;
---- /dev/null
-+++ gcc/ada/system-openbsd-x86.ads
-@@ -0,0 +1,147 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME COMPONENTS --
-+-- --
-+-- S Y S T E M --
-+-- --
-+-- S p e c --
-+-- (DragonFly BSD/x86 Version) --
-+-- --
-+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-+-- --
-+-- This specification is derived from the Ada Reference Manual for use with --
-+-- GNAT. The copyright notice above, and the license provisions that follow --
-+-- apply solely to the contents of the part following the private keyword. --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNAT was originally developed by the GNAT team at New York University. --
-+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-+-- --
-+-- Copyright (C) 2010 John Marino <draco@marino.st> --
-+------------------------------------------------------------------------------
-+
-+package System is
-+ pragma Pure;
-+ -- Note that we take advantage of the implementation permission to make
-+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-+ -- 2005, this is Pure in any case (AI-362).
-+
-+ type Name is (SYSTEM_NAME_GNAT);
-+ System_Name : constant Name := SYSTEM_NAME_GNAT;
-+
-+ -- System-Dependent Named Numbers
-+
-+ Min_Int : constant := Long_Long_Integer'First;
-+ Max_Int : constant := Long_Long_Integer'Last;
-+
-+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
-+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
-+
-+ Max_Base_Digits : constant := Long_Long_Float'Digits;
-+ Max_Digits : constant := Long_Long_Float'Digits;
-+
-+ Max_Mantissa : constant := 63;
-+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
-+
-+ Tick : constant := 0.000_001;
-+
-+ -- Storage-related Declarations
-+
-+ type Address is private;
-+ pragma Preelaborable_Initialization (Address);
-+ Null_Address : constant Address;
-+
-+ Storage_Unit : constant := 8;
-+ Word_Size : constant := 32;
-+ Memory_Size : constant := 2 ** 32;
-+
-+ -- Address comparison
-+
-+ function "<" (Left, Right : Address) return Boolean;
-+ function "<=" (Left, Right : Address) return Boolean;
-+ function ">" (Left, Right : Address) return Boolean;
-+ function ">=" (Left, Right : Address) return Boolean;
-+ function "=" (Left, Right : Address) return Boolean;
-+
-+ pragma Import (Intrinsic, "<");
-+ pragma Import (Intrinsic, "<=");
-+ pragma Import (Intrinsic, ">");
-+ pragma Import (Intrinsic, ">=");
-+ pragma Import (Intrinsic, "=");
-+
-+ -- Other System-Dependent Declarations
-+
-+ type Bit_Order is (High_Order_First, Low_Order_First);
-+ Default_Bit_Order : constant Bit_Order := Low_Order_First;
-+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-+
-+ -- Priority-related Declarations (RM D.1)
-+
-+ Max_Priority : constant Positive := 30;
-+ Max_Interrupt_Priority : constant Positive := 31;
-+
-+ subtype Any_Priority is Integer range 0 .. 31;
-+ subtype Priority is Any_Priority range 0 .. 30;
-+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
-+
-+ Default_Priority : constant Priority := 15;
-+
-+private
-+
-+ type Address is mod Memory_Size;
-+ Null_Address : constant Address := 0;
-+
-+ --------------------------------------
-+ -- System Implementation Parameters --
-+ --------------------------------------
-+
-+ -- These parameters provide information about the target that is used
-+ -- by the compiler. They are in the private part of System, where they
-+ -- can be accessed using the special circuitry in the Targparm unit
-+ -- whose source should be consulted for more detailed descriptions
-+ -- of the individual switch values.
-+
-+ Backend_Divide_Checks : constant Boolean := False;
-+ Backend_Overflow_Checks : constant Boolean := True;
-+ Command_Line_Args : constant Boolean := True;
-+ Configurable_Run_Time : constant Boolean := False;
-+ Denorm : constant Boolean := True;
-+ Duration_32_Bits : constant Boolean := False;
-+ Exit_Status_Supported : constant Boolean := True;
-+ Fractional_Fixed_Ops : constant Boolean := False;
-+ Frontend_Layout : constant Boolean := False;
-+ Machine_Overflows : constant Boolean := False;
-+ Machine_Rounds : constant Boolean := True;
-+ OpenVMS : constant Boolean := False;
-+ Preallocated_Stacks : constant Boolean := False;
-+ Signed_Zeros : constant Boolean := True;
-+ Stack_Check_Default : constant Boolean := False;
-+ Stack_Check_Probes : constant Boolean := True;
-+ Stack_Check_Limits : constant Boolean := False;
-+ Support_64_Bit_Divides : constant Boolean := True;
-+ Support_Aggregates : constant Boolean := True;
-+ Support_Composite_Assign : constant Boolean := True;
-+ Support_Composite_Compare : constant Boolean := True;
-+ Support_Long_Shifts : constant Boolean := True;
-+ Always_Compatible_Rep : constant Boolean := True;
-+ Suppress_Standard_Library : constant Boolean := False;
-+ Use_Ada_Main_Program_Name : constant Boolean := False;
-+ ZCX_By_Default : constant Boolean := False;
-+ GCC_ZCX_Support : constant Boolean := False;
-+
-+end System;
---- gcc/ada/tracebak.c.orig
-+++ gcc/ada/tracebak.c
-@@ -199,24 +199,10 @@
-
- */
-
--/*--------------------------- Darwin 8 or newer ----------------------------*/
--#if defined (__APPLE__) \
-- && defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
-- && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1040
--
--#define USE_GCC_UNWINDER
-+/*--------------------------- PPC AIX/Darwin ----------------------------*/
-
--#if defined (__i386__) || defined (__x86_64__)
--#define PC_ADJUST -2
--#elif defined (__ppc__) || defined (__ppc64__)
--#define PC_ADJUST -4
--#else
--#error Unhandled darwin architecture.
--#endif
--
--/*------------------------ PPC AIX/Older Darwin -------------------------*/
--#elif ((defined (_POWER) && defined (_AIX)) \
-- || (defined (__APPLE__) && defined (__ppc__)))
-+#if ((defined (_POWER) && defined (_AIX)) || \
-+(defined (__ppc__) && defined (__APPLE__)))
-
- #define USE_GENERIC_UNWINDER
-
-@@ -304,6 +290,24 @@
- window of frame N-1 (positive offset from fp), in which we retrieve the
- saved return address. We then end up with our caller's return address. */
-
-+/*---------------------------- x86 *BSD --------------------------------*/
-+
-+#elif defined (__i386__) && \
-+ ( defined (__NetBSD__) \
-+ || defined (__FreeBSD__) \
-+ || defined (__OpenBSD__) \
-+ || defined (__DragonFly__) )
-+
-+#define USE_GCC_UNWINDER
-+/* The generic unwinder is not used for this target because the default
-+ implementation doesn't unwind on the BSD platforms. AMD64 targets use the
-+ gcc unwinder for all platforms, so let's keep i386 consistent with that.
-+*/
-+
-+#define PC_ADJUST -2
-+/* The minimum size of call instructions on this architecture is 2 bytes */
-+
-+
- /*------------------------------- x86 ----------------------------------*/
-
- #elif defined (i386)
---- gcc/ada/gcc-interface/Makefile.in.orig
-+++ gcc/ada/gcc-interface/Makefile.in
-@@ -1,5 +1,6 @@
- # Makefile for GNU Ada Compiler (GNAT).
- # Copyright (C) 1994-2010 Free Software Foundation, Inc.
-+# Copyright (C) 2010, 2011 John Marino <www.dragonlace.net>
-
- #This file is part of GCC.
-
-@@ -1010,6 +1011,7 @@
- a-numaux.adb<a-numaux-x86.adb \
- a-numaux.ads<a-numaux-x86.ads \
- a-intnam.ads<a-intnam-solaris.ads \
-+ g-trasym.adb<g-trasym-bsd.adb \
- s-inmaop.adb<s-inmaop-posix.adb \
- s-intman.adb<s-intman-solaris.adb \
- s-osinte.adb<s-osinte-solaris.adb \
-@@ -1171,17 +1173,24 @@
- LIBRARY_VERSION := $(LIB_VERSION)
- endif
-
-+
-+# FREEBSD i386
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
- ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
- LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
- a-intnam.ads<a-intnam-freebsd.ads \
- a-numaux.adb<a-numaux-x86.adb \
- a-numaux.ads<a-numaux-x86.ads \
- g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-bsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
- s-inmaop.adb<s-inmaop-posix.adb \
- s-intman.adb<s-intman-posix.adb \
- s-osinte.adb<s-osinte-freebsd.adb \
-- s-osinte.ads<s-osinte-freebsd.ads \
-- s-osprim.adb<s-osprim-posix.adb \
-+ s-osinte.ads<s-osinte-freebsd32.ads \
-+ s-osprim.adb<s-osprim-bsd32.adb \
- s-taprop.adb<s-taprop-posix.adb \
- s-taspri.ads<s-taspri-posix.ads \
- s-tpopsp.adb<s-tpopsp-posix.adb \
-@@ -1191,12 +1200,324 @@
- mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
- GNATLIB_SHARED = gnatlib-shared-dual
-
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
-+ EH_MECHANISM=-gcc
-+ THREADSLIB= -lpthread
-+ GMEM_LIB = gmemlib
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
-+
-+# FREEBSD AMD64
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out x86_64 freebsd%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-freebsd.ads \
-+ a-numaux.adb<a-numaux-x86.adb \
-+ a-numaux.ads<a-numaux-x86.ads \
-+ g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-bsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-osinte.adb<s-osinte-freebsd.adb \
-+ s-osinte.ads<s-osinte-freebsd64.ads \
-+ s-osprim.adb<s-osprim-bsd64.adb \
-+ s-taprop.adb<s-taprop-posix.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ s-tpopsp.adb<s-tpopsp-posix.adb \
-+ system.ads<system-freebsd-x86_64.ads
-+
-+ TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
-+ GNATLIB_SHARED = gnatlib-shared-dual
-+
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
-+ EH_MECHANISM=-gcc
-+ THREADSLIB= -lpthread
-+ GMEM_LIB = gmemlib
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
-+
-+# DRAGONFLY i386
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out %86 dragonfly%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-dragonfly.ads \
-+ a-numaux.adb<a-numaux-x86.adb \
-+ a-numaux.ads<a-numaux-x86.ads \
-+ g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-bsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-osinte.adb<s-osinte-dragonfly.adb \
-+ s-osinte.ads<s-osinte-dragonfly.ads \
-+ s-osprim.adb<s-osprim-posix.adb \
-+ s-taprop.adb<s-taprop-posix.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ s-tpopsp.adb<s-tpopsp-posix.adb \
-+ system.ads<system-dragonfly-x86.ads
-+
-+ TOOLS_TARGET_PAIRS = \
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
-+ GNATLIB_SHARED = gnatlib-shared-dual
-+
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
-+ EH_MECHANISM=-gcc
-+ THREADSLIB= -lpthread
-+ GMEM_LIB = gmemlib
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
-+
-+# DRAGONFLY AMD64
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out x86_64 dragonfly%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-dragonfly.ads \
-+ a-numaux.adb<a-numaux-x86.adb \
-+ a-numaux.ads<a-numaux-x86.ads \
-+ g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-bsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-osinte.adb<s-osinte-dragonfly.adb \
-+ s-osinte.ads<s-osinte-dragonfly.ads \
-+ s-osprim.adb<s-osprim-posix.adb \
-+ s-taprop.adb<s-taprop-posix.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ s-tpopsp.adb<s-tpopsp-posix.adb \
-+ system.ads<system-dragonfly-x86_64.ads
-+
-+ TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
-+ GNATLIB_SHARED = gnatlib-shared-dual
-+
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
-+ EH_MECHANISM=-gcc
-+ THREADSLIB= -lpthread
-+ GMEM_LIB = gmemlib
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
-+
-+# OPENBSD i386
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out %86 openbsd%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-openbsd.ads \
-+ a-numaux.adb<a-numaux-x86.adb \
-+ a-numaux.ads<a-numaux-x86.ads \
-+ g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-bsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-osinte.adb<s-osinte-openbsd.adb \
-+ s-osinte.ads<s-osinte-openbsd.ads \
-+ s-osprim.adb<s-osprim-bsd32.adb \
-+ s-taprop.adb<s-taprop-posix.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ s-tpopsp.adb<s-tpopsp-posix.adb \
-+ system.ads<system-openbsd-x86.ads
-+
-+ TOOLS_TARGET_PAIRS = \
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
-+ GNATLIB_SHARED = gnatlib-shared-dual
-+
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
-+ EH_MECHANISM=
-+ THREADSLIB= -lpthread
-+ GMEM_LIB =
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
-+
-+# OPENBSD AMD64
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out x86_64 openbsd%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-openbsd.ads \
-+ a-numaux.adb<a-numaux-x86.adb \
-+ a-numaux.ads<a-numaux-x86.ads \
-+ g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-bsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-osinte.adb<s-osinte-openbsd.adb \
-+ s-osinte.ads<s-osinte-openbsd.ads \
-+ s-osprim.adb<s-osprim-bsd32.adb \
-+ s-taprop.adb<s-taprop-posix.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ s-tpopsp.adb<s-tpopsp-posix.adb \
-+ system.ads<system-openbsd-x86_64.ads
-+
-+ TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
-+ GNATLIB_SHARED = gnatlib-shared-dual
-+
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
-+ EH_MECHANISM=
-+ THREADSLIB= -lpthread
-+ GMEM_LIB =
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
-+
-+# NETBSD i386 (5+ only)
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out %86 netbsd%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-netbsd.ads \
-+ a-numaux.adb<a-numaux-x86.adb \
-+ a-numaux.ads<a-numaux-x86.ads \
-+ g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-netbsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-osinte.adb<s-osinte-netbsd.adb \
-+ s-taprop.adb<s-taprop-posix.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ s-tpopsp.adb<s-tpopsp-posix.adb \
-+ system.ads<system-netbsd-x86.ads
-+
-+ ifeq ($(strip $(filter-out %86 netbsdelf5%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS+= \
-+ s-osinte.ads<s-osinte-netbsd.ads \
-+ s-osprim.adb<s-osprim-bsd32.adb
-+ else
-+ LIBGNAT_TARGET_PAIRS+= \
-+ g-socthi.ads<g-socthi-netbsd6.ads \
-+ s-osinte.ads<s-osinte-netbsd6.ads \
-+ s-osprim.adb<s-osprim-bsdn6.adb
-+ endif
-+
-+ TOOLS_TARGET_PAIRS = \
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
-+ GNATLIB_SHARED = gnatlib-shared-dual
-+
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
- EH_MECHANISM=-gcc
- THREADSLIB= -lpthread
- GMEM_LIB = gmemlib
- LIBRARY_VERSION := $(LIB_VERSION)
- endif
-
-+
-+# NETBSD AMD64 (5+ only)
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out x86_64 netbsd%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-netbsd.ads \
-+ a-numaux.adb<a-numaux-x86.adb \
-+ a-numaux.ads<a-numaux-x86.ads \
-+ g-bytswa.adb<g-bytswa-x86.adb \
-+ g-socthi.adb<g-socthi-netbsd.adb \
-+ g-trasym.adb<g-trasym-bsd.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-osinte.adb<s-osinte-netbsd.adb \
-+ s-taprop.adb<s-taprop-posix.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ s-tpopsp.adb<s-tpopsp-posix.adb \
-+ system.ads<system-netbsd-x86_64.ads
-+
-+ ifeq ($(strip $(filter-out x86_64 netbsd5%,$(arch) $(osys))),)
-+ LIBGNAT_TARGET_PAIRS+= \
-+ s-osinte.ads<s-osinte-netbsd.ads \
-+ s-osprim.adb<s-osprim-bsd32.adb
-+ else
-+ LIBGNAT_TARGET_PAIRS+= \
-+ g-socthi.ads<g-socthi-netbsd6.ads \
-+ s-osinte.ads<s-osinte-netbsd6.ads \
-+ s-osprim.adb<s-osprim-bsdn6.adb
-+ endif
-+
-+ TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
-+ GNATLIB_SHARED = gnatlib-shared-dual
-+
-+ EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
-+ EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o
-+
-+ EH_MECHANISM=-gcc
-+ THREADSLIB= -lpthread
-+ GMEM_LIB = gmemlib
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
-+
-+# ANDROID (ARM)
-+# TOOL_TARGET_PAIRS probably does nothing, moved to gnattools/configure.ac
-+ifeq ($(strip $(filter-out arm% android eabi,$(targ))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-intnam.ads<a-intnam-linux.ads \
-+ g-trasym.ads<g-trasym-unimplemented.ads \
-+ g-trasym.adb<g-trasym-unimplemented.adb \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-linux.ads<s-linux.ads \
-+ s-osinte.adb<s-osinte-posix.adb \
-+ s-osinte.ads<s-osinte-android.ads \
-+ s-osprim.adb<s-osprim-posix.adb \
-+ s-taprop.adb<s-taprop-linux.adb \
-+ s-tasinf.ads<s-tasinf-linux.ads \
-+ s-tasinf.adb<s-tasinf-linux.adb \
-+ s-taspri.ads<s-taspri-posix-noaltstack.ads \
-+ s-tpopsp.adb<s-tpopsp-posix-foreign.adb
-+
-+ ifeq ($(strip $(filter-out arm%b,$(arch))),)
-+ LIBGNAT_TARGET_PAIRS += \
-+ system.ads<system-linux-armeb.ads
-+ else
-+ LIBGNAT_TARGET_PAIRS += \
-+ system.ads<system-linux-armel.ads
-+ endif
-+
-+ TOOLS_TARGET_PAIRS = \
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb
-+
-+ EXTRA_LIBGNAT_SRCS+= signal_android.c
-+ EXTRA_LIBGNAT_OBJS+= signal_android.o
-+ EXTRA_GNATRTL_TASKING_OBJS= s-linux.o
-+ EH_MECHANISM=
-+ THREADSLIB=
-+ GNATLIB_SHARED= gnatlib-shared-dual
-+ GMEM_LIB= gmemlib
-+ LIBRARY_VERSION:= $(LIB_VERSION)
-+endif
-+
-+
- ifeq ($(strip $(filter-out s390% linux%,$(arch) $(osys))),)
- LIBGNAT_TARGET_PAIRS_COMMON = \
- a-intnam.ads<a-intnam-linux.ads \
---- gnattools/configure.orig
-+++ gnattools/configure
-@@ -5,6 +5,7 @@
- # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
- # Foundation, Inc.
-+# Copyright (C) 2010 John Marino <draco@marino.st>
- #
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
-@@ -2058,7 +2059,27 @@
- s390*-*-linux*)
- TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb"
- ;;
-- *86-*-freebsd*)
-+ *86-*-freebsd* | x86_64-*-freebsd*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ *86-*-dragonfly* | x86_64-*-dragonfly*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ *86-*-openbsd* | x86_64-*-openbsd*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ *86-*-netbsdelf* | x86_64-*-netbsd*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ arm*-android-eabi)
- TOOLS_TARGET_PAIRS="\
- mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
- indepsw.adb<indepsw-gnu.adb"
---- gnattools/configure.ac.orig
-+++ gnattools/configure.ac
-@@ -1,5 +1,6 @@
- # Configure script for libada.
- # Copyright 2003, 2004, 2009 Free Software Foundation, Inc.
-+# Copyright 2010 John Marino <draco@marino.st>
- #
- # This file is free software; you can redistribute it and/or modify it
- # under the terms of the GNU General Public License as published by
-@@ -98,7 +99,27 @@
- s390*-*-linux*)
- TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb"
- ;;
-- *86-*-freebsd*)
-+ *86-*-freebsd* | x86_64-*-freebsd*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ *86-*-dragonfly* | x86_64-*-dragonfly*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ *86-*-openbsd* | x86_64-*-openbsd*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ *86-*-netbsdelf* | x86_64-*-netbsd*)
-+ TOOLS_TARGET_PAIRS="\
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb"
-+ ;;
-+ arm*-android-eabi)
- TOOLS_TARGET_PAIRS="\
- mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
- indepsw.adb<indepsw-gnu.adb"
diff --git a/lang/gnat-aux/files/diff-ada-testsuite b/lang/gnat-aux/files/diff-ada-testsuite
deleted file mode 100644
index e6b3c87938c..00000000000
--- a/lang/gnat-aux/files/diff-ada-testsuite
+++ /dev/null
@@ -1,190 +0,0 @@
---- gcc/testsuite/ada/acats/run_acats.orig
-+++ gcc/testsuite/ada/acats/run_acats
-@@ -5,20 +5,6 @@
- exit 1
- fi
-
--# Provide which replacement.
--#
--# type -p is missing from Solaris 2 /bin/sh and /bin/ksh (ksh88), but both
--# ksh93 and bash have it.
--# type output format differs between ksh88 and ksh93, so avoid it if
--# type -p is present. Unfortunately, HP-UX /bin/sh ignores -p with type.
--# Fall back to whence which ksh88 and ksh93 provide, but bash does not.
--
--which () {
-- path=`type -p $* 2>/dev/null` && { echo $path | awk '{print $NF}'; return 0; }
-- path=`type $* 2>/dev/null` && { echo $path | awk '{print $NF}'; return 0; }
-- path=`whence $* 2>/dev/null` && { echo $path; return 0; }
-- return 1
--}
-
- # Set up environment to use the Ada compiler from the object tree
-
---- gcc/testsuite/ada/acats/run_all.sh.orig
-+++ gcc/testsuite/ada/acats/run_all.sh
-@@ -35,6 +35,14 @@
- echo "$@" >> $dir/acats.log
- }
-
-+inform () {
-+ printf "%04d %7s" $1 $2
-+}
-+
-+disinform () {
-+ printf "\r"
-+}
-+
- dir=`${PWDCMD-pwd}`
-
- if [ "$testdir" = "" ]; then
-@@ -197,6 +205,18 @@
- glob_countn=0
- glob_countok=0
- glob_countu=0
-+countdown=0
-+
-+for chapter in $chapters; do
-+ if [ -d $dir/tests/$chapter ]; then
-+ cd $dir/tests/$chapter
-+ ls *.a *.ada *.adt *.am *.dep 2> /dev/null | sed -e 's/\(.*\)\..*/\1/g' | \
-+ cut -c1-7 | sort | uniq | comm -23 - $dir/support/norun.lst \
-+ > $dir/tests/$chapter/${chapter}.lst
-+ countn=`wc -l < $dir/tests/$chapter/${chapter}.lst`
-+ countdown=`expr $countdown + $countn`
-+ fi
-+done
-
- for chapter in $chapters; do
- display Running chapter $chapter ...
-@@ -207,10 +227,6 @@
- continue
- fi
-
-- cd $dir/tests/$chapter
-- ls *.a *.ada *.adt *.am *.dep 2> /dev/null | sed -e 's/\(.*\)\..*/\1/g' | \
-- cut -c1-7 | sort | uniq | comm -23 - $dir/support/norun.lst \
-- > $dir/tests/$chapter/${chapter}.lst
- countn=`wc -l < $dir/tests/$chapter/${chapter}.lst`
- glob_countn=`expr $glob_countn + $countn`
- counti=0
-@@ -233,10 +249,13 @@
- if [ $? -eq 0 ]; then
- extraflags="$extraflags -gnat95"
- fi
-+ inform $countdown $i
-+ countdown=`expr $countdown - 1`
- test=$dir/tests/$chapter/$i
- mkdir $test && cd $test >> $dir/acats.log 2>&1
-
- if [ $? -ne 0 ]; then
-+ disinform
- display "FAIL: $i"
- failed="${failed}${i} "
- clean_dir
-@@ -260,6 +279,7 @@
- cxh1001) extraflags="-a -f"; echo "pragma Normalize_Scalars;" > gnat.adc
- esac
- if [ "$main" = "" ]; then
-+ disinform
- display "FAIL: $i"
- failed="${failed}${i} "
- clean_dir
-@@ -268,6 +288,7 @@
-
- target_gnatmake $extraflags -I$dir/support $main >> $dir/acats.log 2>&1
- if [ $? -ne 0 ]; then
-+ disinform
- display "FAIL: $i"
- failed="${failed}${i} "
- clean_dir
-@@ -282,6 +303,7 @@
- target_run $dir/tests/$chapter/$i/$binmain > $dir/tests/$chapter/$i/${i}.log 2>&1
- cd $dir/tests/$chapter/$i
- cat ${i}.log >> $dir/acats.log
-+ disinform
- egrep -e '(==== |\+\+\+\+ |\!\!\!\! )' ${i}.log > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- grep 'tasking not implemented' ${i}.log > /dev/null 2>&1
---- gcc/testsuite/gnat.dg/test_raise_from_pure.adb.orig
-+++ gcc/testsuite/gnat.dg/test_raise_from_pure.adb
-@@ -1,4 +1,4 @@
---- { dg-do run { xfail arm*-*-* } }
-+-- { dg-do run { xfail arm*-*-* *-*-openbsd* } }
- -- { dg-options "-O2" }
-
- -- This is an optimization test and its failure is only a missed optimization.
---- /dev/null
-+++ gcc/testsuite/gnat.dg/unchecked_convert5.txt
-@@ -0,0 +1,9 @@
-+The test "unchecked_converted5.adb" was deleted because it only
-+supportes the following targets:
-+
-+ hppa*
-+ sparc*
-+ powerpc*
-+
-+Currently I'm not working with any of those, so until that changes, the
-+test will be absent to lower the "unsupported" test number.
---- /dev/null
-+++ gcc/testsuite/gnat.dg/unchecked_convert6.txt
-@@ -0,0 +1,9 @@
-+The test "unchecked_converted6.adb" was deleted because it only
-+supportes the following targets:
-+
-+ hppa*
-+ sparc*
-+ powerpc*
-+
-+Currently I'm not working with any of those, so until that changes, the
-+test will be absent to lower the "unsupported" test number.
---- gcc/testsuite/gnat.dg/unchecked_convert5.adb
-+++ /dev/null
-@@ -1,22 +0,0 @@
---- { dg-do run { target hppa*-*-* sparc*-*-* powerpc*-*-* } }
--
--with Unchecked_Conversion;
--
--procedure Unchecked_Convert5 is
--
-- subtype c_1 is string(1..1);
--
-- function int2c1 is -- { dg-warning "different sizes" }
-- new unchecked_conversion (source => integer, target => c_1);
--
-- c1 : c_1;
--
--begin
--
-- c1 := int2c1(16#12#);
--
-- if c1 (1) /= ASCII.Nul then
-- raise Program_Error;
-- end if;
--
--end;
---- gcc/testsuite/gnat.dg/unchecked_convert6.adb
-+++ /dev/null
-@@ -1,22 +0,0 @@
---- { dg-do run { target hppa*-*-* sparc*-*-* powerpc*-*-* } }
--
--with Unchecked_Conversion;
--
--procedure Unchecked_Convert6 is
--
-- subtype c_5 is string(1..5);
--
-- function int2c5 is -- { dg-warning "different sizes" }
-- new unchecked_conversion (source => integer, target => c_5);
--
-- c5 : c_5;
--
--begin
--
-- c5 := int2c5(16#12#);
--
-- if c5 (4) /= ASCII.DC2 then
-- raise Program_Error;
-- end if;
--
--end;
diff --git a/lang/gnat-aux/files/diff-core b/lang/gnat-aux/files/diff-core
deleted file mode 100644
index 9cb95cdd664..00000000000
--- a/lang/gnat-aux/files/diff-core
+++ /dev/null
@@ -1,1930 +0,0 @@
---- gcc/config.gcc.orig
-+++ gcc/config.gcc
-@@ -529,7 +529,7 @@
- extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
- fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
- tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
-- tmake_file="t-slibgcc-elf-ver t-freebsd"
-+ tmake_file="t-slibgcc-elf-ver t-libc-ok t-libgcc-pic t-exceptions"
- case ${enable_threads} in
- no)
- fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
-@@ -545,6 +545,9 @@
- ;;
- esac
- ;;
-+ gnat | single)
-+ # Let these non-posix thread selections fall through if requested
-+ ;;
- *)
- echo 'Unknown thread configuration for FreeBSD'
- exit 1
-@@ -561,6 +564,39 @@
- # need_64bit_hwint=yes # system compiler has this for all arch!
- use_gcc_stdint=wrap
- ;;
-+*-*-dragonfly*)
-+ gas=yes
-+ gnu_ld=yes
-+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
-+ tmake_file="t-slibgcc-elf-ver t-libc-ok t-libgcc-pic t-exceptions"
-+ case ${enable_threads} in
-+ "" | yes | posix)
-+ thread_file='posix'
-+ ;;
-+ no | gnat | single)
-+ # Let these non-posix thread selections fall through if requested
-+ ;;
-+ *)
-+ echo 'Unknown thread configuration for DragonFly BSD'
-+ exit 1
-+ ;;
-+ esac
-+ extra_options="$extra_options rpath.opt dragonfly.opt"
-+ default_use_cxa_atexit=yes
-+ ;;
-+*-android-eabi*)
-+ extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
-+ gas=yes
-+ gnu_ld=yes
-+ case ${enable_threads} in
-+ "" | yes | posix) thread_file='posix' ;;
-+ esac
-+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC ANDROID_DEFAULT=1"
-+ extra_options="$extra_options linux.opt linux-android.opt"
-+ default_use_cxa_atexit=yes
-+ use_gcc_tgmath=no
-+ use_gcc_stdint=wrap
-+ ;;
- *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
- extra_options="$extra_options gnu-user.opt"
- extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
-@@ -618,9 +654,11 @@
- esac
- ;;
- *-*-netbsd*)
-- tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic"
-+ tmake_file="t-slibgcc-elf-ver t-libc-ok t-libgcc-pic t-exceptions"
- gas=yes
- gnu_ld=yes
-+ nbsd_major=`echo ${target} | sed -e 's/.*netbsd\(elf\)\{0,1\}//g' | sed -e 's/\..*//g'`
-+ tm_defines="${tm_defines} NBSD_MAJOR=${nbsd_major}"
-
- # NetBSD 2.0 and later get POSIX threads enabled by default.
- # Allow them to be explicitly enabled on any other version.
-@@ -657,12 +695,22 @@
- esac
- ;;
- *-*-openbsd*)
-+ gas=yes
-+ gnu_ld=yes
-+ # Do NOT add crt*.o extra parts!
- tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
- case ${enable_threads} in
-- yes)
-+ "" | yes | posix)
- thread_file='posix'
- tmake_file="${tmake_file} t-openbsd-thread"
- ;;
-+ no | gnat | single)
-+ # Let these non-posix thread selections fall through
-+ ;;
-+ *)
-+ echo 'Unknown thread configuration for OpenBSD'
-+ exit 1
-+ ;;
- esac
- case ${target} in
- *-*-openbsd2.*|*-*-openbsd3.[012])
-@@ -793,6 +841,24 @@
- tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
- extra_parts="crtinit.o crtfini.o"
- ;;
-+arm*-android-eabi*)
-+ case $target in
-+ arm*b-*)
-+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
-+ ;;
-+ esac
-+ tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h"
-+ tm_file="$tm_file arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/bpabi.h arm/linux-eabi.h"
-+ tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h arm/aout.h arm/arm.h"
-+
-+ tmake_file="t-slibgcc-elf-ver t-linux arm/t-arm"
-+ tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
-+ tmake_file="$tmake_file arm/t-linux-androideabi arm/t-arm-softfp soft-fp/t-softfp"
-+
-+ # The BPABI long long divmod functions return a 128-bit value in registers r0-r3.
-+ # Correctly modeling that requires the use of TImode.
-+ need_64bit_hwint=yes
-+ ;;
- arm-wrs-vxworks)
- tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
- extra_options="${extra_options} arm/vxworks.opt"
-@@ -1219,9 +1285,18 @@
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
- tmake_file="${tmake_file} i386/t-crtstuff"
- ;;
-+i[34567]86-*-dragonfly*)
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
-+ tmake_file="${tmake_file} i386/t-crtstuff"
-+ ;;
-+x86_64-*-dragonfly*)
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/x86-64.h i386/dragonfly.h i386/dragonfly64.h"
-+ tmake_file="${tmake_file} i386/t-crtstuff"
-+ ;;
- i[34567]86-*-netbsdelf*)
-- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h netbsd-stdint.h"
- extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
-+ tmake_file="${tmake_file} i386/t-crtstuff"
- ;;
- i[34567]86-*-netbsd*)
- tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
-@@ -1231,7 +1306,7 @@
- use_collect2=yes
- ;;
- x86_64-*-netbsd*)
-- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h netbsd-stdint.h"
- extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
- tmake_file="${tmake_file} i386/t-crtstuff"
- ;;
-@@ -1247,8 +1322,12 @@
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
- tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
- extra_options="${extra_options} openbsd.opt"
-- gas=yes
-- gnu_ld=yes
-+ ;;
-+x86_64-*-openbsd*)
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
-+ tm_file="${tm_file} openbsd.h openbsd-libpthread.h i386/x86-64.h i386/openbsd64.h exec-stack.h"
-+ extra_options="${extra_options} openbsd.opt"
-+ tmake_file="${tmake_file} i386/t-crtstuff"
- ;;
- i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
- # Intel 80386's running GNU/*
-@@ -3673,6 +3752,11 @@
- i[34567]86-*-freebsd* | x86_64-*-freebsd*)
- tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
- ;;
-+ i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
-+ tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
-+ ;;
-+ i[34567]86-*-openbsd* | x86_64-*-openbsd*)
-+ ;;
- ia64*-*-linux*)
- tmake_file="${tmake_file} ia64/t-fprules-softfp soft-fp/t-softfp"
- ;;
---- gcc/crtstuff.c.orig
-+++ gcc/crtstuff.c
-@@ -79,11 +79,19 @@
- }
- #endif
-
-+#if defined(TARGET_DL_ITERATE_PHDR) && \
-+ ( defined(__FreeBSD__) \
-+ || defined(__OpenBSD__) \
-+ || defined(__NetBSD__) \
-+ || defined(__DragonFly__))
-+#define BSD_DL_ITERATE_PHDR_AVAILABLE
-+#endif
-+
- #if defined(OBJECT_FORMAT_ELF) \
- && !defined(OBJECT_FORMAT_FLAT) \
- && defined(HAVE_LD_EH_FRAME_HDR) \
- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
-- && defined(__FreeBSD__) && __FreeBSD__ >= 7
-+ && defined(BSD_DL_ITERATE_PHDR_AVAILABLE)
- #include <link.h>
- # define USE_PT_GNU_EH_FRAME
- #endif
---- gcc/DEV-PHASE.orig
-+++ gcc/DEV-PHASE
-@@ -0,0 +1 @@
-+release
---- gcc/unwind-dw2-fde-glibc.c.orig
-+++ gcc/unwind-dw2-fde-glibc.c
-@@ -53,13 +53,21 @@
- #endif
-
- #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-- && defined(__FreeBSD__) && __FreeBSD__ >= 7
-+ && defined(TARGET_DL_ITERATE_PHDR) \
-+ && (defined(__FreeBSD__) || defined(__DragonFly__))
- # define ElfW __ElfN
- # define USE_PT_GNU_EH_FRAME
- #endif
-
- #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
- && defined(TARGET_DL_ITERATE_PHDR) \
-+ && (defined(__OpenBSD__) || defined(__NetBSD__))
-+# define ElfW(n) Elf_##n
-+# define USE_PT_GNU_EH_FRAME
-+#endif
-+
-+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-+ && defined(TARGET_DL_ITERATE_PHDR) \
- && defined(__sun__) && defined(__svr4__)
- # define USE_PT_GNU_EH_FRAME
- #endif
---- /dev/null
-+++ gcc/config/dragonfly-stdint.h
-@@ -0,0 +1,56 @@
-+/* Definitions for <stdint.h> types for DragonFly systems.
-+ Copyright (C) 2009 Free Software Foundation, Inc.
-+ Contributed by Gerald Pfeifer <gerald@pfeifer.com>.
-+
-+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 3, 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.
-+
-+Under Section 7 of GPL version 3, you are granted additional
-+permissions described in the GCC Runtime Library Exception, version
-+3.1, as published by the Free Software Foundation.
-+
-+You should have received a copy of the GNU General Public License and
-+a copy of the GCC Runtime Library Exception along with this program;
-+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+<http://www.gnu.org/licenses/>. */
-+
-+#define SIG_ATOMIC_TYPE "int"
-+
-+#define INT8_TYPE "signed char"
-+#define INT16_TYPE "short int"
-+#define INT32_TYPE "int"
-+#define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
-+#define UINT8_TYPE "unsigned char"
-+#define UINT16_TYPE "short unsigned int"
-+#define UINT32_TYPE "unsigned int"
-+#define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
-+
-+#define INT_LEAST8_TYPE INT8_TYPE
-+#define INT_LEAST16_TYPE INT16_TYPE
-+#define INT_LEAST32_TYPE INT32_TYPE
-+#define INT_LEAST64_TYPE INT64_TYPE
-+#define UINT_LEAST8_TYPE UINT8_TYPE
-+#define UINT_LEAST16_TYPE UINT16_TYPE
-+#define UINT_LEAST32_TYPE UINT32_TYPE
-+#define UINT_LEAST64_TYPE UINT64_TYPE
-+
-+#define INT_FAST8_TYPE INT32_TYPE
-+#define INT_FAST16_TYPE INT32_TYPE
-+#define INT_FAST32_TYPE INT32_TYPE
-+#define INT_FAST64_TYPE INT64_TYPE
-+#define UINT_FAST8_TYPE UINT32_TYPE
-+#define UINT_FAST16_TYPE UINT32_TYPE
-+#define UINT_FAST32_TYPE UINT32_TYPE
-+#define UINT_FAST64_TYPE UINT64_TYPE
-+
-+#define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? INT64_TYPE : INT32_TYPE)
-+#define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? UINT64_TYPE : UINT32_TYPE)
---- /dev/null
-+++ gcc/config/dragonfly.h
-@@ -0,0 +1,139 @@
-+/* Base configuration file for all DragonFly targets.
-+ Copyright (C) 1999, 2000, 2001, 2007, 2008 Free Software Foundation, Inc.
-+ Copyright (C) 2010-2012 John R. Marino <www.dragonlace.net>
-+
-+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 3, 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 COPYING3. If not see
-+<http://www.gnu.org/licenses/>. */
-+
-+/* Common DragonFly configuration.
-+ All DragonFly architectures should include this file, which will specify
-+ their commonalities.
-+
-+ Adapted from gcc/config/freebsd.h by
-+ Joerg Sonnenberger <joerg@bec.de>
-+
-+ Adapted from gcc/config/i386/freebsd-elf.h by
-+ David O'Brien <obrien@FreeBSD.org>.
-+ Further work by David O'Brien <obrien@FreeBSD.org> and
-+ Loren J. Rittle <ljrittle@acm.org>. */
-+
-+/* JRM: 15 Nov 2010
-+ SWITCH_TAKES_ARG & WORD_SWITCH_TAKES_ARG removed due to poisoning.
-+ http://gcc.gnu.org/ml/gcc-patches/2010-10/msg02102.html
-+ http://gcc.gnu.org/ml/gcc-patches/2010-10/msg02373.html */
-+
-+#undef TARGET_OS_CPP_BUILTINS
-+#define TARGET_OS_CPP_BUILTINS() \
-+ do \
-+ { \
-+ builtin_define_std ("unix"); \
-+ builtin_define ("__DragonFly__"); \
-+ builtin_assert ("system=unix"); \
-+ builtin_assert ("system=bsd"); \
-+ builtin_assert ("system=DragonFly"); \
-+ } \
-+ while (0)
-+
-+#undef CPP_SPEC
-+#define CPP_SPEC \
-+ "%(cpp_cpu) %(cpp_arch) %{posix:-D_POSIX_SOURCE}"
-+
-+#undef STARTFILE_SPEC
-+#define STARTFILE_SPEC \
-+ "%{!shared: \
-+ %{pg:gcrt1.o%s} \
-+ %{!pg: \
-+ %{p:gcrt1.o%s} \
-+ %{!p: \
-+ %{profile: gcrt1.o%s} \
-+ %{!profile: \
-+ %{pie: Scrt1.o%s;:crt1.o%s}}}}} \
-+ crti.o%s \
-+ %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-+
-+#undef ENDFILE_SPEC
-+#define ENDFILE_SPEC \
-+ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
-+
-+#undef LIB_SPEC
-+#define LIB_SPEC \
-+ "%{pthread:-lpthread} -lc"
-+
-+/* Provide a LINK_SPEC appropriate for DragonFly. Here we provide support
-+ for the special GCC options -static and -shared, which allow us to
-+ link things in one of these three modes by applying the appropriate
-+ combinations of options at link-time.
-+
-+ When the -shared link option is used a final link is not being
-+ done. */
-+
-+#define DFBSD_LINK_SPEC \
-+ "%{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \
-+ %{v:-V} \
-+ %{assert*} %{R*} %{rpath*} %{defsym*} \
-+ %{shared:-Bshareable %{h*} %{soname*}} \
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ -dynamic-linker %(dfbsd_dynamic_linker) } \
-+ %{static:-Bstatic}} \
-+ %{symbolic:-Bsymbolic}"
-+
-+#undef LINK_SPEC
-+#define LINK_SPEC DFBSD_LINK_SPEC
-+
-+#define DFBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.2"
-+
-+#if defined(HAVE_LD_EH_FRAME_HDR)
-+#define LINK_EH_SPEC "--eh-frame-hdr"
-+#endif
-+
-+/* Use --as-needed -lgcc_s for eh support. */
-+#ifdef HAVE_LD_AS_NEEDED
-+#define USE_LD_AS_NEEDED 1
-+#endif
-+
-+/************************[ Target stuff ]***********************************/
-+
-+/* All DragonFly Architectures support the ELF object file format. */
-+#undef OBJECT_FORMAT_ELF
-+#define OBJECT_FORMAT_ELF
-+
-+/* Don't assume anything about the header files. */
-+#undef NO_IMPLICIT_EXTERN_C
-+#define NO_IMPLICIT_EXTERN_C 1
-+
-+/* Follow DragonFly's standard headers (<machine/stdint.h>, etc...). */
-+
-+#undef WCHAR_TYPE
-+#define WCHAR_TYPE "int"
-+
-+#undef WINT_TYPE
-+#define WINT_TYPE "int"
-+
-+#define MATH_LIBRARY_PROFILE "m_p"
-+
-+/* Code generation parameters. */
-+
-+/* Use periods rather than dollar signs in special g++ assembler names.
-+ This ensures the configuration knows our system correctly so we can link
-+ with libraries compiled with the native cc. */
-+#undef NO_DOLLAR_IN_LABEL
-+
-+/* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW.
-+ This enables the test coverage code to use file locking when exiting a
-+ program, which avoids race conditions if the program has forked. */
-+#define TARGET_POSIX_IO
---- /dev/null
-+++ gcc/config/dragonfly.opt
-@@ -0,0 +1,59 @@
-+; DragonFlyBSD options.
-+
-+; Copyright (C) 2010
-+; 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 3, 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 COPYING3. If not see
-+; <http://www.gnu.org/licenses/>.
-+
-+; See the GCC internals manual (options.texi) for a description of this file's format.
-+
-+; Please try to keep this file in ASCII collating order.
-+
-+assert
-+Driver Separate
-+
-+assert=
-+Driver JoinedOrMissing
-+
-+defsym
-+Driver Separate
-+
-+defsym=
-+Driver JoinedOrMissing
-+
-+profile
-+Driver
-+
-+pthread
-+Driver
-+
-+rpath-link
-+Driver Separate
-+
-+rpath-link=
-+Driver JoinedOrMissing
-+
-+rpath=
-+Driver JoinedOrMissing
-+
-+soname
-+Driver Separate
-+
-+soname=
-+Driver JoinedOrMissing
-+
-+; This comment is to ensure we retain the blank line above.
---- /dev/null
-+++ gcc/config/exec-stack.h
-@@ -0,0 +1,41 @@
-+/* Enable stack execute around trampoline address.
-+ Copyright (C) 2002 Free Software Foundation, Inc.
-+
-+This file is part of GNU CC.
-+
-+GNU CC 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.
-+
-+GNU CC 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 GNU CC; see the file COPYING. If not, write to
-+the Free Software Foundation, 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA. */
-+
-+#undef FINALIZE_TRAMPOLINE
-+#define FINALIZE_TRAMPOLINE(TRAMP) \
-+ emit_library_call(gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"), \
-+ 0, VOIDmode, 1, memory_address (SImode, (TRAMP)), Pmode)
-+
-+#undef TRANSFER_FROM_TRAMPOLINE
-+#define TRANSFER_FROM_TRAMPOLINE \
-+extern void __enable_execute_stack (void *); \
-+void \
-+__enable_execute_stack (addr) \
-+ void *addr; \
-+{ \
-+ long size = getpagesize (); \
-+ long mask = ~(size-1); \
-+ char *page = (char *) (((long) addr) & mask); \
-+ char *end = (char *) ((((long) (addr + TRAMPOLINE_SIZE)) & mask) + size); \
-+ \
-+ if (mprotect (page, end - page, PROT_READ | PROT_WRITE | PROT_EXEC) < 0) \
-+ perror ("mprotect of trampoline code"); \
-+}
-+
---- /dev/null
-+++ gcc/config/netbsd-stdint.h
-@@ -0,0 +1,56 @@
-+/* Definitions for <stdint.h> types for NetBSD systems.
-+ Copyright (C) 2009 Free Software Foundation, Inc.
-+ Contributed by Gerald Pfeifer <gerald@pfeifer.com>.
-+
-+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 3, 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.
-+
-+Under Section 7 of GPL version 3, you are granted additional
-+permissions described in the GCC Runtime Library Exception, version
-+3.1, as published by the Free Software Foundation.
-+
-+You should have received a copy of the GNU General Public License and
-+a copy of the GCC Runtime Library Exception along with this program;
-+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+<http://www.gnu.org/licenses/>. */
-+
-+#define SIG_ATOMIC_TYPE "int"
-+
-+#define INT8_TYPE "signed char"
-+#define INT16_TYPE "short int"
-+#define INT32_TYPE "int"
-+#define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
-+#define UINT8_TYPE "unsigned char"
-+#define UINT16_TYPE "short unsigned int"
-+#define UINT32_TYPE "unsigned int"
-+#define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
-+
-+#define INT_LEAST8_TYPE INT8_TYPE
-+#define INT_LEAST16_TYPE INT16_TYPE
-+#define INT_LEAST32_TYPE INT32_TYPE
-+#define INT_LEAST64_TYPE INT64_TYPE
-+#define UINT_LEAST8_TYPE UINT8_TYPE
-+#define UINT_LEAST16_TYPE UINT16_TYPE
-+#define UINT_LEAST32_TYPE UINT32_TYPE
-+#define UINT_LEAST64_TYPE UINT64_TYPE
-+
-+#define INT_FAST8_TYPE INT32_TYPE
-+#define INT_FAST16_TYPE INT32_TYPE
-+#define INT_FAST32_TYPE INT32_TYPE
-+#define INT_FAST64_TYPE INT64_TYPE
-+#define UINT_FAST8_TYPE UINT32_TYPE
-+#define UINT_FAST16_TYPE UINT32_TYPE
-+#define UINT_FAST32_TYPE UINT32_TYPE
-+#define UINT_FAST64_TYPE UINT64_TYPE
-+
-+#define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? INT64_TYPE : INT32_TYPE)
-+#define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? UINT64_TYPE : UINT32_TYPE)
---- gcc/config/netbsd.h.orig
-+++ gcc/config/netbsd.h
-@@ -22,7 +22,7 @@
- #define NETBSD_OS_CPP_BUILTINS_COMMON() \
- do \
- { \
-- builtin_define ("__NetBSD__"); \
-+ builtin_define_with_int_value ("__NetBSD__", NBSD_MAJOR); \
- builtin_define ("__unix__"); \
- builtin_assert ("system=bsd"); \
- builtin_assert ("system=unix"); \
---- /dev/null
-+++ gcc/config/t-exceptions
-@@ -0,0 +1,7 @@
-+# Use unwind-dw2-fde-glibc
-+# Required to utilize dl_iterate_phdr functionality
-+
-+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
-+ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
-+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
-+
---- gcc/config/t-openbsd-thread.orig
-+++ gcc/config/t-openbsd-thread
-@@ -1,3 +1,3 @@
- # This is currently needed to compile libgcc2 for threads support
--TARGET_LIBGCC2_CFLAGS=-pthread
-+TARGET_LIBGCC2_CFLAGS += -pthread
-
---- /dev/null
-+++ gcc/config/i386/dragonfly-unwind.h
-@@ -0,0 +1,158 @@
-+/* DWARF2 EH unwinding support for DragonFly BSD: AMD x86-64 and x86.
-+ Copyright (C) 2010 John Marino <draco@marino.st> */
-+
-+/* Do code reading to identify a signal frame, and set the frame
-+ state data appropriately. See unwind-dw2.c for the structs. */
-+
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#include <signal.h>
-+#include <sys/ucontext.h>
-+#include <machine/sigframe.h>
-+
-+
-+#define REG_NAME(reg) sf_uc.uc_mcontext.mc_## reg
-+
-+#ifdef __x86_64__
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_64_dragonfly_fallback_frame_state
-+
-+
-+static void
-+x86_64_sigtramp_range (unsigned char **start, unsigned char **end)
-+{
-+ unsigned long ps_strings;
-+ int mib[2];
-+ size_t len;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PS_STRINGS;
-+ len = sizeof (ps_strings);
-+ sysctl (mib, 2, &ps_strings, &len, NULL, 0);
-+
-+ *start = (unsigned char *)ps_strings - 32;
-+ *end = (unsigned char *)ps_strings;
-+}
-+
-+
-+static _Unwind_Reason_Code
-+x86_64_dragonfly_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+ unsigned char *pc = context->ra;
-+ unsigned char *sigtramp_start, *sigtramp_end;
-+ struct sigframe *sf;
-+ long new_cfa;
-+
-+ x86_64_sigtramp_range(&sigtramp_start, &sigtramp_end);
-+ if (pc >= sigtramp_end || pc < sigtramp_start)
-+ return _URC_END_OF_STACK;
-+
-+ sf = (struct sigframe *) context->cfa;
-+ new_cfa = sf->REG_NAME(rsp);
-+ fs->regs.cfa_how = CFA_REG_OFFSET;
-+ /* Register 7 is rsp */
-+ fs->regs.cfa_reg = 7;
-+ fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+
-+ /* The SVR4 register numbering macros aren't usable in libgcc. */
-+ fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(rax) - new_cfa;
-+ fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(rdx) - new_cfa;
-+ fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(rcx) - new_cfa;
-+ fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(rbx) - new_cfa;
-+ fs->regs.reg[4].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[4].loc.offset = (long)&sf->REG_NAME(rsi) - new_cfa;
-+ fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(rdi) - new_cfa;
-+ fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(rbp) - new_cfa;
-+ fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(r8) - new_cfa;
-+ fs->regs.reg[9].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[9].loc.offset = (long)&sf->REG_NAME(r9) - new_cfa;
-+ fs->regs.reg[10].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[10].loc.offset = (long)&sf->REG_NAME(r10) - new_cfa;
-+ fs->regs.reg[11].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[11].loc.offset = (long)&sf->REG_NAME(r11) - new_cfa;
-+ fs->regs.reg[12].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[12].loc.offset = (long)&sf->REG_NAME(r12) - new_cfa;
-+ fs->regs.reg[13].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[13].loc.offset = (long)&sf->REG_NAME(r13) - new_cfa;
-+ fs->regs.reg[14].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[14].loc.offset = (long)&sf->REG_NAME(r14) - new_cfa;
-+ fs->regs.reg[15].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[15].loc.offset = (long)&sf->REG_NAME(r15) - new_cfa;
-+ fs->regs.reg[16].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[16].loc.offset = (long)&sf->REG_NAME(rip) - new_cfa;
-+ fs->retaddr_column = 16;
-+ fs->signal_frame = 1;
-+ return _URC_NO_REASON;
-+}
-+
-+#else /* Next section is for i386 */
-+
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_dragonfly_fallback_frame_state
-+
-+
-+static void
-+x86_sigtramp_range (unsigned char **start, unsigned char **end)
-+{
-+ unsigned long ps_strings;
-+ int mib[2];
-+ size_t len;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PS_STRINGS;
-+ len = sizeof (ps_strings);
-+ sysctl (mib, 2, &ps_strings, &len, NULL, 0);
-+
-+ *start = (unsigned char *)ps_strings - 128;
-+ *end = (unsigned char *)ps_strings;
-+}
-+
-+
-+static _Unwind_Reason_Code
-+x86_dragonfly_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+ unsigned char *pc = context->ra;
-+ unsigned char *sigtramp_start, *sigtramp_end;
-+ struct sigframe *sf;
-+ long new_cfa;
-+
-+ x86_sigtramp_range(&sigtramp_start, &sigtramp_end);
-+
-+ if (pc >= sigtramp_end || pc < sigtramp_start)
-+ return _URC_END_OF_STACK;
-+
-+ sf = (struct sigframe *) context->cfa;
-+ new_cfa = sf->REG_NAME(esp);
-+ fs->regs.cfa_how = CFA_REG_OFFSET;
-+ fs->regs.cfa_reg = 4;
-+ fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+
-+ /* The SVR4 register numbering macros aren't usable in libgcc. */
-+ fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(eax) - new_cfa;
-+ fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(ebx) - new_cfa;
-+ fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(ecx) - new_cfa;
-+ fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(edx) - new_cfa;
-+ fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(esi) - new_cfa;
-+ fs->regs.reg[7].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[7].loc.offset = (long)&sf->REG_NAME(edi) - new_cfa;
-+ fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(ebp) - new_cfa;
-+ fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(eip) - new_cfa;
-+ fs->retaddr_column = 8;
-+ fs->signal_frame = 1;
-+ return _URC_NO_REASON;
-+}
-+#endif /* ifdef __x86_64__ */
---- /dev/null
-+++ gcc/config/i386/dragonfly.h
-@@ -0,0 +1,107 @@
-+/* Definitions for Intel 386 running DragonFly with ELF format
-+ Copyright (C) 1996, 2000, 2002, 2004, 2007 Free Software Foundation, Inc.
-+ Contributed by Eric Youngdale.
-+ Modified for stabs-in-ELF by H.J. Lu.
-+ Adapted from GNU/Linux version by John Polstra.
-+ Continued development by David O'Brien <obrien@freebsd.org>
-+ Copyright (C) 2010, 2011 John Marino <www.dragonlace.net>
-+
-+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 3, 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 COPYING3. If not see
-+<http://www.gnu.org/licenses/>. */
-+
-+
-+#define TARGET_VERSION fprintf (stderr, " (i386 DragonFly/ELF)");
-+
-+/* Override the default comment-starter of "/". */
-+#undef ASM_COMMENT_START
-+#define ASM_COMMENT_START "#"
-+
-+#undef ASM_APP_ON
-+#define ASM_APP_ON "#APP\n"
-+
-+#undef ASM_APP_OFF
-+#define ASM_APP_OFF "#NO_APP\n"
-+
-+#undef DBX_REGISTER_NUMBER
-+#define DBX_REGISTER_NUMBER(n) \
-+ (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-+
-+#undef NO_PROFILE_COUNTERS
-+#define NO_PROFILE_COUNTERS 1
-+
-+/* Tell final.c that we don't need a label passed to mcount. */
-+
-+#undef MCOUNT_NAME
-+#define MCOUNT_NAME ".mcount"
-+
-+/* Make gcc agree with <machine/ansi.h>. */
-+
-+#undef SIZE_TYPE
-+#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
-+
-+#undef PTRDIFF_TYPE
-+#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
-+
-+#undef WCHAR_TYPE_SIZE
-+#define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
-+
-+#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */
-+#define SUBTARGET_EXTRA_SPECS \
-+ { "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
-+
-+
-+/* A C statement to output to the stdio stream FILE an assembler
-+ command to advance the location counter to a multiple of 1<<LOG
-+ bytes if it is within MAX_SKIP bytes.
-+
-+ This is used to align code labels according to Intel recommendations. */
-+
-+#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-+#undef ASM_OUTPUT_MAX_SKIP_ALIGN
-+#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \
-+ if ((LOG) != 0) { \
-+ if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
-+ else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
-+ }
-+#endif
-+
-+/* Don't default to pcc-struct-return, we want to retain compatibility with
-+ older gcc versions AND pcc-struct-return is nonreentrant.
-+ (even though the SVR4 ABI for the i386 says that records and unions are
-+ returned in memory). */
-+
-+#undef DEFAULT_PCC_STRUCT_RETURN
-+#define DEFAULT_PCC_STRUCT_RETURN 0
-+
-+/* DragonFly sets the rounding precision of the FPU to 53 bits, but GNAT
-+ resets it to full precision. */
-+#undef TARGET_96_ROUND_53_LONG_DOUBLE
-+#define TARGET_96_ROUND_53_LONG_DOUBLE 0
-+
-+/* Put all *tf routines in libgcc. */
-+#undef LIBGCC2_HAS_TF_MODE
-+#define LIBGCC2_HAS_TF_MODE 1
-+#define LIBGCC2_TF_CEXT q
-+#define TF_SIZE 113
-+
-+/* Define this to be nonzero if static stack checking is supported. */
-+#define STACK_CHECK_STATIC_BUILTIN 1
-+
-+/* Support for i386 has been removed from DragonFly for several releases */
-+#define SUBTARGET32_DEFAULT_CPU "i486"
-+
-+/* Define location of OS-specific unwind support configuration. */
-+#define MD_UNWIND_SUPPORT "config/i386/dragonfly-unwind.h"
---- /dev/null
-+++ gcc/config/i386/dragonfly64.h
-@@ -0,0 +1,5 @@
-+/* Definitions for AMD x86_64 running DragonFly BSD with ELF Format */
-+
-+#undef TARGET_VERSION
-+#define TARGET_VERSION fprintf (stderr, " (x86-64 DragonFly/ELF)");
-+
---- /dev/null
-+++ gcc/config/i386/freebsd-unwind.h
-@@ -0,0 +1,184 @@
-+/* DWARF2 EH unwinding support for FreeBSD: AMD x86-64 and x86.
-+ Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
-+ Copyright (C) 2010 John Marino <draco@marino.st>
-+
-+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.
-+
-+In addition to the permissions in the GNU General Public License, the
-+Free Software Foundation gives you unlimited permission to link the
-+compiled version of this file with other programs, and to distribute
-+those programs without any restriction coming from the use of this
-+file. (The General Public License restrictions do apply in other
-+respects; for example, they cover modification of the file, and
-+distribution when not linked into another program.)
-+
-+GCC is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with GCC; see the file COPYING. If not, write to
-+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-+Boston, MA 02110-1301, USA. */
-+
-+/* Do code reading to identify a signal frame, and set the frame
-+ state data appropriately. See unwind-dw2.c for the structs. */
-+
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#include <signal.h>
-+#include <sys/ucontext.h>
-+#include <machine/sigframe.h>
-+
-+
-+#define REG_NAME(reg) sf_uc.uc_mcontext.mc_## reg
-+
-+#ifdef __x86_64__
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_64_freebsd_fallback_frame_state
-+
-+
-+static void
-+x86_64_sigtramp_range (unsigned char **start, unsigned char **end)
-+{
-+ unsigned long ps_strings;
-+ int mib[2];
-+ size_t len;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PS_STRINGS;
-+ len = sizeof (ps_strings);
-+ sysctl (mib, 2, &ps_strings, &len, NULL, 0);
-+
-+ *start = (unsigned char *)ps_strings - 32;
-+ *end = (unsigned char *)ps_strings;
-+}
-+
-+
-+static _Unwind_Reason_Code
-+x86_64_freebsd_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+ unsigned char *pc = context->ra;
-+ unsigned char *sigtramp_start, *sigtramp_end;
-+ struct sigframe *sf;
-+ long new_cfa;
-+
-+ x86_64_sigtramp_range(&sigtramp_start, &sigtramp_end);
-+ if (pc >= sigtramp_end || pc < sigtramp_start)
-+ return _URC_END_OF_STACK;
-+
-+ sf = (struct sigframe *) context->cfa;
-+ new_cfa = sf->REG_NAME(rsp);
-+ fs->regs.cfa_how = CFA_REG_OFFSET;
-+ /* Register 7 is rsp */
-+ fs->regs.cfa_reg = 7;
-+ fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+
-+ /* The SVR4 register numbering macros aren't usable in libgcc. */
-+ fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(rax) - new_cfa;
-+ fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(rdx) - new_cfa;
-+ fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(rcx) - new_cfa;
-+ fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(rbx) - new_cfa;
-+ fs->regs.reg[4].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[4].loc.offset = (long)&sf->REG_NAME(rsi) - new_cfa;
-+ fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(rdi) - new_cfa;
-+ fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(rbp) - new_cfa;
-+ fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(r8) - new_cfa;
-+ fs->regs.reg[9].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[9].loc.offset = (long)&sf->REG_NAME(r9) - new_cfa;
-+ fs->regs.reg[10].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[10].loc.offset = (long)&sf->REG_NAME(r10) - new_cfa;
-+ fs->regs.reg[11].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[11].loc.offset = (long)&sf->REG_NAME(r11) - new_cfa;
-+ fs->regs.reg[12].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[12].loc.offset = (long)&sf->REG_NAME(r12) - new_cfa;
-+ fs->regs.reg[13].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[13].loc.offset = (long)&sf->REG_NAME(r13) - new_cfa;
-+ fs->regs.reg[14].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[14].loc.offset = (long)&sf->REG_NAME(r14) - new_cfa;
-+ fs->regs.reg[15].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[15].loc.offset = (long)&sf->REG_NAME(r15) - new_cfa;
-+ fs->regs.reg[16].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[16].loc.offset = (long)&sf->REG_NAME(rip) - new_cfa;
-+ fs->retaddr_column = 16;
-+ fs->signal_frame = 1;
-+ return _URC_NO_REASON;
-+}
-+
-+#else /* Next section is for i386 */
-+
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_freebsd_fallback_frame_state
-+
-+
-+static void
-+x86_sigtramp_range (unsigned char **start, unsigned char **end)
-+{
-+ unsigned long ps_strings;
-+ int mib[2];
-+ size_t len;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PS_STRINGS;
-+ len = sizeof (ps_strings);
-+ sysctl (mib, 2, &ps_strings, &len, NULL, 0);
-+
-+ *start = (unsigned char *)ps_strings - 128;
-+ *end = (unsigned char *)ps_strings;
-+}
-+
-+
-+static _Unwind_Reason_Code
-+x86_freebsd_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+ unsigned char *pc = context->ra;
-+ unsigned char *sigtramp_start, *sigtramp_end;
-+ struct sigframe *sf;
-+ long new_cfa;
-+
-+ x86_sigtramp_range(&sigtramp_start, &sigtramp_end);
-+
-+ if (pc >= sigtramp_end || pc < sigtramp_start)
-+ return _URC_END_OF_STACK;
-+
-+ sf = (struct sigframe *) context->cfa;
-+ new_cfa = sf->REG_NAME(esp);
-+ fs->regs.cfa_how = CFA_REG_OFFSET;
-+ fs->regs.cfa_reg = 4;
-+ fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+
-+ /* The SVR4 register numbering macros aren't usable in libgcc. */
-+ fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(eax) - new_cfa;
-+ fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(ebx) - new_cfa;
-+ fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(ecx) - new_cfa;
-+ fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(edx) - new_cfa;
-+ fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(esi) - new_cfa;
-+ fs->regs.reg[7].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[7].loc.offset = (long)&sf->REG_NAME(edi) - new_cfa;
-+ fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(ebp) - new_cfa;
-+ fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(eip) - new_cfa;
-+ fs->retaddr_column = 8;
-+ fs->signal_frame = 1;
-+ return _URC_NO_REASON;
-+}
-+#endif /* ifdef __x86_64__ */
---- gcc/config/i386/freebsd.h.orig
-+++ gcc/config/i386/freebsd.h
-@@ -5,6 +5,7 @@
- Modified for stabs-in-ELF by H.J. Lu.
- Adapted from GNU/Linux version by John Polstra.
- Continued development by David O'Brien <obrien@freebsd.org>
-+ Copyright (C) 2010, 2011 John Marino <www.dragonlace.net>
-
- This file is part of GCC.
-
-@@ -51,22 +52,22 @@
-
- #undef SIZE_TYPE
- #define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
--
-+
- #undef PTRDIFF_TYPE
- #define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
--
-+
- #undef WCHAR_TYPE_SIZE
- #define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
-
- #undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */
- #define SUBTARGET_EXTRA_SPECS \
- { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
--
-+
- /* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
-- the magical crtbegin.o file (see crtstuff.c) which provides part
-- of the support for getting C++ file-scope static object constructed
-+ the magical crtbegin.o file (see crtstuff.c) which provides part
-+ of the support for getting C++ file-scope static object constructed
- before entering `main'. */
--
-+
- #undef STARTFILE_SPEC
- #define STARTFILE_SPEC \
- "%{!shared: \
-@@ -76,9 +77,9 @@
- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
-
- /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
-- the magical crtend.o file (see crtstuff.c) which provides part of
-- the support for getting C++ file-scope static object constructed
-- before entering `main', followed by a normal "finalizer" file,
-+ the magical crtend.o file (see crtstuff.c) which provides part of
-+ the support for getting C++ file-scope static object constructed
-+ before entering `main', followed by a normal "finalizer" file,
- `crtn.o'. */
-
- #undef ENDFILE_SPEC
-@@ -129,10 +130,10 @@
- #undef DEFAULT_PCC_STRUCT_RETURN
- #define DEFAULT_PCC_STRUCT_RETURN 0
-
--/* FreeBSD sets the rounding precision of the FPU to 53 bits. Let the
-- compiler get the contents of <float.h> and std::numeric_limits correct. */
-+/* FreeBSD sets the rounding precision of the FPU to 53 bits, but GNAT
-+ resets it to full precision. */
- #undef TARGET_96_ROUND_53_LONG_DOUBLE
--#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)
-+#define TARGET_96_ROUND_53_LONG_DOUBLE 0
-
- /* Put all *tf routines in libgcc. */
- #undef LIBGCC2_HAS_TF_MODE
-@@ -148,5 +149,38 @@
- #define SUBTARGET32_DEFAULT_CPU "i486"
- #endif
-
--#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-+/* Define location of OS-specific unwind support configuration. */
-+#define MD_UNWIND_SUPPORT "config/i386/freebsd-unwind.h"
-+
-+/* Through FreeBSD 8.2 at least, stack is denied execution rights by libthr
-+ This only affects AMD64 since i386 ignores the nx bit (non-PAE)
-+ However, it's still included in i386 because it's possible an AMD64
-+ machine will be required to run a binary generated by i386 GNAT.
-+ perms = PROT_READ | PROT_WRITE | PROT_EXEC;
-+*/
-+#define ENABLE_EXECUTE_STACK \
-+extern void __enable_execute_stack (void *); \
-+void \
-+__enable_execute_stack (void *addr) \
-+{ \
-+ extern int getpagesize (void); \
-+ extern int mprotect (void *, size_t, int); \
-+ \
-+ static int size; \
-+ long mask; \
-+ char *page, *ends; \
-+ long page_addr = (long) addr; \
-+ long ends_addr = (long) (addr + TRAMPOLINE_SIZE); \
-+ int perms = 7; \
-+ \
-+ if (size == 0) \
-+ { \
-+ size = getpagesize(); \
-+ } \
-+ mask = ~((long) size - 1); \
-+ page = (char *) (page_addr & mask); \
-+ ends = (char *) ((ends_addr & mask) + size); \
-+ (void) mprotect (page, ends - page, perms); \
-+}
-+
-
---- gcc/config/i386/netbsd-elf.h.orig
-+++ gcc/config/i386/netbsd-elf.h
-@@ -2,6 +2,7 @@
- for i386/ELF NetBSD systems.
- Copyright (C) 2001, 2002, 2004, 2007 Free Software Foundation, Inc.
- Contributed by matthew green <mrg@eterna.com.au>
-+ Copyright (C) 2010, 2011 John Marino <www.dragonlace.net>
-
- This file is part of GCC.
-
-@@ -39,6 +40,7 @@
-
- #undef LINK_SPEC
- #define LINK_SPEC NETBSD_LINK_SPEC_ELF
-+#define LINK_LIBGCC_SPEC "%D -R @EXEC_PREFIX@/lib"
-
- #define NETBSD_ENTRY_POINT "__start"
-
-@@ -122,3 +124,14 @@
- #define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK
-
- #define TARGET_VERSION fprintf (stderr, " (NetBSD/i386 ELF)");
-+
-+/* ADDED FOR GNAT AUX SUPPORT */
-+/* Define this to be nonzero if static stack checking is supported. */
-+#define STACK_CHECK_STATIC_BUILTIN 1
-+
-+/* Define location of OS-specific unwind support configuration. */
-+#define MD_UNWIND_SUPPORT "config/i386/netbsd-unwind.h"
-+
-+#if defined(HAVE_LD_EH_FRAME_HDR)
-+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+#endif
---- /dev/null
-+++ gcc/config/i386/netbsd-unwind.h
-@@ -0,0 +1,169 @@
-+/* DWARF2 EH unwinding support for x86 NetBSD
-+ Copyright (C) 2010 John Marino (www.dragonlace.net) */
-+
-+/* Do code reading to identify a signal frame, and set the frame
-+ state data appropriately. See unwind-dw2.c for the structs. */
-+
-+#include <sys/ucontext.h>
-+#include <machine/frame.h>
-+
-+#define REG_NAME(reg) sf_uc.uc_mcontext.__gregs[_REG_## reg]
-+
-+#ifdef __x86_64__
-+
-+
-+
-+
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_64_netbsd_fallback_frame_state
-+
-+static _Unwind_Reason_Code
-+x86_64_netbsd_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+ /* signal_frame is sigframe_siginfo minus sf_ra handler return address */
-+ struct signal_frame {
-+ siginfo_t sf_si; /* actual saved siginfo */
-+ ucontext_t sf_uc; /* actual saved ucontext */
-+ };
-+ struct signal_frame *sf;
-+ long new_cfa;
-+
-+ /* We are looking for the following signal trampoline pattern. If we don't
-+ find it, we are at the end of the stack and can't unwind.
-+
-+ <__sigtramp_siginfo_2+12>: mov $0xffffffffffffffff,%rdi
-+ <__sigtramp_siginfo_2+19>: mov $0x1,%rax
-+ <__sigtramp_siginfo_2+26>: syscall
-+ */
-+
-+ if ( *(unsigned int *) (context->ra + 12) == 0xffc7c748
-+ && *(unsigned int *) (context->ra + 16) == 0x48ffffff
-+ && *(unsigned int *) (context->ra + 20) == 0x0001c0c7
-+ && *(unsigned int *) (context->ra + 24) == 0x050f0000 )
-+ {
-+ sf = (struct signal_frame *) context->cfa;
-+ new_cfa = sf->REG_NAME(RSP);
-+ fs->regs.cfa_how = CFA_REG_OFFSET;
-+ fs->regs.cfa_reg = 7;
-+ fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+ }
-+ else
-+ {
-+ return _URC_END_OF_STACK;
-+ }
-+
-+ /* The SVR4 register numbering macros aren't usable in libgcc. */
-+ fs->regs.reg[ 0].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 0].loc.offset = (long)&sf->REG_NAME(RAX) - new_cfa;
-+ fs->regs.reg[ 1].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 1].loc.offset = (long)&sf->REG_NAME(RDX) - new_cfa;
-+ fs->regs.reg[ 2].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 2].loc.offset = (long)&sf->REG_NAME(RCX) - new_cfa;
-+ fs->regs.reg[ 3].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 3].loc.offset = (long)&sf->REG_NAME(RBX) - new_cfa;
-+ fs->regs.reg[ 4].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 4].loc.offset = (long)&sf->REG_NAME(RSI) - new_cfa;
-+ fs->regs.reg[ 5].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 5].loc.offset = (long)&sf->REG_NAME(RDI) - new_cfa;
-+ fs->regs.reg[ 6].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 6].loc.offset = (long)&sf->REG_NAME(RBP) - new_cfa;
-+ fs->regs.reg[ 8].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 8].loc.offset = (long)&sf->REG_NAME(R8) - new_cfa;
-+ fs->regs.reg[ 9].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[ 9].loc.offset = (long)&sf->REG_NAME(R9) - new_cfa;
-+ fs->regs.reg[10].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[10].loc.offset = (long)&sf->REG_NAME(R10) - new_cfa;
-+ fs->regs.reg[11].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[11].loc.offset = (long)&sf->REG_NAME(R11) - new_cfa;
-+ fs->regs.reg[12].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[12].loc.offset = (long)&sf->REG_NAME(R12) - new_cfa;
-+ fs->regs.reg[13].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[13].loc.offset = (long)&sf->REG_NAME(R13) - new_cfa;
-+ fs->regs.reg[14].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[14].loc.offset = (long)&sf->REG_NAME(R14) - new_cfa;
-+ fs->regs.reg[15].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[15].loc.offset = (long)&sf->REG_NAME(R15) - new_cfa;
-+ fs->regs.reg[16].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[16].loc.offset = (long)&sf->REG_NAME(RIP) - new_cfa;
-+ fs->retaddr_column = 16;
-+ fs->signal_frame = 1;
-+ return _URC_NO_REASON;
-+}
-+
-+
-+
-+
-+#else /* Next section is for i386 */
-+
-+
-+
-+
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_netbsd_fallback_frame_state
-+
-+static _Unwind_Reason_Code
-+x86_netbsd_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+ /* signal_frame is sigframe_siginfo minus sf_ra handler return address */
-+ struct signal_frame {
-+ int sf_signum; /* "signum" argument for handler" */
-+ siginfo_t *sf_sip; /* "sip" argument for handler" */
-+ ucontext_t *sf_ucp; /* "ucp" argument for handler" */
-+ siginfo_t sf_si; /* actual saved siginfo */
-+ ucontext_t sf_uc; /* actual saved ucontext */
-+ };
-+ struct signal_frame *sf;
-+ long new_cfa;
-+
-+ /* We are looking for the following signal trampoline pattern. If we don't
-+ find it, we are at the end of the stack and can't unwind.
-+
-+ <__sigtramp_siginfo_2+18>: movl $0xffffffff,0x4(%esp)
-+ <__sigtramp_siginfo_2+26>: mov $0x1,%eax
-+ <__sigtramp_siginfo_2+31>: int $0x80
-+ */
-+
-+ if ( *(unsigned int *) (context->ra + 18) == 0x042444c7
-+ && *(unsigned int *) (context->ra + 22) == 0xffffffff
-+ && *(unsigned char *) (context->ra + 26) == 0xb8
-+ && *(unsigned int *) (context->ra + 27) == 0x00000001
-+ && *(unsigned short *) (context->ra + 31) == 0x80cd )
-+ {
-+ sf = (struct signal_frame *) context->cfa;
-+ new_cfa = sf->REG_NAME(ESP);
-+ fs->regs.cfa_how = CFA_REG_OFFSET;
-+ fs->regs.cfa_reg = 4;
-+ fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+ }
-+ else
-+ {
-+ return _URC_END_OF_STACK;
-+ }
-+
-+ /* The SVR4 register numbering macros aren't usable in libgcc. */
-+ fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(EAX) - new_cfa;
-+ fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(EBX) - new_cfa;
-+ fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(ECX) - new_cfa;
-+ fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(EDX) - new_cfa;
-+ fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(ESI) - new_cfa;
-+ fs->regs.reg[7].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[7].loc.offset = (long)&sf->REG_NAME(EDI) - new_cfa;
-+ fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(EBP) - new_cfa;
-+ fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(EIP) - new_cfa;
-+ fs->retaddr_column = 8;
-+ fs->signal_frame = 1;
-+ return _URC_NO_REASON;
-+}
-+
-+
-+
-+
-+#endif /* ifdef __x86_64__ */
-+
---- gcc/config/i386/netbsd64.h.orig
-+++ gcc/config/i386/netbsd64.h
-@@ -2,6 +2,7 @@
- for x86-64/ELF NetBSD systems.
- Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
- Contributed by Wasabi Systems, Inc.
-+ Copyright (C) 2010, 2011 John Marino <www.dragonlace.net>
-
- This file is part of GCC.
-
-@@ -70,3 +71,13 @@
- #define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK
-
- #define TARGET_VERSION fprintf (stderr, " (NetBSD/x86_64 ELF)");
-+
-+/* ADDED FOR GNAT AUX SUPPORT */
-+/* Define this to be nonzero if static stack checking is supported. */
-+#define STACK_CHECK_STATIC_BUILTIN 1
-+
-+#define MD_UNWIND_SUPPORT "config/i386/netbsd-unwind.h"
-+
-+#if defined(HAVE_LD_EH_FRAME_HDR)
-+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+#endif
---- /dev/null
-+++ gcc/config/i386/openbsd-unwind32.h
-@@ -0,0 +1,77 @@
-+/* DWARF2 EH unwinding support for x86 OpenBSD
-+ Copyright (C) 2010 John Marino (www.dragonlace.net) */
-+
-+/* Do code reading to identify a signal frame, and set the frame
-+ state data appropriately. See unwind-dw2.c for the structs. */
-+
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
-+#include <machine/frame.h>
-+/* machine/frame.h brings in sys/signal.h
-+ sys/signal.h brings in machine/signal.h (sigcontext)
-+ brings in sys/siginfo.h (siginfo_t) */
-+
-+
-+#define REG_NAME(reg) sf_sc.sc_## reg
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_openbsd_fallback_frame_state
-+
-+
-+static void
-+x86_sigtramp_range (unsigned char **start, unsigned char **end)
-+{
-+ struct _ps_strings ps_strings;
-+ int mib[2];
-+ size_t len;
-+
-+ mib[0] = CTL_VM;
-+ mib[1] = VM_PSSTRINGS;
-+ len = sizeof (ps_strings);
-+ sysctl (mib, 2, &ps_strings, &len, NULL, 0);
-+
-+ *start = (unsigned char *)ps_strings.val - 128;
-+ *end = (unsigned char *)ps_strings.val;
-+}
-+
-+
-+static _Unwind_Reason_Code
-+x86_openbsd_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+ unsigned char *pc = context->ra;
-+ unsigned char *sigtramp_start, *sigtramp_end;
-+ struct sigframe *sf;
-+ long new_cfa;
-+
-+ x86_sigtramp_range(&sigtramp_start, &sigtramp_end);
-+
-+ if (pc >= sigtramp_end || pc < sigtramp_start)
-+ return _URC_END_OF_STACK;
-+
-+ sf = (struct sigframe *) context->cfa;
-+ new_cfa = sf->REG_NAME(esp);
-+
-+ fs->regs.cfa_how = CFA_REG_OFFSET;
-+ fs->regs.cfa_reg = 4;
-+ fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+
-+ /* The SVR4 register numbering macros aren't usable in libgcc. */
-+ fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(eax) - new_cfa;
-+ fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(ebx) - new_cfa;
-+ fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(ecx) - new_cfa;
-+ fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(edx) - new_cfa;
-+ fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(esi) - new_cfa;
-+ fs->regs.reg[7].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[7].loc.offset = (long)&sf->REG_NAME(edi) - new_cfa;
-+ fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(ebp) - new_cfa;
-+ fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+ fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(eip) - new_cfa;
-+ fs->retaddr_column = 8;
-+ fs->signal_frame = 1;
-+ return _URC_NO_REASON;
-+}
---- /dev/null
-+++ gcc/config/i386/openbsd64.h
-@@ -0,0 +1,112 @@
-+/* Definitions for AMD x86_64 running OpenBSD BSD with ELF Format */
-+
-+#undef TARGET_VERSION
-+#define TARGET_VERSION fprintf (stderr, " (OpenBSD/x86-64 ELF)")
-+
-+/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
-+ libraries compiled with the native cc, so undef it. */
-+#undef NO_DOLLAR_IN_LABEL
-+
-+/* Override the default comment-starter of "/". */
-+#undef ASM_COMMENT_START
-+#define ASM_COMMENT_START "#"
-+
-+/* Run-time target specifications */
-+
-+#define TARGET_OS_CPP_BUILTINS() \
-+ do \
-+ { \
-+ OPENBSD_OS_CPP_BUILTINS_ELF(); \
-+ if (TARGET_64BIT) \
-+ OPENBSD_OS_CPP_BUILTINS_LP64(); \
-+ } \
-+ while (0)
-+
-+/* As an elf system, we need crtbegin/crtend stuff. */
-+#undef STARTFILE_SPEC
-+#define STARTFILE_SPEC "\
-+ %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} %{!p:crt0%O%s}} \
-+ crtbegin%O%s} %{shared:crtbeginS%O%s}"
-+#undef ENDFILE_SPEC
-+#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
-+
-+/* Layout of source language data types. */
-+
-+/* This must agree with <machine/_types.h> */
-+#undef SIZE_TYPE
-+#define SIZE_TYPE "long unsigned int"
-+
-+#undef PTRDIFF_TYPE
-+#define PTRDIFF_TYPE "long int"
-+
-+#undef WCHAR_TYPE
-+#define WCHAR_TYPE "int"
-+
-+#undef WCHAR_TYPE_SIZE
-+#define WCHAR_TYPE_SIZE 32
-+
-+/* Assembler format: overall framework. */
-+
-+#undef ASM_APP_ON
-+#define ASM_APP_ON "#APP\n"
-+
-+#undef ASM_APP_OFF
-+#define ASM_APP_OFF "#NO_APP\n"
-+
-+#undef SET_ASM_OP
-+#define SET_ASM_OP "\t.set\t"
-+
-+/* The following macros were originally stolen from i386v4.h.
-+ These have to be defined to get PIC code correct. */
-+
-+/* Assembler format: dispatch tables. */
-+
-+/* Assembler format: sections. */
-+
-+/* Stack & calling: aggregate returns. */
-+
-+/* Don't default to pcc-struct-return, because gcc is the only compiler, and
-+ we want to retain compatibility with older gcc versions. */
-+#define DEFAULT_PCC_STRUCT_RETURN 0
-+
-+/* Assembler format: alignment output. */
-+
-+/* Stack & calling: profiling. */
-+
-+/* OpenBSD's profiler recovers all information from the stack pointer.
-+ The icky part is not here, but in machine/profile.h. */
-+#undef FUNCTION_PROFILER
-+#define FUNCTION_PROFILER(FILE, LABELNO) \
-+ fputs (flag_pic ? "\tcall __mcount@PLT\n": "\tcall __mcount\n", FILE);
-+
-+/* Assembler format: exception region output. */
-+
-+/* Assembler format: alignment output. */
-+
-+/* Note that we pick up ASM_OUTPUT_MAX_SKIP_ALIGN from i386/gas.h */
-+
-+/* Note that we pick up ASM_OUTPUT_MI_THUNK from unix.h. */
-+
-+#undef LINK_SPEC
-+#define LINK_SPEC \
-+ "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
-+ %{shared:-shared} %{R*} \
-+ %{static:-Bstatic} \
-+ %{!static:-Bdynamic} \
-+ %{assert*} \
-+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"
-+
-+#define OBSD_HAS_CORRECT_SPECS
-+
-+#undef JUMP_TABLES_IN_TEXT_SECTION
-+#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
-+
-+/* ADDED FOR GNAT AUX SUPPORT */
-+/* Define this to be nonzero if static stack checking is supported */
-+#undef STACK_CHECK_STATIC_BUILTIN
-+#define STACK_CHECK_STATIC_BUILTIN 1
-+
-+/* Ensure rounding is left to GNAT (Not required for AMD64) */
-+#undef TARGET_96_ROUND_53_LONG_DOUBLE
-+#define TARGET_96_ROUND_53_LONG_DOUBLE 1
-+
---- gcc/config/i386/openbsdelf.h.orig
-+++ gcc/config/i386/openbsdelf.h
-@@ -1,6 +1,7 @@
- /* Configuration for an OpenBSD i386 target.
--
-+
- Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
-+ Copyright (C) 2010, 2011 John Marino <www.dragonlace.net>
-
- This file is part of GCC.
-
-@@ -82,7 +83,7 @@
-
- /* The following macros were originally stolen from i386v4.h.
- These have to be defined to get PIC code correct. */
--
-+
- /* Assembler format: dispatch tables. */
-
- /* Assembler format: sections. */
-@@ -132,3 +133,18 @@
- -dynamic-linker /usr/libexec/ld.so"
-
- #define OBSD_HAS_CORRECT_SPECS
-+
-+
-+/* ADDED FOR GNAT AUX SUPPORT */
-+/* Define this to be nonzero if static stack checking is supported */
-+#undef STACK_CHECK_STATIC_BUILTIN
-+#define STACK_CHECK_STATIC_BUILTIN 1
-+
-+/* Ensure rounding is left to GNAT (i386 only) */
-+#undef TARGET_96_ROUND_53_LONG_DOUBLE
-+#define TARGET_96_ROUND_53_LONG_DOUBLE 0
-+
-+/* Define location of OS-specific unwind support configuration.
-+ Not required until OpenBSD changes from SJLJ to ZCX exceptions
-+ When that happens, remove comments from first line and delete second line. */
-+/*#define MD_UNWIND_SUPPORT "config/i386/openbsd-unwind32.h" */
---- gcc/ginclude/stddef.h.orig
-+++ gcc/ginclude/stddef.h
-@@ -1,5 +1,6 @@
- /* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2002, 2004, 2009
- Free Software Foundation, Inc.
-+ Copyright (C) 2010 John Marino <draco@marino.st>
-
- This file is part of GCC.
-
-@@ -59,6 +60,10 @@
- #include <sys/_types.h>
- #endif
-
-+#if defined (__DragonFly__)
-+#include <sys/types.h>
-+#endif
-+
- /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
- defined if the corresponding type is *not* defined.
- FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-@@ -136,6 +141,7 @@
- #ifndef _BSD_PTRDIFF_T_
- #ifndef ___int_ptrdiff_t_h
- #ifndef _GCC_PTRDIFF_T
-+#ifndef _PTRDIFF_T_DECLARED /* DragonFly BSD */
- #define _PTRDIFF_T
- #define _T_PTRDIFF_
- #define _T_PTRDIFF
-@@ -144,10 +150,12 @@
- #define _BSD_PTRDIFF_T_
- #define ___int_ptrdiff_t_h
- #define _GCC_PTRDIFF_T
-+#define _PTRDIFF_T_DECLARED
- #ifndef __PTRDIFF_TYPE__
- #define __PTRDIFF_TYPE__ long int
- #endif
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+#endif /* _PTRDFF_T_DECLARED */
- #endif /* _GCC_PTRDIFF_T */
- #endif /* ___int_ptrdiff_t_h */
- #endif /* _BSD_PTRDIFF_T_ */
-@@ -179,7 +187,7 @@
- #ifndef _SIZE_T_DEFINED_
- #ifndef _SIZE_T_DEFINED
- #ifndef _BSD_SIZE_T_DEFINED_ /* Darwin */
--#ifndef _SIZE_T_DECLARED /* FreeBSD 5 */
-+#ifndef _SIZE_T_DECLARED /* FreeBSD 5, also DragonFly */
- #ifndef ___int_size_t_h
- #ifndef _GCC_SIZE_T
- #ifndef _SIZET_
-@@ -196,12 +204,13 @@
- #define _SIZE_T_DEFINED_
- #define _SIZE_T_DEFINED
- #define _BSD_SIZE_T_DEFINED_ /* Darwin */
--#define _SIZE_T_DECLARED /* FreeBSD 5 */
-+#define _SIZE_T_DECLARED /* FreeBSD 5, DragonFly */
- #define ___int_size_t_h
- #define _GCC_SIZE_T
- #define _SIZET_
--#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
--/* __size_t is a typedef on FreeBSD 5!, must not trash it. */
-+#if defined (__DragonFly__) || (defined (__FreeBSD__) && (__FreeBSD__ >= 5))
-+/* __size_t is a typedef on FreeBSD 5!, must not trash it.
-+ __size_t is also defined in <machine/stdint.h> on DragonFly BSD */
- #else
- #define __size_t
- #endif
-@@ -253,7 +262,7 @@
- #ifndef _BSD_WCHAR_T_
- #ifndef _BSD_WCHAR_T_DEFINED_ /* Darwin */
- #ifndef _BSD_RUNE_T_DEFINED_ /* Darwin */
--#ifndef _WCHAR_T_DECLARED /* FreeBSD 5 */
-+#ifndef _WCHAR_T_DECLARED /* FreeBSD 5, also DragonFly */
- #ifndef _WCHAR_T_DEFINED_
- #ifndef _WCHAR_T_DEFINED
- #ifndef _WCHAR_T_H
-@@ -305,8 +314,10 @@
- #endif
- /* FreeBSD 5 can't be handled well using "traditional" logic above
- since it no longer defines _BSD_RUNE_T_ yet still desires to export
-- rune_t in some cases... */
--#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
-+ rune_t in some cases...
-+ DragonFly BSD inherited this quirk from FreeBSD 4.8.
-+*/
-+#if defined (__DragonFly__) || (defined (__FreeBSD__) && (__FreeBSD__ >= 5))
- #if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
- #if __BSD_VISIBLE
- #ifndef _RUNE_T_DECLARED
---- include/libiberty.h.orig
-+++ include/libiberty.h
-@@ -2,6 +2,7 @@
-
- Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-+ Copyright 2010, 2011 John Marino <http://www.dragonlace.net>
-
- Note - certain prototypes declared in this header file are for
- functions whoes implementation copyright does not belong to the
-@@ -102,7 +103,16 @@
- to find the declaration so provide a fully prototyped one. If it
- is 1, we found it so don't provide any declaration at all. */
- #if !HAVE_DECL_BASENAME
--#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME)
-+#if defined (__GNU_LIBRARY__) \
-+ || defined (__linux__) \
-+ || defined (__FreeBSD__) \
-+ || defined (__OpenBSD__) \
-+ || defined (__NetBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__CYGWIN__) \
-+ || defined (__CYGWIN32__) \
-+ || defined (__MINGW32__) \
-+ || defined (HAVE_DECL_BASENAME)
- extern char *basename (const char *);
- #else
- /* Do not allow basename to be used if there is no prototype seen. We
---- libgcc/config.host.orig
-+++ libgcc/config.host
-@@ -1,6 +1,7 @@
- # libgcc host-specific configuration file.
- # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- # 2008, 2009, 2010 Free Software Foundation, Inc.
-+# Copyright 2010-2012 John Marino <http://www.dragonlace.net>
-
- #This file is part of GCC.
-
-@@ -157,6 +158,8 @@
- ;;
- *-*-openbsd*)
- ;;
-+*-*-dragonfly*)
-+ ;;
- *-*-rtems*)
- ;;
- *-*-vxworks*)
-@@ -278,6 +281,14 @@
- x86_64-*-freebsd*)
- tmake_file="${tmake_file} i386/t-freebsd"
- ;;
-+i[34567]86-*-dragonfly*)
-+ # define symbol versions (same as FreeBSD)
-+ tmake_file="${tmake_file} i386/t-dragonfly"
-+ ;;
-+x86_64-*-dragonfly*)
-+ # define symbol versions (same as FreeBSD)
-+ tmake_file="${tmake_file} i386/t-dragonfly"
-+ ;;
- i[34567]86-*-netbsdelf*)
- ;;
- i[34567]86-*-netbsd*)
-@@ -288,6 +299,8 @@
- ;;
- i[34567]86-*-openbsd*)
- ;;
-+x86_64-*-openbsd*)
-+ ;;
- i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu*)
- extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
- tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
-@@ -619,6 +632,9 @@
- tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp"
- fi
- ;;
-+i[34567]86-*-dragonfly* | i[34567]86-*-netbsdelf*)
-+ tmake_file="${tmake_file} t-softfp i386/32/t-fprules-softfp"
-+ ;;
- esac
-
- case ${host} in
---- /dev/null
-+++ libgcc/config/i386/t-dragonfly
-@@ -0,0 +1,2 @@
-+# Add support for the introduction of 128-bit long double.
-+SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-bsd.ver
---- gcc/configure.orig
-+++ gcc/configure
-@@ -25833,6 +25833,20 @@
- gcc_cv_target_dl_iterate_phdr=no
- fi
- ;;
-+ *-*-dragonfly* | *-*-freebsd*)
-+ if grep dl_iterate_phdr $target_header_dir/sys/link_elf.h > /dev/null 2>&1; then
-+ gcc_cv_target_dl_iterate_phdr=yes
-+ else
-+ gcc_cv_target_dl_iterate_phdr=no
-+ fi
-+ ;;
-+# *-*-netbsd* | *-*-openbsd*)
-+# if grep dl_iterate_phdr $target_header_dir/link_elf.h > /dev/null 2>&1; then
-+# gcc_cv_target_dl_iterate_phdr=yes
-+# else
-+# gcc_cv_target_dl_iterate_phdr=no
-+# fi
-+# ;;
- esac
-
- if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
---- gcc/Makefile.in.orig
-+++ gcc/Makefile.in
-@@ -4322,7 +4322,7 @@
- DESTDIR=$(@D) \
- $(SHELL) $(srcdir)/doc/install.texi2html
-
--MANFILES = doc/gcov.1 doc/cpp.1 doc/gcc.1 doc/gfdl.7 doc/gpl.7 doc/fsf-funding.7
-+MANFILES = doc/gcov.1 doc/cpp.1 doc/gcc.1
-
- generated-manpages: man
-
-@@ -4474,7 +4474,7 @@
- # Install the driver last so that the window when things are
- # broken is small.
- install: install-common $(INSTALL_HEADERS) \
-- install-cpp install-man install-info install-@POSUB@ \
-+ install-cpp install-man install-@POSUB@ \
- install-driver install-lto-wrapper
-
- ifeq ($(enable_plugin),yes)
-@@ -4665,10 +4665,7 @@
- install-man: lang.install-man \
- $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext) \
- $(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext) \
-- $(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext) \
-- $(DESTDIR)$(man7dir)/fsf-funding$(man7ext) \
-- $(DESTDIR)$(man7dir)/gfdl$(man7ext) \
-- $(DESTDIR)$(man7dir)/gpl$(man7ext)
-+ $(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext)
-
- $(DESTDIR)$(man7dir)/%$(man7ext): doc/%.7 installdirs
- -rm -f $@
---- libiberty/getpagesize.c.orig
-+++ libiberty/getpagesize.c
-@@ -20,6 +20,7 @@
-
- */
-
-+#ifndef __ANDROID__
- #ifndef VMS
-
- #include "config.h"
-@@ -88,3 +89,4 @@
- }
-
- #endif /* VMS */
-+#endif /* __ANDROID__ */
---- libiberty/setproctitle.c.orig
-+++ libiberty/setproctitle.c
-@@ -40,9 +40,11 @@
- void
- setproctitle (const char *name ATTRIBUTE_UNUSED, ...)
- {
-+#ifndef __ANDROID__
- #ifdef PR_SET_NAME
- /* On Linux this sets the top visible "comm", but not necessarily
- the name visible in ps. */
- prctl (PR_SET_NAME, name);
- #endif
-+#endif
- }
---- configure.orig
-+++ configure
-@@ -14196,7 +14196,7 @@
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
--$as_echo "yes" >&6; }; stage1_cflags="$stage1_cflags -fkeep-inline-functions"
-+$as_echo "yes" >&6; };
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
diff --git a/lang/gnat-aux/files/diff-cxx b/lang/gnat-aux/files/diff-cxx
deleted file mode 100644
index 681373a359b..00000000000
--- a/lang/gnat-aux/files/diff-cxx
+++ /dev/null
@@ -1,917 +0,0 @@
---- libstdc++-v3/acinclude.m4.orig
-+++ libstdc++-v3/acinclude.m4
-@@ -1753,7 +1753,7 @@
- AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
- GLIBCXX_ENABLE(clocale,auto,[[[=MODEL]]],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|darwin|dragonfly|yes|no|auto])
-
- # Deal with gettext issues. Default to not using it (=no) until we detect
- # support for it later. Let the user turn it off via --e/d, but let that
-@@ -1780,6 +1780,9 @@
- darwin* | freebsd*)
- enable_clocale_flag=darwin
- ;;
-+ dragonfly*)
-+ enable_clocale_flag_dragonfly
-+ ;;
- *)
- enable_clocale_flag=generic
- ;;
-@@ -1864,7 +1867,22 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ dragonfly)
-+ AC_MSG_RESULT(darwin or freebsd)
-
-+ CLOCALE_H=config/locale/generic/c_locale.h
-+ CLOCALE_CC=config/locale/dragonfly/c_locale.cc
-+ CCODECVT_CC=config/locale/generic/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/generic/collate_members.cc
-+ CCTYPE_CC=config/locale/dragonfly/ctype_members.cc
-+ CMESSAGES_H=config/locale/generic/messages_members.h
-+ CMESSAGES_CC=config/locale/generic/messages_members.cc
-+ CMONEY_CC=config/locale/generic/monetary_members.cc
-+ CNUMERIC_CC=config/locale/generic/numeric_members.cc
-+ CTIME_H=config/locale/generic/time_members.h
-+ CTIME_CC=config/locale/generic/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-+ ;;
- gnu)
- AC_MSG_RESULT(gnu)
-
---- libstdc++-v3/configure.orig
-+++ libstdc++-v3/configure
-@@ -15638,7 +15638,7 @@
- if test "${enable_clocale+set}" = set; then :
- enableval=$enable_clocale;
- case "$enableval" in
-- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
-+ generic|gnu|ieee_1003.1-2001|darwin|dragonfly|yes|no|auto) ;;
- *) as_fn_error "Unknown argument to enable/disable clocale" "$LINENO" 5 ;;
- esac
-
-@@ -15676,6 +15676,9 @@
- darwin* | freebsd*)
- enable_clocale_flag=darwin
- ;;
-+ dragonfly*)
-+ enable_clocale_flag=dragonfly
-+ ;;
- *)
- enable_clocale_flag=generic
- ;;
-@@ -15813,7 +15816,23 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ dragonfly)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: dragonfly" >&5
-+$as_echo "darwin or freebsd" >&6; }
-
-+ CLOCALE_H=config/locale/generic/c_locale.h
-+ CLOCALE_CC=config/locale/dragonfly/c_locale.cc
-+ CCODECVT_CC=config/locale/generic/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/generic/collate_members.cc
-+ CCTYPE_CC=config/locale/dragonfly/ctype_members.cc
-+ CMESSAGES_H=config/locale/generic/messages_members.h
-+ CMESSAGES_CC=config/locale/generic/messages_members.cc
-+ CMONEY_CC=config/locale/generic/monetary_members.cc
-+ CNUMERIC_CC=config/locale/generic/numeric_members.cc
-+ CTIME_H=config/locale/generic/time_members.h
-+ CTIME_CC=config/locale/generic/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-+ ;;
- gnu)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: gnu" >&5
- $as_echo "gnu" >&6; }
---- libstdc++-v3/configure.host.orig
-+++ libstdc++-v3/configure.host
-@@ -233,6 +233,9 @@
- os_include_dir="os/djgpp"
- error_constants_dir="os/djgpp"
- ;;
-+ dragonfly*)
-+ os_include_dir="os/bsd/dragonfly"
-+ ;;
- freebsd*)
- os_include_dir="os/bsd/freebsd"
- ;;
---- /dev/null
-+++ libstdc++-v3/config/locale/dragonfly/c_locale.cc
-@@ -0,0 +1,300 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-+// 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 3, 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.
-+
-+// Under Section 7 of GPL version 3, you are granted additional
-+// permissions described in the GCC Runtime Library Exception, version
-+// 3.1, as published by the Free Software Foundation.
-+
-+// You should have received a copy of the GNU General Public License and
-+// a copy of the GCC Runtime Library Exception along with this program;
-+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+// <http://www.gnu.org/licenses/>.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <cmath> // For isinf, finite, finitef, fabs
-+#include <cstdlib> // For strof, strtold
-+#include <cstring>
-+#include <cstdio>
-+#include <locale>
-+#include <limits>
-+
-+#ifdef _GLIBCXX_HAVE_IEEEFP_H
-+#include <ieeefp.h>
-+#endif
-+
-+namespace std _GLIBCXX_VISIBILITY(default)
-+{
-+_GLIBCXX_BEGIN_NAMESPACE_VERSION
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale&) throw()
-+ {
-+ // Assumes __s formatted for "C" locale.
-+ char* __old = setlocale(LC_ALL, 0);
-+ const size_t __len = strlen(__old) + 1;
-+ char* __sav = new char[__len];
-+ memcpy(__sav, __old, __len);
-+ setlocale(LC_ALL, "C");
-+ char* __sanity;
-+ bool __overflow = false;
-+
-+#if !__FLT_HAS_INFINITY__
-+ errno = 0;
-+#endif
-+
-+#ifdef _GLIBCXX_HAVE_STRTOF
-+ __v = strtof(__s, &__sanity);
-+#else
-+ double __d = strtod(__s, &__sanity);
-+ __v = static_cast<float>(__d);
-+#ifdef _GLIBCXX_HAVE_FINITEF
-+ if (!finitef (__v))
-+ __overflow = true;
-+#elif defined (_GLIBCXX_HAVE_FINITE)
-+ if (!finite (static_cast<double> (__v)))
-+ __overflow = true;
-+#elif defined (_GLIBCXX_HAVE_ISINF)
-+ if (isinf (static_cast<double> (__v)))
-+ __overflow = true;
-+#else
-+ if (fabs(__d) > numeric_limits<float>::max())
-+ __overflow = true;
-+#endif
-+#endif // _GLIBCXX_HAVE_STRTOF
-+
-+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
-+ // 23. Num_get overflow result.
-+ if (__sanity == __s || *__sanity != '\0')
-+ {
-+ __v = 0.0f;
-+ __err = ios_base::failbit;
-+ }
-+ else if (__overflow
-+#if __FLT_HAS_INFINITY__
-+ || __v == numeric_limits<float>::infinity()
-+ || __v == -numeric_limits<float>::infinity()
-+#else
-+ || ((__v > 1.0f || __v < -1.0f) && errno == ERANGE)
-+#endif
-+ )
-+ {
-+ if (__v > 0.0f)
-+ __v = numeric_limits<float>::max();
-+ else
-+ __v = -numeric_limits<float>::max();
-+ __err = ios_base::failbit;
-+ }
-+
-+ setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale&) throw()
-+ {
-+ // Assumes __s formatted for "C" locale.
-+ char* __old = setlocale(LC_ALL, 0);
-+ const size_t __len = strlen(__old) + 1;
-+ char* __sav = new char[__len];
-+ memcpy(__sav, __old, __len);
-+ setlocale(LC_ALL, "C");
-+ char* __sanity;
-+
-+#if !__DBL_HAS_INFINITY__
-+ errno = 0;
-+#endif
-+
-+ __v = strtod(__s, &__sanity);
-+
-+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
-+ // 23. Num_get overflow result.
-+ if (__sanity == __s || *__sanity != '\0')
-+ {
-+ __v = 0.0;
-+ __err = ios_base::failbit;
-+ }
-+ else if (
-+#if __DBL_HAS_INFINITY__
-+ __v == numeric_limits<double>::infinity()
-+ || __v == -numeric_limits<double>::infinity())
-+#else
-+ (__v > 1.0 || __v < -1.0) && errno == ERANGE)
-+#endif
-+ {
-+ if (__v > 0.0)
-+ __v = numeric_limits<double>::max();
-+ else
-+ __v = -numeric_limits<double>::max();
-+ __err = ios_base::failbit;
-+ }
-+
-+ setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v,
-+ ios_base::iostate& __err, const __c_locale&) throw()
-+ {
-+ // Assumes __s formatted for "C" locale.
-+ char* __old = setlocale(LC_ALL, 0);
-+ const size_t __len = strlen(__old) + 1;
-+ char* __sav = new char[__len];
-+ memcpy(__sav, __old, __len);
-+ setlocale(LC_ALL, "C");
-+
-+#if !__LDBL_HAS_INFINITY__
-+ errno = 0;
-+#endif
-+
-+#if defined(_GLIBCXX_HAVE_STRTOLD) && !defined(_GLIBCXX_HAVE_BROKEN_STRTOLD)
-+ char* __sanity;
-+ __v = strtold(__s, &__sanity);
-+
-+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
-+ // 23. Num_get overflow result.
-+ if (__sanity == __s || *__sanity != '\0')
-+#else
-+ typedef char_traits<char>::int_type int_type;
-+ int __p = sscanf(__s, "%Lf", &__v);
-+
-+ if (!__p || static_cast<int_type>(__p) == char_traits<char>::eof())
-+#endif
-+ {
-+ __v = 0.0l;
-+ __err = ios_base::failbit;
-+ }
-+ else if (
-+#if __LDBL_HAS_INFINITY__
-+ __v == numeric_limits<long double>::infinity()
-+ || __v == -numeric_limits<long double>::infinity())
-+#else
-+ (__v > 1.0l || __v < -1.0l) && errno == ERANGE)
-+#endif
-+ {
-+ if (__v > 0.0l)
-+ __v = numeric_limits<long double>::max();
-+ else
-+ __v = -numeric_limits<long double>::max();
-+ __err = ios_base::failbit;
-+ }
-+
-+ setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+ }
-+
-+
-+ /* DragonFly's implemenation of setlocale won't accept something like
-+ "de_DE". According to nls manpage, the expected format is:
-+ language[_territory][.codeset][@modifier], but it seems that both
-+ the _territory and .codeset components are required.
-+
-+ As an attempt to correct for this, we'll tack on ".UTF-8" if
-+ a period is not detected in the locale string.
-+
-+ There are no locales with modifiers on DragonFly so if found, they
-+ will just be stripped off silently. e.g "de_DE@euro" will be reduced
-+ to "de_DE". The UTF-8 default would be added after that.
-+ */
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale)
-+ {
-+ const size_t size__s = (__s == NULL) ? 1 : strlen (__s);
-+ const char UTF8[] = ".UTF-8";
-+ char localspec[size__s + 6 + 1];
-+
-+ if (__s == NULL) {
-+ localspec[0] = NULL;
-+ } else {
-+ strcpy (localspec, __s);
-+ char * pch = strchr (localspec, '@');
-+ if (pch != NULL)
-+ *pch = 0;
-+
-+ if ( (strchr (__s, '.') == NULL)
-+ && (strcmp (__s, "C") != 0)
-+ && (strcmp (__s, "POSIX") != 0))
-+ strncat (localspec, UTF8, 6);
-+ }
-+
-+ const char * result = std::setlocale(LC_ALL, localspec);
-+
-+ if ((strcmp(result, "C") != 0) && (strcmp (result, localspec) != 0))
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ __cloc = 0;
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ { __cloc = 0; }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale&) throw()
-+ { return __c_locale(); }
-+
-+ __c_locale
-+ locale::facet::_S_lc_ctype_c_locale(__c_locale, const char*)
-+ { return __c_locale(); }
-+
-+_GLIBCXX_END_NAMESPACE_VERSION
-+} // namespace
-+
-+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
-+{
-+_GLIBCXX_BEGIN_NAMESPACE_VERSION
-+
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES"
-+ };
-+
-+_GLIBCXX_END_NAMESPACE_VERSION
-+} // namespace
-+
-+namespace std _GLIBCXX_VISIBILITY(default)
-+{
-+_GLIBCXX_BEGIN_NAMESPACE_VERSION
-+
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+
-+_GLIBCXX_END_NAMESPACE_VERSION
-+} // namespace
-+
-+// XXX GLIBCXX_ABI Deprecated
-+#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-+#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
-+ extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
-+_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi);
-+#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
---- /dev/null
-+++ libstdc++-v3/config/locale/dragonfly/ctype_members.cc
-@@ -0,0 +1,172 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-+// 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 3, 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.
-+
-+// Under Section 7 of GPL version 3, you are granted additional
-+// permissions described in the GCC Runtime Library Exception, version
-+// 3.1, as published by the Free Software Foundation.
-+
-+// You should have received a copy of the GNU General Public License and
-+// a copy of the GCC Runtime Library Exception along with this program;
-+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+// <http://www.gnu.org/licenses/>.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+#include <cstdlib>
-+#include <cstring>
-+#include <cstdio>
-+
-+namespace std _GLIBCXX_VISIBILITY(default)
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+ }
-+ }
-+
-+ ctype_byname<char>::~ctype_byname()
-+ { }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask /* __m */) const throw()
-+ {
-+ // This routine never gets called on DragonFly.
-+ return 0;
-+ };
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return towupper(__c); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = towupper(*__lo);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return towlower(__c); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = towlower(*__lo);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+ const int __c = wctob(__wc);
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype() throw()
-+ {
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __i = 0;
-+ __i < sizeof(_M_widen) / sizeof(wint_t); ++__i)
-+ _M_widen[__i] = btowc(__i);
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
---- /dev/null
-+++ libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
-@@ -0,0 +1,60 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2003, 2009, 2010 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 3, 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.
-+
-+// Under Section 7 of GPL version 3, you are granted additional
-+// permissions described in the GCC Runtime Library Exception, version
-+// 3.1, as published by the Free Software Foundation.
-+
-+// You should have received a copy of the GNU General Public License and
-+// a copy of the GCC Runtime Library Exception along with this program;
-+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+// <http://www.gnu.org/licenses/>.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h on DragonFly.
-+// Full details can be found from git repo at:
-+// http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/include/ctype.h
-+
-+namespace std _GLIBCXX_VISIBILITY(default)
-+{
-+_GLIBCXX_BEGIN_NAMESPACE_VERSION
-+
-+ /// @brief Base class for ctype.
-+ struct ctype_base
-+ {
-+ // Non-standard typedefs.
-+ typedef const unsigned char* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef uint16_t mask;
-+ static const mask upper = _CTYPEMASK_U;
-+ static const mask lower = _CTYPEMASK_L;
-+ static const mask alpha = _CTYPEMASK_A;
-+ static const mask digit = _CTYPEMASK_D;
-+ static const mask xdigit = _CTYPEMASK_X;
-+ static const mask space = _CTYPEMASK_S;
-+ static const mask print = _CTYPEMASK_R;
-+ static const mask graph = _CTYPEMASK_G;
-+ static const mask cntrl = _CTYPEMASK_C;
-+ static const mask punct = _CTYPEMASK_P;
-+ static const mask alnum = _CTYPEMASK_A | _CTYPEMASK_D;
-+ };
-+
-+_GLIBCXX_END_NAMESPACE_VERSION
-+} // namespace
---- /dev/null
-+++ libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h
-@@ -0,0 +1,127 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2003, 2004, 2005, 2009, 2010
-+// 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 3, 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.
-+
-+// Under Section 7 of GPL version 3, you are granted additional
-+// permissions described in the GCC Runtime Library Exception, version
-+// 3.1, as published by the Free Software Foundation.
-+
-+// You should have received a copy of the GNU General Public License and
-+// a copy of the GCC Runtime Library Exception along with this program;
-+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+// <http://www.gnu.org/licenses/>.
-+
-+/** @file bits/ctype_inline.h
-+ * This is an internal header file, included by other library headers.
-+ * Do not attempt to use it directly. @headername{locale}
-+ */
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+namespace std _GLIBCXX_VISIBILITY(default)
-+{
-+_GLIBCXX_BEGIN_NAMESPACE_VERSION
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[(unsigned char)(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[*__low++];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high && !this->is(__m, *__low))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high && this->is(__m, *__low) != 0)
-+ ++__low;
-+ return __low;
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ inline bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ return __libc_ctype_ [__c + 1] & __m;
-+ }
-+
-+ inline const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ mask __m = 0;
-+ if (isupper (*__lo)) __m |= _CTYPEMASK_U;
-+ if (islower (*__lo)) __m |= _CTYPEMASK_L;
-+ if (isdigit (*__lo)) __m |= _CTYPEMASK_D;
-+ if (isspace (*__lo)) __m |= _CTYPEMASK_S;
-+ if (ispunct (*__lo)) __m |= _CTYPEMASK_P;
-+ if (isblank (*__lo)) __m |= _CTYPEMASK_B;
-+ if (iscntrl (*__lo)) __m |= _CTYPEMASK_C;
-+ if (isalpha (*__lo)) __m |= _CTYPEMASK_A;
-+ if (isgraph (*__lo)) __m |= _CTYPEMASK_G;
-+ if (isprint (*__lo)) __m |= _CTYPEMASK_R;
-+ if (isxdigit(*__lo)) __m |= _CTYPEMASK_X;
-+ /* alnum already covered = alpha | digit */
-+
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ inline const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !(__libc_ctype_ [*__lo + 1] & __m))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ inline const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && (__libc_ctype_ [*__lo + 1] & __m))
-+ ++__lo;
-+ return __lo;
-+ }
-+#endif
-+
-+_GLIBCXX_END_NAMESPACE_VERSION
-+} // namespace
---- /dev/null
-+++ libstdc++-v3/config/os/bsd/dragonfly/ctype_noninline.h
-@@ -0,0 +1,94 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2009, 2010
-+// 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 3, 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.
-+
-+// Under Section 7 of GPL version 3, you are granted additional
-+// permissions described in the GCC Runtime Library Exception, version
-+// 3.1, as published by the Free Software Foundation.
-+
-+// You should have received a copy of the GNU General Public License and
-+// a copy of the GCC Runtime Library Exception along with this program;
-+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+// <http://www.gnu.org/licenses/>.
-+
-+/** @file bits/ctype_noninline.h
-+ * This is an internal header file, included by other library headers.
-+ * Do not attempt to use it directly. @headername{locale}
-+ */
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ extern "C" const __uint16_t __libc_C_ctype_[];
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __libc_C_ctype_ + 1; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_del(__table != 0 && __del),
-+ _M_toupper(NULL), _M_tolower(NULL),
-+ _M_table(__table ? __table : classic_table())
-+ {
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ _M_widen_ok = 0;
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ _M_narrow_ok = 0;
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_del(__table != 0 && __del),
-+ _M_toupper(NULL), _M_tolower(NULL),
-+ _M_table(__table ? __table : classic_table())
-+ {
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ _M_widen_ok = 0;
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ _M_narrow_ok = 0;
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return ::toupper((int) __c); }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = ::toupper((int) *__low);
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return ::tolower((int) __c); }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = ::tolower((int) *__low);
-+ ++__low;
-+ }
-+ return __high;
-+ }
---- /dev/null
-+++ libstdc++-v3/config/os/bsd/dragonfly/os_defines.h
-@@ -0,0 +1,45 @@
-+// Specific definitions for BSD -*- C++ -*-
-+
-+// Copyright (C) 2000, 2009, 2010 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 3, 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.
-+
-+// Under Section 7 of GPL version 3, you are granted additional
-+// permissions described in the GCC Runtime Library Exception, version
-+// 3.1, as published by the Free Software Foundation.
-+
-+// You should have received a copy of the GNU General Public License and
-+// a copy of the GCC Runtime Library Exception along with this program;
-+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-+// <http://www.gnu.org/licenses/>.
-+
-+/** @file bits/os_defines.h
-+ * This is an internal header file, included by other library headers.
-+ * Do not attempt to use it directly. @headername{iosfwd}
-+ */
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+/* FreeBSD approach, likely a mistake for DragonFly.
-+#define _GLIBCXX_USE_C99_CHECK 1
-+#define _GLIBCXX_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999))
-+#define _GLIBCXX_USE_C99_LONG_LONG_CHECK 1
-+#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC (_GLIBCXX_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED)
-+#define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_CHECK 1
-+#define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC defined _XOPEN_SOURCE
-+*/
-+
-+#endif
diff --git a/lang/gnat-aux/files/diff-cxx-testsuite b/lang/gnat-aux/files/diff-cxx-testsuite
deleted file mode 100644
index 16f2953280d..00000000000
--- a/lang/gnat-aux/files/diff-cxx-testsuite
+++ /dev/null
@@ -1,4547 +0,0 @@
---- gcc/testsuite/g++.dg/cdce3.C.orig
-+++ gcc/testsuite/g++.dg/cdce3.C
-@@ -1,4 +1,4 @@
--/* { dg-do run } */
-+/* { dg-do run { target { ! "*-*-freebsd* *-*-dragonfly* *-*-netbsd*" } } } */
- /* { dg-require-effective-target c99_runtime } */
- /* { dg-skip-if "exp2* missing despite C99 runtime" { alpha*-dec-osf5* } } */
- /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -DLARGE_LONG_DOUBLE -lm" { target { pow10 && large_long_double } } } */
---- gcc/testsuite/g++.dg/uninit-pred-3_b.C.orig
-+++ gcc/testsuite/g++.dg/uninit-pred-3_b.C
-@@ -65,7 +65,7 @@
-
- void P (int64 t)
- {
-- int cc; /* { dg-excess-errors "note: 'cc' was declared here" } */
-+ int cc;
- if (!GetC (&cc))
- return;
-
---- gcc/testsuite/gcc.dg/builtins-config.h.orig
-+++ gcc/testsuite/gcc.dg/builtins-config.h
-@@ -13,8 +13,14 @@
- /* PA HP-UX doesn't have the entire C99 runtime. */
- #elif defined(__AVR__)
- /* AVR doesn't have the entire C99 runtime. */
--#elif defined(__FreeBSD__) && (__FreeBSD__ < 9)
--/* FreeBSD up to version 8 lacks support for cexp and friends. */
-+#elif defined(__FreeBSD__) && (__FreeBSD__ < 10)
-+/* FreeBSD up to version 9 lacks support for cexp and friends. */
-+#elif defined(__DragonFly__)
-+/* As of DragonFly 2.13, Full C99 support is not available.
-+ It has the same libm functionality as FreeBSD, which is missing
-+ several long-double functions. */
-+#elif defined(__NetBSD__)
-+/* As of NetBSD 5.99, libm is nowhere close to supporting C99 */
- #elif defined(__netware__)
- /* NetWare doesn't have the entire C99 runtime. */
- #elif defined(__vxworks)
---- libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc.orig
-+++ libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
-@@ -1,5 +1,5 @@
- // FreeBSD wants warning clean system headers:
--// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
-+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
- // { dg-do compile }
- // 1999-05-12 bkoz
-
---- libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc.orig
-+++ libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
-@@ -1,5 +1,5 @@
- // FreeBSD wants warning clean system headers:
--// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
-+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
- // { dg-do compile }
- // 1999-05-12 bkoz
-
---- libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++.cc.orig
-+++ libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++.cc
-@@ -1,5 +1,5 @@
- // FreeBSD wants warning clean system headers:
--// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
-+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
- // { dg-options "-std=gnu++0x" }
- // { dg-do compile }
-
---- libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc.orig
-+++ libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc
-@@ -1,5 +1,5 @@
- // FreeBSD wants warning clean system headers:
--// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
-+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
- // { dg-options "-std=gnu++0x" }
- // { dg-do compile }
-
---- libstdc++-v3/testsuite/18_support/pthread_guard.cc.orig
-+++ libstdc++-v3/testsuite/18_support/pthread_guard.cc
-@@ -16,8 +16,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-darwin* alpha*-*-osf* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-darwin* alpha*-*-osf* } }
-
- #include <cstdlib>
- #include <pthread.h>
---- libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc.orig
-+++ libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc
-@@ -17,8 +17,8 @@
-
- // 20.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread -std=gnu++0x" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread -std=gnu++0x" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads -std=gnu++0x" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-
---- libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc.orig
-+++ libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc
-@@ -17,8 +17,8 @@
-
- // 20.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-
---- libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc.orig
-+++ libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc
-@@ -16,8 +16,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <ext/new_allocator.h>
---- libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc.orig
-+++ libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc
-@@ -20,8 +20,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <string>
---- libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "fr_FR" }
---- libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "fr_FR" }
---- libstdc++-v3/testsuite/23_containers/list/pthread1.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/list/pthread1.cc
-@@ -18,8 +18,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- // This multi-threading C++/STL/POSIX code adheres to rules outlined here:
---- libstdc++-v3/testsuite/23_containers/list/pthread5.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/list/pthread5.cc
-@@ -20,8 +20,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <vector>
---- libstdc++-v3/testsuite/23_containers/map/pthread6.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/map/pthread6.cc
-@@ -19,8 +19,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <string>
---- libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc.orig
-+++ libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc
-@@ -19,7 +19,7 @@
-
-
- // { dg-do link }
--// { dg-options "-D_XOPEN_SOURCE" { target *-*-freebsd* } }
-+// { dg-options "-D_XOPEN_SOURCE" { target *-*-freebsd* *-*-dragonfly* } }
-
- #include <cmath>
-
---- libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc
-@@ -19,8 +19,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <fstream>
---- libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc
-@@ -19,8 +19,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <sstream>
---- libstdc++-v3/testsuite/30_threads/async/42819.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/async/42819.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/async/any.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/async/any.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/async/async.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/async/async.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/async/sync.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/async/sync.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/call_once/39909.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/call_once/39909.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/cons/move.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/cons/move.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/members/45133.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/members/45133.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/members/get.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/members/get.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/members/get2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/members/get2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/members/valid.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/members/valid.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/members/wait.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/members/wait.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/lock/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/lock/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/lock/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/lock/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/lock/4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/lock/4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/cons/move.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/promise/members/swap.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options "-std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/this_thread/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/this_thread/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/this_thread/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/this_thread/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/this_thread/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/this_thread/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/this_thread/4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/this_thread/4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/5.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/5.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/6.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/6.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/7.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/7.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/8.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/8.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/9.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/9.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/members/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/members/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/members/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/members/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/members/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/members/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/members/4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/members/4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/members/5.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/members/5.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/thread/swap/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/thread/swap/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/try_lock/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/try_lock/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/try_lock/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/try_lock/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/try_lock/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/try_lock/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/try_lock/4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/try_lock/4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc.orig
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc
-@@ -1,5 +1,5 @@
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
- // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
- // { dg-require-cstdint "" }
---- libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc.orig
-+++ libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc
-@@ -18,8 +18,8 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <ext/rope>
---- libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc.orig
-+++ libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc
-@@ -17,8 +17,8 @@
-
- // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <tr1/memory>
---- libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc.orig
-+++ libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc
-@@ -17,8 +17,8 @@
-
- // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
-
--// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
--// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-+// { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
- // { dg-options "-pthreads" { target *-*-solaris* } }
-
- #include <tr1/memory>
---- libstdc++-v3/testsuite/lib/libstdc++.exp.orig
-+++ libstdc++-v3/testsuite/lib/libstdc++.exp
-@@ -865,17 +865,18 @@
- set f [open $src "w"]
- puts $f "#include <locale>"
- puts $f "#include <cstdio>"
-- puts $f "using namespace std;"
-+ puts $f "using namespace std;"
- puts $f "int main (int argc, char** argv)"
- puts $f "{"
-+ puts $f " const char* mlx = *(argv + 1);"
- puts $f " try"
- puts $f " {"
-- puts $f " locale(*(argv + 1));"
-+ puts $f " locale((char*)(mlx));"
- puts $f " return 0;"
- puts $f " }"
- puts $f " catch(...)"
- puts $f " {"
-- puts $f " printf(\"locale '%s' not supported\\n\", *(argv + 1));"
-+ puts $f " printf(\"locale '%s' not supported\\n\", mlx);"
- puts $f " return 1;"
- puts $f " }"
- puts $f "}"
---- libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/deque>
---- libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/deque>
---- libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/deque>
---- libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/list>
---- libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/list>
---- libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/list>
---- libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/map>
---- libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/map>
---- libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/map>
---- libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/map>
---- libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/set>
---- libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/set>
---- libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/set>
---- libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/set>
---- libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-options "-std=gnu++0x" }
- // { dg-do run { xfail *-*-* } }
-
---- libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/vector>
---- libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/vector>
---- libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc.orig
-+++ libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc
-@@ -15,6 +15,7 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
- //
-+// { dg-require-debug-mode "" }
- // { dg-do run { xfail *-*-* } }
-
- #include <debug/vector>
---- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -27,14 +27,14 @@
- // Required instantiation
- // codecvt<wchar_t, char, mbstate_t>
- //
--// Baseline test in ISO-8859-1 locale
-+// Baseline test in ISO8859-1 locale
- void test02()
- {
- using namespace std;
- bool test __attribute__((unused)) = true;
- typedef codecvt<wchar_t, char, mbstate_t> w_codecvt;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-15" }
-+// { dg-require-namedlocale "en_US.ISO8859-15" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -27,14 +27,14 @@
- // Required instantiation
- // codecvt<wchar_t, char, mbstate_t>
- //
--// Baseline test in ISO-8859-15 locale
-+// Baseline test in ISO8859-15 locale
- void test03()
- {
- using namespace std;
- bool test __attribute__((unused)) = true;
- typedef codecvt<wchar_t, char, mbstate_t> w_codecvt;
-
-- locale loc = locale("en_US.ISO-8859-15");
-+ locale loc = locale("en_US.ISO8859-15");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -27,19 +27,19 @@
- // Required instantiation
- // codecvt<wchar_t, char, mbstate_t>
- //
--// Test do_encoding with ISO-8859-1 locale.
-+// Test do_encoding with ISO8859-1 locale.
- void test02()
- {
- using namespace std;
- typedef codecvt<wchar_t, char, mbstate_t> w_codecvt;
- bool test __attribute__((unused)) = true;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
- int i = cvt->encoding();
-- VERIFY( i == 1 ); // ISO-8859-1 is a single-byte encoding
-+ VERIFY( i == 1 ); // ISO8859-1 is a single-byte encoding
- }
-
- int main ()
---- libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-15" }
-+// { dg-require-namedlocale "en_US.ISO8859-15" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -27,19 +27,19 @@
- // Required instantiation
- // codecvt<wchar_t, char, mbstate_t>
- //
--// Test do_encoding with ISO-8859-15 locale.
-+// Test do_encoding with ISO8859-15 locale.
- void test03()
- {
- using namespace std;
- typedef codecvt<wchar_t, char, mbstate_t> w_codecvt;
- bool test __attribute__((unused)) = true;
-
-- locale loc = locale("en_US.ISO-8859-15");
-+ locale loc = locale("en_US.ISO8859-15");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
- int i = cvt->encoding();
-- VERIFY( i == 1 ); // ISO-8859-15 is a single-byte encoding
-+ VERIFY( i == 1 ); // ISO8859-15 is a single-byte encoding
- }
-
- int main ()
---- libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -41,7 +41,7 @@
- // Required instantiation
- // codecvt<wchar_t, char, mbstate_t>
- //
--// Baseline test for ISO-8859-1. Converts entire charset.
-+// Baseline test for ISO8859-1. Converts entire charset.
- void test02()
- {
- using namespace std;
-@@ -90,7 +90,7 @@
- wmemset(i_ref, 0xdeadbeef, size + 1);
- int_type* ito_next;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-15" }
-+// { dg-require-namedlocale "en_US.ISO8859-15" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -41,7 +41,7 @@
- // Required instantiation
- // codecvt<wchar_t, char, mbstate_t>
- //
--// Baseline test for ISO-8859-15. Converts entire charset.
-+// Baseline test for ISO8859-15. Converts entire charset.
- void test03()
- {
- using namespace std;
-@@ -104,7 +104,7 @@
- wmemset(i_ref, 0xdeadbeef, size + 1);
- int_type* ito_next;
-
-- locale loc = locale("en_US.ISO-8859-15");
-+ locale loc = locale("en_US.ISO8859-15");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -63,7 +63,7 @@
- "\xff";
- int size = strlen(e_lit);
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-15" }
-+// { dg-require-namedlocale "en_US.ISO8859-15" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -63,7 +63,7 @@
- "\xff";
- int size = strlen(e_lit);
-
-- locale loc = locale("en_US.ISO-8859-15");
-+ locale loc = locale("en_US.ISO8859-15");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -32,12 +32,12 @@
- bool test __attribute__((unused)) = true;
- typedef codecvt<wchar_t, char, mbstate_t> w_codecvt;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
- int k = cvt->max_length();
-- VERIFY( k == 1 ); // ISO-8859-1 is a single-byte encoding
-+ VERIFY( k == 1 ); // ISO8859-1 is a single-byte encoding
- }
-
- int main ()
---- libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-15" }
-+// { dg-require-namedlocale "en_US.ISO8859-15" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -32,12 +32,12 @@
- bool test __attribute__((unused)) = true;
- typedef codecvt<wchar_t, char, mbstate_t> w_codecvt;
-
-- locale loc = locale("en_US.ISO-8859-15");
-+ locale loc = locale("en_US.ISO8859-15");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
- int k = cvt->max_length();
-- VERIFY( k == 1 ); // ISO-8859-15 is a single-byte encoding
-+ VERIFY( k == 1 ); // ISO8859-15 is a single-byte encoding
- }
-
- int main ()
---- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -88,7 +88,7 @@
- memset(e_ref, 0xf0, size + 1);
- ext_type* eto_next;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-15" }
-+// { dg-require-namedlocale "en_US.ISO8859-15" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -102,7 +102,7 @@
- memset(e_ref, 0xf0, size + 1);
- ext_type* eto_next;
-
-- locale loc = locale("en_US.ISO-8859-15");
-+ locale loc = locale("en_US.ISO8859-15");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -60,7 +60,7 @@
- memset(e_ref, 0xf0, size + 1);
- ext_type* eto_next;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -73,7 +73,7 @@
- memset(e_ref, 0xf0, size + 1);
- ext_type* eto_next;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-15" }
-+// { dg-require-namedlocale "en_US.ISO8859-15" }
-
- // 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
-@@ -87,7 +87,7 @@
- memset(e_ref, 0xf0, size + 1);
- ext_type* eto_next;
-
-- locale loc = locale("en_US.ISO-8859-15");
-+ locale loc = locale("en_US.ISO8859-15");
- locale::global(loc);
- const w_codecvt* cvt = &use_facet<w_codecvt>(loc);
-
---- libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_US.ISO-8859-1" }
-+// { dg-require-namedlocale "en_US.ISO8859-1" }
-
- // 2003-03-12 Petur Runolfsson <peturr02@ru.is>
-
-@@ -31,7 +31,7 @@
- using namespace std;
- bool test __attribute__((unused)) = true;
-
-- locale loc = locale("en_US.ISO-8859-1");
-+ locale loc = locale("en_US.ISO8859-1");
- const ctype<wchar_t>& wct = use_facet<ctype<wchar_t> >(loc);
-
- char c = 0xff;
---- libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "de_DE.ISO-8859-15@euro" }
-+// { dg-require-namedlocale "de_DE.ISO8859-15@euro" }
-
- // 2003-05-03 Petur Runolfsson <peturr02@ru.is>
-
-@@ -36,7 +36,7 @@
- putc(static_cast<unsigned char>(i), file);
- fclose(file);
-
-- locale loc (locale("de_DE.ISO-8859-15@euro"));
-+ locale loc (locale("de_DE.ISO8859-15@euro"));
- wchar_t buf[1];
- wfilebuf fb;
- fb.pubimbue(loc);
---- libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc.orig
-+++ libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "de_DE.ISO-8859-15@euro" }
-+// { dg-require-namedlocale "de_DE.ISO8859-15@euro" }
-
- // 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-
-@@ -35,7 +35,7 @@
- putc(static_cast<unsigned char>(i), file);
- fclose(file);
-
-- locale loc (locale("de_DE.ISO-8859-15@euro"));
-+ locale loc (locale("de_DE.ISO8859-15@euro"));
- locale::global(loc); // Set locale for stdin
-
- VERIFY( freopen(name, "r", stdin) );
---- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "fr_FR" }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "de_DE" }
-@@ -40,6 +40,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
-@@ -2,7 +2,7 @@
- // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
- // { dg-options "-finput-charset=ISO8859-1" }
- // { dg-require-iconv "ISO8859-1" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "fr_FR" }
- // { dg-require-namedlocale "de_DE" }
-@@ -44,6 +44,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc
-@@ -1,7 +1,7 @@
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "fr_FR" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -40,6 +40,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
-@@ -2,7 +2,7 @@
- // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
- // { dg-options "-finput-charset=ISO8859-1" }
- // { dg-require-iconv "ISO8859-1" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "fr_FR" }
- // { dg-require-namedlocale "de_DE" }
-@@ -44,6 +44,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "fr_FR" }
- // { dg-require-namedlocale "de_DE" }
-@@ -35,6 +35,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc
-@@ -2,7 +2,7 @@
- // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
- // { dg-options "-finput-charset=ISO8859-1" }
- // { dg-require-iconv "ISO8859-1" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "fr_FR" }
- // { dg-require-namedlocale "de_DE" }
-@@ -39,6 +39,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -43,6 +43,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -38,6 +38,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -37,6 +37,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -37,6 +37,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // Copyright (C) 2009 Free Software Foundation
- //
-@@ -29,7 +29,7 @@
- using namespace std;
- bool test __attribute__((unused)) = true;
-
-- locale locf(locale("C"), "ja_JP.eucjp", locale::monetary);
-+ locale locf(locale("C"), "ja_JP.eucJP", locale::monetary);
-
- const moneypunct<wchar_t, false>& mpf =
- use_facet<moneypunct<wchar_t, false> >(locf);
-@@ -40,7 +40,7 @@
-
- VERIFY( mpf.curr_symbol() == mpf_copy.curr_symbol() );
-
-- locale loct(locale("C"), "ja_JP.eucjp", locale::monetary);
-+ locale loct(locale("C"), "ja_JP.eucJP", locale::monetary);
-
- const moneypunct<wchar_t, true>& mpt =
- use_facet<moneypunct<wchar_t, true> >(loct);
---- libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "fr_FR" }
- // { dg-require-namedlocale "en_US" }
-@@ -45,6 +45,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE@euro" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -69,6 +69,6 @@
- two.push_back(&test06);
- two.push_back(&test07);
- two.push_back(&test08);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE@euro" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -69,6 +69,6 @@
- two.push_back(&test06);
- two.push_back(&test07);
- two.push_back(&test08);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE@euro" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -59,6 +59,6 @@
- two.push_back(&test04);
- two.push_back(&test05);
- two.push_back(&test06);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE@euro" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -59,6 +59,6 @@
- two.push_back(&test04);
- two.push_back(&test05);
- two.push_back(&test06);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-@@ -38,6 +38,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -38,6 +38,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -59,6 +59,6 @@
- two.push_back(&test04);
- two.push_back(&test05);
- two.push_back(&test06);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -59,6 +59,6 @@
- two.push_back(&test04);
- two.push_back(&test05);
- two.push_back(&test06);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
- // { dg-require-namedlocale "es_ES" }
-@@ -55,6 +55,6 @@
- two.push_back(&test03);
- two.push_back(&test04);
- two.push_back(&test05);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -54,6 +54,6 @@
- two.push_back(&test03);
- two.push_back(&test04);
- two.push_back(&test05);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "is_IS" }
-@@ -40,6 +40,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_US" }
- // { dg-require-namedlocale "is_IS" }
-@@ -40,6 +40,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test02);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,6 +32,6 @@
- using namespace __gnu_test;
- func_callback two;
- two.push_back(&test01);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "en_HK" }
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "en_HK" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -44,6 +44,6 @@
- two.push_back(&test01);
- two.push_back(&test02);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -37,6 +37,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -37,6 +37,6 @@
- func_callback two;
- two.push_back(&test01);
- two.push_back(&test03);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
-@@ -80,6 +80,6 @@
- two.push_back(&test08);
- two.push_back(&test09);
- two.push_back(&test10);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
-@@ -2,7 +2,7 @@
- // { dg-require-namedlocale "en_HK" }
- // { dg-require-namedlocale "es_ES" }
- // { dg-require-namedlocale "fr_FR@euro" }
--// { dg-require-namedlocale "ja_JP.eucjp" }
-+// { dg-require-namedlocale "ja_JP.eucJP" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -81,6 +81,6 @@
- two.push_back(&test08);
- two.push_back(&test09);
- two.push_back(&test10);
-- run_tests_wrapped_locale("ja_JP.eucjp", two);
-+ run_tests_wrapped_locale("ja_JP.eucJP", two);
- return 0;
- }
---- libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2004-03-02 Paolo Carlini <pcarlini@suse.de>
-
-@@ -37,7 +37,7 @@
- // basic construction
- locale loc_c = locale::classic();
- locale loc_de = locale("de_DE@euro");
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_de );
- VERIFY( loc_c != loc_hk );
-
---- libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2004-03-15 Paolo Carlini <pcarlini@suse.de>
-
-@@ -36,7 +36,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- iterator_type end, end01, end02;
---- libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -35,7 +35,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // total EPA budget FY 2002
-@@ -80,7 +80,7 @@
- VERIFY( result11 == digits4 );
- VERIFY( err11 == ios_base::eofbit );
-
-- // for the "en_HK" locale the parsing of the very same input streams must
-+ // for the "zh_HK" locale the parsing of the very same input streams must
- // be successful without showbase too, since the symbol field appears in
- // the first positions in the format and the symbol, when present, must be
- // consumed.
---- libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -35,7 +35,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // input less than frac_digits
---- libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2004-03-02 Paolo Carlini <pcarlini@suse.de>
-
-@@ -37,7 +37,7 @@
- // basic construction
- locale loc_c = locale::classic();
- locale loc_de = locale("de_DE@euro");
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_de );
- VERIFY( loc_c != loc_hk );
-
---- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2004-03-15 Paolo Carlini <pcarlini@suse.de>
-
-@@ -36,7 +36,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- iterator_type end, end01, end02;
---- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -35,7 +35,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // total EPA budget FY 2002
-@@ -80,7 +80,7 @@
- VERIFY( result11 == digits4 );
- VERIFY( err11 == ios_base::eofbit );
-
-- // for the "en_HK" locale the parsing of the very same input streams must
-+ // for the "zh_HK" locale the parsing of the very same input streams must
- // be successful without showbase too, since the symbol field appears in
- // the first positions in the format and the symbol, when present, must be
- // consumed.
---- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -35,7 +35,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // input less than frac_digits
---- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -36,7 +36,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // sanity check the data is correct.
---- libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -36,7 +36,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // sanity check the data is correct.
---- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE@euro" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -34,7 +34,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // sanity check the data is correct.
---- libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -34,7 +34,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // sanity check the data is correct.
---- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -34,7 +34,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // sanity check the data is correct.
---- libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "es_ES" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
---- libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "es_ES" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
---- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -34,7 +34,7 @@
-
- // basic construction
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_c != loc_hk );
-
- // sanity check the data is correct.
---- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-@@ -36,7 +36,7 @@
-
- // basic construction and sanity checks.
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- locale loc_de = locale("de_DE");
- VERIFY( loc_hk != loc_c );
- VERIFY( loc_hk != loc_de );
-@@ -76,7 +76,7 @@
- VERIFY( time10.tm_year == time_bday.tm_year );
- VERIFY( errorstate == ios_base::eofbit );
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- iss.str("Sunday, April 04, 1971");
- iterator_type is_it20(iss);
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-@@ -36,7 +36,7 @@
-
- // basic construction and sanity checks.
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- locale loc_de = locale("de_DE");
- VERIFY( loc_hk != loc_c );
- VERIFY( loc_hk != loc_de );
-@@ -76,7 +76,7 @@
- VERIFY( time10.tm_year == time_bday.tm_year );
- VERIFY( errorstate == ios_base::eofbit );
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- iss.str(L"Sunday, April 04, 1971");
- iterator_type is_it20(iss);
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-@@ -35,7 +35,7 @@
-
- // basic construction and sanity checks.
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- locale loc_de = locale("de_DE");
- VERIFY( loc_hk != loc_c );
- VERIFY( loc_hk != loc_de );
-@@ -63,7 +63,7 @@
- VERIFY( time10.tm_mon == time_bday.tm_mon );
- VERIFY( errorstate == ios_base::eofbit );
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- const time_get<char>& tim_get2 = use_facet<time_get<char> >(iss.getloc());
- iss.str("April");
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-@@ -36,7 +36,7 @@
-
- // basic construction and sanity checks.
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- locale loc_de = locale("de_DE");
- VERIFY( loc_hk != loc_c );
- VERIFY( loc_hk != loc_de );
-@@ -64,7 +64,7 @@
- VERIFY( time10.tm_mon == time_bday.tm_mon );
- VERIFY( errorstate == ios_base::eofbit );
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- const time_get<wchar_t>& tim_get2 = use_facet<time_get<wchar_t> >(iss.getloc());
- iss.str(L"April");
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -35,7 +35,7 @@
-
- // basic construction and sanity check
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_c );
-
- const string empty;
-@@ -48,7 +48,7 @@
- const ios_base::iostate good = ios_base::goodbit;
- ios_base::iostate errorstate = good;
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- iss.str("12:00:00 PST");
- // Hong Kong in California! Well, they have Paris in Vegas... this
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -35,7 +35,7 @@
-
- // basic construction and sanity check
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_c );
-
- const wstring empty;
-@@ -48,7 +48,7 @@
- const ios_base::iostate good = ios_base::goodbit;
- ios_base::iostate errorstate = good;
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- iss.str(L"12:00:00 PST");
- // Hong Kong in California! Well, they have Paris in Vegas... this
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-@@ -36,7 +36,7 @@
-
- // basic construction and sanity checks.
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- locale loc_de = locale("de_DE");
- VERIFY( loc_hk != loc_c );
- VERIFY( loc_hk != loc_de );
-@@ -65,7 +65,7 @@
- VERIFY( time10.tm_wday == time_bday.tm_wday );
- VERIFY( errorstate == ios_base::eofbit );
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- iss.str("Sunday");
- iterator_type is_it20(iss);
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
-@@ -1,6 +1,6 @@
- // { dg-require-namedlocale "ja_JP.eucjp" }
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-@@ -36,7 +36,7 @@
-
- // basic construction and sanity checks.
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- locale loc_de = locale("de_DE");
- VERIFY( loc_hk != loc_c );
- VERIFY( loc_hk != loc_de );
-@@ -65,7 +65,7 @@
- VERIFY( time10.tm_wday == time_bday.tm_wday );
- VERIFY( errorstate == ios_base::eofbit );
-
-- // inspection of named locales, en_HK
-+ // inspection of named locales, zh_HK
- iss.imbue(loc_hk);
- iss.str(L"Sunday");
- iterator_type is_it20(iss);
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
-
- // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "ja_JP.eucjp" }
-
---- libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -38,7 +38,7 @@
-
- // basic construction and sanity check.
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_c );
-
- // create an ostream-derived object, cache the time_put facet
---- libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -41,7 +41,7 @@
-
- // basic construction and sanity check
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_c );
-
- // create an ostream-derived object, cache the time_put facet
---- libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "es_ES" }
- // { dg-require-namedlocale "fr_FR@euro" }
-
---- libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "es_ES" }
- // { dg-require-namedlocale "fr_FR@euro" }
-
---- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -38,7 +38,7 @@
-
- // basic construction and sanity check
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_c );
-
- // create an ostream-derived object, cache the time_put facet
---- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
-
- // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -41,7 +41,7 @@
-
- // basic construction and sanity check
- locale loc_c = locale::classic();
-- locale loc_hk = locale("en_HK");
-+ locale loc_hk = locale("zh_HK");
- VERIFY( loc_hk != loc_c );
-
- // create an ostream-derived object, cache the time_put facet
---- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "es_ES" }
- // { dg-require-namedlocale "fr_FR@euro" }
-
---- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
-@@ -1,5 +1,5 @@
- // { dg-require-namedlocale "de_DE" }
--// { dg-require-namedlocale "en_HK" }
-+// { dg-require-namedlocale "zh_HK" }
- // { dg-require-namedlocale "es_ES" }
- // { dg-require-namedlocale "fr_FR@euro" }
- // { dg-require-namedlocale "ja_JP.eucjp" }
---- libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-03-12 Petur Runolfsson <peturr02@ru.is>
-
-@@ -31,7 +31,7 @@
- using namespace std;
- bool test __attribute__((unused)) = true;
-
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
- const ctype<wchar_t>& wct = use_facet<ctype<wchar_t> >(loc);
-
- const wchar_t* wstrlit = L"\x80";
---- libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-03-12 Petur Runolfsson <peturr02@ru.is>
-
-@@ -31,7 +31,7 @@
- using namespace std;
- bool test __attribute__((unused)) = true;
-
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
- const ctype<wchar_t>& wct = use_facet<ctype<wchar_t> >(loc);
-
- const char* strlit = "\xc2\x80";
---- libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-08 Petur Runolfsson <peturr02@ru.is>
-
-@@ -91,7 +91,7 @@
- const size_t wlen = sizeof(wstr) / sizeof(wstr[0]);
-
- const int loops = 2 * BUFSIZ / wlen;
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
-
- FILE* file = fopen(name, "w");
- for (int i = 0; i < loops; ++i)
---- libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-08 Petur Runolfsson <peturr02@ru.is>
-
-@@ -35,7 +35,7 @@
- bool test __attribute__((unused)) = true;
- const char name[] = "tmp_seekoff-2.tst";
-
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
-
- const size_t size = 10;
- wchar_t buf[size];
---- libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-10-07 Petur Runolfsson <peturr02@ru.is>
- //
-@@ -93,7 +93,7 @@
- const size_t wlen = sizeof(wstr) / sizeof(wstr[0]);
-
- const int loops = 2 * BUFSIZ / wlen;
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
-
- FILE* file = fopen(name, "w");
- for (int i = 0; i < loops; ++i)
---- libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-
-@@ -86,7 +86,7 @@
- const size_t clen = sizeof(cstr) / sizeof(cstr[0]);
- const size_t wlen = sizeof(wstr) / sizeof(wstr[0]);
-
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
-
- FILE* file = fopen(name, "w");
- fwrite(cstr, 1, clen, file);
---- libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-
-@@ -86,7 +86,7 @@
- const size_t clen = sizeof(cstr) / sizeof(cstr[0]);
- const size_t wlen = sizeof(wstr) / sizeof(wstr[0]);
-
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
-
- FILE* file = fopen(name, "w");
- fwrite(cstr, 1, clen, file);
---- libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-
-@@ -87,7 +87,7 @@
- const size_t wlen = sizeof(wstr) / sizeof(wstr[0]);
-
- const int loops = 2 * BUFSIZ / wlen;
-- locale loc = locale("se_NO.UTF-8");
-+ locale loc = locale("no_NO.UTF-8");
-
- FILE* file = fopen(name, "w");
- for (int i = 0; i < loops; ++i)
---- libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-04 Petur Runolfsson <peturr02@ru.is>
- // Adapted from 27_io/basic_filebuf/underflow/char/2.cc
-@@ -31,7 +31,7 @@
- bool test __attribute__((unused)) = true;
- using namespace std;
-
-- locale loc (locale("se_NO.UTF-8"));
-+ locale loc (locale("no_NO.UTF-8"));
- wfilebuf fb_out, fb_in_out;
- fb_out.pubimbue(loc);
- fb_in_out.pubimbue(loc);
---- libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc.orig
-+++ libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-
-@@ -35,7 +35,7 @@
-
- wfilebuf fb;
- fb.pubsetbuf(0, 0);
-- fb.pubimbue(locale("se_NO.UTF-8"));
-+ fb.pubimbue(locale("no_NO.UTF-8"));
-
- FILE* file = fopen(name, "w");
- setvbuf(file, 0, _IONBF, 0);
---- libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc.orig
-+++ libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-
-@@ -33,7 +33,7 @@
- bool test __attribute__((unused)) = true;
- const char* name = "tmp_10";
-
-- locale loc(locale("se_NO.UTF-8"));
-+ locale loc(locale("no_NO.UTF-8"));
- locale::global(loc);
- wcin.imbue(loc);
- wcout.imbue(loc);
---- libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc.orig
-+++ libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-
-@@ -33,7 +33,7 @@
- bool test __attribute__((unused)) = true;
- const char* name = "tmp_11";
-
-- locale loc(locale("se_NO.UTF-8"));
-+ locale loc(locale("no_NO.UTF-8"));
- locale::global(loc);
- wcin.imbue(loc);
- wcout.imbue(loc);
---- libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc.orig
-+++ libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-
-@@ -38,7 +38,7 @@
- bool test __attribute__((unused)) = true;
- const char* name = "tmp_12";
-
-- locale loc(locale("se_NO.UTF-8"));
-+ locale loc(locale("no_NO.UTF-8"));
- locale::global(loc);
- std::ios_base::sync_with_stdio(false);
- wcout.imbue(loc);
---- libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc.orig
-+++ libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "se_NO.UTF-8" }
-+// { dg-require-namedlocale "no_NO.UTF-8" }
-
- // 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-
-@@ -36,7 +36,7 @@
- bool test __attribute__((unused)) = true;
- const char* name = "tmp_13";
-
-- locale loc(locale("se_NO.UTF-8"));
-+ locale loc(locale("no_NO.UTF-8"));
- locale::global(loc);
- std::ios_base::sync_with_stdio(false);
- wcin.imbue(loc);
---- libstdc++-v3/testsuite/22_locale/facet/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/facet/2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "es_MX" }
-+// { dg-require-namedlocale "es_ES" }
-
- // 2000-08-31 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -84,7 +84,7 @@
- // 4: Named locale should destroy facets when it goes out of scope.
- // Not quite sure how to test for this w/o valgrind at the moment.
- {
-- locale loc03 = locale("es_MX");
-+ locale loc03 = locale("es_ES");
- }
- }
-
---- libstdc++-v3/testsuite/22_locale/locale/cons/5.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "en_PH" }
-+// { dg-require-namedlocale "en_NZ" }
- // { dg-require-namedlocale "de_DE" }
- // { dg-require-namedlocale "it_IT" }
-
-@@ -76,21 +76,21 @@
- }
- setenv("LC_ALL", "", 1);
-
-- // Check that a "en_PH" LC_ALL is equivalent to "en_PH".
-- if (!setenv("LC_ALL", "en_PH", 1))
-+ // Check that a "en_NZ" LC_ALL is equivalent to "en_PH".
-+ if (!setenv("LC_ALL", "en_NZ", 1))
- {
- locale loc = locale("");
-- VERIFY( loc.name() == "en_PH" );
-+ VERIFY( loc.name() == "en_NZ" );
- }
- setenv("LC_ALL", "", 1);
-
- // Explicit check that LC_ALL sets regardless of LC_* and LANG.
-- if (!setenv("LANG", "es_MX", 1) && !setenv("LC_COLLATE", "de_DE", 1))
-+ if (!setenv("LANG", "es_ES", 1) && !setenv("LC_COLLATE", "de_DE", 1))
- {
-- if (!setenv("LC_ALL", "en_PH", 1))
-+ if (!setenv("LC_ALL", "en_NZ", 1))
- {
- locale loc = locale("");
-- VERIFY( loc.name() == "en_PH" );
-+ VERIFY( loc.name() == "en_NZ" );
- }
- setenv("LC_ALL", "", 1);
- setenv("LANG", LANG_orig ? LANG_orig : "", 1);
---- libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc
-@@ -1,5 +1,5 @@
--// { dg-require-namedlocale "en_PH" }
--// { dg-require-namedlocale "es_MX" }
-+// { dg-require-namedlocale "en_NZ" }
-+// { dg-require-namedlocale "es_ES" }
-
- // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-
-@@ -32,8 +32,8 @@
- using namespace std;
- bool test __attribute__((unused)) = true;
-
-- const string ph("en_PH");
-- const string mx("es_MX");
-+ const string ph("en_NZ");
-+ const string mx("es_ES");
- const char* orig = setlocale(LC_ALL, 0);
- const char* testph = setlocale(LC_ALL, ph.c_str());
- const char* testmx = setlocale(LC_ALL, mx.c_str());
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ru_RU.ISO-8859-5" }
-+// { dg-require-namedlocale "ru_RU.ISO8859-5" }
-
- // Copyright (C) 2010, 2011 Free Software Foundation
- //
-@@ -33,7 +33,7 @@
- typedef istreambuf_iterator<char> iterator_type;
-
- // basic construction
-- locale loc("ru_RU.ISO-8859-5");
-+ locale loc("ru_RU.ISO8859-5");
-
- // create an ostream-derived object, cache the time_get facet
- iterator_type end;
---- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc.orig
-+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
-@@ -1,4 +1,4 @@
--// { dg-require-namedlocale "ru_RU.UTF8" }
-+// { dg-require-namedlocale "ru_RU.UTF-8" }
-
- // 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
-
-@@ -34,7 +34,7 @@
- typedef istreambuf_iterator<char> iterator_type;
-
- // basic construction
-- locale loc("ru_RU.UTF8");
-+ locale loc("ru_RU.UTF-8");
-
- // create an ostream-derived object, cache the time_get facet
- iterator_type end;
diff --git a/lang/gnat-aux/files/diff-fortran b/lang/gnat-aux/files/diff-fortran
deleted file mode 100644
index edc5c06da5d..00000000000
--- a/lang/gnat-aux/files/diff-fortran
+++ /dev/null
@@ -1,54 +0,0 @@
---- gcc/fortran/f95-lang.c.orig
-+++ gcc/fortran/f95-lang.c
-@@ -823,10 +823,17 @@
-
- gfc_define_builtin ("__builtin_cabsl", func_clongdouble_longdouble,
- BUILT_IN_CABSL, "cabsl", ATTR_CONST_NOTHROW_LEAF_LIST);
-+#if defined(__NetBSD__) && (__NetBSD__ > 4)
-+ gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
-+ BUILT_IN_CABS, "__c99_cabs", ATTR_CONST_NOTHROW_LEAF_LIST);
-+ gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
-+ BUILT_IN_CABSF, "__c99_cabsf", ATTR_CONST_NOTHROW_LEAF_LIST);
-+#else
- gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
- BUILT_IN_CABS, "cabs", ATTR_CONST_NOTHROW_LEAF_LIST);
- gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
- BUILT_IN_CABSF, "cabsf", ATTR_CONST_NOTHROW_LEAF_LIST);
-+#endif
-
- gfc_define_builtin ("__builtin_copysignl", mfunc_longdouble[1],
- BUILT_IN_COPYSIGNL, "copysignl",
---- libgfortran/configure.orig
-+++ libgfortran/configure
-@@ -25699,7 +25699,7 @@
-
- fi
- case "$host" in
-- *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | alpha*-dec-osf* )
-+ *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | alpha*-dec-osf* | *-*-netbsd* )
-
- $as_echo "#define GTHREAD_USE_WEAK 0" >>confdefs.h
-
---- libquadmath/Makefile.in.orig
-+++ libquadmath/Makefile.in
-@@ -393,10 +393,9 @@
-
- # AM_CONDITIONAL on configure option --generated-files-in-srcdir
- @BUILD_LIBQUADMATH_TRUE@@GENINSRC_TRUE@STAMP_GENINSRC = stamp-geninsrc
--@BUILD_INFO_FALSE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO =
-+@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO =
-
- # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
--@BUILD_INFO_TRUE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO = stamp-build-info
- @BUILD_LIBQUADMATH_TRUE@CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libquadmath.info
- @BUILD_LIBQUADMATH_TRUE@MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info
-
-@@ -1247,7 +1246,7 @@
-
- info-am: $(INFO_DEPS)
-
--install-data-am: install-info-am install-nodist_libsubincludeHEADERS
-+install-data-am: install-nodist_libsubincludeHEADERS
-
- install-dvi: install-dvi-am
-
diff --git a/lang/gnat-aux/files/diff-fortran-testsuite b/lang/gnat-aux/files/diff-fortran-testsuite
deleted file mode 100644
index af58f3abe20..00000000000
--- a/lang/gnat-aux/files/diff-fortran-testsuite
+++ /dev/null
@@ -1,31 +0,0 @@
---- gcc/testsuite/gfortran.dg/large_real_kind_2.F90.orig
-+++ gcc/testsuite/gfortran.dg/large_real_kind_2.F90
-@@ -1,6 +1,6 @@
- ! { dg-do run }
- ! { dg-require-effective-target fortran_large_real }
--! { dg-xfail-if "" { "*-*-freebsd*" } { "*" } { "" } }
-+! { dg-xfail-if "" { "*-*-freebsd*" *-*-dragonfly* *-*-netbsd* } { "*" } { "" } }
-
- ! Testing library calls on large real kinds (larger than kind=8)
- implicit none
---- gcc/testsuite/gfortran.dg/large_real_kind_3.F90.orig
-+++ gcc/testsuite/gfortran.dg/large_real_kind_3.F90
-@@ -1,6 +1,6 @@
- ! { dg-do run }
- ! { dg-require-effective-target fortran_large_real }
--! { dg-xfail-if "" { "*-*-freebsd*" } { "*" } { "" } }
-+! { dg-xfail-if "" { "*-*-freebsd*" *-*-dragonfly* *-*-netbsd* } { "*" } { "" } }
-
- ! Testing erf and erfc library calls on large real kinds (larger than kind=8)
- implicit none
---- gcc/testsuite/gfortran.dg/open_errors.f90.orig
-+++ gcc/testsuite/gfortran.dg/open_errors.f90
-@@ -22,7 +22,7 @@
- if (msg /= "File 'temptestfile' does not exist") call abort()
-
- open(77,file="./", iomsg=msg, iostat=i)
--if (msg /= "'./' is a directory" .and. msg /= "Invalid argument") call abort()
-+if (msg /= "'./' is a directory" .and. msg /= "Invalid argument" .and. msg /= "File './' already exists") call abort()
-
- open(77,file=n,status="new")
- i = chmod(n, "-w")
diff --git a/lang/gnat-aux/files/diff-gcc-testsuite b/lang/gnat-aux/files/diff-gcc-testsuite
deleted file mode 100644
index f371a02cd1c..00000000000
--- a/lang/gnat-aux/files/diff-gcc-testsuite
+++ /dev/null
@@ -1,10 +0,0 @@
---- gcc/testsuite/gcc.dg/pch/pch.exp.orig
-+++ gcc/testsuite/gcc.dg/pch/pch.exp
-@@ -44,6 +44,7 @@
- set test "largefile.c"
- set testh "largefile.hs"
- set f [open $test w]
-+puts $f "/* { dg-do run { target *-*-solaris* } } */"
- puts $f "/* { dg-timeout-factor 4.0 } */"
- set v 0
- for { set v 0 } { $v < 10000 } { incr v } {
diff --git a/lang/gnat-aux/options.mk b/lang/gnat-aux/options.mk
deleted file mode 100644
index f83c41d78db..00000000000
--- a/lang/gnat-aux/options.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-# $NetBSD: options.mk,v 1.2 2012/01/08 11:17:07 marino Exp $
-
-PKG_OPTIONS_VAR= PKG_OPTIONS.gnat-aux
-PKG_SUPPORTED_OPTIONS= ada cxx fortran objc
-PKG_SUPPORTED_OPTIONS+= testada testcxx testfortran testobjc testgcc
-PKG_SUGGESTED_OPTIONS= ada cxx fortran objc
-
-.include "../../mk/bsd.options.mk"
-
-
-#########################
-## ADD LANGUAGE: Ada ##
-#########################
-
-.if !empty(PKG_OPTIONS:Mada)
-LANGS+= ada
-DISTFILES+= gcc-ada-${GCC_VERSION}.tar.bz2
-APPLY_DIFFS+= ada
-.endif
-
-
-#########################
-## ADD LANGUAGE: C++ ##
-#########################
-
-.if !empty(PKG_OPTIONS:Mcxx)
-LANGS+= c++
-DISTFILES+= gcc-g++-${GCC_VERSION}.tar.bz2
-APPLY_DIFFS+= cxx
-.endif
-
-
-#############################
-## ADD LANGUAGE: Fortran ##
-#############################
-
-.if empty(PKG_OPTIONS:Mfortran)
-QUADOPT= --disable-libquadmath
-.else
-LANGS+= fortran
-DISTFILES+= gcc-fortran-${GCC_VERSION}.tar.bz2
-APPLY_DIFFS+= fortran
-.if ${OPSYS} == "NetBSD"
-QUADOPT= --disable-libquadmath
-.else
-QUADOPT= --enable-libquadmath
-.endif
-.endif
-
-
-#################################
-## ADD LANGUAGE: Objective-C ##
-#################################
-
-.if !empty(PKG_OPTIONS:Mobjc)
-LANGS+= objc
-DISTFILES+= gcc-objc-${GCC_VERSION}.tar.bz2
-.endif
-
-
-#########################
-## TESTSUITE SUPPORT ##
-#########################
-
-.if !empty(PKG_OPTIONS:Mtestada) \
- || !empty(PKG_OPTIONS:Mtestcxx) \
- || !empty(PKG_OPTIONS:Mtestfortran) \
- || !empty(PKG_OPTIONS:Mtestobjc) \
- || !empty(PKG_OPTIONS:Mtestgcc)
-BUILD_DEPENDS+= dejagnu>=1.4:../../devel/dejagnu
-DISTFILES+= gcc-testsuite-${GCC_VERSION}.tar.bz2
-.if !empty(PKG_OPTIONS:Mtestada)
-APPLY_DIFFS+= ada-testsuite
-.endif
-.if !empty(PKG_OPTIONS:Mtestcxx)
-APPLY_DIFFS+= cxx-testsuite
-.endif
-.if !empty(PKG_OPTIONS:Mtestgcc)
-APPLY_DIFFS+= gcc-testsuite
-.endif
-.if !empty(PKG_OPTIONS:Mtestfortran)
-APPLY_DIFFS+= fortran-testsuite
-.endif
-.endif
diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h
deleted file mode 100644
index 9f758276185..00000000000
--- a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h
+++ /dev/null
@@ -1,61 +0,0 @@
-$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h,v 1.1 2013/04/30 22:24:16 joerg Exp $
-
---- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2012-06-20 08:30:55.000000000 +0000
-+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
-@@ -43,21 +43,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
-- typedef unsigned char mask;
-
--#ifndef _CTYPE_U
-- static const mask upper = _U;
-- static const mask lower = _L;
-- static const mask alpha = _U | _L;
-- static const mask digit = _N;
-- static const mask xdigit = _N | _X;
-- static const mask space = _S;
-- static const mask print = _P | _U | _L | _N | _B;
-- static const mask graph = _P | _U | _L | _N;
-- static const mask cntrl = _C;
-- static const mask punct = _P;
-- static const mask alnum = _U | _L | _N;
--#else
-+#if defined(_CTYPE_BL)
-+ typedef unsigned short mask;
-+ static const mask upper = _CTYPE_U;
-+ static const mask lower = _CTYPE_L;
-+ static const mask alpha = _CTYPE_A;
-+ static const mask digit = _CTYPE_D;
-+ static const mask xdigit = _CTYPE_X;
-+ static const mask space = _CTYPE_S;
-+ static const mask print = _CTYPE_R;
-+ static const mask graph = _CTYPE_G;
-+ static const mask cntrl = _CTYPE_C;
-+ static const mask punct = _CTYPE_P;
-+ static const mask alnum = _CTYPE_A | _CTYPE_D;
-+#elif defined(_CTYPE_U)
-+ typedef unsigned char mask;
- static const mask upper = _CTYPE_U;
- static const mask lower = _CTYPE_L;
- static const mask alpha = _CTYPE_U | _CTYPE_L;
-@@ -69,6 +70,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
- static const mask cntrl = _CTYPE_C;
- static const mask punct = _CTYPE_P;
- static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N;
-+#else
-+ typedef unsigned char mask;
-+ static const mask upper = _U;
-+ static const mask lower = _L;
-+ static const mask alpha = _U | _L;
-+ static const mask digit = _N;
-+ static const mask xdigit = _N | _X;
-+ static const mask space = _S;
-+ static const mask print = _P | _U | _L | _N | _B;
-+ static const mask graph = _P | _U | _L | _N;
-+ static const mask cntrl = _C;
-+ static const mask punct = _P;
-+ static const mask alnum = _U | _L | _N;
- #endif
- };
-
diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h
deleted file mode 100644
index 4c306c74a52..00000000000
--- a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h,v 1.1 2013/04/30 22:24:16 joerg Exp $
-
---- libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h.orig 2011-01-30 22:39:36.000000000 +0000
-+++ libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
-@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
-- *__vec++ = _M_table[*__low++];
-+ *__vec++ = _M_table[(unsigned char)*__low++];
- return __high;
- }
-
diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h
deleted file mode 100644
index 7b9d9a31c98..00000000000
--- a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h
+++ /dev/null
@@ -1,57 +0,0 @@
-$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h,v 1.1 2013/04/30 22:24:16 joerg Exp $
-
---- libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h.orig 2011-01-03 20:52:22.000000000 +0000
-+++ libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h
-@@ -34,11 +34,17 @@
-
- // Information as gleaned from /usr/include/ctype.h
-
-+#ifndef _CTYPE_BL
- extern "C" const u_int8_t _C_ctype_[];
-+#endif
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
-- { return _C_ctype_ + 1; }
-+#ifdef _CTYPE_BL
-+ { return _C_ctype_tab_ + 1; }
-+#else
-+ { return _C_ctype_ + 1; }
-+#endif
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
-@@ -65,14 +71,14 @@
-
- char
- ctype<char>::do_toupper(char __c) const
-- { return ::toupper((int) __c); }
-+ { return ::toupper((int)(unsigned char) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
-- *__low = ::toupper((int) *__low);
-+ *__low = ::toupper((int)(unsigned char) *__low);
- ++__low;
- }
- return __high;
-@@ -80,14 +86,14 @@
-
- char
- ctype<char>::do_tolower(char __c) const
-- { return ::tolower((int) __c); }
-+ { return ::tolower((int)(unsigned char) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
-- *__low = ::tolower((int) *__low);
-+ *__low = ::tolower((int)(unsigned char) *__low);
- ++__low;
- }
- return __high;