Index: dist/libstdc++-v3/acinclude.m4
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4,v
retrieving revision 1.6
diff -u -p -u -r1.6 acinclude.m4
--- dist/libstdc++-v3/acinclude.m4	19 Jan 2019 12:10:12 -0000	1.6
+++ dist/libstdc++-v3/acinclude.m4	28 Jul 2019 17:42:39 -0000
@@ -2416,7 +2416,7 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
       darwin*)
 	enable_clocale_flag=darwin
 	;;
-      dragonfly* | freebsd*)
+      dragonfly* | freebsd* | netbsd*)
 	enable_clocale_flag=dragonfly
 	;;
       openbsd*)
@@ -2512,7 +2512,7 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
       ;;
 
     dragonfly)
-      AC_MSG_RESULT(dragonfly or freebsd)
+      AC_MSG_RESULT(dragonfly or freebsd or netbsd)
 
       CLOCALE_H=config/locale/dragonfly/c_locale.h
       CLOCALE_CC=config/locale/dragonfly/c_locale.cc
Index: dist/libstdc++-v3/configure
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/dist/libstdc++-v3/configure,v
retrieving revision 1.11
diff -u -p -u -r1.11 configure
--- dist/libstdc++-v3/configure	19 Jan 2019 12:10:12 -0000	1.11
+++ dist/libstdc++-v3/configure	28 Jul 2019 17:43:10 -0000
@@ -15848,7 +15848,7 @@ fi
       darwin*)
 	enable_clocale_flag=darwin
 	;;
-      dragonfly* | freebsd*)
+      dragonfly* | freebsd* | netbsd*)
 	enable_clocale_flag=dragonfly
 	;;
       openbsd*)
@@ -15997,8 +15997,8 @@ $as_echo "darwin" >&6; }
       ;;
 
     dragonfly)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: dragonfly or freebsd" >&5
-$as_echo "dragonfly or freebsd" >&6; }
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: dragonfly or freebsd or netbsd" >&5
+$as_echo "dragonfly or freebsd or netbsd" >&6; }
 
       CLOCALE_H=config/locale/dragonfly/c_locale.h
       CLOCALE_CC=config/locale/dragonfly/c_locale.cc
Index: dist/libstdc++-v3/config/locale/generic/time_members.cc
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/dist/libstdc++-v3/config/locale/generic/time_members.cc,v
retrieving revision 1.1.1.5
diff -u -p -u -r1.1.1.5 time_members.cc
--- dist/libstdc++-v3/config/locale/generic/time_members.cc	19 Jan 2019 10:14:12 -0000	1.1.1.5
+++ dist/libstdc++-v3/config/locale/generic/time_members.cc	28 Jul 2019 17:43:10 -0000
@@ -205,6 +205,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       _M_data->_M_amonth11 = L"Nov";
       _M_data->_M_amonth12 = L"Dec";
     }
+  template<> 
+    __timepunct<wchar_t>::~__timepunct()
+   { 
+   }
 #endif
 
 _GLIBCXX_END_NAMESPACE_VERSION
Index: dist/libstdc++-v3/include/bits/locale_facets_nonio.h
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_facets_nonio.h,v
retrieving revision 1.1.1.6
diff -u -p -u -r1.1.1.6 locale_facets_nonio.h
--- dist/libstdc++-v3/include/bits/locale_facets_nonio.h	19 Jan 2019 10:14:12 -0000	1.1.1.6
+++ dist/libstdc++-v3/include/bits/locale_facets_nonio.h	28 Jul 2019 17:43:12 -0000
@@ -328,6 +328,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 #ifdef _GLIBCXX_USE_WCHAR_T
   template<>
+    __timepunct<wchar_t>::~__timepunct();
+  template<>
     void
     __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
 
Index: dist/libstdc++-v3/src/c++11/ctype.cc
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/dist/libstdc++-v3/src/c++11/ctype.cc,v
retrieving revision 1.1.1.3
diff -u -p -u -r1.1.1.3 ctype.cc
--- dist/libstdc++-v3/src/c++11/ctype.cc	19 Jan 2019 10:14:05 -0000	1.1.1.3
+++ dist/libstdc++-v3/src/c++11/ctype.cc	28 Jul 2019 17:43:13 -0000
@@ -53,7 +53,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   ctype<char>::~ctype()
   {
+#if 0
+    // There is no constructor for the char specialization, and
+    // _M_c_locale_ctype is uninitialized, found by jemalloc
     _S_destroy_c_locale(_M_c_locale_ctype);
+#endif
     if (_M_del)
       delete[] this->table();
   }
Index: lib/libiberty/defs.mk
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/lib/libiberty/defs.mk,v
retrieving revision 1.21
diff -u -p -u -r1.21 defs.mk
--- lib/libiberty/defs.mk	11 May 2019 02:39:48 -0000	1.21
+++ lib/libiberty/defs.mk	28 Jul 2019 17:43:13 -0000
@@ -4,5 +4,5 @@
 #
 G_ALLOCA=
 G_EXTRA_OFILES=
-G_LIBOBJS=mempcpy.o strverscmp.o vfork.o
+G_LIBOBJS=mempcpy.o strverscmp.o
 G_REQUIRED_OFILES=regex.o cplus-dem.o cp-demangle.o md5.o sha1.o alloca.o argv.o choose-temp.o concat.o cp-demint.o crc32.o d-demangle.o dwarfnames.o dyn-string.o fdmatch.o fibheap.o filename_cmp.o floatformat.o fnmatch.o fopen_unlocked.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o hex.o lbasename.o lrealpath.o make-relative-prefix.o make-temp-file.o objalloc.o obstack.o partition.o pexecute.o physmem.o pex-common.o pex-one.o pex-unix.o vprintf-support.o rust-demangle.o safe-ctype.o simple-object.o simple-object-coff.o simple-object-elf.o simple-object-mach-o.o simple-object-xcoff.o sort.o spaces.o splay-tree.o stack-limit.o strerror.o strsignal.o timeval-utils.o unlink-if-ordinary.o xasprintf.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o xstrndup.o xvasprintf.o
Index: lib/libstdc++-v3/Makefile
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/lib/libstdc++-v3/Makefile,v
retrieving revision 1.47
diff -u -p -u -r1.47 Makefile
--- lib/libstdc++-v3/Makefile	23 Apr 2019 20:55:53 -0000	1.47
+++ lib/libstdc++-v3/Makefile	28 Jul 2019 17:43:13 -0000
@@ -66,6 +66,7 @@ CXXFLAGS+=	-fno-implicit-templates
 CPPFLAGS+=	-I${DIST}/libstdc++-v3/include
 CPPFLAGS+=	-I${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}
 CPPFLAGS+=	-D_GLIBCXX_SHARED -DGTHREAD_USE_WEAK -DSUPPORTS_WEAK
+CPPFLAGS+=	-I${CONF}/locale/dragonfly
 
 # affects profiling; can't switch it off just for profiling easily.
 #CXXFLAGS+=	${G_SECTION_FLAGS}
@@ -186,6 +187,7 @@ COPTS.${f}.cc+= -fimplicit-templates ${G
 	${DIST}/libstdc++-v3/src/filesystem \
 	${DIST}/libstdc++-v3/libsupc++ \
 	${DIST}/libstdc++-v3/config/os/bsd/netbsd \
+	${CONF}/locale/dragonfly \
 	${CONF}/locale/generic \
 	${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}
 
Index: lib/libstdc++-v3/arch/x86_64/defs.mk
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/defs.mk,v
retrieving revision 1.14
diff -u -p -u -r1.14 defs.mk
--- lib/libstdc++-v3/arch/x86_64/defs.mk	26 Feb 2019 21:16:03 -0000	1.14
+++ lib/libstdc++-v3/arch/x86_64/defs.mk	28 Jul 2019 17:43:15 -0000
@@ -16,14 +16,14 @@ G_CPP98_SOURCES=bitmap_allocator.cc pool
 G_FILESYSTEM_SOURCES=dir.cc ops.cc path.cc cow-dir.cc cow-ops.cc cow-path.cc
 G_ATOMICITY_SRCDIR=config/cpu/generic/atomicity_builtins
 G_BASIC_FILE_CC=config/io/basic_file_stdio.cc
-G_CLOCALE_CC=config/locale/generic/c_locale.cc
-G_CCODECVT_CC=config/locale/generic/codecvt_members.cc
-G_CCOLLATE_CC=config/locale/generic/collate_members.cc
-G_CCTYPE_CC=config/locale/generic/ctype_members.cc
+G_CLOCALE_CC=config/locale/dragonfly/c_locale.cc
+G_CCODECVT_CC=config/locale/dragonfly/codecvt_members.cc
+G_CCOLLATE_CC=config/locale/dragonfly/collate_members.cc
+G_CCTYPE_CC=config/locale/dragonfly/ctype_members.cc
 G_CMESSAGES_CC=config/locale/generic/messages_members.cc
-G_CMONEY_CC=config/locale/generic/monetary_members.cc
-G_CNUMERIC_CC=config/locale/generic/numeric_members.cc
-G_CTIME_CC=config/locale/generic/time_members.cc
+G_CMONEY_CC=config/locale/dragonfly/monetary_members.cc
+G_CNUMERIC_CC=config/locale/dragonfly/numeric_members.cc
+G_CTIME_CC=config/locale/dragonfly/time_members.cc
 G_CPU_OPT_BITS_RANDOM=config/cpu/i486/opt/bits/opt_random.h
 G_backward_headers=backward/auto_ptr.h backward/backward_warning.h backward/binders.h backward/hash_map backward/hash_set backward/hash_fun.h backward/hashtable.h backward/strstream
 G_c_base_headers_extra=
@@ -50,6 +50,6 @@ G_profile_impl_headers=impl/profiler.h i
 G_BASIC_FILE_H=config/io/basic_file_stdio.h
 G_ALLOCATOR_H=config/allocator/new_allocator_base.h
 G_CSTDIO_H=config/io/c_io_stdio.h
-G_CLOCALE_H=config/locale/generic/c_locale.h
+G_CLOCALE_H=config/locale/dragonfly/c_locale.h
 G_CMESSAGES_H=config/locale/generic/messages_members.h
-G_CTIME_H=config/locale/generic/time_members.h
+G_CTIME_H=config/locale/dragonfly/time_members.h