diff --git a/.compat-sap-c++-6.metadata b/.compat-sap-c++-6.metadata new file mode 100644 index 0000000..f3871cd --- /dev/null +++ b/.compat-sap-c++-6.metadata @@ -0,0 +1,2 @@ +ce5cdb519ece0bec95d32e3ec6b5f72ad318494b SOURCES/gcc-6.3.1-20170216.tar.bz2 +5ef03ca7aee134fe7dfecb6c9d048799f0810278 SOURCES/mpc-0.8.1.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7b2835e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/gcc-6.3.1-20170216.tar.bz2 +SOURCES/mpc-0.8.1.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/gcc6-aarch64-async-unw-tables.patch b/SOURCES/gcc6-aarch64-async-unw-tables.patch new file mode 100644 index 0000000..feec149 --- /dev/null +++ b/SOURCES/gcc6-aarch64-async-unw-tables.patch @@ -0,0 +1,35 @@ +2014-04-07 Richard Henderson + + * common/config/aarch64/aarch64-common.c (TARGET_OPTION_INIT_STRUCT): + Define. + (aarch64_option_init_struct): New function. + +--- gcc/common/config/aarch64/aarch64-common.c ++++ gcc/common/config/aarch64/aarch64-common.c +@@ -39,6 +39,9 @@ + #undef TARGET_OPTION_OPTIMIZATION_TABLE + #define TARGET_OPTION_OPTIMIZATION_TABLE aarch_option_optimization_table + ++#undef TARGET_OPTION_INIT_STRUCT ++#define TARGET_OPTION_INIT_STRUCT aarch64_option_init_struct ++ + /* Set default optimization options. */ + static const struct default_options aarch_option_optimization_table[] = + { +@@ -47,6 +50,16 @@ static const struct default_options aarch_option_optimization_table[] = + { OPT_LEVELS_NONE, 0, NULL, 0 } + }; + ++/* Implement TARGET_OPTION_INIT_STRUCT. */ ++ ++static void ++aarch64_option_init_struct (struct gcc_options *opts) ++{ ++ /* By default, always emit DWARF-2 unwind info. This allows debugging ++ without maintaining a stack frame back-chain. */ ++ opts->x_flag_asynchronous_unwind_tables = 1; ++} ++ + /* Implement TARGET_HANDLE_OPTION. + This function handles the target specific options for CPU/target selection. + diff --git a/SOURCES/gcc6-alt-compat-test.patch b/SOURCES/gcc6-alt-compat-test.patch new file mode 100644 index 0000000..3907d55 --- /dev/null +++ b/SOURCES/gcc6-alt-compat-test.patch @@ -0,0 +1,49 @@ +--- gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c.jj 2011-01-03 06:50:42.000000000 -0500 ++++ gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c 2011-02-18 06:28:53.858200077 -0500 +@@ -1501,6 +1501,8 @@ generate_random_tests (enum FEATURE feat + int i, r; + if (len > 'z' - 'a' + 1) + abort (); ++ if (getenv ("ALT_CXX_UNDER_TEST") != NULL) ++ features &= ~FEATURE_VECTOR; + memset (e, 0, sizeof (e)); + r = generate_random (); + if ((r & 7) == 0) +--- gcc/testsuite/g++.dg/compat/compat.exp.jj 2011-01-03 06:50:42.000000000 -0500 ++++ gcc/testsuite/g++.dg/compat/compat.exp 2011-02-18 06:30:54.248200398 -0500 +@@ -116,7 +116,12 @@ if [info exists ALT_CXX_UNDER_TEST] then + } + + # Main loop. +-foreach src [lsort [find $srcdir/$subdir *_main.C]] { ++set tests [lsort [find $srcdir/$subdir *_main.C]] ++if { $use_alt != 0 } then { ++ set tests [prune $tests $srcdir/$subdir/decimal/*] ++} ++ ++foreach src $tests { + # If we're only testing specific files and this isn't one of them, skip it. + if ![runtest_file_p $runtests $src] then { + continue +--- gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c.jj 2011-01-03 06:49:58.000000000 -0500 ++++ gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c 2011-02-18 06:27:54.922262671 -0500 +@@ -1912,6 +1912,8 @@ generate_random_tests (enum FEATURE feat + int i, r; + if (len > 'z' - 'a' + 1) + abort (); ++ if (getenv ("ALT_CC_UNDER_TEST") != NULL) ++ features &= ~FEATURE_VECTOR; + memset (e, 0, sizeof (e)); + r = generate_random (); + if ((r & 7) == 0) +--- gcc/testsuite/lib/c-compat.exp.jj 2011-01-03 06:48:38.000000000 -0500 ++++ gcc/testsuite/lib/c-compat.exp 2011-02-18 06:38:19.124265008 -0500 +@@ -75,7 +75,7 @@ proc compat_setup_dfp { } { + # If there is an alternate compiler, does it support decimal float types? + if { $compat_have_dfp == 1 && $compat_use_alt == 1 && $compat_same_alt == 0 } { + compat-use-alt-compiler +- set compat_have_dfp [check_effective_target_dfprt_nocache] ++ set compat_have_dfp 0 + compat-use-tst-compiler + verbose "compat_have_dfp for alt compiler: $compat_have_dfp" 2 + } diff --git a/SOURCES/gcc6-hack.patch b/SOURCES/gcc6-hack.patch new file mode 100644 index 0000000..950ff63 --- /dev/null +++ b/SOURCES/gcc6-hack.patch @@ -0,0 +1,159 @@ +--- libada/Makefile.in.jj 2009-01-14 12:07:35.000000000 +0100 ++++ libada/Makefile.in 2009-01-15 14:25:33.000000000 +0100 +@@ -66,18 +66,40 @@ libsubdir := $(libdir)/gcc/$(target_nonc + ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) + ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR)) + ++DEFAULTMULTIFLAGS := ++ifeq ($(MULTISUBDIR),) ++targ:=$(subst -, ,$(target)) ++arch:=$(word 1,$(targ)) ++ifeq ($(words $(targ)),2) ++osys:=$(word 2,$(targ)) ++else ++osys:=$(word 3,$(targ)) ++endif ++ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),) ++ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64) ++DEFAULTMULTIFLAGS := -m64 ++else ++ifeq ($(strip $(filter-out s390%, $(arch))),) ++DEFAULTMULTIFLAGS := -m31 ++else ++DEFAULTMULTIFLAGS := -m32 ++endif ++endif ++endif ++endif ++ + # exeext should not be used because it's the *host* exeext. We're building + # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus + # definitions just in case something slips through the safety net provided + # by recursive make invocations in gcc/ada/Makefile.in + LIBADA_FLAGS_TO_PASS = \ + "MAKEOVERRIDES=" \ +- "LDFLAGS=$(LDFLAGS)" \ ++ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \ + "LN_S=$(LN_S)" \ + "SHELL=$(SHELL)" \ +- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ +- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ +- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ ++ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ ++ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ + "PICFLAG_FOR_TARGET=$(PICFLAG)" \ + "THREAD_KIND=$(THREAD_KIND)" \ + "TRACE=$(TRACE)" \ +@@ -88,7 +110,7 @@ LIBADA_FLAGS_TO_PASS = \ + "exeext=.exeext.should.not.be.used " \ + 'CC=the.host.compiler.should.not.be.needed' \ + "GCC_FOR_TARGET=$(CC)" \ +- "CFLAGS=$(CFLAGS)" ++ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)" + + # Rules to build gnatlib. + .PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared osconstool +--- gcc/ada/sem_util.adb (revision 161677) ++++ gcc/ada/sem_util.adb (working copy) +@@ -5487,7 +5487,7 @@ package body Sem_Util is + Exp : Node_Id; + Assn : Node_Id; + Choice : Node_Id; +- Comp_Type : Entity_Id; ++ Comp_Type : Entity_Id := Empty; + Is_Array_Aggr : Boolean; + + begin +--- config-ml.in.jj 2010-06-30 09:50:44.000000000 +0200 ++++ config-ml.in 2010-07-02 21:24:17.994211151 +0200 +@@ -516,6 +516,8 @@ multi-do: + ADAFLAGS="$(ADAFLAGS) $${flags}" \ + prefix="$(prefix)" \ + exec_prefix="$(exec_prefix)" \ ++ mandir="$(mandir)" \ ++ infodir="$(infodir)" \ + GCJFLAGS="$(GCJFLAGS) $${flags}" \ + GOCFLAGS="$(GOCFLAGS) $${flags}" \ + CXXFLAGS="$(CXXFLAGS) $${flags}" \ +--- libjava/Makefile.am.jj 2010-07-09 11:17:33.729604090 +0200 ++++ libjava/Makefile.am 2010-07-09 13:16:41.894375641 +0200 +@@ -710,7 +710,8 @@ if USE_LIBGCJ_BC + ## later. + @echo Installing dummy lib libgcj_bc.so.1.0.0; \ + rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ +- mv $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ ++ $(INSTALL) $(INSTALL_STRIP_FLAG) $(here)/.libs/libgcj_bc.so $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ ++ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0; \ + $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \ + -o $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \ + rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \ +--- libjava/Makefile.in.jj 2010-07-09 11:17:34.000000000 +0200 ++++ libjava/Makefile.in 2010-07-09 13:18:07.542572270 +0200 +@@ -12665,7 +12665,8 @@ install-exec-hook: install-binPROGRAMS i + install-libexecsubPROGRAMS + @USE_LIBGCJ_BC_TRUE@ @echo Installing dummy lib libgcj_bc.so.1.0.0; \ + @USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ +-@USE_LIBGCJ_BC_TRUE@ mv $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ ++@USE_LIBGCJ_BC_TRUE@ $(INSTALL) $(INSTALL_STRIP_FLAG) $(here)/.libs/libgcj_bc.so $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ ++@USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0; \ + @USE_LIBGCJ_BC_TRUE@ $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \ + @USE_LIBGCJ_BC_TRUE@ -o $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \ + @USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \ +--- libcpp/macro.c.jj 2015-01-14 11:01:34.000000000 +0100 ++++ libcpp/macro.c 2015-01-14 14:22:19.286949884 +0100 +@@ -2947,8 +2947,6 @@ create_iso_definition (cpp_reader *pfile + cpp_token *token; + const cpp_token *ctoken; + bool following_paste_op = false; +- const char *paste_op_error_msg = +- N_("'##' cannot appear at either end of a macro expansion"); + unsigned int num_extra_tokens = 0; + + /* Get the first token of the expansion (or the '(' of a +@@ -3059,7 +3057,8 @@ create_iso_definition (cpp_reader *pfile + function-like macros, but not at the end. */ + if (following_paste_op) + { +- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); ++ cpp_error (pfile, CPP_DL_ERROR, ++ "'##' cannot appear at either end of a macro expansion"); + return false; + } + break; +@@ -3072,7 +3071,8 @@ create_iso_definition (cpp_reader *pfile + function-like macros, but not at the beginning. */ + if (macro->count == 1) + { +- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); ++ cpp_error (pfile, CPP_DL_ERROR, ++ "'##' cannot appear at either end of a macro expansion"); + return false; + } + +--- libcpp/expr.c.jj 2015-01-14 11:01:34.000000000 +0100 ++++ libcpp/expr.c 2015-01-14 14:35:52.851002344 +0100 +@@ -672,16 +672,17 @@ cpp_classify_number (cpp_reader *pfile, + if ((result & CPP_N_WIDTH) == CPP_N_LARGE + && CPP_OPTION (pfile, cpp_warn_long_long)) + { +- const char *message = CPP_OPTION (pfile, cplusplus) +- ? N_("use of C++11 long long integer constant") +- : N_("use of C99 long long integer constant"); +- + if (CPP_OPTION (pfile, c99)) + cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location, +- 0, message); ++ 0, CPP_OPTION (pfile, cplusplus) ++ ? N_("use of C++11 long long integer constant") ++ : N_("use of C99 long long integer constant")); + else + cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG, +- virtual_location, 0, message); ++ virtual_location, 0, ++ CPP_OPTION (pfile, cplusplus) ++ ? N_("use of C++11 long long integer constant") ++ : N_("use of C99 long long integer constant")); + } + + result |= CPP_N_INTEGER; diff --git a/SOURCES/gcc6-i386-libgomp.patch b/SOURCES/gcc6-i386-libgomp.patch new file mode 100644 index 0000000..520561e --- /dev/null +++ b/SOURCES/gcc6-i386-libgomp.patch @@ -0,0 +1,11 @@ +--- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100 ++++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100 +@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then + ;; + *) + if test -z "$with_arch"; then +- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" ++ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" + fi + esac + ;; diff --git a/SOURCES/gcc6-isl-dl.patch b/SOURCES/gcc6-isl-dl.patch new file mode 100644 index 0000000..209ac3f --- /dev/null +++ b/SOURCES/gcc6-isl-dl.patch @@ -0,0 +1,585 @@ +--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200 ++++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100 +@@ -1013,7 +1013,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) + # and the system's installed libraries. + LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \ + $(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS) +-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ ++BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ + $(ZLIB) + # Any system libraries needed just for GNAT. + SYSLIBS = @GNAT_LIBEXC@ +@@ -2058,6 +2058,15 @@ $(out_object_file): $(out_file) + $(common_out_object_file): $(common_out_file) + $(COMPILE) $< + $(POSTCOMPILE) ++ ++graphite%.o : \ ++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) ++graphite.o : \ ++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) ++graphite%.o : \ ++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) ++graphite.o : \ ++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) + # + # Generate header and source files from the machine description, + # and compile them. +--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100 ++++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100 +@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. + #include + #include + #include ++#include + + #ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS + /* isl 0.15 or later. */ +@@ -47,6 +48,494 @@ along with GCC; see the file COPYING3. + # define isl_stat_ok 0 + #endif + ++#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS ++#define DYNSYM_SCHEDULE_FUSE DYNSYM (isl_options_set_schedule_serialize_sccs) ++#define DYNSYM_SET_YAML_STYLE DYNSYM (isl_printer_set_yaml_style); ++#else ++#define DYNSYM_SCHEDULE_FUSE DYNSYM (isl_options_set_schedule_fuse) ++#define DYNSYM_SET_YAML_STYLE ++#endif ++ ++#define DYNSYMS \ ++ DYNSYM (isl_aff_add_coefficient_si); \ ++ DYNSYM (isl_aff_free); \ ++ DYNSYM (isl_aff_get_space); \ ++ DYNSYM (isl_aff_set_coefficient_si); \ ++ DYNSYM (isl_aff_set_constant_si); \ ++ DYNSYM (isl_aff_zero_on_domain); \ ++ DYNSYM (isl_band_free); \ ++ DYNSYM (isl_band_get_children); \ ++ DYNSYM (isl_band_get_partial_schedule); \ ++ DYNSYM (isl_band_has_children); \ ++ DYNSYM (isl_band_list_free); \ ++ DYNSYM (isl_band_list_get_band); \ ++ DYNSYM (isl_band_list_get_ctx); \ ++ DYNSYM (isl_band_list_n_band); \ ++ DYNSYM (isl_band_n_member); \ ++ DYNSYM (isl_basic_map_add_constraint); \ ++ DYNSYM (isl_basic_map_project_out); \ ++ DYNSYM (isl_basic_map_universe); \ ++ DYNSYM (isl_constraint_set_coefficient_si); \ ++ DYNSYM (isl_constraint_set_constant_si); \ ++ DYNSYM (isl_ctx_alloc); \ ++ DYNSYM (isl_ctx_free); \ ++ DYNSYM (isl_equality_alloc); \ ++ DYNSYM (isl_id_alloc); \ ++ DYNSYM (isl_id_copy); \ ++ DYNSYM (isl_id_free); \ ++ DYNSYM (isl_inequality_alloc); \ ++ DYNSYM (isl_local_space_copy); \ ++ DYNSYM (isl_local_space_free); \ ++ DYNSYM (isl_local_space_from_space); \ ++ DYNSYM (isl_local_space_range); \ ++ DYNSYM (isl_map_add_constraint); \ ++ DYNSYM (isl_map_add_dims); \ ++ DYNSYM (isl_map_align_params); \ ++ DYNSYM (isl_map_apply_range); \ ++ DYNSYM (isl_map_copy); \ ++ DYNSYM (isl_map_dim); \ ++ DYNSYM (isl_map_dump); \ ++ DYNSYM (isl_map_equate); \ ++ DYNSYM (isl_map_fix_si); \ ++ DYNSYM (isl_map_flat_product); \ ++ DYNSYM (isl_map_flat_range_product); \ ++ DYNSYM (isl_map_free); \ ++ DYNSYM (isl_map_from_basic_map); \ ++ DYNSYM (isl_map_from_pw_aff); \ ++ DYNSYM (isl_map_from_union_map); \ ++ DYNSYM (isl_map_get_ctx); \ ++ DYNSYM (isl_map_get_space); \ ++ DYNSYM (isl_map_get_tuple_id); \ ++ DYNSYM (isl_map_insert_dims); \ ++ DYNSYM (isl_map_intersect); \ ++ DYNSYM (isl_map_intersect_domain); \ ++ DYNSYM (isl_map_intersect_range); \ ++ DYNSYM (isl_map_is_empty); \ ++ DYNSYM (isl_map_lex_ge); \ ++ DYNSYM (isl_map_lex_le); \ ++ DYNSYM (isl_map_n_out); \ ++ DYNSYM (isl_map_range); \ ++ DYNSYM (isl_map_set_tuple_id); \ ++ DYNSYM (isl_map_universe); \ ++ DYNSYM (isl_options_set_on_error); \ ++ DYNSYM_SCHEDULE_FUSE; \ ++ DYNSYM_SET_YAML_STYLE \ ++ DYNSYM (isl_options_set_schedule_max_constant_term); \ ++ DYNSYM (isl_options_set_schedule_maximize_band_depth); \ ++ DYNSYM (isl_printer_free); \ ++ DYNSYM (isl_printer_print_aff); \ ++ DYNSYM (isl_printer_print_constraint); \ ++ DYNSYM (isl_printer_print_map); \ ++ DYNSYM (isl_printer_print_set); \ ++ DYNSYM (isl_printer_to_file); \ ++ DYNSYM (isl_pw_aff_add); \ ++ DYNSYM (isl_pw_aff_alloc); \ ++ DYNSYM (isl_pw_aff_copy); \ ++ DYNSYM (isl_pw_aff_eq_set); \ ++ DYNSYM (isl_pw_aff_free); \ ++ DYNSYM (isl_pw_aff_from_aff); \ ++ DYNSYM (isl_pw_aff_ge_set); \ ++ DYNSYM (isl_pw_aff_gt_set); \ ++ DYNSYM (isl_pw_aff_is_cst); \ ++ DYNSYM (isl_pw_aff_le_set); \ ++ DYNSYM (isl_pw_aff_lt_set); \ ++ DYNSYM (isl_pw_aff_mul); \ ++ DYNSYM (isl_pw_aff_ne_set); \ ++ DYNSYM (isl_pw_aff_nonneg_set); \ ++ DYNSYM (isl_pw_aff_set_tuple_id); \ ++ DYNSYM (isl_pw_aff_sub); \ ++ DYNSYM (isl_pw_aff_zero_set); \ ++ DYNSYM (isl_schedule_free); \ ++ DYNSYM (isl_schedule_get_band_forest); \ ++ DYNSYM (isl_set_add_constraint); \ ++ DYNSYM (isl_set_add_dims); \ ++ DYNSYM (isl_set_apply); \ ++ DYNSYM (isl_set_coalesce); \ ++ DYNSYM (isl_set_copy); \ ++ DYNSYM (isl_set_dim); \ ++ DYNSYM (isl_set_fix_si); \ ++ DYNSYM (isl_set_free); \ ++ DYNSYM (isl_set_get_space); \ ++ DYNSYM (isl_set_get_tuple_id); \ ++ DYNSYM (isl_set_intersect); \ ++ DYNSYM (isl_set_is_empty); \ ++ DYNSYM (isl_set_n_dim); \ ++ DYNSYM (isl_set_nat_universe); \ ++ DYNSYM (isl_set_project_out); \ ++ DYNSYM (isl_set_set_tuple_id); \ ++ DYNSYM (isl_set_universe); \ ++ DYNSYM (isl_space_add_dims); \ ++ DYNSYM (isl_space_alloc); \ ++ DYNSYM (isl_space_copy); \ ++ DYNSYM (isl_space_dim); \ ++ DYNSYM (isl_space_domain); \ ++ DYNSYM (isl_space_find_dim_by_id); \ ++ DYNSYM (isl_space_free); \ ++ DYNSYM (isl_space_from_domain); \ ++ DYNSYM (isl_space_get_tuple_id); \ ++ DYNSYM (isl_space_params_alloc); \ ++ DYNSYM (isl_space_range); \ ++ DYNSYM (isl_space_set_alloc); \ ++ DYNSYM (isl_space_set_dim_id); \ ++ DYNSYM (isl_space_set_tuple_id); \ ++ DYNSYM (isl_union_map_add_map); \ ++ DYNSYM (isl_union_map_align_params); \ ++ DYNSYM (isl_union_map_apply_domain); \ ++ DYNSYM (isl_union_map_apply_range); \ ++ DYNSYM (isl_union_map_compute_flow); \ ++ DYNSYM (isl_union_map_copy); \ ++ DYNSYM (isl_union_map_empty); \ ++ DYNSYM (isl_union_map_flat_range_product); \ ++ DYNSYM (isl_union_map_foreach_map); \ ++ DYNSYM (isl_union_map_free); \ ++ DYNSYM (isl_union_map_from_map); \ ++ DYNSYM (isl_union_map_get_ctx); \ ++ DYNSYM (isl_union_map_get_space); \ ++ DYNSYM (isl_union_map_gist_domain); \ ++ DYNSYM (isl_union_map_gist_range); \ ++ DYNSYM (isl_union_map_intersect_domain); \ ++ DYNSYM (isl_union_map_is_empty); \ ++ DYNSYM (isl_union_map_subtract); \ ++ DYNSYM (isl_union_map_union); \ ++ DYNSYM (isl_union_set_add_set); \ ++ DYNSYM (isl_union_set_compute_schedule); \ ++ DYNSYM (isl_union_set_copy); \ ++ DYNSYM (isl_union_set_empty); \ ++ DYNSYM (isl_union_set_from_set); \ ++ DYNSYM (isl_aff_add_constant_val); \ ++ DYNSYM (isl_aff_get_coefficient_val); \ ++ DYNSYM (isl_aff_get_ctx); \ ++ DYNSYM (isl_aff_mod_val); \ ++ DYNSYM (isl_ast_build_ast_from_schedule); \ ++ DYNSYM (isl_ast_build_free); \ ++ DYNSYM (isl_ast_build_from_context); \ ++ DYNSYM (isl_ast_build_get_ctx); \ ++ DYNSYM (isl_ast_build_get_schedule); \ ++ DYNSYM (isl_ast_build_get_schedule_space); \ ++ DYNSYM (isl_ast_build_set_before_each_for); \ ++ DYNSYM (isl_ast_build_set_options); \ ++ DYNSYM (isl_ast_expr_free); \ ++ DYNSYM (isl_ast_expr_from_val); \ ++ DYNSYM (isl_ast_expr_get_ctx); \ ++ DYNSYM (isl_ast_expr_get_id); \ ++ DYNSYM (isl_ast_expr_get_op_arg); \ ++ DYNSYM (isl_ast_expr_get_op_n_arg); \ ++ DYNSYM (isl_ast_expr_get_op_type); \ ++ DYNSYM (isl_ast_expr_get_type); \ ++ DYNSYM (isl_ast_expr_get_val); \ ++ DYNSYM (isl_ast_expr_sub); \ ++ DYNSYM (isl_ast_node_block_get_children); \ ++ DYNSYM (isl_ast_node_for_get_body); \ ++ DYNSYM (isl_ast_node_for_get_cond); \ ++ DYNSYM (isl_ast_node_for_get_inc); \ ++ DYNSYM (isl_ast_node_for_get_init); \ ++ DYNSYM (isl_ast_node_for_get_iterator); \ ++ DYNSYM (isl_ast_node_free); \ ++ DYNSYM (isl_ast_node_get_annotation); \ ++ DYNSYM (isl_ast_node_get_type); \ ++ DYNSYM (isl_ast_node_if_get_cond); \ ++ DYNSYM (isl_ast_node_if_get_else); \ ++ DYNSYM (isl_ast_node_if_get_then); \ ++ DYNSYM (isl_ast_node_list_free); \ ++ DYNSYM (isl_ast_node_list_get_ast_node); \ ++ DYNSYM (isl_ast_node_list_n_ast_node); \ ++ DYNSYM (isl_ast_node_user_get_expr); \ ++ DYNSYM (isl_constraint_set_coefficient_val); \ ++ DYNSYM (isl_constraint_set_constant_val); \ ++ DYNSYM (isl_id_get_user); \ ++ DYNSYM (isl_local_space_get_ctx); \ ++ DYNSYM (isl_map_fix_val); \ ++ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \ ++ DYNSYM (isl_printer_print_ast_node); \ ++ DYNSYM (isl_printer_print_str); \ ++ DYNSYM (isl_printer_set_output_format); \ ++ DYNSYM (isl_pw_aff_mod_val); \ ++ DYNSYM (isl_schedule_constraints_compute_schedule); \ ++ DYNSYM (isl_schedule_constraints_on_domain); \ ++ DYNSYM (isl_schedule_constraints_set_coincidence); \ ++ DYNSYM (isl_schedule_constraints_set_proximity); \ ++ DYNSYM (isl_schedule_constraints_set_validity); \ ++ DYNSYM (isl_set_get_dim_id); \ ++ DYNSYM (isl_set_max_val); \ ++ DYNSYM (isl_set_min_val); \ ++ DYNSYM (isl_set_params); \ ++ DYNSYM (isl_space_align_params); \ ++ DYNSYM (isl_space_map_from_domain_and_range); \ ++ DYNSYM (isl_space_set_tuple_name); \ ++ DYNSYM (isl_space_wrap); \ ++ DYNSYM (isl_union_map_from_domain_and_range); \ ++ DYNSYM (isl_union_map_range); \ ++ DYNSYM (isl_union_set_union); \ ++ DYNSYM (isl_union_set_universe); \ ++ DYNSYM (isl_val_2exp); \ ++ DYNSYM (isl_val_add_ui); \ ++ DYNSYM (isl_val_copy); \ ++ DYNSYM (isl_val_free); \ ++ DYNSYM (isl_val_get_num_gmp); \ ++ DYNSYM (isl_val_int_from_gmp); \ ++ DYNSYM (isl_val_int_from_si); \ ++ DYNSYM (isl_val_int_from_ui); \ ++ DYNSYM (isl_val_mul); \ ++ DYNSYM (isl_val_neg); \ ++ DYNSYM (isl_val_sub); \ ++ DYNSYM (isl_printer_print_union_map); \ ++ DYNSYM (isl_pw_aff_get_ctx); \ ++ DYNSYM (isl_val_is_int); \ ++ DYNSYM (isl_ctx_get_max_operations); \ ++ DYNSYM (isl_ctx_set_max_operations); \ ++ DYNSYM (isl_ctx_last_error); \ ++ DYNSYM (isl_ctx_reset_operations); \ ++ DYNSYM (isl_map_coalesce); \ ++ DYNSYM (isl_printer_print_schedule); \ ++ DYNSYM (isl_set_set_dim_id); \ ++ DYNSYM (isl_union_map_coalesce); ++ ++extern struct isl_pointers_s__ ++{ ++ bool inited; ++ void *h; ++#define DYNSYM(x) __typeof (x) *p_##x ++ DYNSYMS ++#undef DYNSYM ++} isl_pointers__; ++ ++#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si) ++#define isl_aff_free (*isl_pointers__.p_isl_aff_free) ++#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space) ++#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si) ++#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si) ++#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain) ++#define isl_band_free (*isl_pointers__.p_isl_band_free) ++#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children) ++#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule) ++#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children) ++#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free) ++#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band) ++#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx) ++#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band) ++#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member) ++#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint) ++#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out) ++#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe) ++#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si) ++#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si) ++#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc) ++#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free) ++#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc) ++#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc) ++#define isl_id_copy (*isl_pointers__.p_isl_id_copy) ++#define isl_id_free (*isl_pointers__.p_isl_id_free) ++#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc) ++#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy) ++#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free) ++#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space) ++#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range) ++#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint) ++#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims) ++#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params) ++#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range) ++#define isl_map_copy (*isl_pointers__.p_isl_map_copy) ++#define isl_map_dim (*isl_pointers__.p_isl_map_dim) ++#define isl_map_dump (*isl_pointers__.p_isl_map_dump) ++#define isl_map_equate (*isl_pointers__.p_isl_map_equate) ++#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si) ++#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product) ++#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product) ++#define isl_map_free (*isl_pointers__.p_isl_map_free) ++#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map) ++#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff) ++#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map) ++#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx) ++#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space) ++#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id) ++#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims) ++#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect) ++#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain) ++#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range) ++#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty) ++#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge) ++#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le) ++#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out) ++#define isl_map_range (*isl_pointers__.p_isl_map_range) ++#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id) ++#define isl_map_universe (*isl_pointers__.p_isl_map_universe) ++#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error) ++#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS ++#define isl_options_set_schedule_serialize_sccs (*isl_pointers__.p_isl_options_set_schedule_serialize_sccs) ++#define isl_printer_set_yaml_style (*isl_pointers__.p_isl_printer_set_yaml_style) ++#else ++#define isl_options_set_schedule_fuse (*isl_pointers__.p_isl_options_set_schedule_fuse) ++#endif ++#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term) ++#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth) ++#define isl_printer_free (*isl_pointers__.p_isl_printer_free) ++#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff) ++#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint) ++#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map) ++#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set) ++#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file) ++#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add) ++#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc) ++#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy) ++#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set) ++#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free) ++#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff) ++#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set) ++#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set) ++#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst) ++#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set) ++#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set) ++#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul) ++#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set) ++#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set) ++#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id) ++#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub) ++#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set) ++#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free) ++#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest) ++#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint) ++#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims) ++#define isl_set_apply (*isl_pointers__.p_isl_set_apply) ++#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce) ++#define isl_set_copy (*isl_pointers__.p_isl_set_copy) ++#define isl_set_dim (*isl_pointers__.p_isl_set_dim) ++#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si) ++#define isl_set_free (*isl_pointers__.p_isl_set_free) ++#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space) ++#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id) ++#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect) ++#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty) ++#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim) ++#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe) ++#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out) ++#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id) ++#define isl_set_universe (*isl_pointers__.p_isl_set_universe) ++#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims) ++#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc) ++#define isl_space_copy (*isl_pointers__.p_isl_space_copy) ++#define isl_space_dim (*isl_pointers__.p_isl_space_dim) ++#define isl_space_domain (*isl_pointers__.p_isl_space_domain) ++#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id) ++#define isl_space_free (*isl_pointers__.p_isl_space_free) ++#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain) ++#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id) ++#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc) ++#define isl_space_range (*isl_pointers__.p_isl_space_range) ++#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc) ++#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id) ++#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id) ++#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map) ++#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params) ++#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain) ++#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range) ++#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow) ++#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy) ++#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty) ++#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product) ++#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map) ++#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free) ++#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map) ++#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx) ++#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space) ++#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain) ++#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range) ++#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain) ++#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty) ++#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract) ++#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union) ++#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set) ++#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule) ++#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy) ++#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty) ++#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set) ++#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val) ++#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val) ++#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx) ++#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val) ++#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule) ++#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free) ++#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context) ++#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx) ++#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule) ++#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space) ++#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for) ++#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options) ++#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free) ++#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val) ++#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx) ++#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id) ++#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg) ++#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg) ++#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type) ++#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type) ++#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val) ++#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub) ++#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children) ++#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body) ++#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond) ++#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc) ++#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init) ++#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator) ++#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free) ++#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation) ++#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type) ++#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond) ++#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else) ++#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then) ++#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free) ++#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node) ++#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node) ++#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr) ++#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val) ++#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val) ++#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user) ++#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx) ++#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val) ++#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound) ++#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node) ++#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str) ++#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format) ++#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val) ++#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule) ++#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain) ++#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence) ++#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity) ++#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity) ++#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id) ++#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val) ++#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val) ++#define isl_set_params (*isl_pointers__.p_isl_set_params) ++#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params) ++#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range) ++#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name) ++#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap) ++#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range) ++#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range) ++#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union) ++#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe) ++#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp) ++#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui) ++#define isl_val_copy (*isl_pointers__.p_isl_val_copy) ++#define isl_val_free (*isl_pointers__.p_isl_val_free) ++#define isl_val_get_num_gmp (*isl_pointers__.p_isl_val_get_num_gmp) ++#define isl_val_int_from_gmp (*isl_pointers__.p_isl_val_int_from_gmp) ++#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si) ++#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui) ++#define isl_val_mul (*isl_pointers__.p_isl_val_mul) ++#define isl_val_neg (*isl_pointers__.p_isl_val_neg) ++#define isl_val_sub (*isl_pointers__.p_isl_val_sub) ++#define isl_printer_print_union_map (*isl_pointers__.p_isl_printer_print_union_map) ++#define isl_pw_aff_get_ctx (*isl_pointers__.p_isl_pw_aff_get_ctx) ++#define isl_val_is_int (*isl_pointers__.p_isl_val_is_int) ++#define isl_ctx_get_max_operations (*isl_pointers__.p_isl_ctx_get_max_operations) ++#define isl_ctx_set_max_operations (*isl_pointers__.p_isl_ctx_set_max_operations) ++#define isl_ctx_last_error (*isl_pointers__.p_isl_ctx_last_error) ++#define isl_ctx_reset_operations (*isl_pointers__.p_isl_ctx_reset_operations) ++#define isl_map_coalesce (*isl_pointers__.p_isl_map_coalesce) ++#define isl_printer_print_schedule (*isl_pointers__.p_isl_printer_print_schedule) ++#define isl_set_set_dim_id (*isl_pointers__.p_isl_set_set_dim_id) ++#define isl_union_map_coalesce (*isl_pointers__.p_isl_union_map_coalesce) ++ + typedef struct poly_dr *poly_dr_p; + + typedef struct poly_bb *poly_bb_p; +--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100 ++++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100 +@@ -54,6 +54,34 @@ along with GCC; see the file COPYING3. + #include "tree-cfgcleanup.h" + #include "graphite.h" + ++__typeof (isl_pointers__) isl_pointers__; ++ ++static bool ++init_isl_pointers (void) ++{ ++ void *h; ++ ++ if (isl_pointers__.inited) ++ return isl_pointers__.h != NULL; ++ h = dlopen ("libisl.so.13", RTLD_LAZY); ++ isl_pointers__.h = h; ++ if (h == NULL) ++ return false; ++#define DYNSYM(x) \ ++ do \ ++ { \ ++ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \ ++ u.q = dlsym (h, #x); \ ++ if (u.q == NULL) \ ++ return false; \ ++ isl_pointers__.p_##x = u.p; \ ++ } \ ++ while (0) ++ DYNSYMS ++#undef DYNSYM ++ return true; ++} ++ + /* Print global statistics to FILE. */ + + static void +@@ -298,6 +326,15 @@ graphite_transform_loops (void) + if (parallelized_function_p (cfun->decl)) + return; + ++ if (number_of_loops (cfun) <= 1) ++ return; ++ ++ if (!init_isl_pointers ()) ++ { ++ sorry ("Graphite loop optimizations cannot be used"); ++ return; ++ } ++ + ctx = isl_ctx_alloc (); + isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT); + if (!graphite_initialize (ctx)) diff --git a/SOURCES/gcc6-isl-dl2.patch b/SOURCES/gcc6-isl-dl2.patch new file mode 100644 index 0000000..55d7f02 --- /dev/null +++ b/SOURCES/gcc6-isl-dl2.patch @@ -0,0 +1,71 @@ +2011-04-04 Jakub Jelinek + + * toplev.c (toplev_main_argv): New variable. + (toplev_main): Initialize it. + * graphite.c (init_isl_pointers): Load libisl.so.13 from gcc's private + directory. + +--- gcc/toplev.c.jj 2008-12-09 23:59:10.000000000 +0100 ++++ gcc/toplev.c 2009-01-27 14:33:52.000000000 +0100 +@@ -154,6 +154,8 @@ static bool no_backend; + /* Length of line when printing switch values. */ + #define MAX_LINE 75 + ++const char **toplev_main_argv; ++ + /* Decoded options, and number of such options. */ + struct cl_decoded_option *save_decoded_options; + unsigned int save_decoded_options_count; +@@ -2126,6 +2128,8 @@ toplev::main (int argc, char **argv) + + expandargv (&argc, &argv); + ++ toplev_main_argv = CONST_CAST2 (const char **, char **, argv); ++ + /* Initialization of GCC's environment, and diagnostics. */ + general_init (argv[0], m_init_signals); + +--- gcc/graphite.c.jj 2010-12-01 10:24:32.000000000 -0500 ++++ gcc/graphite.c 2010-12-01 11:46:07.832118193 -0500 +@@ -95,11 +95,39 @@ __typeof (isl_pointers__) isl_pointers__ + static bool + init_isl_pointers (void) + { +- void *h; ++ void *h = NULL; ++ extern const char **toplev_main_argv; ++ char *buf, *p; ++ size_t len; + + if (isl_pointers__.inited) + return isl_pointers__.h != NULL; +- h = dlopen ("libisl.so.13", RTLD_LAZY); ++ len = progname - toplev_main_argv[0]; ++ buf = XALLOCAVAR (char, len + sizeof "libisl.so.13"); ++ memcpy (buf, toplev_main_argv[0], len); ++ strcpy (buf + len, "libisl.so.13"); ++ len += sizeof "libisl.so.13"; ++ p = strstr (buf, "/libexec/"); ++ if (p != NULL) ++ { ++ while (1) ++ { ++ char *q = strstr (p + 8, "/libexec/"); ++ if (q == NULL) ++ break; ++ p = q; ++ } ++ memmove (p + 4, p + 8, len - (p + 8 - buf)); ++ h = dlopen (buf, RTLD_LAZY); ++ if (h == NULL) ++ { ++ len = progname - toplev_main_argv[0]; ++ memcpy (buf, toplev_main_argv[0], len); ++ strcpy (buf + len, "libisl.so.13"); ++ } ++ } ++ if (h == NULL) ++ h = dlopen (buf, RTLD_LAZY); + isl_pointers__.h = h; + if (h == NULL) + return false; diff --git a/SOURCES/gcc6-java-nomulti.patch b/SOURCES/gcc6-java-nomulti.patch new file mode 100644 index 0000000..17334aa --- /dev/null +++ b/SOURCES/gcc6-java-nomulti.patch @@ -0,0 +1,44 @@ +--- libjava/configure.ac.jj 2007-12-07 17:55:50.000000000 +0100 ++++ libjava/configure.ac 2007-12-07 18:36:56.000000000 +0100 +@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode, + [allow rebuilding of .class and .h files])) + AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes) + ++AC_ARG_ENABLE(libjava-multilib, ++ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib])) ++if test "$enable_libjava_multilib" = no; then ++ multilib=no ++ ac_configure_args="$ac_configure_args --disable-multilib" ++fi ++ + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. + GCC_NO_EXECUTABLES + +--- libjava/configure.jj 2007-12-07 17:55:50.000000000 +0100 ++++ libjava/configure 2007-12-07 18:39:58.000000000 +0100 +@@ -1021,6 +1021,8 @@ Optional Features: + default=yes + --enable-java-maintainer-mode + allow rebuilding of .class and .h files ++ --enable-libjava-multilib ++ build libjava as multilib + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-maintainer-mode enable make rules and dependencies not useful +@@ -1973,6 +1975,16 @@ else + fi + + ++# Check whether --enable-libjava-multilib was given. ++if test "${enable_libjava_multilib+set}" = set; then ++ enableval=$enable_libjava_multilib; ++fi ++ ++if test "$enable_libjava_multilib" = no; then ++ multilib=no ++ ac_configure_args="$ac_configure_args --disable-multilib" ++fi ++ + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. + + diff --git a/SOURCES/gcc6-libgfortran-compat.patch b/SOURCES/gcc6-libgfortran-compat.patch new file mode 100644 index 0000000..086b52d --- /dev/null +++ b/SOURCES/gcc6-libgfortran-compat.patch @@ -0,0 +1,2536 @@ +--- libgfortran/config/fpu-glibc.h.jj 2016-04-15 16:55:24.108218643 +0200 ++++ libgfortran/config/fpu-glibc.h 2016-07-13 11:17:15.843054198 +0200 +@@ -125,6 +125,7 @@ support_fpu_trap (int flag) + } + + ++#ifndef LIBGFORTRAN_NONSHARED + void set_fpu (void) + { + #ifndef FE_INVALID +@@ -165,6 +166,7 @@ void set_fpu (void) + + set_fpu_trap_exceptions (options.fpe, 0); + } ++#endif + + + int +--- libgfortran/config/fpu-387.h.jj 2016-04-15 16:55:24.107218657 +0200 ++++ libgfortran/config/fpu-387.h 2016-07-13 11:17:15.866053907 +0200 +@@ -206,11 +206,13 @@ set_fpu_trap_exceptions (int trap, int n + } + } + ++#ifndef LIBGFORTRAN_NONSHARED + void + set_fpu (void) + { + set_fpu_trap_exceptions (options.fpe, 0); + } ++#endif + + int + get_fpu_trap_exceptions (void) +--- libgfortran/libgfortran.h.jj 2016-04-15 16:55:24.107218657 +0200 ++++ libgfortran/libgfortran.h 2016-07-13 11:17:15.876053780 +0200 +@@ -185,7 +185,7 @@ extern int __mingw_snprintf (char *, siz + # define internal_proto(x) sym_rename(x, IPREFIX(x)) + #endif + +-#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS) ++#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS) && !defined(LIBGFORTRAN_NONSHARED) + # define export_proto(x) sym_rename(x, PREFIX(x)) + # define export_proto_np(x) extern char swallow_semicolon + # define iexport_proto(x) internal_proto(x) +@@ -264,6 +264,10 @@ typedef GFC_UINTEGER_4 gfc_char4_t; + extern int big_endian; + internal_proto(big_endian); + ++#ifdef LIBGFORTRAN_NONSHARED ++#define big_endian (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) ++#endif ++ + #define GFOR_POINTER_TO_L1(p, kind) \ + (big_endian * (kind - 1) + (GFC_LOGICAL_1 *)(p)) + +@@ -1413,4 +1417,63 @@ void cshift0_c16 (gfc_array_c16 *, const + internal_proto(cshift0_c16); + #endif + ++#ifdef LIBGFORTRAN_NONSHARED ++#include ++#include ++#include ++ ++#define internal_malloc_size nonshared_internal_malloc_size ++#define xmalloc nonshared_internal_xmalloc ++#define xmallocarray nonshared_internal_xmallocarray ++#define reshape_packed nonshared_reshape_packed ++static inline __attribute__((__always_inline__, __unused__)) ++void * ++internal_malloc_size (size_t size) ++{ ++ void *p; ++ ++ if (size == 0) ++ return NULL; ++ ++ p = (void *) malloc (size); ++ if (p == NULL) ++ os_error ("Memory allocation failed"); ++ return p; ++} ++ ++static inline __attribute__((__always_inline__, __unused__)) ++void * ++xmalloc (size_t size) ++{ ++ return internal_malloc_size (size ? size : 1); ++} ++ ++static inline __attribute__((__always_inline__, __unused__)) ++void * ++xmallocarray (size_t nmemb, size_t size) ++{ ++ if (!nmemb || !size) ++ size = nmemb = 1; ++ else if (__builtin_expect ((nmemb | size) ++ >= (((size_t) 1) << (__CHAR_BIT__ ++ * sizeof (size_t) / 2)), 0) ++ && nmemb > __SIZE_MAX__ / size) ++ { ++ errno = ENOMEM; ++ os_error ("Integer overflow in xmallocarray"); ++ } ++ ++ return internal_malloc_size (nmemb * size); ++} ++ ++static inline __attribute__((__always_inline__, __unused__)) ++#include "intrinsics/reshape_packed.c" ++ ++struct no_bounds_check { int bounds_check; }; ++#define compile_options ((struct no_bounds_check) { .bounds_check = 0 }) ++ ++#define internal_error(x, y...) runtime_error (y) ++ ++#endif ++ + #endif /* LIBGFOR_H */ +--- libgfortran/generated/nonshared-misc_specifics.F90.jj 2016-07-13 11:17:15.877053767 +0200 ++++ libgfortran/generated/nonshared-misc_specifics.F90 2016-07-13 11:17:15.877053767 +0200 +@@ -0,0 +1,53 @@ ++! Copyright 2002-2016 Free Software Foundation, Inc. ++! Contributed by Paul Brook ++! ++!This file is part of the GNU Fortran 95 runtime library (libgfortran). ++! ++!GNU libgfortran 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 of the License, or (at your option) any later version. ++! ++!GNU libgfortran 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 ++!. ++ ++#include "config.h" ++#include "kinds.inc" ++ ++ ++ ++ ++#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_4) ++elemental function _gfortran_specific__nint_4_16 (parm) ++ real (kind=16) , intent (in) :: parm ++ integer (kind=4) :: _gfortran_specific__nint_4_16 ++ _gfortran_specific__nint_4_16 = nint (parm) ++end function ++#endif ++ ++#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_8) ++elemental function _gfortran_specific__nint_8_16 (parm) ++ real (kind=16) , intent (in) :: parm ++ integer (kind=8) :: _gfortran_specific__nint_8_16 ++ _gfortran_specific__nint_8_16 = nint (parm) ++end function ++#endif ++ ++#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_16) ++elemental function _gfortran_specific__nint_16_16 (parm) ++ real (kind=16) , intent (in) :: parm ++ integer (kind=16) :: _gfortran_specific__nint_16_16 ++ _gfortran_specific__nint_16_16 = nint (parm) ++end function ++#endif +--- libgfortran/runtime/nonshared-stop.c.jj 2016-07-13 11:17:15.877053767 +0200 ++++ libgfortran/runtime/nonshared-stop.c 2016-07-13 11:17:15.877053767 +0200 +@@ -0,0 +1,93 @@ ++/* Implementation of the STOP statement. ++ Copyright 2002-2016 Free Software Foundation, Inc. ++ Contributed by Paul Brook ++ ++This file is part of the GNU Fortran 95 runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++#include ++#include ++ ++/* A numeric STOP statement. */ ++ ++extern void stop_numeric (GFC_INTEGER_4) ++ __attribute__ ((noreturn)); ++export_proto(stop_numeric); ++ ++/* A Fortran 2008 numeric STOP statement. */ ++ ++extern void stop_numeric_f08 (GFC_INTEGER_4) ++ __attribute__ ((noreturn)); ++export_proto(stop_numeric_f08); ++ ++void ++stop_numeric_f08 (GFC_INTEGER_4 code) ++{ ++ /* Unfortunately we can't do much here. */ ++ if (code == -1) ++ code = -1 ^ 256; ++ stop_numeric (code); ++} ++ ++ ++/* Per Fortran 2008, section 8.4: "Execution of a STOP statement initiates ++ normal termination of execution. Execution of an ERROR STOP statement ++ initiates error termination of execution." Thus, error_stop_string returns ++ a nonzero exit status code. */ ++ ++extern void error_stop_string (const char *, GFC_INTEGER_4) ++ __attribute__ ((noreturn)); ++export_proto(error_stop_string); ++ ++void ++error_stop_string (const char *string, GFC_INTEGER_4 len) ++{ ++ (void) string; ++ (void) len; ++ stop_numeric (1); ++} ++ ++ ++/* A numeric ERROR STOP statement. */ ++ ++extern void error_stop_numeric (GFC_INTEGER_4) ++ __attribute__ ((noreturn)); ++export_proto(error_stop_numeric); ++ ++void ++error_stop_numeric (GFC_INTEGER_4 code) ++{ ++ stop_numeric (code); ++} ++ ++__attribute__((visibility ("hidden"))) void ++stop_string (const char *string, GFC_INTEGER_4 len) ++{ ++ if (string) ++ { ++ (void) write (STDERR_FILENO, "STOP ", 5); ++ (void) write (STDERR_FILENO, string, len); ++ (void) write (STDERR_FILENO, "\n", 1); ++ } ++ exit (0); ++} +--- libgfortran/runtime/nonshared-fpu.c.jj 2016-07-13 11:17:15.877053767 +0200 ++++ libgfortran/runtime/nonshared-fpu.c 2016-07-13 11:17:15.877053767 +0200 +@@ -0,0 +1,29 @@ ++/* Set FPU mask. ++ Copyright (C) 2005-2016 Free Software Foundation, Inc. ++ Contributed by Francois-Xavier Coudert ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++ ++#include "fpu-target.h" +--- libgfortran/runtime/nonshared-backtrace.c.jj 2016-07-13 11:17:15.878053755 +0200 ++++ libgfortran/runtime/nonshared-backtrace.c 2016-07-13 11:41:34.623604801 +0200 +@@ -0,0 +1,327 @@ ++/* Copyright (C) 2006-2016 Free Software Foundation, Inc. ++ Contributed by François-Xavier Coudert ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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. ++ ++Libgfortran 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 ++. */ ++ ++#include "libgfortran.h" ++ ++#include ++#include ++ ++#ifdef HAVE_UNISTD_H ++#include ++#endif ++ ++#ifdef HAVE_SYS_WAIT_H ++#include ++#endif ++ ++#include ++ ++#include "unwind.h" ++ ++ ++/* Macros for common sets of capabilities: can we fork and exec, and ++ can we use pipes to communicate with the subprocess. */ ++#define CAN_FORK (defined(HAVE_FORK) && defined(HAVE_EXECVE) \ ++ && defined(HAVE_WAIT)) ++#define CAN_PIPE (CAN_FORK && defined(HAVE_PIPE) \ ++ && defined(HAVE_DUP2) && defined(HAVE_CLOSE)) ++ ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif ++ ++#define estr_write(str) write (STDERR_FILENO, str, strlen (str)) ++ ++ ++/* GDB style #NUM index for each stack frame. */ ++ ++static void ++bt_header (int num) ++{ ++ char buf[32]; ++ snprintf (buf, sizeof buf, "#%d ", num); ++ estr_write (buf); ++} ++ ++ ++/* fgets()-like function that reads a line from a fd, without ++ needing to malloc() a buffer, and does not use locks, hence should ++ be async-signal-safe. */ ++ ++static char * ++fd_gets (char *s, int size, int fd) ++{ ++ for (int i = 0; i < size; i++) ++ { ++ char c; ++ ssize_t nread = read (fd, &c, 1); ++ if (nread == 1) ++ { ++ s[i] = c; ++ if (c == '\n') ++ { ++ if (i + 1 < size) ++ s[i+1] = '\0'; ++ else ++ s[i] = '\0'; ++ break; ++ } ++ } ++ else ++ { ++ s[i] = '\0'; ++ if (i == 0) ++ return NULL; ++ break; ++ } ++ } ++ return s; ++} ++ ++ ++/* Struct containing backtrace state. */ ++typedef struct ++{ ++ int frame_number; ++ int direct_output; ++ int outfd; ++ int infd; ++ int error; ++} ++bt_state; ++ ++static inline const char * ++nonshared_gfc_xtoa (GFC_UINTEGER_LARGEST n, char *buffer, ++ size_t len __attribute__((unused))) ++{ ++ int digit; ++ char *p; ++ ++ if (n == 0) ++ return "0"; ++ ++ p = buffer + GFC_XTOA_BUF_SIZE - 1; ++ *p = '\0'; ++ ++ while (n != 0) ++ { ++ digit = n & 0xF; ++ if (digit > 9) ++ digit += 'A' - '0' - 10; ++ ++ *--p = '0' + digit; ++ n >>= 4; ++ } ++ ++ return p; ++} ++#define gfc_xtoa nonshared_gfc_xtoa ++ ++static _Unwind_Reason_Code ++trace_function (struct _Unwind_Context *context, void *state_ptr) ++{ ++ bt_state* state = (bt_state*) state_ptr; ++ _Unwind_Ptr ip; ++#ifdef HAVE_GETIPINFO ++ int ip_before_insn = 0; ++ ip = _Unwind_GetIPInfo (context, &ip_before_insn); ++ ++ /* If the unwinder gave us a 'return' address, roll it back a little ++ to ensure we get the correct line number for the call itself. */ ++ if (! ip_before_insn) ++ --ip; ++#else ++ ip = _Unwind_GetIP (context); ++#endif ++ ++ if (state->direct_output) ++ { ++ char buf[32]; ++ bt_header(state->frame_number); ++ snprintf (buf, sizeof buf, "%p\n", (void*) ip); ++ estr_write (buf); ++ } ++ else ++ { ++ char addr_buf[GFC_XTOA_BUF_SIZE], func[1024], file[PATH_MAX]; ++ char *p; ++ const char* addr = gfc_xtoa (ip, addr_buf, sizeof (addr_buf)); ++ write (state->outfd, addr, strlen (addr)); ++ write (state->outfd, "\n", 1); ++ ++ if (! fd_gets (func, sizeof(func), state->infd)) ++ { ++ state->error = 1; ++ goto done; ++ } ++ if (! fd_gets (file, sizeof(file), state->infd)) ++ { ++ state->error = 1; ++ goto done; ++ } ++ ++ for (p = func; *p != '\n' && *p != '\r'; p++) ++ ; ++ *p = '\0'; ++ ++ /* _start is a setup routine that calls main(), and main() is ++ the frontend routine that calls some setup stuff and then ++ calls MAIN__, so at this point we should stop. */ ++ if (strcmp (func, "_start") == 0 || strcmp (func, "main") == 0) ++ return _URC_END_OF_STACK; ++ ++ bt_header (state->frame_number); ++ estr_write ("0x"); ++ estr_write (addr); ++ ++ if (func[0] != '?' && func[1] != '?') ++ { ++ estr_write (" in "); ++ estr_write (func); ++ } ++ ++ if (strncmp (file, "??", 2) == 0) ++ estr_write ("\n"); ++ else ++ { ++ estr_write (" at "); ++ estr_write (file); ++ } ++ } ++ ++ done: ++ ++ state->frame_number++; ++ ++ return _URC_NO_REASON; ++} ++ ++extern void backtrace (void); ++export_proto (backtrace); ++ ++/* Display the backtrace. */ ++ ++void ++backtrace (void) ++{ ++ bt_state state; ++ state.frame_number = 0; ++ state.error = 0; ++ ++#if CAN_PIPE ++ ++#ifndef PATH_MAX ++#define PATH_MAX 1024 ++#endif ++ ++#ifndef DIR_SEPARATOR ++#define DIR_SEPARATOR '/' ++#endif ++ ++ char exe_path[PATH_MAX]; ++ ++ /* Reading the /proc/self/exe symlink is Linux-specific(?), but if ++ it works it gives the correct answer. */ ++#ifdef HAVE_READLINK ++ int len; ++ if ((len = readlink ("/proc/self/exe", exe_path, sizeof (exe_path) - 1)) != -1) ++ exe_path[len] = '\0'; ++ else ++#endif ++ goto fallback_noerr; ++ ++ /* We attempt to extract file and line information from addr2line. */ ++ do ++ { ++ /* Local variables. */ ++ int f[2], pid, inp[2]; ++ ++ /* Don't output an error message if something goes wrong, we'll simply ++ fall back to printing the addresses. */ ++ if (pipe (f) != 0) ++ break; ++ if (pipe (inp) != 0) ++ break; ++ if ((pid = fork ()) == -1) ++ break; ++ ++ if (pid == 0) ++ { ++ /* Child process. */ ++#define NUM_FIXEDARGS 7 ++ char *arg[NUM_FIXEDARGS]; ++ ++ close (f[0]); ++ ++ close (inp[1]); ++ if (dup2 (inp[0], STDIN_FILENO) == -1) ++ _exit (1); ++ close (inp[0]); ++ ++ close (STDERR_FILENO); ++ ++ if (dup2 (f[1], STDOUT_FILENO) == -1) ++ _exit (1); ++ close (f[1]); ++ ++ arg[0] = (char *) "addr2line"; ++ arg[1] = (char *) "-e"; ++ arg[2] = exe_path; ++ arg[3] = (char *) "-f"; ++ arg[4] = (char *) "-s"; ++ arg[5] = (char *) "-C"; ++ arg[6] = NULL; ++ execvp ("addr2line", arg); ++ _exit (1); ++#undef NUM_FIXEDARGS ++ } ++ ++ /* Father process. */ ++ close (f[1]); ++ close (inp[0]); ++ ++ state.outfd = inp[1]; ++ state.infd = f[0]; ++ state.direct_output = 0; ++ _Unwind_Backtrace (trace_function, &state); ++ if (state.error) ++ goto fallback; ++ close (inp[1]); ++ close (f[0]); ++ wait (NULL); ++ return; ++ ++fallback: ++ estr_write ("** Something went wrong while running addr2line. **\n" ++ "** Falling back to a simpler backtrace scheme. **\n"); ++ } ++ while (0); ++ ++fallback_noerr: ++#endif /* CAN_PIPE */ ++ ++ /* Fallback to the simple backtrace without addr2line. */ ++ state.direct_output = 1; ++ _Unwind_Backtrace (trace_function, &state); ++} +--- libgfortran/intrinsics/nonshared-random.c.jj 2016-07-13 11:17:15.878053755 +0200 ++++ libgfortran/intrinsics/nonshared-random.c 2016-07-13 11:17:15.878053755 +0200 +@@ -0,0 +1,142 @@ ++/* Implementation of the RANDOM intrinsics ++ Copyright 2002-2016 Free Software Foundation, Inc. ++ Contributed by Lars Segerlund ++ and Steve Kargl. ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Ligbfortran 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 ++. */ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++#include ++#include ++ ++#if defined HAVE_GFC_REAL_10 && defined HAVE_GFC_REAL_16 \ ++ && GFC_REAL_10_RADIX == 2 && GFC_REAL_10_DIGITS == 64 ++extern void random_r10 (GFC_REAL_10 *); ++iexport_proto(random_r10); ++ ++extern void random_r16 (GFC_REAL_16 *); ++iexport_proto(random_r16); ++ ++extern void arandom_r16 (gfc_array_r16 *); ++export_proto(arandom_r16); ++ ++/* For REAL(KIND=16), we only need to mask off the lower bits. */ ++ ++static inline void ++rnumber_16 (GFC_REAL_16 *f, GFC_UINTEGER_8 v1, GFC_UINTEGER_8 v2) ++{ ++ GFC_UINTEGER_8 mask; ++#if GFC_REAL_16_RADIX == 2 ++ mask = ~ (GFC_UINTEGER_8) 0u << (128 - GFC_REAL_16_DIGITS); ++#elif GFC_REAL_16_RADIX == 16 ++ mask = ~ (GFC_UINTEGER_8) 0u << ((32 - GFC_REAL_16_DIGITS) * 4); ++#else ++#error "GFC_REAL_16_RADIX has unknown value" ++#endif ++ v2 = v2 & mask; ++ *f = (GFC_REAL_16) v1 * GFC_REAL_16_LITERAL(0x1.p-64) ++ + (GFC_REAL_16) v2 * GFC_REAL_16_LITERAL(0x1.p-128); ++} ++ ++/* This function produces a REAL(16) value from the uniform distribution ++ with range [0,1). */ ++ ++void ++random_r16 (GFC_REAL_16 *x) ++{ ++ GFC_UINTEGER_8 kiss1, kiss2; ++ GFC_REAL_10 num1, num2; ++ ++ random_r10 (&num1); ++ random_r10 (&num2); ++ num1 *= GFC_REAL_10_LITERAL(0x1.p64); ++ num2 *= GFC_REAL_10_LITERAL(0x1.p64); ++ kiss1 = num1; ++ kiss2 = num2; ++ ++ rnumber_16 (x, kiss1, kiss2); ++} ++iexport(random_r16); ++ ++/* This function fills a REAL(16) array with values from the uniform ++ distribution with range [0,1). */ ++ ++void ++arandom_r16 (gfc_array_r16 *x) ++{ ++ index_type count[GFC_MAX_DIMENSIONS]; ++ index_type extent[GFC_MAX_DIMENSIONS]; ++ index_type stride[GFC_MAX_DIMENSIONS]; ++ index_type stride0; ++ index_type dim; ++ GFC_REAL_16 *dest; ++ int n; ++ ++ dest = x->base_addr; ++ ++ dim = GFC_DESCRIPTOR_RANK (x); ++ ++ for (n = 0; n < dim; n++) ++ { ++ count[n] = 0; ++ stride[n] = GFC_DESCRIPTOR_STRIDE(x,n); ++ extent[n] = GFC_DESCRIPTOR_EXTENT(x,n); ++ if (extent[n] <= 0) ++ return; ++ } ++ ++ stride0 = stride[0]; ++ ++ while (dest) ++ { ++ random_r16 (dest); ++ ++ /* Advance to the next element. */ ++ dest += stride0; ++ count[0]++; ++ /* Advance to the next source element. */ ++ n = 0; ++ while (count[n] == extent[n]) ++ { ++ /* When we get to the end of a dimension, reset it and increment ++ the next dimension. */ ++ count[n] = 0; ++ /* We could precalculate these products, but this is a less ++ frequently used path so probably not worth it. */ ++ dest -= stride[n] * extent[n]; ++ n++; ++ if (n == dim) ++ { ++ dest = NULL; ++ break; ++ } ++ else ++ { ++ count[n]++; ++ dest += stride[n]; ++ } ++ } ++ } ++} ++ ++#endif +--- libgfortran/intrinsics/nonshared-selected_real_kind.F90.jj 2016-07-13 11:17:15.878053755 +0200 ++++ libgfortran/intrinsics/nonshared-selected_real_kind.F90 2016-07-13 11:17:15.878053755 +0200 +@@ -0,0 +1,79 @@ ++! Copyright 2003-2016 Free Software Foundation, Inc. ++! Contributed by Kejia Zhao ++! ++!This file is part of the GNU Fortran runtime library (libgfortran). ++! ++!Libgfortran 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 of the License, or (at your option) any later version. ++! ++!Libgfortran 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 ++!. ++ ++function _gfortran_selected_real_kind2008 (p, r, rdx) ++ implicit none ++ integer, optional, intent (in) :: p, r, rdx ++ integer :: _gfortran_selected_real_kind2008 ++ integer :: i, p2, r2, radix2 ++ logical :: found_p, found_r, found_radix ++ ! Real kind_precision_range table ++ type :: real_info ++ integer :: kind ++ integer :: precision ++ integer :: range ++ integer :: radix ++ end type real_info ++ ++ include "selected_real_kind.inc" ++ ++ _gfortran_selected_real_kind2008 = 0 ++ p2 = 0 ++ r2 = 0 ++ radix2 = 0 ++ found_p = .false. ++ found_r = .false. ++ found_radix = .false. ++ ++ if (present (p)) p2 = p ++ if (present (r)) r2 = r ++ if (present (rdx)) radix2 = rdx ++ ++ ! Assumes each type has a greater precision and range than previous one. ++ ++ do i = 1, c ++ if (p2 <= real_infos (i) % precision) found_p = .true. ++ if (r2 <= real_infos (i) % range) found_r = .true. ++ if (radix2 <= real_infos (i) % radix) found_radix = .true. ++ ++ if (p2 <= real_infos (i) % precision & ++ .and. r2 <= real_infos (i) % range & ++ .and. radix2 <= real_infos (i) % radix) then ++ _gfortran_selected_real_kind2008 = real_infos (i) % kind ++ return ++ end if ++ end do ++ ++ if (found_radix .and. found_r .and. .not. found_p) then ++ _gfortran_selected_real_kind2008 = -1 ++ elseif (found_radix .and. found_p .and. .not. found_r) then ++ _gfortran_selected_real_kind2008 = -2 ++ elseif (found_radix .and. .not. found_p .and. .not. found_r) then ++ _gfortran_selected_real_kind2008 = -3 ++ elseif (found_radix) then ++ _gfortran_selected_real_kind2008 = -4 ++ else ++ _gfortran_selected_real_kind2008 = -5 ++ end if ++end function _gfortran_selected_real_kind2008 +--- libgfortran/intrinsics/nonshared-mvbits.c.jj 2016-07-13 12:17:36.807227177 +0200 ++++ libgfortran/intrinsics/nonshared-mvbits.c 2016-07-13 12:18:26.677594781 +0200 +@@ -0,0 +1,38 @@ ++/* Implementation of the MVBITS intrinsic ++ Copyright (C) 2004-2016 Free Software Foundation, Inc. ++ Contributed by Tobias Schlüter ++ ++This file is part of the GNU Fortran 95 runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++/* TODO: This should be replaced by a compiler builtin. */ ++ ++#include ++ ++#if defined (HAVE_GFC_INTEGER_16) ++# define TYPE GFC_INTEGER_16 ++# define UTYPE GFC_UINTEGER_16 ++# define SUB_NAME mvbits_i16 ++# include "mvbits.c" ++# undef SUB_NAME ++# undef TYPE ++# undef UTYPE ++#endif +--- libgfortran/intrinsics/nonshared-cpu_time.c.jj 2016-07-13 11:17:15.878053755 +0200 ++++ libgfortran/intrinsics/nonshared-cpu_time.c 2016-07-13 11:17:15.878053755 +0200 +@@ -0,0 +1,43 @@ ++/* Implementation of the CPU_TIME intrinsic. ++ Copyright (C) 2003-2016 Free Software Foundation, Inc. ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++#include "time_1.h" ++ ++ ++#if defined HAVE_GFC_REAL_10 && defined HAVE_GFC_REAL_16 ++extern void cpu_time_10 (GFC_REAL_10 *); ++export_proto(cpu_time_10); ++ ++extern void cpu_time_16 (GFC_REAL_16 *); ++export_proto(cpu_time_16); ++ ++void cpu_time_16 (GFC_REAL_16 *time) ++{ ++ GFC_REAL_10 t; ++ cpu_time_10 (&t); ++ *time = t; ++} ++#endif +--- libgfortran/intrinsics/nonshared-erfc_scaled.c.jj 2016-07-13 11:17:15.879053742 +0200 ++++ libgfortran/intrinsics/nonshared-erfc_scaled.c 2016-07-13 11:17:15.879053742 +0200 +@@ -0,0 +1,109 @@ ++/* Implementation of the ERFC_SCALED intrinsic. ++ Copyright (C) 2008-2016 Free Software Foundation, Inc. ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++ ++/* This implementation of ERFC_SCALED is based on the netlib algorithm ++ available at http://www.netlib.org/specfun/erf */ ++ ++#ifdef HAVE_GFC_REAL_16 ++ ++/* For quadruple-precision, netlib's implementation is ++ not accurate enough. We provide another one. */ ++ ++#ifdef GFC_REAL_16_IS_FLOAT128 ++ ++# define _THRESH -106.566990228185312813205074546585730Q ++# define _M_2_SQRTPI M_2_SQRTPIq ++# define _INF __builtin_infq() ++# define _ERFC(x) erfcq(x) ++# define _EXP(x) expq(x) ++ ++#else ++ ++# define _THRESH -106.566990228185312813205074546585730L ++# ifndef M_2_SQRTPIl ++# define M_2_SQRTPIl 1.128379167095512573896158903121545172L ++# endif ++# define _M_2_SQRTPI M_2_SQRTPIl ++# define _INF __builtin_infl() ++# ifdef HAVE_ERFCL ++# define _ERFC(x) erfcl(x) ++# endif ++# ifdef HAVE_EXPL ++# define _EXP(x) expl(x) ++# endif ++ ++#endif ++ ++#if defined(_ERFC) && defined(_EXP) ++ ++extern GFC_REAL_16 erfc_scaled_r16 (GFC_REAL_16); ++export_proto(erfc_scaled_r16); ++ ++GFC_REAL_16 ++erfc_scaled_r16 (GFC_REAL_16 x) ++{ ++ if (x < _THRESH) ++ { ++ return _INF; ++ } ++ if (x < 12) ++ { ++ /* Compute directly as ERFC_SCALED(x) = ERFC(x) * EXP(X**2). ++ This is not perfect, but much better than netlib. */ ++ return _ERFC(x) * _EXP(x * x); ++ } ++ else ++ { ++ /* Calculate ERFC_SCALED(x) using a power series in 1/x: ++ ERFC_SCALED(x) = 1 / (x * sqrt(pi)) ++ * (1 + Sum_n (-1)**n * (1 * 3 * 5 * ... * (2n-1)) ++ / (2 * x**2)**n) ++ */ ++ GFC_REAL_16 sum = 0, oldsum; ++ GFC_REAL_16 inv2x2 = 1 / (2 * x * x); ++ GFC_REAL_16 fac = 1; ++ int n = 1; ++ ++ while (n < 200) ++ { ++ fac *= - (2*n - 1) * inv2x2; ++ oldsum = sum; ++ sum += fac; ++ ++ if (sum == oldsum) ++ break; ++ ++ n++; ++ } ++ ++ return (1 + sum) / x * (_M_2_SQRTPI / 2); ++ } ++} ++ ++#endif ++ ++#endif +--- libgfortran/intrinsics/nonshared-shift.c.jj 2016-07-13 11:17:15.879053742 +0200 ++++ libgfortran/intrinsics/nonshared-shift.c 2016-07-13 11:17:15.879053742 +0200 +@@ -0,0 +1,118 @@ ++/* Generic implementation of the CSHIFT intrinsic ++ Copyright 2003-2016 Free Software Foundation, Inc. ++ Contributed by Feng Wang ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++ ++#ifdef HAVE_GFC_INTEGER_16 ++extern void cshift0_8_char4 (gfc_array_char *, GFC_INTEGER_4, ++ const gfc_array_char *, ++ const GFC_INTEGER_8 *, ++ const GFC_INTEGER_8 *, GFC_INTEGER_4); ++export_proto(cshift0_8_char4); ++ ++extern void cshift0_16_char4 (gfc_array_char *, GFC_INTEGER_4, ++ const gfc_array_char *, ++ const GFC_INTEGER_16 *, ++ const GFC_INTEGER_16 *, GFC_INTEGER_4); ++export_proto(cshift0_16_char4); ++ ++void ++cshift0_16_char4 (gfc_array_char *ret, ++ GFC_INTEGER_4 ret_length, ++ const gfc_array_char *array, ++ const GFC_INTEGER_16 *pshift, ++ const GFC_INTEGER_16 *pdim, ++ GFC_INTEGER_4 array_length) ++{ ++ GFC_INTEGER_8 shift = *pshift; ++ GFC_INTEGER_8 dim = pdim ? *pdim : 1; ++ ++ cshift0_8_char4 (ret, ret_length, array, &shift, pdim ? &dim : NULL, ++ array_length); ++} ++ ++extern void eoshift0_8_char4 (gfc_array_char *, GFC_INTEGER_4, ++ const gfc_array_char *, ++ const GFC_INTEGER_8 *, ++ const char *, const GFC_INTEGER_8 *, ++ GFC_INTEGER_4, GFC_INTEGER_4); ++export_proto(eoshift0_8_char4); ++ ++extern void eoshift0_16_char4 (gfc_array_char *, GFC_INTEGER_4, ++ const gfc_array_char *, ++ const GFC_INTEGER_16 *, ++ const char *, const GFC_INTEGER_16 *, ++ GFC_INTEGER_4, GFC_INTEGER_4); ++export_proto(eoshift0_16_char4); ++ ++void ++eoshift0_16_char4 (gfc_array_char *ret, ++ GFC_INTEGER_4 ret_length, ++ const gfc_array_char *array, ++ const GFC_INTEGER_16 *pshift, ++ const char *pbound, ++ const GFC_INTEGER_16 *pdim, ++ GFC_INTEGER_4 array_length, ++ GFC_INTEGER_4 bound_length) ++{ ++ GFC_INTEGER_8 shift = *pshift; ++ GFC_INTEGER_8 dim = pdim ? *pdim : 1; ++ ++ eoshift0_8_char4 (ret, ret_length, array, &shift, pbound, ++ pdim ? &dim : NULL, array_length, bound_length); ++} ++ ++extern void eoshift2_8_char4 (gfc_array_char *, GFC_INTEGER_4, ++ const gfc_array_char *, ++ const GFC_INTEGER_8 *, ++ const gfc_array_char *, const GFC_INTEGER_8 *, ++ GFC_INTEGER_4, GFC_INTEGER_4); ++export_proto(eoshift2_8_char4); ++ ++extern void eoshift2_16_char4 (gfc_array_char *, GFC_INTEGER_4, ++ const gfc_array_char *, ++ const GFC_INTEGER_16 *, ++ const gfc_array_char *, const GFC_INTEGER_16 *, ++ GFC_INTEGER_4, GFC_INTEGER_4); ++export_proto(eoshift2_16_char4); ++ ++void ++eoshift2_16_char4 (gfc_array_char *ret, ++ GFC_INTEGER_4 ret_length, ++ const gfc_array_char *array, ++ const GFC_INTEGER_16 *pshift, ++ const gfc_array_char *pbound, ++ const GFC_INTEGER_16 *pdim, ++ GFC_INTEGER_4 array_length, ++ GFC_INTEGER_4 bound_length) ++{ ++ GFC_INTEGER_8 shift = *pshift; ++ GFC_INTEGER_8 dim = pdim ? *pdim : 1; ++ ++ eoshift2_8_char4 (ret, ret_length, array, &shift, pbound, ++ pdim ? &dim : NULL, array_length, bound_length); ++} ++#endif +--- libgfortran/intrinsics/nonshared-execute_command_line.c.jj 2016-07-13 11:17:15.879053742 +0200 ++++ libgfortran/intrinsics/nonshared-execute_command_line.c 2016-07-13 11:17:15.879053742 +0200 +@@ -0,0 +1,192 @@ ++/* Implementation of the EXECUTE_COMMAND_LINE intrinsic. ++ Copyright (C) 2009-2016 Free Software Foundation, Inc. ++ Contributed by François-Xavier Coudert. ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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. ++ ++Libgfortran 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 ++. */ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++#include ++#include ++ ++#ifdef HAVE_STDLIB_H ++#include ++#endif ++#ifdef HAVE_UNISTD_H ++#include ++#endif ++#ifdef HAVE_SYS_WAIT_H ++#include ++#endif ++ ++extern void flush_i4 (GFC_INTEGER_4 *); ++export_proto(flush_i4); ++ ++enum { EXEC_NOERROR = 0, EXEC_SYSTEMFAILED }; ++static const char *cmdmsg_values[] = ++ { "", "Execution of child process impossible" }; ++ ++ ++ ++static void ++set_cmdstat (int *cmdstat, int value) ++{ ++ if (cmdstat) ++ *cmdstat = value; ++ else if (value != 0) ++ runtime_error ("Could not execute command line"); ++} ++ ++ ++static void ++execute_command_line (const char *command, bool wait, int *exitstat, ++ int *cmdstat, char *cmdmsg, ++ gfc_charlen_type command_len, ++ gfc_charlen_type cmdmsg_len) ++{ ++ /* Transform the Fortran string to a C string. */ ++ char *cmd = malloc (command_len + 1); ++ if (!cmd) ++ os_error ("Memory allocation failed in fc_strdup"); ++ memcpy (cmd, command, command_len); ++ cmd[command_len] = '\0'; ++ ++ /* Flush all I/O units before executing the command. */ ++ flush_i4(NULL); ++ ++#if defined(HAVE_FORK) ++ if (!wait) ++ { ++ /* Asynchronous execution. */ ++ pid_t pid; ++ ++ set_cmdstat (cmdstat, 0); ++ ++ if ((pid = fork()) < 0) ++ set_cmdstat (cmdstat, EXEC_SYSTEMFAILED); ++ else if (pid == 0) ++ { ++ /* Child process. */ ++ int res = system (cmd); ++ _exit (WIFEXITED(res) ? WEXITSTATUS(res) : res); ++ } ++ } ++ else ++#endif ++ { ++ /* Synchronous execution. */ ++ int res = system (cmd); ++ ++ if (!wait) ++ set_cmdstat (cmdstat, -2); ++ else if (res == -1) ++ set_cmdstat (cmdstat, EXEC_SYSTEMFAILED); ++ else ++ { ++ set_cmdstat (cmdstat, 0); ++#if defined(WEXITSTATUS) && defined(WIFEXITED) ++ *exitstat = WIFEXITED(res) ? WEXITSTATUS(res) : res; ++#else ++ *exitstat = res; ++#endif ++ } ++ } ++ ++ free (cmd); ++ ++ /* Now copy back to the Fortran string if needed. */ ++ if (cmdstat && *cmdstat > 0) ++ { ++ if (cmdmsg) ++ { ++ size_t srclen = strlen (cmdmsg_values[*cmdstat]); ++ if (srclen >= (size_t) cmdmsg_len) ++ memcpy (cmdmsg, cmdmsg_values[*cmdstat], cmdmsg_len); ++ else ++ { ++ memcpy (cmdmsg, cmdmsg_values[*cmdstat], srclen); ++ memset (cmdmsg + srclen, ' ', cmdmsg_len - srclen); ++ } ++ } ++ else ++ runtime_error ("Failure in EXECUTE_COMMAND_LINE: %s", ++ cmdmsg_values[*cmdstat]); ++ } ++} ++ ++ ++extern void ++execute_command_line_i4 (const char *command, GFC_LOGICAL_4 *wait, ++ GFC_INTEGER_4 *exitstat, GFC_INTEGER_4 *cmdstat, ++ char *cmdmsg, gfc_charlen_type command_len, ++ gfc_charlen_type cmdmsg_len); ++export_proto(execute_command_line_i4); ++ ++void ++execute_command_line_i4 (const char *command, GFC_LOGICAL_4 *wait, ++ GFC_INTEGER_4 *exitstat, GFC_INTEGER_4 *cmdstat, ++ char *cmdmsg, gfc_charlen_type command_len, ++ gfc_charlen_type cmdmsg_len) ++{ ++ bool w = wait ? *wait : true; ++ int estat, estat_initial, cstat; ++ ++ if (exitstat) ++ estat_initial = estat = *exitstat; ++ ++ execute_command_line (command, w, &estat, cmdstat ? &cstat : NULL, ++ cmdmsg, command_len, cmdmsg_len); ++ ++ if (exitstat && estat != estat_initial) ++ *exitstat = estat; ++ if (cmdstat) ++ *cmdstat = cstat; ++} ++ ++ ++extern void ++execute_command_line_i8 (const char *command, GFC_LOGICAL_8 *wait, ++ GFC_INTEGER_8 *exitstat, GFC_INTEGER_8 *cmdstat, ++ char *cmdmsg, gfc_charlen_type command_len, ++ gfc_charlen_type cmdmsg_len); ++export_proto(execute_command_line_i8); ++ ++void ++execute_command_line_i8 (const char *command, GFC_LOGICAL_8 *wait, ++ GFC_INTEGER_8 *exitstat, GFC_INTEGER_8 *cmdstat, ++ char *cmdmsg, gfc_charlen_type command_len, ++ gfc_charlen_type cmdmsg_len) ++{ ++ bool w = wait ? *wait : true; ++ int estat, estat_initial, cstat; ++ ++ if (exitstat) ++ estat_initial = estat = *exitstat; ++ ++ execute_command_line (command, w, &estat, cmdstat ? &cstat : NULL, ++ cmdmsg, command_len, cmdmsg_len); ++ ++ if (exitstat && estat != estat_initial) ++ *exitstat = estat; ++ if (cmdstat) ++ *cmdstat = cstat; ++} +--- libgfortran/intrinsics/nonshared-iso_c_generated_procs.c.jj 2016-07-13 11:17:15.880053729 +0200 ++++ libgfortran/intrinsics/nonshared-iso_c_generated_procs.c 2016-07-13 11:17:15.880053729 +0200 +@@ -0,0 +1,77 @@ ++/* Implementation of the ISO_C_BINDING library helper generated functions. ++ Copyright (C) 2007-2016 Free Software Foundation, Inc. ++ Contributed by Christopher Rickett. ++ ++This file is part of the GNU Fortran 95 runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "libgfortran.h" ++#include "iso_c_binding.h" ++ ++ ++#ifdef HAVE_GFC_REAL_16 ++void ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void *, gfc_array_void *, ++ const array_t *); ++#endif ++ ++#ifdef HAVE_GFC_COMPLEX_16 ++void ISO_C_BINDING_PREFIX (c_f_pointer_c16) (void *, gfc_array_void *, ++ const array_t *); ++#endif ++ ++#ifdef HAVE_GFC_REAL_16 ++/* Set the given Fortran pointer, f_ptr_out, to point to the given C ++ address, c_ptr_in. The Fortran pointer is of type real and ++ kind=16. The function c_f_pointer is used to set up the pointer ++ descriptor. */ ++ ++void ++ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void *c_ptr_in, ++ gfc_array_void *f_ptr_out, ++ const array_t *shape) ++{ ++ /* Here we have an real(kind=16). */ ++ ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape, ++ (int) BT_REAL, ++ (int) sizeof (GFC_REAL_16)); ++} ++#endif ++ ++ ++#ifdef HAVE_GFC_COMPLEX_16 ++/* Set the given Fortran pointer, f_ptr_out, to point to the given C ++ address, c_ptr_in. The Fortran pointer is of type complex and ++ kind=16. The function c_f_pointer is used to set up the pointer ++ descriptor. */ ++ ++void ++ISO_C_BINDING_PREFIX (c_f_pointer_c16) (void *c_ptr_in, ++ gfc_array_void *f_ptr_out, ++ const array_t *shape) ++{ ++ /* Here we have an complex(kind=16). */ ++ ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape, ++ (int) BT_COMPLEX, ++ (int) sizeof (GFC_COMPLEX_16)); ++} ++#endif +--- libgfortran/Makefile.am.jj 2016-04-15 16:55:24.134218293 +0200 ++++ libgfortran/Makefile.am 2016-07-13 12:34:50.815109274 +0200 +@@ -34,6 +34,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi + $(lt_host_flags) + + toolexeclib_LTLIBRARIES = libgfortran.la ++noinst_LTLIBRARIES = libgfortran_nonshared44.la libgfortran_nonshared48.la + toolexeclib_DATA = libgfortran.spec + libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) + libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ +@@ -911,6 +912,242 @@ libgfortran_la_SOURCES = $(prereq_SRC) + + endif + ++if LIBGFOR_BUILD_QUAD ++nonshared_generated_quad_F90_SRC = \ ++nonshared-_abs_c16.F90 \ ++nonshared-_abs_r16.F90 \ ++nonshared-_acosh_r16.F90 \ ++nonshared-_acos_r16.F90 \ ++nonshared-_aimag_c16.F90 \ ++nonshared-_aint_r16.F90 \ ++nonshared-_anint_r16.F90 \ ++nonshared-_asinh_r16.F90 \ ++nonshared-_asin_r16.F90 \ ++nonshared-_atan2_r16.F90 \ ++nonshared-_atanh_r16.F90 \ ++nonshared-_atan_r16.F90 \ ++nonshared-_conjg_c16.F90 \ ++nonshared-_cos_c16.F90 \ ++nonshared-_cosh_r16.F90 \ ++nonshared-_cos_r16.F90 \ ++nonshared-_dim_r16.F90 \ ++nonshared-_exp_c16.F90 \ ++nonshared-_exp_r16.F90 \ ++nonshared-_log10_r16.F90 \ ++nonshared-_log_c16.F90 \ ++nonshared-_log_r16.F90 \ ++nonshared-_mod_r16.F90 \ ++nonshared-_sign_r16.F90 \ ++nonshared-_sin_c16.F90 \ ++nonshared-_sinh_r16.F90 \ ++nonshared-_sin_r16.F90 \ ++nonshared-_sqrt_c16.F90 \ ++nonshared-_sqrt_r16.F90 \ ++nonshared-_tanh_r16.F90 \ ++nonshared-_tan_r16.F90 ++nonshared_generated_quad_C_SRC = \ ++nonshared-exponent_r16.c \ ++nonshared-fraction_r16.c \ ++nonshared-matmul_c16.c \ ++nonshared-matmul_r16.c \ ++nonshared-maxloc0_16_r16.c \ ++nonshared-maxloc0_4_r16.c \ ++nonshared-maxloc0_8_r16.c \ ++nonshared-maxloc1_16_r16.c \ ++nonshared-maxloc1_4_r16.c \ ++nonshared-maxloc1_8_r16.c \ ++nonshared-maxval_r16.c \ ++nonshared-minloc0_16_r16.c \ ++nonshared-minloc0_4_r16.c \ ++nonshared-minloc0_8_r16.c \ ++nonshared-minloc1_16_r16.c \ ++nonshared-minloc1_4_r16.c \ ++nonshared-minloc1_8_r16.c \ ++nonshared-minval_r16.c \ ++nonshared-nearest_r16.c \ ++nonshared-pow_c16_i16.c \ ++nonshared-pow_c16_i4.c \ ++nonshared-pow_c16_i8.c \ ++nonshared-pow_r16_i16.c \ ++nonshared-pow_r16_i4.c \ ++nonshared-pow_r16_i8.c \ ++nonshared-product_c16.c \ ++nonshared-product_r16.c \ ++nonshared-reshape_c16.c \ ++nonshared-reshape_r16.c \ ++nonshared-rrspacing_r16.c \ ++nonshared-set_exponent_r16.c \ ++nonshared-spacing_r16.c \ ++nonshared-sum_c16.c \ ++nonshared-sum_r16.c \ ++nonshared-transpose_c16.c \ ++nonshared-transpose_r16.c ++nonshared_generated_special_quad_F90_SRC = \ ++nonshared-misc_specifics.F90 ++nonshared_quad_SRC = \ ++$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c \ ++$(srcdir)/intrinsics/nonshared-cpu_time.c \ ++$(srcdir)/intrinsics/nonshared-erfc_scaled.c \ ++$(srcdir)/intrinsics/nonshared-random.c ++else ++nonshared_generated_quad_F90_SRC = ++nonshared_generated_quad_C_SRC = ++nonshared_generated_special_quad_F90_SRC = ++nonshared_quad_SRC = ++endif ++ ++nonshared_generated_F90_SRC = \ ++$(nonshared_generated_quad_F90_SRC) ++nonshared_generated_special_F90_SRC = \ ++$(nonshared_generated_special_quad_F90_SRC) ++nonshared_intrinsics_special_F90_SRC = \ ++nonshared-selected_real_kind.F90 ++nonshared_generated_C_SRC = \ ++$(nonshared_generated_quad_C_SRC) \ ++nonshared-bessel_r10.c \ ++nonshared-bessel_r16.c \ ++nonshared-bessel_r4.c \ ++nonshared-bessel_r8.c \ ++nonshared-iall_i1.c \ ++nonshared-iall_i2.c \ ++nonshared-iall_i4.c \ ++nonshared-iall_i8.c \ ++nonshared-iall_i16.c \ ++nonshared-iany_i1.c \ ++nonshared-iany_i2.c \ ++nonshared-iany_i4.c \ ++nonshared-iany_i8.c \ ++nonshared-iany_i16.c \ ++nonshared-iparity_i1.c \ ++nonshared-iparity_i2.c \ ++nonshared-iparity_i4.c \ ++nonshared-iparity_i8.c \ ++nonshared-iparity_i16.c \ ++nonshared-norm2_r10.c \ ++nonshared-norm2_r16.c \ ++nonshared-norm2_r4.c \ ++nonshared-norm2_r8.c \ ++nonshared-parity_l16.c \ ++nonshared-parity_l1.c \ ++nonshared-parity_l2.c \ ++nonshared-parity_l4.c \ ++nonshared-parity_l8.c \ ++nonshared-shape_i1.c \ ++nonshared-shape_i2.c ++ ++nonshared_intrinsics_C_SRC = \ ++nonshared-extends_type_of.c ++ ++nonshared_runtime_C_SRC = \ ++nonshared-bounds.c ++ ++nonshared_ieee_C_SRC = \ ++nonshared-ieee_helper.c ++ ++nonshared_ieee_F90_SRC = \ ++nonshared-ieee_arithmetic.F90 \ ++nonshared-ieee_exceptions.F90 \ ++nonshared-ieee_features.F90 ++ ++$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/generated/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/generated/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.F90,%.lo,$(nonshared_generated_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/generated/%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_generated_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/generated/%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore ++ ++$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/intrinsics/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/intrinsics/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/runtime/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/runtime/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.F90,%.lo,$(nonshared_generated_special_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/generated/nonshared-%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_generated_special_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/generated/nonshared-%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.lo,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/intrinsics/nonshared-%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/intrinsics/nonshared-%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++# Add flags for IEEE modules ++$(patsubst %.F90,%.lo,$(notdir $(nonshared_ieee_F90_SRC))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore ++ ++# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS ++nonshared-ieee_arithmetic.lo: $(srcdir)/ieee/ieee_arithmetic.F90 ieee_arithmetic.lo ieee_exceptions.lo ++nonshared-ieee_exceptions.lo: $(srcdir)/ieee/ieee_exceptions.F90 ieee_exceptions.lo ++nonshared-ieee_features.lo: $(srcdir)/ieee/ieee_features.F90 ieee_features.lo ++ ++$(patsubst %.c,%.lo,$(nonshared_ieee_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/ieee/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_ieee_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/ieee/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.F90,%.lo,$(nonshared_ieee_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/ieee/%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_ieee_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/ieee/%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++libgfortran_nonshared44_la_SOURCES = \ ++$(nonshared_generated_F90_SRC) \ ++$(nonshared_generated_C_SRC) \ ++$(nonshared_intrinsics_C_SRC) \ ++$(nonshared_runtime_C_SRC) \ ++$(nonshared_quad_SRC) \ ++$(nonshared_generated_special_F90_SRC) \ ++$(nonshared_intrinsics_special_F90_SRC) \ ++$(nonshared_ieee_F90_SRC) \ ++$(nonshared_ieee_C_SRC) \ ++$(srcdir)/intrinsics/nonshared-execute_command_line.c \ ++$(srcdir)/intrinsics/nonshared-mvbits.c \ ++$(srcdir)/intrinsics/nonshared-shift.c \ ++$(srcdir)/io/nonshared-transfer.c \ ++$(srcdir)/io/nonshared-ftell2.c \ ++$(srcdir)/runtime/nonshared-backtrace.c \ ++$(srcdir)/runtime/nonshared-stop.c \ ++$(srcdir)/runtime/nonshared-fpu.c ++ ++libgfortran_nonshared48_la_SOURCES = \ ++$(nonshared_ieee_F90_SRC) \ ++$(nonshared_ieee_C_SRC) \ ++$(srcdir)/intrinsics/nonshared-mvbits.c \ ++$(srcdir)/runtime/nonshared-fpu.c \ ++nonshared-shape_i1.c \ ++nonshared-shape_i2.c ++ + I_M4_DEPS=m4/iparm.m4 + I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4 + I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4 +--- libgfortran/Makefile.in.jj 2016-04-15 16:55:23.407228083 +0200 ++++ libgfortran/Makefile.in 2016-07-13 12:34:55.407050970 +0200 +@@ -176,7 +176,8 @@ am__uninstall_files_from_dir = { \ + am__installdirs = "$(DESTDIR)$(cafexeclibdir)" \ + "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" \ + "$(DESTDIR)$(fincludedir)" +-LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(toolexeclib_LTLIBRARIES) ++LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(noinst_LTLIBRARIES) \ ++ $(toolexeclib_LTLIBRARIES) + libcaf_single_la_LIBADD = + am_libcaf_single_la_OBJECTS = single.lo + libcaf_single_la_OBJECTS = $(am_libcaf_single_la_OBJECTS) +@@ -393,6 +394,118 @@ am__objects_54 = $(am__objects_3) $(am__ + @onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_54) + @onestep_TRUE@am_libgfortran_la_OBJECTS = libgfortran_c.lo + libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS) ++libgfortran_nonshared44_la_LIBADD = ++@LIBGFOR_BUILD_QUAD_TRUE@am__objects_55 = nonshared-_abs_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_abs_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_acosh_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_acos_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_aimag_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_aint_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_anint_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_asinh_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_asin_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_atan2_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_atanh_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_atan_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_conjg_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_cos_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_cosh_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_cos_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_dim_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_exp_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_exp_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_log10_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_log_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_log_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_mod_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sign_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sin_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sinh_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sin_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sqrt_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sqrt_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_tanh_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_tan_r16.lo ++am__objects_56 = $(am__objects_55) ++@LIBGFOR_BUILD_QUAD_TRUE@am__objects_57 = nonshared-exponent_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-fraction_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-matmul_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-matmul_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc0_16_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc0_4_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc0_8_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc1_16_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc1_4_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc1_8_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxval_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc0_16_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc0_4_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc0_8_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc1_16_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc1_4_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc1_8_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minval_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-nearest_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_c16_i16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_c16_i4.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_c16_i8.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_r16_i16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_r16_i4.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_r16_i8.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-product_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-product_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-reshape_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-reshape_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-rrspacing_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-set_exponent_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-spacing_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-sum_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-sum_r16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-transpose_c16.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-transpose_r16.lo ++am__objects_58 = $(am__objects_57) nonshared-bessel_r10.lo \ ++ nonshared-bessel_r16.lo nonshared-bessel_r4.lo \ ++ nonshared-bessel_r8.lo nonshared-iall_i1.lo \ ++ nonshared-iall_i2.lo nonshared-iall_i4.lo nonshared-iall_i8.lo \ ++ nonshared-iall_i16.lo nonshared-iany_i1.lo \ ++ nonshared-iany_i2.lo nonshared-iany_i4.lo nonshared-iany_i8.lo \ ++ nonshared-iany_i16.lo nonshared-iparity_i1.lo \ ++ nonshared-iparity_i2.lo nonshared-iparity_i4.lo \ ++ nonshared-iparity_i8.lo nonshared-iparity_i16.lo \ ++ nonshared-norm2_r10.lo nonshared-norm2_r16.lo \ ++ nonshared-norm2_r4.lo nonshared-norm2_r8.lo \ ++ nonshared-parity_l16.lo nonshared-parity_l1.lo \ ++ nonshared-parity_l2.lo nonshared-parity_l4.lo \ ++ nonshared-parity_l8.lo nonshared-shape_i1.lo \ ++ nonshared-shape_i2.lo ++am__objects_59 = nonshared-extends_type_of.lo ++am__objects_60 = nonshared-bounds.lo ++@LIBGFOR_BUILD_QUAD_TRUE@am__objects_61 = \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-iso_c_generated_procs.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-cpu_time.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-erfc_scaled.lo \ ++@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-random.lo ++@LIBGFOR_BUILD_QUAD_TRUE@am__objects_62 = nonshared-misc_specifics.lo ++am__objects_63 = $(am__objects_62) ++am__objects_64 = nonshared-selected_real_kind.lo ++am__objects_65 = nonshared-ieee_arithmetic.lo \ ++ nonshared-ieee_exceptions.lo nonshared-ieee_features.lo ++am__objects_66 = nonshared-ieee_helper.lo ++am_libgfortran_nonshared44_la_OBJECTS = $(am__objects_56) \ ++ $(am__objects_58) $(am__objects_59) $(am__objects_60) \ ++ $(am__objects_61) $(am__objects_63) $(am__objects_64) \ ++ $(am__objects_65) $(am__objects_66) \ ++ nonshared-execute_command_line.lo nonshared-mvbits.lo \ ++ nonshared-shift.lo nonshared-transfer.lo nonshared-ftell2.lo \ ++ nonshared-backtrace.lo nonshared-stop.lo nonshared-fpu.lo ++libgfortran_nonshared44_la_OBJECTS = \ ++ $(am_libgfortran_nonshared44_la_OBJECTS) ++libgfortran_nonshared48_la_LIBADD = ++am_libgfortran_nonshared48_la_OBJECTS = $(am__objects_65) \ ++ $(am__objects_66) nonshared-mvbits.lo nonshared-fpu.lo \ ++ nonshared-shape_i1.lo nonshared-shape_i2.lo ++libgfortran_nonshared48_la_OBJECTS = \ ++ $(am_libgfortran_nonshared48_la_OBJECTS) + DEFAULT_INCLUDES = -I.@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/../depcomp + am__depfiles_maybe = depfiles +@@ -418,7 +531,9 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLF + FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS) + LTFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS) +-SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES) ++SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES) \ ++ $(libgfortran_nonshared44_la_SOURCES) \ ++ $(libgfortran_nonshared48_la_SOURCES) + MULTISRCTOP = + MULTIBUILDTOP = + MULTIDIRS = +@@ -595,6 +710,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi + $(lt_host_flags) + + toolexeclib_LTLIBRARIES = libgfortran.la ++noinst_LTLIBRARIES = libgfortran_nonshared44.la libgfortran_nonshared48.la + toolexeclib_DATA = libgfortran.spec + libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) + libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ +@@ -1302,6 +1418,173 @@ prereq_SRC = $(gfor_src) $(gfor_built_sr + #libgfortran_F.lo: + # $(LTPPFCCOMPILE) -c -o $@ $^ -combine + @onestep_TRUE@libgfortran_la_SOURCES = libgfortran_c.c $(filter-out %.c,$(prereq_SRC)) ++@LIBGFOR_BUILD_QUAD_FALSE@nonshared_generated_quad_F90_SRC = ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared_generated_quad_F90_SRC = \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_abs_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_abs_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_acosh_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_acos_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_aimag_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_aint_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_anint_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_asinh_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_asin_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_atan2_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_atanh_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_atan_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_conjg_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_cos_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_cosh_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_cos_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_dim_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_exp_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_exp_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_log10_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_log_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_log_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_mod_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sign_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sin_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sinh_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sin_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sqrt_c16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sqrt_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_tanh_r16.F90 \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_tan_r16.F90 ++ ++@LIBGFOR_BUILD_QUAD_FALSE@nonshared_generated_quad_C_SRC = ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared_generated_quad_C_SRC = \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-exponent_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-fraction_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-matmul_c16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-matmul_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc0_16_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc0_4_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc0_8_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc1_16_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc1_4_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc1_8_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxval_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc0_16_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc0_4_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc0_8_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc1_16_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc1_4_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc1_8_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minval_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-nearest_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_c16_i16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_c16_i4.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_c16_i8.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_r16_i16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_r16_i4.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_r16_i8.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-product_c16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-product_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-reshape_c16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-reshape_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-rrspacing_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-set_exponent_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-spacing_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-sum_c16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-sum_r16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-transpose_c16.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-transpose_r16.c ++ ++@LIBGFOR_BUILD_QUAD_FALSE@nonshared_generated_special_quad_F90_SRC = ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared_generated_special_quad_F90_SRC = \ ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared-misc_specifics.F90 ++ ++@LIBGFOR_BUILD_QUAD_FALSE@nonshared_quad_SRC = ++@LIBGFOR_BUILD_QUAD_TRUE@nonshared_quad_SRC = \ ++@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-cpu_time.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-erfc_scaled.c \ ++@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-random.c ++ ++nonshared_generated_F90_SRC = \ ++$(nonshared_generated_quad_F90_SRC) ++ ++nonshared_generated_special_F90_SRC = \ ++$(nonshared_generated_special_quad_F90_SRC) ++ ++nonshared_intrinsics_special_F90_SRC = \ ++nonshared-selected_real_kind.F90 ++ ++nonshared_generated_C_SRC = \ ++$(nonshared_generated_quad_C_SRC) \ ++nonshared-bessel_r10.c \ ++nonshared-bessel_r16.c \ ++nonshared-bessel_r4.c \ ++nonshared-bessel_r8.c \ ++nonshared-iall_i1.c \ ++nonshared-iall_i2.c \ ++nonshared-iall_i4.c \ ++nonshared-iall_i8.c \ ++nonshared-iall_i16.c \ ++nonshared-iany_i1.c \ ++nonshared-iany_i2.c \ ++nonshared-iany_i4.c \ ++nonshared-iany_i8.c \ ++nonshared-iany_i16.c \ ++nonshared-iparity_i1.c \ ++nonshared-iparity_i2.c \ ++nonshared-iparity_i4.c \ ++nonshared-iparity_i8.c \ ++nonshared-iparity_i16.c \ ++nonshared-norm2_r10.c \ ++nonshared-norm2_r16.c \ ++nonshared-norm2_r4.c \ ++nonshared-norm2_r8.c \ ++nonshared-parity_l16.c \ ++nonshared-parity_l1.c \ ++nonshared-parity_l2.c \ ++nonshared-parity_l4.c \ ++nonshared-parity_l8.c \ ++nonshared-shape_i1.c \ ++nonshared-shape_i2.c ++ ++nonshared_intrinsics_C_SRC = \ ++nonshared-extends_type_of.c ++ ++nonshared_runtime_C_SRC = \ ++nonshared-bounds.c ++ ++nonshared_ieee_C_SRC = \ ++nonshared-ieee_helper.c ++ ++nonshared_ieee_F90_SRC = \ ++nonshared-ieee_arithmetic.F90 \ ++nonshared-ieee_exceptions.F90 \ ++nonshared-ieee_features.F90 ++ ++libgfortran_nonshared44_la_SOURCES = \ ++$(nonshared_generated_F90_SRC) \ ++$(nonshared_generated_C_SRC) \ ++$(nonshared_intrinsics_C_SRC) \ ++$(nonshared_runtime_C_SRC) \ ++$(nonshared_quad_SRC) \ ++$(nonshared_generated_special_F90_SRC) \ ++$(nonshared_intrinsics_special_F90_SRC) \ ++$(nonshared_ieee_F90_SRC) \ ++$(nonshared_ieee_C_SRC) \ ++$(srcdir)/intrinsics/nonshared-execute_command_line.c \ ++$(srcdir)/intrinsics/nonshared-mvbits.c \ ++$(srcdir)/intrinsics/nonshared-shift.c \ ++$(srcdir)/io/nonshared-transfer.c \ ++$(srcdir)/io/nonshared-ftell2.c \ ++$(srcdir)/runtime/nonshared-backtrace.c \ ++$(srcdir)/runtime/nonshared-stop.c \ ++$(srcdir)/runtime/nonshared-fpu.c ++ ++libgfortran_nonshared48_la_SOURCES = \ ++$(nonshared_ieee_F90_SRC) \ ++$(nonshared_ieee_C_SRC) \ ++$(srcdir)/intrinsics/nonshared-mvbits.c \ ++$(srcdir)/runtime/nonshared-fpu.c \ ++nonshared-shape_i1.c \ ++nonshared-shape_i2.c ++ + I_M4_DEPS = m4/iparm.m4 + I_M4_DEPS0 = $(I_M4_DEPS) m4/iforeach.m4 + I_M4_DEPS1 = $(I_M4_DEPS) m4/ifunction.m4 +@@ -1395,6 +1678,15 @@ clean-cafexeclibLTLIBRARIES: + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ ++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ ++ test "$$dir" != "$$p" || dir=.; \ ++ echo "rm -f \"$${dir}/so_locations\""; \ ++ rm -f "$${dir}/so_locations"; \ ++ done + install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ +@@ -1431,6 +1723,10 @@ libcaf_single.la: $(libcaf_single_la_OBJ + $(libcaf_single_la_LINK) -rpath $(cafexeclibdir) $(libcaf_single_la_OBJECTS) $(libcaf_single_la_LIBADD) $(LIBS) + libgfortran.la: $(libgfortran_la_OBJECTS) $(libgfortran_la_DEPENDENCIES) $(EXTRA_libgfortran_la_DEPENDENCIES) + $(libgfortran_la_LINK) -rpath $(toolexeclibdir) $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) $(LIBS) ++libgfortran_nonshared44.la: $(libgfortran_nonshared44_la_OBJECTS) $(libgfortran_nonshared44_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared44_la_DEPENDENCIES) ++ $(FCLINK) $(libgfortran_nonshared44_la_OBJECTS) $(libgfortran_nonshared44_la_LIBADD) $(LIBS) ++libgfortran_nonshared48.la: $(libgfortran_nonshared48_la_OBJECTS) $(libgfortran_nonshared48_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared48_la_DEPENDENCIES) ++ $(FCLINK) $(libgfortran_nonshared48_la_OBJECTS) $(libgfortran_nonshared48_la_LIBADD) $(LIBS) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) +@@ -1733,6 +2029,87 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r16.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r4.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-backtrace.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r10.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bounds.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-cpu_time.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-erfc_scaled.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-execute_command_line.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-exponent_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-extends_type_of.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-fpu.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-fraction_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ftell2.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i1.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i2.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i1.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i2.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ieee_helper.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i1.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i2.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iso_c_generated_procs.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-matmul_c16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-matmul_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc0_16_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc0_4_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc0_8_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc1_16_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc1_4_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc1_8_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxval_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc0_16_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc0_4_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc0_8_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc1_16_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc1_4_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc1_8_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minval_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-mvbits.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-nearest_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r10.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l1.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l2.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_c16_i16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_c16_i4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_c16_i8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_r16_i16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_r16_i4.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_r16_i8.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-product_c16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-product_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-random.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-reshape_c16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-reshape_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-rrspacing_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-set_exponent_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-shape_i1.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-shape_i2.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-shift.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-spacing_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-stop.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-sum_c16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-sum_r16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transfer.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transpose_c16.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transpose_r16.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r10.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r16.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r4.Plo@am__quote@ +@@ -5666,6 +6043,90 @@ ieee_helper.lo: ieee/ieee_helper.c + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee_helper.lo `test -f 'ieee/ieee_helper.c' || echo '$(srcdir)/'`ieee/ieee_helper.c + ++nonshared-iso_c_generated_procs.lo: $(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-iso_c_generated_procs.lo -MD -MP -MF $(DEPDIR)/nonshared-iso_c_generated_procs.Tpo -c -o nonshared-iso_c_generated_procs.lo `test -f '$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-iso_c_generated_procs.Tpo $(DEPDIR)/nonshared-iso_c_generated_procs.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c' object='nonshared-iso_c_generated_procs.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-iso_c_generated_procs.lo `test -f '$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c ++ ++nonshared-cpu_time.lo: $(srcdir)/intrinsics/nonshared-cpu_time.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-cpu_time.lo -MD -MP -MF $(DEPDIR)/nonshared-cpu_time.Tpo -c -o nonshared-cpu_time.lo `test -f '$(srcdir)/intrinsics/nonshared-cpu_time.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-cpu_time.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-cpu_time.Tpo $(DEPDIR)/nonshared-cpu_time.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-cpu_time.c' object='nonshared-cpu_time.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-cpu_time.lo `test -f '$(srcdir)/intrinsics/nonshared-cpu_time.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-cpu_time.c ++ ++nonshared-erfc_scaled.lo: $(srcdir)/intrinsics/nonshared-erfc_scaled.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-erfc_scaled.lo -MD -MP -MF $(DEPDIR)/nonshared-erfc_scaled.Tpo -c -o nonshared-erfc_scaled.lo `test -f '$(srcdir)/intrinsics/nonshared-erfc_scaled.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-erfc_scaled.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-erfc_scaled.Tpo $(DEPDIR)/nonshared-erfc_scaled.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-erfc_scaled.c' object='nonshared-erfc_scaled.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-erfc_scaled.lo `test -f '$(srcdir)/intrinsics/nonshared-erfc_scaled.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-erfc_scaled.c ++ ++nonshared-random.lo: $(srcdir)/intrinsics/nonshared-random.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-random.lo -MD -MP -MF $(DEPDIR)/nonshared-random.Tpo -c -o nonshared-random.lo `test -f '$(srcdir)/intrinsics/nonshared-random.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-random.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-random.Tpo $(DEPDIR)/nonshared-random.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-random.c' object='nonshared-random.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-random.lo `test -f '$(srcdir)/intrinsics/nonshared-random.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-random.c ++ ++nonshared-execute_command_line.lo: $(srcdir)/intrinsics/nonshared-execute_command_line.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-execute_command_line.lo -MD -MP -MF $(DEPDIR)/nonshared-execute_command_line.Tpo -c -o nonshared-execute_command_line.lo `test -f '$(srcdir)/intrinsics/nonshared-execute_command_line.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-execute_command_line.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-execute_command_line.Tpo $(DEPDIR)/nonshared-execute_command_line.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-execute_command_line.c' object='nonshared-execute_command_line.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-execute_command_line.lo `test -f '$(srcdir)/intrinsics/nonshared-execute_command_line.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-execute_command_line.c ++ ++nonshared-mvbits.lo: $(srcdir)/intrinsics/nonshared-mvbits.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-mvbits.lo -MD -MP -MF $(DEPDIR)/nonshared-mvbits.Tpo -c -o nonshared-mvbits.lo `test -f '$(srcdir)/intrinsics/nonshared-mvbits.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-mvbits.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-mvbits.Tpo $(DEPDIR)/nonshared-mvbits.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-mvbits.c' object='nonshared-mvbits.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-mvbits.lo `test -f '$(srcdir)/intrinsics/nonshared-mvbits.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-mvbits.c ++ ++nonshared-shift.lo: $(srcdir)/intrinsics/nonshared-shift.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-shift.lo -MD -MP -MF $(DEPDIR)/nonshared-shift.Tpo -c -o nonshared-shift.lo `test -f '$(srcdir)/intrinsics/nonshared-shift.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-shift.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-shift.Tpo $(DEPDIR)/nonshared-shift.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-shift.c' object='nonshared-shift.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-shift.lo `test -f '$(srcdir)/intrinsics/nonshared-shift.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-shift.c ++ ++nonshared-transfer.lo: $(srcdir)/io/nonshared-transfer.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-transfer.lo -MD -MP -MF $(DEPDIR)/nonshared-transfer.Tpo -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-transfer.Tpo $(DEPDIR)/nonshared-transfer.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/io/nonshared-transfer.c' object='nonshared-transfer.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c ++ ++nonshared-ftell2.lo: $(srcdir)/io/nonshared-ftell2.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-ftell2.lo -MD -MP -MF $(DEPDIR)/nonshared-ftell2.Tpo -c -o nonshared-ftell2.lo `test -f '$(srcdir)/io/nonshared-ftell2.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-ftell2.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-ftell2.Tpo $(DEPDIR)/nonshared-ftell2.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/io/nonshared-ftell2.c' object='nonshared-ftell2.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-ftell2.lo `test -f '$(srcdir)/io/nonshared-ftell2.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-ftell2.c ++ ++nonshared-backtrace.lo: $(srcdir)/runtime/nonshared-backtrace.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-backtrace.lo -MD -MP -MF $(DEPDIR)/nonshared-backtrace.Tpo -c -o nonshared-backtrace.lo `test -f '$(srcdir)/runtime/nonshared-backtrace.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-backtrace.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-backtrace.Tpo $(DEPDIR)/nonshared-backtrace.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/runtime/nonshared-backtrace.c' object='nonshared-backtrace.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-backtrace.lo `test -f '$(srcdir)/runtime/nonshared-backtrace.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-backtrace.c ++ ++nonshared-stop.lo: $(srcdir)/runtime/nonshared-stop.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-stop.lo -MD -MP -MF $(DEPDIR)/nonshared-stop.Tpo -c -o nonshared-stop.lo `test -f '$(srcdir)/runtime/nonshared-stop.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-stop.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-stop.Tpo $(DEPDIR)/nonshared-stop.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/runtime/nonshared-stop.c' object='nonshared-stop.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-stop.lo `test -f '$(srcdir)/runtime/nonshared-stop.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-stop.c ++ ++nonshared-fpu.lo: $(srcdir)/runtime/nonshared-fpu.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-fpu.lo -MD -MP -MF $(DEPDIR)/nonshared-fpu.Tpo -c -o nonshared-fpu.lo `test -f '$(srcdir)/runtime/nonshared-fpu.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-fpu.c ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-fpu.Tpo $(DEPDIR)/nonshared-fpu.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/runtime/nonshared-fpu.c' object='nonshared-fpu.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-fpu.lo `test -f '$(srcdir)/runtime/nonshared-fpu.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-fpu.c ++ + .f90.o: + $(FCCOMPILE) -c -o $@ $< + +@@ -5846,7 +6307,8 @@ maintainer-clean-generic: + clean: clean-am clean-multi + + clean-am: clean-cafexeclibLTLIBRARIES clean-generic clean-libtool \ +- clean-toolexeclibLTLIBRARIES mostlyclean-am ++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES \ ++ mostlyclean-am + + distclean: distclean-am distclean-multi + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +@@ -5926,16 +6388,16 @@ uninstall-am: uninstall-cafexeclibLTLIBR + + .PHONY: CTAGS GTAGS all all-am all-multi am--refresh check check-am \ + clean clean-cafexeclibLTLIBRARIES clean-generic clean-libtool \ +- clean-multi clean-toolexeclibLTLIBRARIES ctags distclean \ +- distclean-compile distclean-generic distclean-hdr \ +- distclean-libtool distclean-multi distclean-tags dvi dvi-am \ +- html html-am info info-am install install-am \ +- install-cafexeclibLTLIBRARIES install-data install-data-am \ +- install-dvi install-dvi-am install-exec install-exec-am \ +- install-html install-html-am install-info install-info-am \ +- install-man install-multi install-nodist_fincludeHEADERS \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip install-toolexeclibDATA \ ++ clean-multi clean-noinstLTLIBRARIES \ ++ clean-toolexeclibLTLIBRARIES ctags distclean distclean-compile \ ++ distclean-generic distclean-hdr distclean-libtool \ ++ distclean-multi distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-cafexeclibLTLIBRARIES \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-multi \ ++ install-nodist_fincludeHEADERS install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip install-toolexeclibDATA \ + install-toolexeclibLTLIBRARIES installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + maintainer-clean-multi mostlyclean mostlyclean-compile \ +@@ -5986,6 +6448,78 @@ ieee_arithmetic.mod: ieee_arithmetic.lo + @onestep_TRUE@libgfortran_c.lo: $(filter %.c,$(prereq_SRC)) + @onestep_TRUE@ $(LTCOMPILE) -c -o $@ $^ -combine + ++$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/generated/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/generated/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.F90,%.lo,$(nonshared_generated_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/generated/%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_generated_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/generated/%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore ++ ++$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/intrinsics/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/intrinsics/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/runtime/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/runtime/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.F90,%.lo,$(nonshared_generated_special_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/generated/nonshared-%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_generated_special_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/generated/nonshared-%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.lo,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/intrinsics/nonshared-%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/intrinsics/nonshared-%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++# Add flags for IEEE modules ++$(patsubst %.F90,%.lo,$(notdir $(nonshared_ieee_F90_SRC))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore ++ ++# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS ++nonshared-ieee_arithmetic.lo: $(srcdir)/ieee/ieee_arithmetic.F90 ieee_arithmetic.lo ieee_exceptions.lo ++nonshared-ieee_exceptions.lo: $(srcdir)/ieee/ieee_exceptions.F90 ieee_exceptions.lo ++nonshared-ieee_features.lo: $(srcdir)/ieee/ieee_features.F90 ieee_features.lo ++ ++$(patsubst %.c,%.lo,$(nonshared_ieee_C_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/ieee/%.c ++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.c,%.o,$(nonshared_ieee_C_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/ieee/%.c ++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED ++ ++$(patsubst %.F90,%.lo,$(nonshared_ieee_F90_SRC) $(nonshared)): \ ++nonshared-%.lo: $(srcdir)/ieee/%.F90 ++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ ++$(patsubst %.F90,%.o,$(nonshared_ieee_F90_SRC) $(nonshared)): \ ++nonshared-%.o: $(srcdir)/ieee/%.F90 ++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore ++ + kinds.h: $(srcdir)/mk-kinds-h.sh + $(SHELL) $(srcdir)/mk-kinds-h.sh '$(FCCOMPILE)' > $@ || rm $@ + +--- libgfortran/io/nonshared-ftell2.c.jj 2016-07-13 11:17:15.924053172 +0200 ++++ libgfortran/io/nonshared-ftell2.c 2016-07-13 11:17:15.924053172 +0200 +@@ -0,0 +1,58 @@ ++/* Implementation of the FTELL intrinsic. ++ Copyright (C) 2005-2016 Free Software Foundation, Inc. ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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 of the License, or (at your option) any later version. ++ ++Libgfortran 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 ++. */ ++ ++#include "io.h" ++#include "fbuf.h" ++#include "unix.h" ++#include ++#include ++#include ++ ++ ++/* Here is the ftell function with an incorrect return type; retained ++ due to ABI compatibility. */ ++ ++extern size_t PREFIX(ftell) (int *); ++ ++/* Here is the ftell function with the correct return type, ensuring ++ that large files can be supported as long as the target supports ++ large integers; as of 4.8 the FTELL intrinsic function will call ++ this one instead of the old ftell above. */ ++ ++extern GFC_IO_INT PREFIX(ftell2) (int *); ++ ++GFC_IO_INT ++PREFIX(ftell2) (int * unit) ++{ ++ if (sizeof (GFC_IO_INT) == sizeof (size_t)) ++ return PREFIX(ftell) (unit); ++ else ++ { ++ GFC_IO_INT (*fn) (int *) ++ = (GFC_IO_INT (*) (int *)) dlsym (RTLD_NEXT, "_gfortran_ftell2"); ++ if (fn) ++ return fn (unit); ++ return PREFIX(ftell) (unit); ++ } ++} +--- libgfortran/io/nonshared-transfer.c.jj 2016-07-13 11:17:15.924053172 +0200 ++++ libgfortran/io/nonshared-transfer.c 2016-07-13 11:17:15.924053172 +0200 +@@ -0,0 +1,117 @@ ++/* Copyright (C) 2002-2016 Free Software Foundation, Inc. ++ Contributed by Andy Vaught ++ Namelist transfer functions contributed by Paul Thomas ++ F2003 I/O support contributed by Jerry DeLisle ++ ++This file is part of the GNU Fortran runtime library (libgfortran). ++ ++Libgfortran 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. ++ ++Libgfortran 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 ++. */ ++ ++ ++#define LIBGFORTRAN_NONSHARED ++#include "io.h" ++ ++extern void transfer_integer (st_parameter_dt *, void *, int); ++export_proto(transfer_integer); ++ ++extern void transfer_integer_write (st_parameter_dt *, void *, int); ++export_proto(transfer_integer_write); ++ ++extern void transfer_real (st_parameter_dt *, void *, int); ++export_proto(transfer_real); ++ ++extern void transfer_real_write (st_parameter_dt *, void *, int); ++export_proto(transfer_real_write); ++ ++extern void transfer_logical (st_parameter_dt *, void *, int); ++export_proto(transfer_logical); ++ ++extern void transfer_logical_write (st_parameter_dt *, void *, int); ++export_proto(transfer_logical_write); ++ ++extern void transfer_character (st_parameter_dt *, void *, int); ++export_proto(transfer_character); ++ ++extern void transfer_character_write (st_parameter_dt *, void *, int); ++export_proto(transfer_character_write); ++ ++extern void transfer_character_wide (st_parameter_dt *, void *, int, int); ++export_proto(transfer_character_wide); ++ ++extern void transfer_character_wide_write (st_parameter_dt *, ++ void *, int, int); ++export_proto(transfer_character_wide_write); ++ ++extern void transfer_complex (st_parameter_dt *, void *, int); ++export_proto(transfer_complex); ++ ++extern void transfer_complex_write (st_parameter_dt *, void *, int); ++export_proto(transfer_complex_write); ++ ++extern void transfer_array (st_parameter_dt *, gfc_array_char *, int, ++ gfc_charlen_type); ++export_proto(transfer_array); ++ ++extern void transfer_array_write (st_parameter_dt *, gfc_array_char *, int, ++ gfc_charlen_type); ++export_proto(transfer_array_write); ++ ++void ++transfer_integer_write (st_parameter_dt *dtp, void *p, int kind) ++{ ++ transfer_integer (dtp, p, kind); ++} ++ ++void ++transfer_real_write (st_parameter_dt *dtp, void *p, int kind) ++{ ++ transfer_real (dtp, p, kind); ++} ++ ++void ++transfer_logical_write (st_parameter_dt *dtp, void *p, int kind) ++{ ++ transfer_logical (dtp, p, kind); ++} ++ ++void ++transfer_character_write (st_parameter_dt *dtp, void *p, int len) ++{ ++ transfer_character (dtp, p, len); ++} ++ ++void ++transfer_character_wide_write (st_parameter_dt *dtp, void *p, int len, int kind) ++{ ++ transfer_character_wide (dtp, p, len, kind); ++} ++ ++void ++transfer_complex_write (st_parameter_dt *dtp, void *p, int kind) ++{ ++ transfer_complex (dtp, p, kind); ++} ++ ++void ++transfer_array_write (st_parameter_dt *dtp, gfc_array_char *desc, int kind, ++ gfc_charlen_type charlen) ++{ ++ transfer_array (dtp, desc, kind, charlen); ++} diff --git a/SOURCES/gcc6-libgo-p224.patch b/SOURCES/gcc6-libgo-p224.patch new file mode 100644 index 0000000..ec729cf --- /dev/null +++ b/SOURCES/gcc6-libgo-p224.patch @@ -0,0 +1,1123 @@ +--- libgo/Makefile.am.jj 2014-01-08 13:53:06.000000000 +0100 ++++ libgo/Makefile.am 2014-03-05 15:20:09.938466093 +0100 +@@ -1133,7 +1133,6 @@ go_crypto_ecdsa_files = \ + go/crypto/ecdsa/ecdsa.go + go_crypto_elliptic_files = \ + go/crypto/elliptic/elliptic.go \ +- go/crypto/elliptic/p224.go \ + go/crypto/elliptic/p256.go + go_crypto_hmac_files = \ + go/crypto/hmac/hmac.go +--- libgo/Makefile.in.jj 2014-01-08 13:53:06.000000000 +0100 ++++ libgo/Makefile.in 2014-03-05 15:20:20.372465471 +0100 +@@ -1291,7 +1291,6 @@ go_crypto_ecdsa_files = \ + + go_crypto_elliptic_files = \ + go/crypto/elliptic/elliptic.go \ +- go/crypto/elliptic/p224.go \ + go/crypto/elliptic/p256.go + + go_crypto_hmac_files = \ +--- libgo/go/crypto/elliptic/elliptic.go.jj 2016-02-05 20:11:20.000000000 +0100 ++++ libgo/go/crypto/elliptic/elliptic.go 2016-02-05 22:36:06.145039321 +0100 +@@ -338,7 +338,6 @@ var p384 *CurveParams + var p521 *CurveParams + + func initAll() { +- initP224() + initP256() + initP384() + initP521() +--- libgo/go/crypto/elliptic/elliptic_test.go.jj 2016-02-05 20:11:19.000000000 +0100 ++++ libgo/go/crypto/elliptic/elliptic_test.go 2016-02-05 22:37:37.857772875 +0100 +@@ -5,39 +5,16 @@ + package elliptic + + import ( +- "crypto/rand" +- "encoding/hex" +- "fmt" + "math/big" + "testing" + ) + +-func TestOnCurve(t *testing.T) { +- p224 := P224() +- if !p224.IsOnCurve(p224.Params().Gx, p224.Params().Gy) { +- t.Errorf("FAIL") +- } +-} +- +-func TestOffCurve(t *testing.T) { +- p224 := P224() +- x, y := new(big.Int).SetInt64(1), new(big.Int).SetInt64(1) +- if p224.IsOnCurve(x, y) { +- t.Errorf("FAIL: point off curve is claimed to be on the curve") +- } +- b := Marshal(p224, x, y) +- x1, y1 := Unmarshal(p224, b) +- if x1 != nil || y1 != nil { +- t.Errorf("FAIL: unmarshalling a point not on the curve succeeded") +- } +-} +- + type baseMultTest struct { + k string + x, y string + } + +-var p224BaseMultTests = []baseMultTest{ ++var p256BaseMultTests = []baseMultTest{ + { + "1", + "b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", +@@ -300,47 +277,12 @@ var p224BaseMultTests = []baseMultTest{ + }, + } + +-func TestBaseMult(t *testing.T) { +- p224 := P224() +- for i, e := range p224BaseMultTests { +- k, ok := new(big.Int).SetString(e.k, 10) +- if !ok { +- t.Errorf("%d: bad value for k: %s", i, e.k) +- } +- x, y := p224.ScalarBaseMult(k.Bytes()) +- if fmt.Sprintf("%x", x) != e.x || fmt.Sprintf("%x", y) != e.y { +- t.Errorf("%d: bad output for k=%s: got (%x, %x), want (%s, %s)", i, e.k, x, y, e.x, e.y) +- } +- if testing.Short() && i > 5 { +- break +- } +- } +-} +- +-func TestGenericBaseMult(t *testing.T) { +- // We use the P224 CurveParams directly in order to test the generic implementation. +- p224 := P224().Params() +- for i, e := range p224BaseMultTests { +- k, ok := new(big.Int).SetString(e.k, 10) +- if !ok { +- t.Errorf("%d: bad value for k: %s", i, e.k) +- } +- x, y := p224.ScalarBaseMult(k.Bytes()) +- if fmt.Sprintf("%x", x) != e.x || fmt.Sprintf("%x", y) != e.y { +- t.Errorf("%d: bad output for k=%s: got (%x, %x), want (%s, %s)", i, e.k, x, y, e.x, e.y) +- } +- if testing.Short() && i > 5 { +- break +- } +- } +-} +- + func TestP256BaseMult(t *testing.T) { + p256 := P256() + p256Generic := p256.Params() + +- scalars := make([]*big.Int, 0, len(p224BaseMultTests)+1) +- for _, e := range p224BaseMultTests { ++ scalars := make([]*big.Int, 0, len(p256BaseMultTests)+1) ++ for _, e := range p256BaseMultTests { + k, _ := new(big.Int).SetString(e.k, 10) + scalars = append(scalars, k) + } +@@ -365,7 +307,7 @@ func TestP256Mult(t *testing.T) { + p256 := P256() + p256Generic := p256.Params() + +- for i, e := range p224BaseMultTests { ++ for i, e := range p256BaseMultTests { + x, _ := new(big.Int).SetString(e.x, 16) + y, _ := new(big.Int).SetString(e.y, 16) + k, _ := new(big.Int).SetString(e.k, 10) +@@ -386,7 +328,6 @@ func TestInfinity(t *testing.T) { + name string + curve Curve + }{ +- {"p224", P224()}, + {"p256", P256()}, + } + +@@ -419,21 +360,10 @@ func TestInfinity(t *testing.T) { + } + } + +-func BenchmarkBaseMult(b *testing.B) { +- b.ResetTimer() +- p224 := P224() +- e := p224BaseMultTests[25] +- k, _ := new(big.Int).SetString(e.k, 10) +- b.StartTimer() +- for i := 0; i < b.N; i++ { +- p224.ScalarBaseMult(k.Bytes()) +- } +-} +- + func BenchmarkBaseMultP256(b *testing.B) { + b.ResetTimer() + p256 := P256() +- e := p224BaseMultTests[25] ++ e := p256BaseMultTests[25] + k, _ := new(big.Int).SetString(e.k, 10) + b.StartTimer() + for i := 0; i < b.N; i++ { +@@ -452,32 +382,3 @@ func BenchmarkScalarMultP256(b *testing. + p256.ScalarMult(x, y, priv) + } + } +- +-func TestMarshal(t *testing.T) { +- p224 := P224() +- _, x, y, err := GenerateKey(p224, rand.Reader) +- if err != nil { +- t.Error(err) +- return +- } +- serialized := Marshal(p224, x, y) +- xx, yy := Unmarshal(p224, serialized) +- if xx == nil { +- t.Error("failed to unmarshal") +- return +- } +- if xx.Cmp(x) != 0 || yy.Cmp(y) != 0 { +- t.Error("unmarshal returned different values") +- return +- } +-} +- +-func TestP224Overflow(t *testing.T) { +- // This tests for a specific bug in the P224 implementation. +- p224 := P224() +- pointData, _ := hex.DecodeString("049B535B45FB0A2072398A6831834624C7E32CCFD5A4B933BCEAF77F1DD945E08BBE5178F5EDF5E733388F196D2A631D2E075BB16CBFEEA15B") +- x, y := Unmarshal(p224, pointData) +- if !p224.IsOnCurve(x, y) { +- t.Error("P224 failed to validate a correct point") +- } +-} +--- libgo/go/crypto/ecdsa/ecdsa_test.go.jj 2016-02-05 20:10:59.000000000 +0100 ++++ libgo/go/crypto/ecdsa/ecdsa_test.go 2016-02-05 22:41:54.916215999 +0100 +@@ -33,7 +33,6 @@ func testKeyGeneration(t *testing.T, c e + } + + func TestKeyGeneration(t *testing.T) { +- testKeyGeneration(t, elliptic.P224(), "p224") + if testing.Short() { + return + } +@@ -98,7 +97,6 @@ func testSignAndVerify(t *testing.T, c e + } + + func TestSignAndVerify(t *testing.T) { +- testSignAndVerify(t, elliptic.P224(), "p224") + if testing.Short() { + return + } +@@ -135,7 +133,6 @@ func testNonceSafety(t *testing.T, c ell + } + + func TestNonceSafety(t *testing.T) { +- testNonceSafety(t, elliptic.P224(), "p224") + if testing.Short() { + return + } +@@ -170,7 +167,6 @@ func testINDCCA(t *testing.T, c elliptic + } + + func TestINDCCA(t *testing.T) { +- testINDCCA(t, elliptic.P224(), "p224") + if testing.Short() { + return + } +@@ -236,8 +232,6 @@ func TestVectors(t *testing.T) { + parts := strings.SplitN(line, ",", 2) + + switch parts[0] { +- case "P-224": +- pub.Curve = elliptic.P224() + case "P-256": + pub.Curve = elliptic.P256() + case "P-384": +--- libgo/go/crypto/x509/x509.go.jj 2016-02-05 20:11:19.000000000 +0100 ++++ libgo/go/crypto/x509/x509.go 2016-02-05 22:36:06.147039294 +0100 +@@ -334,9 +334,6 @@ func getPublicKeyAlgorithmFromOID(oid as + + // RFC 5480, 2.1.1.1. Named Curve + // +-// secp224r1 OBJECT IDENTIFIER ::= { +-// iso(1) identified-organization(3) certicom(132) curve(0) 33 } +-// + // secp256r1 OBJECT IDENTIFIER ::= { + // iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3) + // prime(1) 7 } +@@ -349,7 +346,6 @@ func getPublicKeyAlgorithmFromOID(oid as + // + // NB: secp256r1 is equivalent to prime256v1 + var ( +- oidNamedCurveP224 = asn1.ObjectIdentifier{1, 3, 132, 0, 33} + oidNamedCurveP256 = asn1.ObjectIdentifier{1, 2, 840, 10045, 3, 1, 7} + oidNamedCurveP384 = asn1.ObjectIdentifier{1, 3, 132, 0, 34} + oidNamedCurveP521 = asn1.ObjectIdentifier{1, 3, 132, 0, 35} +@@ -357,8 +353,6 @@ var ( + + func namedCurveFromOID(oid asn1.ObjectIdentifier) elliptic.Curve { + switch { +- case oid.Equal(oidNamedCurveP224): +- return elliptic.P224() + case oid.Equal(oidNamedCurveP256): + return elliptic.P256() + case oid.Equal(oidNamedCurveP384): +@@ -371,8 +365,6 @@ func namedCurveFromOID(oid asn1.ObjectId + + func oidFromNamedCurve(curve elliptic.Curve) (asn1.ObjectIdentifier, bool) { + switch curve { +- case elliptic.P224(): +- return oidNamedCurveP224, true + case elliptic.P256(): + return oidNamedCurveP256, true + case elliptic.P384(): +@@ -1502,7 +1494,7 @@ func signingParamsForPublicKey(pub inter + pubType = ECDSA + + switch pub.Curve { +- case elliptic.P224(), elliptic.P256(): ++ case elliptic.P256(): + hashFunc = crypto.SHA256 + sigAlgo.Algorithm = oidSignatureECDSAWithSHA256 + case elliptic.P384(): +--- libgo/go/crypto/elliptic/p224.go.jj 2016-01-15 10:58:09.000000000 +0100 ++++ libgo/go/crypto/elliptic/p224.go 2016-02-05 22:36:06.147039294 +0100 +@@ -1,765 +0,0 @@ +-// Copyright 2012 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-package elliptic +- +-// This is a constant-time, 32-bit implementation of P224. See FIPS 186-3, +-// section D.2.2. +-// +-// See http://www.imperialviolet.org/2010/12/04/ecc.html ([1]) for background. +- +-import ( +- "math/big" +-) +- +-var p224 p224Curve +- +-type p224Curve struct { +- *CurveParams +- gx, gy, b p224FieldElement +-} +- +-func initP224() { +- // See FIPS 186-3, section D.2.2 +- p224.CurveParams = &CurveParams{Name: "P-224"} +- p224.P, _ = new(big.Int).SetString("26959946667150639794667015087019630673557916260026308143510066298881", 10) +- p224.N, _ = new(big.Int).SetString("26959946667150639794667015087019625940457807714424391721682722368061", 10) +- p224.B, _ = new(big.Int).SetString("b4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4", 16) +- p224.Gx, _ = new(big.Int).SetString("b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", 16) +- p224.Gy, _ = new(big.Int).SetString("bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", 16) +- p224.BitSize = 224 +- +- p224FromBig(&p224.gx, p224.Gx) +- p224FromBig(&p224.gy, p224.Gy) +- p224FromBig(&p224.b, p224.B) +-} +- +-// P224 returns a Curve which implements P-224 (see FIPS 186-3, section D.2.2) +-func P224() Curve { +- initonce.Do(initAll) +- return p224 +-} +- +-func (curve p224Curve) Params() *CurveParams { +- return curve.CurveParams +-} +- +-func (curve p224Curve) IsOnCurve(bigX, bigY *big.Int) bool { +- var x, y p224FieldElement +- p224FromBig(&x, bigX) +- p224FromBig(&y, bigY) +- +- // y² = x³ - 3x + b +- var tmp p224LargeFieldElement +- var x3 p224FieldElement +- p224Square(&x3, &x, &tmp) +- p224Mul(&x3, &x3, &x, &tmp) +- +- for i := 0; i < 8; i++ { +- x[i] *= 3 +- } +- p224Sub(&x3, &x3, &x) +- p224Reduce(&x3) +- p224Add(&x3, &x3, &curve.b) +- p224Contract(&x3, &x3) +- +- p224Square(&y, &y, &tmp) +- p224Contract(&y, &y) +- +- for i := 0; i < 8; i++ { +- if y[i] != x3[i] { +- return false +- } +- } +- return true +-} +- +-func (p224Curve) Add(bigX1, bigY1, bigX2, bigY2 *big.Int) (x, y *big.Int) { +- var x1, y1, z1, x2, y2, z2, x3, y3, z3 p224FieldElement +- +- p224FromBig(&x1, bigX1) +- p224FromBig(&y1, bigY1) +- if bigX1.Sign() != 0 || bigY1.Sign() != 0 { +- z1[0] = 1 +- } +- p224FromBig(&x2, bigX2) +- p224FromBig(&y2, bigY2) +- if bigX2.Sign() != 0 || bigY2.Sign() != 0 { +- z2[0] = 1 +- } +- +- p224AddJacobian(&x3, &y3, &z3, &x1, &y1, &z1, &x2, &y2, &z2) +- return p224ToAffine(&x3, &y3, &z3) +-} +- +-func (p224Curve) Double(bigX1, bigY1 *big.Int) (x, y *big.Int) { +- var x1, y1, z1, x2, y2, z2 p224FieldElement +- +- p224FromBig(&x1, bigX1) +- p224FromBig(&y1, bigY1) +- z1[0] = 1 +- +- p224DoubleJacobian(&x2, &y2, &z2, &x1, &y1, &z1) +- return p224ToAffine(&x2, &y2, &z2) +-} +- +-func (p224Curve) ScalarMult(bigX1, bigY1 *big.Int, scalar []byte) (x, y *big.Int) { +- var x1, y1, z1, x2, y2, z2 p224FieldElement +- +- p224FromBig(&x1, bigX1) +- p224FromBig(&y1, bigY1) +- z1[0] = 1 +- +- p224ScalarMult(&x2, &y2, &z2, &x1, &y1, &z1, scalar) +- return p224ToAffine(&x2, &y2, &z2) +-} +- +-func (curve p224Curve) ScalarBaseMult(scalar []byte) (x, y *big.Int) { +- var z1, x2, y2, z2 p224FieldElement +- +- z1[0] = 1 +- p224ScalarMult(&x2, &y2, &z2, &curve.gx, &curve.gy, &z1, scalar) +- return p224ToAffine(&x2, &y2, &z2) +-} +- +-// Field element functions. +-// +-// The field that we're dealing with is ℤ/pℤ where p = 2**224 - 2**96 + 1. +-// +-// Field elements are represented by a FieldElement, which is a typedef to an +-// array of 8 uint32's. The value of a FieldElement, a, is: +-// a[0] + 2**28·a[1] + 2**56·a[1] + ... + 2**196·a[7] +-// +-// Using 28-bit limbs means that there's only 4 bits of headroom, which is less +-// than we would really like. But it has the useful feature that we hit 2**224 +-// exactly, making the reflections during a reduce much nicer. +-type p224FieldElement [8]uint32 +- +-// p224P is the order of the field, represented as a p224FieldElement. +-var p224P = [8]uint32{1, 0, 0, 0xffff000, 0xfffffff, 0xfffffff, 0xfffffff, 0xfffffff} +- +-// p224IsZero returns 1 if a == 0 mod p and 0 otherwise. +-// +-// a[i] < 2**29 +-func p224IsZero(a *p224FieldElement) uint32 { +- // Since a p224FieldElement contains 224 bits there are two possible +- // representations of 0: 0 and p. +- var minimal p224FieldElement +- p224Contract(&minimal, a) +- +- var isZero, isP uint32 +- for i, v := range minimal { +- isZero |= v +- isP |= v - p224P[i] +- } +- +- // If either isZero or isP is 0, then we should return 1. +- isZero |= isZero >> 16 +- isZero |= isZero >> 8 +- isZero |= isZero >> 4 +- isZero |= isZero >> 2 +- isZero |= isZero >> 1 +- +- isP |= isP >> 16 +- isP |= isP >> 8 +- isP |= isP >> 4 +- isP |= isP >> 2 +- isP |= isP >> 1 +- +- // For isZero and isP, the LSB is 0 iff all the bits are zero. +- result := isZero & isP +- result = (^result) & 1 +- +- return result +-} +- +-// p224Add computes *out = a+b +-// +-// a[i] + b[i] < 2**32 +-func p224Add(out, a, b *p224FieldElement) { +- for i := 0; i < 8; i++ { +- out[i] = a[i] + b[i] +- } +-} +- +-const two31p3 = 1<<31 + 1<<3 +-const two31m3 = 1<<31 - 1<<3 +-const two31m15m3 = 1<<31 - 1<<15 - 1<<3 +- +-// p224ZeroModP31 is 0 mod p where bit 31 is set in all limbs so that we can +-// subtract smaller amounts without underflow. See the section "Subtraction" in +-// [1] for reasoning. +-var p224ZeroModP31 = []uint32{two31p3, two31m3, two31m3, two31m15m3, two31m3, two31m3, two31m3, two31m3} +- +-// p224Sub computes *out = a-b +-// +-// a[i], b[i] < 2**30 +-// out[i] < 2**32 +-func p224Sub(out, a, b *p224FieldElement) { +- for i := 0; i < 8; i++ { +- out[i] = a[i] + p224ZeroModP31[i] - b[i] +- } +-} +- +-// LargeFieldElement also represents an element of the field. The limbs are +-// still spaced 28-bits apart and in little-endian order. So the limbs are at +-// 0, 28, 56, ..., 392 bits, each 64-bits wide. +-type p224LargeFieldElement [15]uint64 +- +-const two63p35 = 1<<63 + 1<<35 +-const two63m35 = 1<<63 - 1<<35 +-const two63m35m19 = 1<<63 - 1<<35 - 1<<19 +- +-// p224ZeroModP63 is 0 mod p where bit 63 is set in all limbs. See the section +-// "Subtraction" in [1] for why. +-var p224ZeroModP63 = [8]uint64{two63p35, two63m35, two63m35, two63m35, two63m35m19, two63m35, two63m35, two63m35} +- +-const bottom12Bits = 0xfff +-const bottom28Bits = 0xfffffff +- +-// p224Mul computes *out = a*b +-// +-// a[i] < 2**29, b[i] < 2**30 (or vice versa) +-// out[i] < 2**29 +-func p224Mul(out, a, b *p224FieldElement, tmp *p224LargeFieldElement) { +- for i := 0; i < 15; i++ { +- tmp[i] = 0 +- } +- +- for i := 0; i < 8; i++ { +- for j := 0; j < 8; j++ { +- tmp[i+j] += uint64(a[i]) * uint64(b[j]) +- } +- } +- +- p224ReduceLarge(out, tmp) +-} +- +-// Square computes *out = a*a +-// +-// a[i] < 2**29 +-// out[i] < 2**29 +-func p224Square(out, a *p224FieldElement, tmp *p224LargeFieldElement) { +- for i := 0; i < 15; i++ { +- tmp[i] = 0 +- } +- +- for i := 0; i < 8; i++ { +- for j := 0; j <= i; j++ { +- r := uint64(a[i]) * uint64(a[j]) +- if i == j { +- tmp[i+j] += r +- } else { +- tmp[i+j] += r << 1 +- } +- } +- } +- +- p224ReduceLarge(out, tmp) +-} +- +-// ReduceLarge converts a p224LargeFieldElement to a p224FieldElement. +-// +-// in[i] < 2**62 +-func p224ReduceLarge(out *p224FieldElement, in *p224LargeFieldElement) { +- for i := 0; i < 8; i++ { +- in[i] += p224ZeroModP63[i] +- } +- +- // Eliminate the coefficients at 2**224 and greater. +- for i := 14; i >= 8; i-- { +- in[i-8] -= in[i] +- in[i-5] += (in[i] & 0xffff) << 12 +- in[i-4] += in[i] >> 16 +- } +- in[8] = 0 +- // in[0..8] < 2**64 +- +- // As the values become small enough, we start to store them in |out| +- // and use 32-bit operations. +- for i := 1; i < 8; i++ { +- in[i+1] += in[i] >> 28 +- out[i] = uint32(in[i] & bottom28Bits) +- } +- in[0] -= in[8] +- out[3] += uint32(in[8]&0xffff) << 12 +- out[4] += uint32(in[8] >> 16) +- // in[0] < 2**64 +- // out[3] < 2**29 +- // out[4] < 2**29 +- // out[1,2,5..7] < 2**28 +- +- out[0] = uint32(in[0] & bottom28Bits) +- out[1] += uint32((in[0] >> 28) & bottom28Bits) +- out[2] += uint32(in[0] >> 56) +- // out[0] < 2**28 +- // out[1..4] < 2**29 +- // out[5..7] < 2**28 +-} +- +-// Reduce reduces the coefficients of a to smaller bounds. +-// +-// On entry: a[i] < 2**31 + 2**30 +-// On exit: a[i] < 2**29 +-func p224Reduce(a *p224FieldElement) { +- for i := 0; i < 7; i++ { +- a[i+1] += a[i] >> 28 +- a[i] &= bottom28Bits +- } +- top := a[7] >> 28 +- a[7] &= bottom28Bits +- +- // top < 2**4 +- mask := top +- mask |= mask >> 2 +- mask |= mask >> 1 +- mask <<= 31 +- mask = uint32(int32(mask) >> 31) +- // Mask is all ones if top != 0, all zero otherwise +- +- a[0] -= top +- a[3] += top << 12 +- +- // We may have just made a[0] negative but, if we did, then we must +- // have added something to a[3], this it's > 2**12. Therefore we can +- // carry down to a[0]. +- a[3] -= 1 & mask +- a[2] += mask & (1<<28 - 1) +- a[1] += mask & (1<<28 - 1) +- a[0] += mask & (1 << 28) +-} +- +-// p224Invert calculates *out = in**-1 by computing in**(2**224 - 2**96 - 1), +-// i.e. Fermat's little theorem. +-func p224Invert(out, in *p224FieldElement) { +- var f1, f2, f3, f4 p224FieldElement +- var c p224LargeFieldElement +- +- p224Square(&f1, in, &c) // 2 +- p224Mul(&f1, &f1, in, &c) // 2**2 - 1 +- p224Square(&f1, &f1, &c) // 2**3 - 2 +- p224Mul(&f1, &f1, in, &c) // 2**3 - 1 +- p224Square(&f2, &f1, &c) // 2**4 - 2 +- p224Square(&f2, &f2, &c) // 2**5 - 4 +- p224Square(&f2, &f2, &c) // 2**6 - 8 +- p224Mul(&f1, &f1, &f2, &c) // 2**6 - 1 +- p224Square(&f2, &f1, &c) // 2**7 - 2 +- for i := 0; i < 5; i++ { // 2**12 - 2**6 +- p224Square(&f2, &f2, &c) +- } +- p224Mul(&f2, &f2, &f1, &c) // 2**12 - 1 +- p224Square(&f3, &f2, &c) // 2**13 - 2 +- for i := 0; i < 11; i++ { // 2**24 - 2**12 +- p224Square(&f3, &f3, &c) +- } +- p224Mul(&f2, &f3, &f2, &c) // 2**24 - 1 +- p224Square(&f3, &f2, &c) // 2**25 - 2 +- for i := 0; i < 23; i++ { // 2**48 - 2**24 +- p224Square(&f3, &f3, &c) +- } +- p224Mul(&f3, &f3, &f2, &c) // 2**48 - 1 +- p224Square(&f4, &f3, &c) // 2**49 - 2 +- for i := 0; i < 47; i++ { // 2**96 - 2**48 +- p224Square(&f4, &f4, &c) +- } +- p224Mul(&f3, &f3, &f4, &c) // 2**96 - 1 +- p224Square(&f4, &f3, &c) // 2**97 - 2 +- for i := 0; i < 23; i++ { // 2**120 - 2**24 +- p224Square(&f4, &f4, &c) +- } +- p224Mul(&f2, &f4, &f2, &c) // 2**120 - 1 +- for i := 0; i < 6; i++ { // 2**126 - 2**6 +- p224Square(&f2, &f2, &c) +- } +- p224Mul(&f1, &f1, &f2, &c) // 2**126 - 1 +- p224Square(&f1, &f1, &c) // 2**127 - 2 +- p224Mul(&f1, &f1, in, &c) // 2**127 - 1 +- for i := 0; i < 97; i++ { // 2**224 - 2**97 +- p224Square(&f1, &f1, &c) +- } +- p224Mul(out, &f1, &f3, &c) // 2**224 - 2**96 - 1 +-} +- +-// p224Contract converts a FieldElement to its unique, minimal form. +-// +-// On entry, in[i] < 2**29 +-// On exit, in[i] < 2**28 +-func p224Contract(out, in *p224FieldElement) { +- copy(out[:], in[:]) +- +- for i := 0; i < 7; i++ { +- out[i+1] += out[i] >> 28 +- out[i] &= bottom28Bits +- } +- top := out[7] >> 28 +- out[7] &= bottom28Bits +- +- out[0] -= top +- out[3] += top << 12 +- +- // We may just have made out[i] negative. So we carry down. If we made +- // out[0] negative then we know that out[3] is sufficiently positive +- // because we just added to it. +- for i := 0; i < 3; i++ { +- mask := uint32(int32(out[i]) >> 31) +- out[i] += (1 << 28) & mask +- out[i+1] -= 1 & mask +- } +- +- // We might have pushed out[3] over 2**28 so we perform another, partial, +- // carry chain. +- for i := 3; i < 7; i++ { +- out[i+1] += out[i] >> 28 +- out[i] &= bottom28Bits +- } +- top = out[7] >> 28 +- out[7] &= bottom28Bits +- +- // Eliminate top while maintaining the same value mod p. +- out[0] -= top +- out[3] += top << 12 +- +- // There are two cases to consider for out[3]: +- // 1) The first time that we eliminated top, we didn't push out[3] over +- // 2**28. In this case, the partial carry chain didn't change any values +- // and top is zero. +- // 2) We did push out[3] over 2**28 the first time that we eliminated top. +- // The first value of top was in [0..16), therefore, prior to eliminating +- // the first top, 0xfff1000 <= out[3] <= 0xfffffff. Therefore, after +- // overflowing and being reduced by the second carry chain, out[3] <= +- // 0xf000. Thus it cannot have overflowed when we eliminated top for the +- // second time. +- +- // Again, we may just have made out[0] negative, so do the same carry down. +- // As before, if we made out[0] negative then we know that out[3] is +- // sufficiently positive. +- for i := 0; i < 3; i++ { +- mask := uint32(int32(out[i]) >> 31) +- out[i] += (1 << 28) & mask +- out[i+1] -= 1 & mask +- } +- +- // Now we see if the value is >= p and, if so, subtract p. +- +- // First we build a mask from the top four limbs, which must all be +- // equal to bottom28Bits if the whole value is >= p. If top4AllOnes +- // ends up with any zero bits in the bottom 28 bits, then this wasn't +- // true. +- top4AllOnes := uint32(0xffffffff) +- for i := 4; i < 8; i++ { +- top4AllOnes &= out[i] +- } +- top4AllOnes |= 0xf0000000 +- // Now we replicate any zero bits to all the bits in top4AllOnes. +- top4AllOnes &= top4AllOnes >> 16 +- top4AllOnes &= top4AllOnes >> 8 +- top4AllOnes &= top4AllOnes >> 4 +- top4AllOnes &= top4AllOnes >> 2 +- top4AllOnes &= top4AllOnes >> 1 +- top4AllOnes = uint32(int32(top4AllOnes<<31) >> 31) +- +- // Now we test whether the bottom three limbs are non-zero. +- bottom3NonZero := out[0] | out[1] | out[2] +- bottom3NonZero |= bottom3NonZero >> 16 +- bottom3NonZero |= bottom3NonZero >> 8 +- bottom3NonZero |= bottom3NonZero >> 4 +- bottom3NonZero |= bottom3NonZero >> 2 +- bottom3NonZero |= bottom3NonZero >> 1 +- bottom3NonZero = uint32(int32(bottom3NonZero<<31) >> 31) +- +- // Everything depends on the value of out[3]. +- // If it's > 0xffff000 and top4AllOnes != 0 then the whole value is >= p +- // If it's = 0xffff000 and top4AllOnes != 0 and bottom3NonZero != 0, +- // then the whole value is >= p +- // If it's < 0xffff000, then the whole value is < p +- n := out[3] - 0xffff000 +- out3Equal := n +- out3Equal |= out3Equal >> 16 +- out3Equal |= out3Equal >> 8 +- out3Equal |= out3Equal >> 4 +- out3Equal |= out3Equal >> 2 +- out3Equal |= out3Equal >> 1 +- out3Equal = ^uint32(int32(out3Equal<<31) >> 31) +- +- // If out[3] > 0xffff000 then n's MSB will be zero. +- out3GT := ^uint32(int32(n) >> 31) +- +- mask := top4AllOnes & ((out3Equal & bottom3NonZero) | out3GT) +- out[0] -= 1 & mask +- out[3] -= 0xffff000 & mask +- out[4] -= 0xfffffff & mask +- out[5] -= 0xfffffff & mask +- out[6] -= 0xfffffff & mask +- out[7] -= 0xfffffff & mask +-} +- +-// Group element functions. +-// +-// These functions deal with group elements. The group is an elliptic curve +-// group with a = -3 defined in FIPS 186-3, section D.2.2. +- +-// p224AddJacobian computes *out = a+b where a != b. +-func p224AddJacobian(x3, y3, z3, x1, y1, z1, x2, y2, z2 *p224FieldElement) { +- // See http://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#addition-p224Add-2007-bl +- var z1z1, z2z2, u1, u2, s1, s2, h, i, j, r, v p224FieldElement +- var c p224LargeFieldElement +- +- z1IsZero := p224IsZero(z1) +- z2IsZero := p224IsZero(z2) +- +- // Z1Z1 = Z1² +- p224Square(&z1z1, z1, &c) +- // Z2Z2 = Z2² +- p224Square(&z2z2, z2, &c) +- // U1 = X1*Z2Z2 +- p224Mul(&u1, x1, &z2z2, &c) +- // U2 = X2*Z1Z1 +- p224Mul(&u2, x2, &z1z1, &c) +- // S1 = Y1*Z2*Z2Z2 +- p224Mul(&s1, z2, &z2z2, &c) +- p224Mul(&s1, y1, &s1, &c) +- // S2 = Y2*Z1*Z1Z1 +- p224Mul(&s2, z1, &z1z1, &c) +- p224Mul(&s2, y2, &s2, &c) +- // H = U2-U1 +- p224Sub(&h, &u2, &u1) +- p224Reduce(&h) +- xEqual := p224IsZero(&h) +- // I = (2*H)² +- for j := 0; j < 8; j++ { +- i[j] = h[j] << 1 +- } +- p224Reduce(&i) +- p224Square(&i, &i, &c) +- // J = H*I +- p224Mul(&j, &h, &i, &c) +- // r = 2*(S2-S1) +- p224Sub(&r, &s2, &s1) +- p224Reduce(&r) +- yEqual := p224IsZero(&r) +- if xEqual == 1 && yEqual == 1 && z1IsZero == 0 && z2IsZero == 0 { +- p224DoubleJacobian(x3, y3, z3, x1, y1, z1) +- return +- } +- for i := 0; i < 8; i++ { +- r[i] <<= 1 +- } +- p224Reduce(&r) +- // V = U1*I +- p224Mul(&v, &u1, &i, &c) +- // Z3 = ((Z1+Z2)²-Z1Z1-Z2Z2)*H +- p224Add(&z1z1, &z1z1, &z2z2) +- p224Add(&z2z2, z1, z2) +- p224Reduce(&z2z2) +- p224Square(&z2z2, &z2z2, &c) +- p224Sub(z3, &z2z2, &z1z1) +- p224Reduce(z3) +- p224Mul(z3, z3, &h, &c) +- // X3 = r²-J-2*V +- for i := 0; i < 8; i++ { +- z1z1[i] = v[i] << 1 +- } +- p224Add(&z1z1, &j, &z1z1) +- p224Reduce(&z1z1) +- p224Square(x3, &r, &c) +- p224Sub(x3, x3, &z1z1) +- p224Reduce(x3) +- // Y3 = r*(V-X3)-2*S1*J +- for i := 0; i < 8; i++ { +- s1[i] <<= 1 +- } +- p224Mul(&s1, &s1, &j, &c) +- p224Sub(&z1z1, &v, x3) +- p224Reduce(&z1z1) +- p224Mul(&z1z1, &z1z1, &r, &c) +- p224Sub(y3, &z1z1, &s1) +- p224Reduce(y3) +- +- p224CopyConditional(x3, x2, z1IsZero) +- p224CopyConditional(x3, x1, z2IsZero) +- p224CopyConditional(y3, y2, z1IsZero) +- p224CopyConditional(y3, y1, z2IsZero) +- p224CopyConditional(z3, z2, z1IsZero) +- p224CopyConditional(z3, z1, z2IsZero) +-} +- +-// p224DoubleJacobian computes *out = a+a. +-func p224DoubleJacobian(x3, y3, z3, x1, y1, z1 *p224FieldElement) { +- var delta, gamma, beta, alpha, t p224FieldElement +- var c p224LargeFieldElement +- +- p224Square(&delta, z1, &c) +- p224Square(&gamma, y1, &c) +- p224Mul(&beta, x1, &gamma, &c) +- +- // alpha = 3*(X1-delta)*(X1+delta) +- p224Add(&t, x1, &delta) +- for i := 0; i < 8; i++ { +- t[i] += t[i] << 1 +- } +- p224Reduce(&t) +- p224Sub(&alpha, x1, &delta) +- p224Reduce(&alpha) +- p224Mul(&alpha, &alpha, &t, &c) +- +- // Z3 = (Y1+Z1)²-gamma-delta +- p224Add(z3, y1, z1) +- p224Reduce(z3) +- p224Square(z3, z3, &c) +- p224Sub(z3, z3, &gamma) +- p224Reduce(z3) +- p224Sub(z3, z3, &delta) +- p224Reduce(z3) +- +- // X3 = alpha²-8*beta +- for i := 0; i < 8; i++ { +- delta[i] = beta[i] << 3 +- } +- p224Reduce(&delta) +- p224Square(x3, &alpha, &c) +- p224Sub(x3, x3, &delta) +- p224Reduce(x3) +- +- // Y3 = alpha*(4*beta-X3)-8*gamma² +- for i := 0; i < 8; i++ { +- beta[i] <<= 2 +- } +- p224Sub(&beta, &beta, x3) +- p224Reduce(&beta) +- p224Square(&gamma, &gamma, &c) +- for i := 0; i < 8; i++ { +- gamma[i] <<= 3 +- } +- p224Reduce(&gamma) +- p224Mul(y3, &alpha, &beta, &c) +- p224Sub(y3, y3, &gamma) +- p224Reduce(y3) +-} +- +-// p224CopyConditional sets *out = *in iff the least-significant-bit of control +-// is true, and it runs in constant time. +-func p224CopyConditional(out, in *p224FieldElement, control uint32) { +- control <<= 31 +- control = uint32(int32(control) >> 31) +- +- for i := 0; i < 8; i++ { +- out[i] ^= (out[i] ^ in[i]) & control +- } +-} +- +-func p224ScalarMult(outX, outY, outZ, inX, inY, inZ *p224FieldElement, scalar []byte) { +- var xx, yy, zz p224FieldElement +- for i := 0; i < 8; i++ { +- outX[i] = 0 +- outY[i] = 0 +- outZ[i] = 0 +- } +- +- for _, byte := range scalar { +- for bitNum := uint(0); bitNum < 8; bitNum++ { +- p224DoubleJacobian(outX, outY, outZ, outX, outY, outZ) +- bit := uint32((byte >> (7 - bitNum)) & 1) +- p224AddJacobian(&xx, &yy, &zz, inX, inY, inZ, outX, outY, outZ) +- p224CopyConditional(outX, &xx, bit) +- p224CopyConditional(outY, &yy, bit) +- p224CopyConditional(outZ, &zz, bit) +- } +- } +-} +- +-// p224ToAffine converts from Jacobian to affine form. +-func p224ToAffine(x, y, z *p224FieldElement) (*big.Int, *big.Int) { +- var zinv, zinvsq, outx, outy p224FieldElement +- var tmp p224LargeFieldElement +- +- if isPointAtInfinity := p224IsZero(z); isPointAtInfinity == 1 { +- return new(big.Int), new(big.Int) +- } +- +- p224Invert(&zinv, z) +- p224Square(&zinvsq, &zinv, &tmp) +- p224Mul(x, x, &zinvsq, &tmp) +- p224Mul(&zinvsq, &zinvsq, &zinv, &tmp) +- p224Mul(y, y, &zinvsq, &tmp) +- +- p224Contract(&outx, x) +- p224Contract(&outy, y) +- return p224ToBig(&outx), p224ToBig(&outy) +-} +- +-// get28BitsFromEnd returns the least-significant 28 bits from buf>>shift, +-// where buf is interpreted as a big-endian number. +-func get28BitsFromEnd(buf []byte, shift uint) (uint32, []byte) { +- var ret uint32 +- +- for i := uint(0); i < 4; i++ { +- var b byte +- if l := len(buf); l > 0 { +- b = buf[l-1] +- // We don't remove the byte if we're about to return and we're not +- // reading all of it. +- if i != 3 || shift == 4 { +- buf = buf[:l-1] +- } +- } +- ret |= uint32(b) << (8 * i) >> shift +- } +- ret &= bottom28Bits +- return ret, buf +-} +- +-// p224FromBig sets *out = *in. +-func p224FromBig(out *p224FieldElement, in *big.Int) { +- bytes := in.Bytes() +- out[0], bytes = get28BitsFromEnd(bytes, 0) +- out[1], bytes = get28BitsFromEnd(bytes, 4) +- out[2], bytes = get28BitsFromEnd(bytes, 0) +- out[3], bytes = get28BitsFromEnd(bytes, 4) +- out[4], bytes = get28BitsFromEnd(bytes, 0) +- out[5], bytes = get28BitsFromEnd(bytes, 4) +- out[6], bytes = get28BitsFromEnd(bytes, 0) +- out[7], bytes = get28BitsFromEnd(bytes, 4) +-} +- +-// p224ToBig returns in as a big.Int. +-func p224ToBig(in *p224FieldElement) *big.Int { +- var buf [28]byte +- buf[27] = byte(in[0]) +- buf[26] = byte(in[0] >> 8) +- buf[25] = byte(in[0] >> 16) +- buf[24] = byte(((in[0] >> 24) & 0x0f) | (in[1]<<4)&0xf0) +- +- buf[23] = byte(in[1] >> 4) +- buf[22] = byte(in[1] >> 12) +- buf[21] = byte(in[1] >> 20) +- +- buf[20] = byte(in[2]) +- buf[19] = byte(in[2] >> 8) +- buf[18] = byte(in[2] >> 16) +- buf[17] = byte(((in[2] >> 24) & 0x0f) | (in[3]<<4)&0xf0) +- +- buf[16] = byte(in[3] >> 4) +- buf[15] = byte(in[3] >> 12) +- buf[14] = byte(in[3] >> 20) +- +- buf[13] = byte(in[4]) +- buf[12] = byte(in[4] >> 8) +- buf[11] = byte(in[4] >> 16) +- buf[10] = byte(((in[4] >> 24) & 0x0f) | (in[5]<<4)&0xf0) +- +- buf[9] = byte(in[5] >> 4) +- buf[8] = byte(in[5] >> 12) +- buf[7] = byte(in[5] >> 20) +- +- buf[6] = byte(in[6]) +- buf[5] = byte(in[6] >> 8) +- buf[4] = byte(in[6] >> 16) +- buf[3] = byte(((in[6] >> 24) & 0x0f) | (in[7]<<4)&0xf0) +- +- buf[2] = byte(in[7] >> 4) +- buf[1] = byte(in[7] >> 12) +- buf[0] = byte(in[7] >> 20) +- +- return new(big.Int).SetBytes(buf[:]) +-} +--- libgo/go/crypto/elliptic/p224_test.go.jj 2016-01-15 10:58:09.000000000 +0100 ++++ libgo/go/crypto/elliptic/p224_test.go 2016-02-05 22:36:06.148039280 +0100 +@@ -1,47 +0,0 @@ +-// Copyright 2012 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-package elliptic +- +-import ( +- "math/big" +- "testing" +-) +- +-var toFromBigTests = []string{ +- "0", +- "1", +- "23", +- "b70e0cb46bb4bf7f321390b94a03c1d356c01122343280d6105c1d21", +- "706a46d476dcb76798e6046d89474788d164c18032d268fd10704fa6", +-} +- +-func p224AlternativeToBig(in *p224FieldElement) *big.Int { +- ret := new(big.Int) +- tmp := new(big.Int) +- +- for i := uint(0); i < 8; i++ { +- tmp.SetInt64(int64(in[i])) +- tmp.Lsh(tmp, 28*i) +- ret.Add(ret, tmp) +- } +- ret.Mod(ret, p224.P) +- return ret +-} +- +-func TestToFromBig(t *testing.T) { +- for i, test := range toFromBigTests { +- n, _ := new(big.Int).SetString(test, 16) +- var x p224FieldElement +- p224FromBig(&x, n) +- m := p224ToBig(&x) +- if n.Cmp(m) != 0 { +- t.Errorf("#%d: %x != %x", i, n, m) +- } +- q := p224AlternativeToBig(&x) +- if n.Cmp(q) != 0 { +- t.Errorf("#%d: %x != %x (alternative)", i, n, m) +- } +- } +-} +--- libgo/go/crypto/elliptic/p256.go.jj 2016-02-05 20:11:19.000000000 +0100 ++++ libgo/go/crypto/elliptic/p256.go 2016-02-05 22:36:06.148039280 +0100 +@@ -235,6 +235,8 @@ func p256ReduceCarry(inout *[p256Limbs]u + inout[7] += carry << 25 + } + ++const bottom28Bits = 0xfffffff ++ + // p256Sum sets out = in+in2. + // + // On entry, in[i]+in2[i] must not overflow a 32-bit word. +@@ -267,6 +269,7 @@ const ( + two31m2 = 1<<31 - 1<<2 + two31p24m2 = 1<<31 + 1<<24 - 1<<2 + two30m27m2 = 1<<30 - 1<<27 - 1<<2 ++ two31m3 = 1<<31 - 1<<3 + ) + + // p256Zero31 is 0 mod p. diff --git a/SOURCES/gcc6-libgomp-omp_h-multilib.patch b/SOURCES/gcc6-libgomp-omp_h-multilib.patch new file mode 100644 index 0000000..d0e98d1 --- /dev/null +++ b/SOURCES/gcc6-libgomp-omp_h-multilib.patch @@ -0,0 +1,17 @@ +2008-06-09 Jakub Jelinek + + * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs. + +--- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200 ++++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200 +@@ -42,8 +42,8 @@ typedef struct + + typedef struct + { +- unsigned char _x[@OMP_NEST_LOCK_SIZE@] +- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@))); ++ unsigned char _x[8 + sizeof (void *)] ++ __attribute__((__aligned__(sizeof (void *)))); + } omp_nest_lock_t; + #endif + diff --git a/SOURCES/gcc6-libquadmath-compat.patch b/SOURCES/gcc6-libquadmath-compat.patch new file mode 100644 index 0000000..5205320 --- /dev/null +++ b/SOURCES/gcc6-libquadmath-compat.patch @@ -0,0 +1,164 @@ +--- libquadmath/Makefile.am.jj 2016-04-15 16:53:53.207442732 +0200 ++++ libquadmath/Makefile.am 2016-07-21 19:04:01.472619416 +0200 +@@ -35,15 +35,19 @@ version_dep = + endif + + toolexeclib_LTLIBRARIES = libquadmath.la ++noinst_LTLIBRARIES = libquadmathconvenience.la + libquadmath_la_LIBADD = + libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(version_arg) $(lt_host_flags) -lm + libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) ++libquadmathconvenience_la_LIBADD = ++libquadmathconvenience_la_LDFLAGS = ++libquadmathconvenience_la_DEPENDENCIES = + + nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h + libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include + +-libquadmath_la_SOURCES = \ ++sources = \ + math/x2y2m1q.c math/isinf_nsq.c math/acoshq.c math/fmodq.c \ + math/acosq.c math/frexpq.c \ + math/rem_pio2q.c math/asinhq.c math/hypotq.c math/remainderq.c \ +@@ -69,7 +73,8 @@ libquadmath_la_SOURCES = \ + printf/mul_n.c printf/mul.c printf/printf_fphex.c printf/printf_fp.c \ + printf/quadmath-printf.c printf/rshift.c printf/submul_1.c printf/sub_n.c \ + strtod/strtoflt128.c strtod/mpn2flt128.c strtod/tens_in_limb.c +- ++libquadmath_la_SOURCES = $(sources) ++libquadmathconvenience_la_SOURCES = $(sources) + + # Work around what appears to be a GNU make bug handling MAKEFLAGS + # values defined in terms of make variables, as is the case for CC and +--- libquadmath/Makefile.in.jj 2016-04-15 16:53:53.170443230 +0200 ++++ libquadmath/Makefile.in 2016-07-21 19:04:23.626349760 +0200 +@@ -54,6 +54,7 @@ build_triplet = @build@ + host_triplet = @host@ + target_triplet = @target@ + @BUILD_LIBQUADMATH_FALSE@libquadmath_la_DEPENDENCIES = ++@BUILD_LIBQUADMATH_FALSE@libquadmathconvenience_la_DEPENDENCIES = + subdir = . + DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ +@@ -108,9 +109,9 @@ am__uninstall_files_from_dir = { \ + } + am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \ + "$(DESTDIR)$(libsubincludedir)" +-LTLIBRARIES = $(toolexeclib_LTLIBRARIES) ++LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES) + am__dirstamp = $(am__leading_dot)dirstamp +-@BUILD_LIBQUADMATH_TRUE@am_libquadmath_la_OBJECTS = math/x2y2m1q.lo \ ++@BUILD_LIBQUADMATH_TRUE@am__objects_1 = math/x2y2m1q.lo \ + @BUILD_LIBQUADMATH_TRUE@ math/isinf_nsq.lo math/acoshq.lo \ + @BUILD_LIBQUADMATH_TRUE@ math/fmodq.lo math/acosq.lo \ + @BUILD_LIBQUADMATH_TRUE@ math/frexpq.lo math/rem_pio2q.lo \ +@@ -167,12 +168,22 @@ am__dirstamp = $(am__leading_dot)dirstam + @BUILD_LIBQUADMATH_TRUE@ printf/sub_n.lo strtod/strtoflt128.lo \ + @BUILD_LIBQUADMATH_TRUE@ strtod/mpn2flt128.lo \ + @BUILD_LIBQUADMATH_TRUE@ strtod/tens_in_limb.lo ++@BUILD_LIBQUADMATH_TRUE@am_libquadmath_la_OBJECTS = $(am__objects_1) + libquadmath_la_OBJECTS = $(am_libquadmath_la_OBJECTS) + libquadmath_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libquadmath_la_LDFLAGS) $(LDFLAGS) -o $@ + @BUILD_LIBQUADMATH_TRUE@am_libquadmath_la_rpath = -rpath \ + @BUILD_LIBQUADMATH_TRUE@ $(toolexeclibdir) ++@BUILD_LIBQUADMATH_TRUE@am_libquadmathconvenience_la_OBJECTS = \ ++@BUILD_LIBQUADMATH_TRUE@ $(am__objects_1) ++libquadmathconvenience_la_OBJECTS = \ ++ $(am_libquadmathconvenience_la_OBJECTS) ++libquadmathconvenience_la_LINK = $(LIBTOOL) --tag=CC \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ ++ $(AM_CFLAGS) $(CFLAGS) $(libquadmathconvenience_la_LDFLAGS) \ ++ $(LDFLAGS) -o $@ ++@BUILD_LIBQUADMATH_TRUE@am_libquadmathconvenience_la_rpath = + DEFAULT_INCLUDES = -I.@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/../depcomp + am__depfiles_maybe = depfiles +@@ -186,7 +197,8 @@ CCLD = $(CC) + LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-SOURCES = $(libquadmath_la_SOURCES) ++SOURCES = $(libquadmath_la_SOURCES) \ ++ $(libquadmathconvenience_la_SOURCES) + MULTISRCTOP = + MULTIBUILDTOP = + MULTIDIRS = +@@ -348,14 +360,18 @@ AUTOMAKE_OPTIONS = 1.8 foreign + @BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = $(srcdir)/quadmath.map + @BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun + @BUILD_LIBQUADMATH_TRUE@toolexeclib_LTLIBRARIES = libquadmath.la ++@BUILD_LIBQUADMATH_TRUE@noinst_LTLIBRARIES = libquadmathconvenience.la + @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LIBADD = + @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + @BUILD_LIBQUADMATH_TRUE@ $(version_arg) $(lt_host_flags) -lm + + @BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) ++@BUILD_LIBQUADMATH_TRUE@libquadmathconvenience_la_LIBADD = ++@BUILD_LIBQUADMATH_TRUE@libquadmathconvenience_la_LDFLAGS = ++@BUILD_LIBQUADMATH_TRUE@libquadmathconvenience_la_DEPENDENCIES = + @BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h + @BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include +-@BUILD_LIBQUADMATH_TRUE@libquadmath_la_SOURCES = \ ++@BUILD_LIBQUADMATH_TRUE@sources = \ + @BUILD_LIBQUADMATH_TRUE@ math/x2y2m1q.c math/isinf_nsq.c math/acoshq.c math/fmodq.c \ + @BUILD_LIBQUADMATH_TRUE@ math/acosq.c math/frexpq.c \ + @BUILD_LIBQUADMATH_TRUE@ math/rem_pio2q.c math/asinhq.c math/hypotq.c math/remainderq.c \ +@@ -382,6 +398,8 @@ AUTOMAKE_OPTIONS = 1.8 foreign + @BUILD_LIBQUADMATH_TRUE@ printf/quadmath-printf.c printf/rshift.c printf/submul_1.c printf/sub_n.c \ + @BUILD_LIBQUADMATH_TRUE@ strtod/strtoflt128.c strtod/mpn2flt128.c strtod/tens_in_limb.c + ++@BUILD_LIBQUADMATH_TRUE@libquadmath_la_SOURCES = $(sources) ++@BUILD_LIBQUADMATH_TRUE@libquadmathconvenience_la_SOURCES = $(sources) + + # Work around what appears to be a GNU make bug handling MAKEFLAGS + # values defined in terms of make variables, as is the case for CC and +@@ -504,6 +522,15 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_ + + distclean-hdr: + -rm -f config.h stamp-h1 ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ ++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ ++ test "$$dir" != "$$p" || dir=.; \ ++ echo "rm -f \"$${dir}/so_locations\""; \ ++ rm -f "$${dir}/so_locations"; \ ++ done + install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ +@@ -688,6 +715,8 @@ strtod/tens_in_limb.lo: strtod/$(am__dir + strtod/$(DEPDIR)/$(am__dirstamp) + libquadmath.la: $(libquadmath_la_OBJECTS) $(libquadmath_la_DEPENDENCIES) $(EXTRA_libquadmath_la_DEPENDENCIES) + $(libquadmath_la_LINK) $(am_libquadmath_la_rpath) $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) $(LIBS) ++libquadmathconvenience.la: $(libquadmathconvenience_la_OBJECTS) $(libquadmathconvenience_la_DEPENDENCIES) $(EXTRA_libquadmathconvenience_la_DEPENDENCIES) ++ $(libquadmathconvenience_la_LINK) $(am_libquadmathconvenience_la_rpath) $(libquadmathconvenience_la_OBJECTS) $(libquadmathconvenience_la_LIBADD) $(LIBS) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) +@@ -1316,7 +1345,8 @@ maintainer-clean-generic: + clean: clean-am clean-multi + + clean-am: clean-aminfo clean-generic clean-libtool \ +- clean-toolexeclibLTLIBRARIES mostlyclean-am ++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES \ ++ mostlyclean-am + + distclean: distclean-am distclean-multi + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +@@ -1487,8 +1517,9 @@ uninstall-am: uninstall-dvi-am uninstall + + .PHONY: CTAGS GTAGS all all-am all-local all-multi am--refresh check \ + check-am clean clean-aminfo clean-generic clean-libtool \ +- clean-multi clean-toolexeclibLTLIBRARIES ctags dist-info \ +- distclean distclean-compile distclean-generic distclean-hdr \ ++ clean-multi clean-noinstLTLIBRARIES \ ++ clean-toolexeclibLTLIBRARIES ctags dist-info distclean \ ++ distclean-compile distclean-generic distclean-hdr \ + distclean-libtool distclean-multi distclean-tags dvi dvi-am \ + html html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ diff --git a/SOURCES/gcc6-libsanitize-aarch64-va42.patch b/SOURCES/gcc6-libsanitize-aarch64-va42.patch new file mode 100644 index 0000000..72418df --- /dev/null +++ b/SOURCES/gcc6-libsanitize-aarch64-va42.patch @@ -0,0 +1,38 @@ +2015-01-22 Jakub Jelinek + + * sanitizer_common/sanitizer_platform.h + (SANITIZER_AARCH64_VMA): Set to 42. + (SANITIZER_CAN_USE_ALLOCATOR64): Set to 1 on __aarch64__ + if SANITIZER_WORDSIZE is 64. + (SANITIZER_MMAP_RANGE_SIZE): Define to 1ULL << 42 for + __aarch64__. + +--- libsanitizer/sanitizer_common/sanitizer_platform.h.jj 2015-11-23 13:29:55.000000000 +0100 ++++ libsanitizer/sanitizer_common/sanitizer_platform.h 2016-01-15 12:04:08.511206409 +0100 +@@ -82,7 +82,7 @@ + // VMA size definition for architecture that support multiple sizes. + // AArch64 has 3 VMA sizes: 39, 42 and 48. + #if !defined(SANITIZER_AARCH64_VMA) +-# define SANITIZER_AARCH64_VMA 39 ++# define SANITIZER_AARCH64_VMA 42 + #else + # if SANITIZER_AARCH64_VMA != 39 && SANITIZER_AARCH64_VMA != 42 + # error "invalid SANITIZER_AARCH64_VMA size" +@@ -95,7 +95,7 @@ + // For such platforms build this code with -DSANITIZER_CAN_USE_ALLOCATOR64=0 or + // change the definition of SANITIZER_CAN_USE_ALLOCATOR64 here. + #ifndef SANITIZER_CAN_USE_ALLOCATOR64 +-# if defined(__mips64) || defined(__aarch64__) ++# if defined(__mips64) + # define SANITIZER_CAN_USE_ALLOCATOR64 0 + # else + # define SANITIZER_CAN_USE_ALLOCATOR64 (SANITIZER_WORDSIZE == 64) +@@ -107,6 +107,8 @@ + // will still work but will consume more memory for TwoLevelByteMap. + #if defined(__mips__) + # define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL << 32, 1ULL << 40) ++#elif defined(__aarch64__) ++# define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL << 32, 1ULL << 42) + #else + # define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL << 32, 1ULL << 47) + #endif diff --git a/SOURCES/gcc6-libstdc++-compat.patch b/SOURCES/gcc6-libstdc++-compat.patch new file mode 100644 index 0000000..8d9d7c0 --- /dev/null +++ b/SOURCES/gcc6-libstdc++-compat.patch @@ -0,0 +1,8364 @@ +--- libstdc++-v3/config/locale/gnu/c_locale.cc.jj 2016-07-21 20:21:57.317924322 +0200 ++++ libstdc++-v3/config/locale/gnu/c_locale.cc 2016-07-22 11:37:16.381402838 +0200 +@@ -41,6 +41,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX98 + template<> + void + __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err, +@@ -172,6 +173,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + return __changed; + } ++#endif + + struct _CatalogIdComp + { +@@ -255,6 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + ++#ifndef _GLIBCXX_NONSHARED_CXX98 + namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -293,3 +296,4 @@ _GLIBCXX_END_NAMESPACE_VERSION + extern "C" void ldbl (void) __attribute__ ((alias (#dbl))) + _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct); + #endif // _GLIBCXX_LONG_DOUBLE_COMPAT ++#endif +--- libstdc++-v3/libsupc++/eh_exception.cc.jj 2016-07-21 20:21:57.370923683 +0200 ++++ libstdc++-v3/libsupc++/eh_exception.cc 2016-07-22 11:37:16.381402838 +0200 +@@ -26,6 +26,7 @@ + #include "exception" + #include + ++#ifndef _GLIBCXX_NONSHARED_CXX98 + std::exception::~exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT { } + + std::bad_exception::~bad_exception() _GLIBCXX_TXN_SAFE_DYN +@@ -50,6 +51,7 @@ std::bad_exception::what() const _GLIBCX + { + return "std::bad_exception"; + } ++#endif + + // Transactional clones for the destructors and what(). + // what() is effectively transaction_pure, but we do not want to annotate it +--- libstdc++-v3/acinclude.m4.jj 2016-07-21 20:21:57.335924105 +0200 ++++ libstdc++-v3/acinclude.m4 2016-07-22 11:37:16.382402826 +0200 +@@ -49,7 +49,7 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [ + # Keep these sync'd with the list in Makefile.am. The first provides an + # expandable list at autoconf time; the second provides an expandable list + # (i.e., shell variable) at configure time. +- m4_define([glibcxx_SUBDIRS],[include libsupc++ src src/c++98 src/c++11 src/filesystem doc po testsuite python]) ++ m4_define([glibcxx_SUBDIRS],[include libsupc++ src src/c++98 src/c++11 src/filesystem src/nonshared98 src/nonshared11 doc po testsuite python]) + SUBDIRS='glibcxx_SUBDIRS' + + # These need to be absolute paths, yet at the same time need to +--- libstdc++-v3/src/nonshared98/int128.S.jj 2016-07-22 11:37:16.383402813 +0200 ++++ libstdc++-v3/src/nonshared98/int128.S 2016-07-22 11:37:16.383402813 +0200 +@@ -0,0 +1,216 @@ ++/* Copyright (C) 2012-2016 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 ++ . */ ++ ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \ ++ /* || defined __i386__ || defined __powerpc__ || defined __s390__ */ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 ++ .weak SYM(_ZTIPKn) ++ SECTION1(_ZTIPKn) ++ ALIGN1 ++ .type SYM(_ZTIPKn), OBJECT ++ .size SYM(_ZTIPKn), SIZE1 ++_ZTIPKn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKn) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIn) ++ .weak SYM(_ZTIPn) ++ SECTION1(_ZTIPn) ++ ALIGN1 ++ .type SYM(_ZTIPn), OBJECT ++ .size SYM(_ZTIPn), SIZE1 ++_ZTIPn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPn) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIn) ++ .weak SYM(_ZTIn) ++ SECTION2(_ZTIn) ++ ALIGN2 ++ .type SYM(_ZTIn), OBJECT ++ .size SYM(_ZTIn), SIZE2 ++_ZTIn: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSn) ++ .weak SYM(_ZTIPKo) ++ SECTION1(_ZTIPKo) ++ ALIGN1 ++ .type SYM(_ZTIPKo), OBJECT ++ .size SYM(_ZTIPKo), SIZE1 ++_ZTIPKo: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKo) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIo) ++ .weak SYM(_ZTIPo) ++ SECTION1(_ZTIPo) ++ ALIGN1 ++ .type SYM(_ZTIPo), OBJECT ++ .size SYM(_ZTIPo), SIZE1 ++_ZTIPo: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPo) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIo) ++ .weak SYM(_ZTIo) ++ SECTION2(_ZTIo) ++ ALIGN2 ++ .type SYM(_ZTIo), OBJECT ++ .size SYM(_ZTIo), SIZE2 ++_ZTIo: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSo) ++#endif ++ .weak SYM(_ZTSPKn) ++ SECTION3(_ZTSPKn) ++ ALIGN3 ++ .type SYM(_ZTSPKn), OBJECT ++ .size SYM(_ZTSPKn), 4 ++_ZTSPKn: ++ STRING "PKn" ++ .weak SYM(_ZTSPn) ++ SECTION3(_ZTSPn) ++ ALIGN3 ++ .type SYM(_ZTSPn), OBJECT ++ .size SYM(_ZTSPn), 3 ++_ZTSPn: ++ STRING "Pn" ++ .weak SYM(_ZTSn) ++ SECTION3(_ZTSn) ++ ALIGN3 ++ .type SYM(_ZTSn), OBJECT ++ .size SYM(_ZTSn), 2 ++_ZTSn: ++ STRING "n" ++ .weak SYM(_ZTSPKo) ++ SECTION3(_ZTSPKo) ++ ALIGN3 ++ .type SYM(_ZTSPKo), OBJECT ++ .size SYM(_ZTSPKo), 4 ++_ZTSPKo: ++ STRING "PKo" ++ .weak SYM(_ZTSPo) ++ SECTION3(_ZTSPo) ++ ALIGN3 ++ .type SYM(_ZTSPo), OBJECT ++ .size SYM(_ZTSPo), 3 ++_ZTSPo: ++ STRING "Po" ++ .weak SYM(_ZTSo) ++ SECTION3(_ZTSo) ++ ALIGN3 ++ .type SYM(_ZTSo), OBJECT ++ .size SYM(_ZTSo), 2 ++_ZTSo: ++ STRING "o" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/pure.cc.jj 2016-07-22 11:37:16.383402813 +0200 ++++ libstdc++-v3/src/nonshared98/pure.cc 2016-07-22 11:37:16.383402813 +0200 +@@ -0,0 +1,51 @@ ++// -*- C++ -*- ++// Copyright (C) 2000-2016 Free Software Foundation ++// ++// 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 ++// . ++ ++#include ++#include ++#include "unwind-cxx.h" ++ ++#if _GLIBCXX_HOSTED ++#ifdef _GLIBCXX_HAVE_UNISTD_H ++# include ++# define writestr(str) write(2, str, sizeof(str) - 1) ++# ifdef __GNU_LIBRARY__ ++ /* Avoid forcing the library's meaning of `write' on the user program ++ by using the "internal" name (for use within the library). */ ++/*# define write(fd, buf, n) __write((fd), (buf), (n))*/ ++# endif ++#else ++# include ++# define writestr(str) std::fputs(str, stderr) ++#endif ++#else ++# define writestr(str) /* Empty */ ++#endif ++ ++extern "C" void ++__cxxabiv1::__cxa_deleted_virtual (void) ++{ ++ writestr ("deleted virtual method called\n"); ++ std::terminate (); ++} +--- libstdc++-v3/src/nonshared98/collate_members.cc.jj 2016-07-22 11:37:16.383402813 +0200 ++++ libstdc++-v3/src/nonshared98/collate_members.cc 2016-07-22 11:37:16.383402813 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/collate_members.cc" +--- libstdc++-v3/src/nonshared98/wlocale-inst.cc.jj 2016-07-22 11:37:16.384402801 +0200 ++++ libstdc++-v3/src/nonshared98/wlocale-inst.cc 2016-07-22 11:37:16.384402801 +0200 +@@ -0,0 +1,28 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "locale-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared98/hash_bytes.cc.jj 2016-07-22 11:37:16.384402801 +0200 ++++ libstdc++-v3/src/nonshared98/hash_bytes.cc 2016-07-22 11:37:16.384402801 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../libsupc++/hash_bytes.cc" +--- libstdc++-v3/src/nonshared98/compatibility-debug_list-2.cc.jj 2016-07-22 11:37:16.384402801 +0200 ++++ libstdc++-v3/src/nonshared98/compatibility-debug_list-2.cc 2016-07-22 11:37:16.384402801 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++98/compatibility-debug_list-2.cc" +--- libstdc++-v3/src/nonshared98/eh_catch.cc.jj 2016-07-22 11:37:16.384402801 +0200 ++++ libstdc++-v3/src/nonshared98/eh_catch.cc 2016-07-22 11:37:16.384402801 +0200 +@@ -0,0 +1,39 @@ ++// -*- C++ -*- Exception handling routines for catching. ++// Copyright (C) 2001-2016 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. ++// ++// 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 ++// . ++ ++#include ++#include "unwind-cxx.h" ++ ++using namespace __cxxabiv1; ++ ++int ++std::uncaught_exceptions() throw() ++{ ++#if __cpp_exceptions ++ __cxa_eh_globals *globals = __cxa_get_globals (); ++ return globals->uncaughtExceptions; ++#else ++ return 0; ++#endif ++} +--- libstdc++-v3/src/nonshared98/eh_exception.cc.jj 2016-07-22 11:37:16.385402788 +0200 ++++ libstdc++-v3/src/nonshared98/eh_exception.cc 2016-07-22 11:37:16.385402788 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 1994-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX98 1 ++#include "../libsupc++/eh_exception.cc" +--- libstdc++-v3/src/nonshared98/c++locale.cc.jj 2016-07-22 11:37:16.385402788 +0200 ++++ libstdc++-v3/src/nonshared98/c++locale.cc 2016-07-22 11:37:16.385402788 +0200 +@@ -0,0 +1,33 @@ ++// Copyright (C) 2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX98 1 ++#include "../c++98/c++locale.cc" ++asm (".hidden _ZNKSt8Catalogs6_M_getEi"); ++asm (".hidden _ZNSt8Catalogs6_M_addEPKcSt6locale"); ++asm (".hidden _ZNSt8Catalogs8_M_eraseEi"); ++asm (".hidden _ZNSt8CatalogsD1Ev"); ++asm (".hidden _ZNSt8CatalogsD2Ev"); ++asm (".hidden _ZSt12get_catalogsv"); ++asm (".hidden _ZNSt6vectorIPSt12Catalog_infoSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_"); ++asm (".hidden _ZN9__gnu_cxx13__scoped_lockD1Ev"); ++asm (".hidden _ZN9__gnu_cxx13__scoped_lockD2Ev"); +--- libstdc++-v3/src/nonshared98/eh_tm.cc.jj 2016-07-22 11:37:16.385402788 +0200 ++++ libstdc++-v3/src/nonshared98/eh_tm.cc 2016-07-22 11:37:16.385402788 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../libsupc++/eh_tm.cc" +--- libstdc++-v3/src/nonshared98/numeric_members.cc.jj 2016-07-22 11:37:16.385402788 +0200 ++++ libstdc++-v3/src/nonshared98/numeric_members.cc 2016-07-22 11:37:16.385402788 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/numeric_members.cc" +--- libstdc++-v3/src/nonshared98/locale_facets.cc.jj 2016-07-22 11:37:16.386402776 +0200 ++++ libstdc++-v3/src/nonshared98/locale_facets.cc 2016-07-22 11:50:17.667904937 +0200 +@@ -0,0 +1,29 @@ ++// Copyright (C) 1997-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++98/locale_facets.cc" ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZSt22__verify_grouping_implPKcjS0_j"); ++#else ++asm (".hidden _ZSt22__verify_grouping_implPKcmS0_m"); ++#endif +--- libstdc++-v3/src/nonshared98/sstream-inst.cc.jj 2016-07-22 11:37:16.386402776 +0200 ++++ libstdc++-v3/src/nonshared98/sstream-inst.cc 2016-07-22 11:37:16.386402776 +0200 +@@ -0,0 +1,39 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++#endif ++ ++} // namespace +--- libstdc++-v3/src/nonshared98/list-aux-2.cc.jj 2016-07-22 11:37:16.386402776 +0200 ++++ libstdc++-v3/src/nonshared98/list-aux-2.cc 2016-07-22 11:37:16.386402776 +0200 +@@ -0,0 +1,56 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++extern "C" ++{ ++ extern void _ZNSt15_List_node_base8transferEPS_S0_(void *f, void *l) throw(); ++ ++ void ++ _ZNSt15_List_node_base11_M_transferEPS_S0_(void *f, void *l) throw() ++ { ++ _ZNSt15_List_node_base8transferEPS_S0_(f, l); ++ } ++ ++ extern void _ZNSt15_List_node_base7reverseEv() throw(); ++ ++ void ++ _ZNSt15_List_node_base10_M_reverseEv() throw() ++ { ++ _ZNSt15_List_node_base7reverseEv(); ++ } ++ ++ extern void _ZNSt15_List_node_base4hookEPS_(void *p) throw(); ++ ++ void ++ _ZNSt15_List_node_base7_M_hookEPS_(void *p) throw() ++ { ++ _ZNSt15_List_node_base4hookEPS_(p); ++ } ++ ++ extern void _ZNSt15_List_node_base6unhookEv() throw(); ++ ++ void ++ _ZNSt15_List_node_base9_M_unhookEv() throw() ++ { ++ _ZNSt15_List_node_base6unhookEv(); ++ } ++} +--- libstdc++-v3/src/nonshared98/nullptr-rtti.S.jj 2016-07-22 11:37:16.387402763 +0200 ++++ libstdc++-v3/src/nonshared98/nullptr-rtti.S 2016-07-22 11:37:16.387402763 +0200 +@@ -0,0 +1,166 @@ ++/* Copyright (C) 2012-2016 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 ++ . */ ++ ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \ ++ || defined __i386__ || defined __powerpc__ || defined __s390__ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++ .weak SYM(_ZTIPKDn) ++ SECTION1(_ZTIPKDn) ++ ALIGN1 ++ .type SYM(_ZTIPKDn), OBJECT ++ .size SYM(_ZTIPKDn), SIZE1 ++_ZTIPKDn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDn) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDn) ++ .weak SYM(_ZTIPDn) ++ SECTION1(_ZTIPDn) ++ ALIGN1 ++ .type SYM(_ZTIPDn), OBJECT ++ .size SYM(_ZTIPDn), SIZE1 ++_ZTIPDn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDn) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDn) ++ .weak SYM(_ZTIDn) ++ SECTION2(_ZTIDn) ++ ALIGN2 ++ .type SYM(_ZTIDn), OBJECT ++ .size SYM(_ZTIDn), SIZE2 ++_ZTIDn: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDn) ++ .weak SYM(_ZTSPKDn) ++ .hidden SYM(_ZTSPKDn) ++ SECTION3(_ZTSPKDn) ++ ALIGN3 ++ .type SYM(_ZTSPKDn), OBJECT ++ .size SYM(_ZTSPKDn), 5 ++_ZTSPKDn: ++ STRING "PKDn" ++ .weak SYM(_ZTSPDn) ++ .hidden SYM(_ZTSPDn) ++ SECTION3(_ZTSPDn) ++ ALIGN3 ++ .type SYM(_ZTSPDn), OBJECT ++ .size SYM(_ZTSPDn), 4 ++_ZTSPDn: ++ STRING "PDn" ++ .weak SYM(_ZTSDn) ++ .hidden SYM(_ZTSDn) ++ SECTION3(_ZTSDn) ++ ALIGN3 ++ .type SYM(_ZTSDn), OBJECT ++ .size SYM(_ZTSDn), 3 ++_ZTSDn: ++ STRING "Dn" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/eh_alloc.cc.jj 2016-07-22 11:37:16.387402763 +0200 ++++ libstdc++-v3/src/nonshared98/eh_alloc.cc 2016-07-22 11:37:16.387402763 +0200 +@@ -0,0 +1,178 @@ ++// -*- C++ -*- Allocate exception objects. ++// Copyright (C) 2001-2016 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. ++// ++// 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 ++// . ++ ++// This is derived from the C++ ABI for IA-64. Where we diverge ++// for cross-architecture compatibility are noted with "@@@". ++ ++#include ++#include ++#if _GLIBCXX_HOSTED ++#include ++#endif ++#include ++#include ++#include "unwind-cxx.h" ++#include ++ ++#if _GLIBCXX_HOSTED ++using std::free; ++using std::malloc; ++using std::memset; ++#else ++// In a freestanding environment, these functions may not be available ++// -- but for now, we assume that they are. ++extern "C" void *malloc (std::size_t); ++extern "C" void free(void *); ++extern "C" void *memset (void *, int, std::size_t); ++#endif ++ ++using namespace __cxxabiv1; ++ ++// ??? How to control these parameters. ++ ++// Guess from the size of basic types how large a buffer is reasonable. ++// Note that the basic c++ exception header has 13 pointers and 2 ints, ++// so on a system with PSImode pointers we're talking about 56 bytes ++// just for overhead. ++ ++#if INT_MAX == 32767 ++# define EMERGENCY_OBJ_SIZE 128 ++# define EMERGENCY_OBJ_COUNT 16 ++#elif LONG_MAX == 2147483647 ++# define EMERGENCY_OBJ_SIZE 512 ++# define EMERGENCY_OBJ_COUNT 32 ++#else ++# define EMERGENCY_OBJ_SIZE 1024 ++# define EMERGENCY_OBJ_COUNT 64 ++#endif ++ ++#ifndef __GTHREADS ++# undef EMERGENCY_OBJ_COUNT ++# define EMERGENCY_OBJ_COUNT 4 ++#endif ++ ++#if INT_MAX == 32767 || EMERGENCY_OBJ_COUNT <= 32 ++typedef unsigned int bitmask_type; ++#else ++typedef unsigned long bitmask_type; ++#endif ++ ++ ++typedef char one_buffer[EMERGENCY_OBJ_SIZE] __attribute__((aligned)); ++ ++static __cxa_dependent_exception dependents_buffer[EMERGENCY_OBJ_COUNT]; ++static bitmask_type dependents_used; ++ ++namespace ++{ ++ // A single mutex controlling emergency allocations. ++ __gnu_cxx::__mutex emergency_mutex; ++} ++ ++extern "C" __cxa_dependent_exception* ++__cxxabiv1::__cxa_allocate_dependent_exception() _GLIBCXX_NOTHROW ++{ ++ __cxa_dependent_exception *ret; ++ ++ ret = static_cast<__cxa_dependent_exception*> ++ (malloc (sizeof (__cxa_dependent_exception))); ++ ++ if (!ret) ++ { ++ __gnu_cxx::__scoped_lock sentry(emergency_mutex); ++ ++ bitmask_type used = dependents_used; ++ unsigned int which = 0; ++ ++ while (used & 1) ++ { ++ used >>= 1; ++ if (++which >= EMERGENCY_OBJ_COUNT) ++ goto failed; ++ } ++ ++ dependents_used |= (bitmask_type)1 << which; ++ ret = &dependents_buffer[which]; ++ ++ failed:; ++ ++ if (!ret) ++ std::terminate (); ++ } ++ ++ // We have an uncaught exception as soon as we allocate memory. This ++ // yields uncaught_exception() true during the copy-constructor that ++ // initializes the exception object. See Issue 475. ++ __cxa_eh_globals *globals = __cxa_get_globals (); ++ globals->uncaughtExceptions += 1; ++ ++ memset (ret, 0, sizeof (__cxa_dependent_exception)); ++ ++ return ret; ++} ++ ++ ++extern "C" void ++__cxxabiv1::__cxa_free_dependent_exception ++ (__cxa_dependent_exception *vptr) _GLIBCXX_NOTHROW ++{ ++ char *base = (char *) dependents_buffer; ++ char *ptr = (char *) vptr; ++ if (ptr >= base ++ && ptr < base + sizeof (dependents_buffer)) ++ { ++ const unsigned int which ++ = (unsigned) (ptr - base) / sizeof (__cxa_dependent_exception); ++ ++ __gnu_cxx::__scoped_lock sentry(emergency_mutex); ++ dependents_used &= ~((bitmask_type)1 << which); ++ } ++ else ++ free (vptr); ++} ++ ++namespace __gnu_cxx ++{ ++ void ++ __freeres() ++ { ++ } ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); +--- libstdc++-v3/src/nonshared98/int12848.S.jj 2016-07-22 11:37:16.387402763 +0200 ++++ libstdc++-v3/src/nonshared98/int12848.S 2016-07-22 11:37:16.387402763 +0200 +@@ -0,0 +1,24 @@ ++/* Copyright (C) 2012-2016 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 ++ . */ ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "int128.S" +--- libstdc++-v3/src/nonshared98/snprintf_lite-inst.cc.jj 2016-07-22 11:37:16.387402763 +0200 ++++ libstdc++-v3/src/nonshared98/snprintf_lite-inst.cc 2016-07-22 11:37:16.387402763 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ template ++ int ++ __int_to_char(char*, ++#ifdef _GLIBCXX_USE_LONG_LONG ++ unsigned long long, ++#else ++ unsigned long, ++#endif ++ const char*, ios_base::fmtflags, bool); ++} ++#ifdef _GLIBCXX_USE_LONG_LONG ++asm (".hidden _ZSt13__int_to_charIcyEiPT_T0_PKS0_St13_Ios_Fmtflagsb"); ++#else ++asm (".hidden _ZSt13__int_to_charIcmEiPT_T0_PKS0_St13_Ios_Fmtflagsb"); ++#endif +--- libstdc++-v3/src/nonshared98/messages_members.cc.jj 2016-07-22 11:37:16.388402751 +0200 ++++ libstdc++-v3/src/nonshared98/messages_members.cc 2016-07-22 11:37:16.388402751 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/messages_members.cc" +--- libstdc++-v3/src/nonshared98/monetary_members.cc.jj 2016-07-22 11:37:16.388402751 +0200 ++++ libstdc++-v3/src/nonshared98/monetary_members.cc 2016-07-22 11:37:16.388402751 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/monetary_members.cc" +--- libstdc++-v3/src/nonshared98/Makefile.am.jj 2016-07-22 11:37:16.388402751 +0200 ++++ libstdc++-v3/src/nonshared98/Makefile.am 2016-07-22 11:37:16.388402751 +0200 +@@ -0,0 +1,155 @@ ++## Makefile for the C++03 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2016 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## 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. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++98 runtime. ++noinst_LTLIBRARIES = libnonshared98convenience44.la \ ++ libnonshared98convenience48.la ++ ++headers = ++ ++# Source files linked in via configuration/make substitution for a ++# particular host, but with ad hoc naming rules. ++host_sources_extra = \ ++ basic_file.cc c++locale.cc \ ++ ${ldbl_compat_sources} ${parallel_sources} ++ ++parallel_sources44 = list_associated-2.cc ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = \ ++ snprintf_lite-inst.cc \ ++ misc-inst.cc ++inst_sources44 = \ ++ locale-inst.cc \ ++ wlocale-inst.cc \ ++ sstream-inst.cc \ ++ streambuf-inst.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++inst_sources44 = ++endif ++ ++# Sources present in the src directory, always present. ++sources = \ ++ collate_members.cc \ ++ float128.S \ ++ istream-string.cc \ ++ locale.cc \ ++ locale_facets.cc \ ++ c++locale.cc \ ++ messages_members.cc \ ++ monetary_members.cc \ ++ numeric_members.cc \ ++ eh_exception.cc \ ++ eh_catch.cc \ ++ ${inst_sources} ++sources44 = \ ++ list-aux-2.cc \ ++ decimal-rtti.S \ ++ nullptr-rtti.S \ ++ int128.S \ ++ compatibility-debug_list-2.cc \ ++ list.cc \ ++ hash_bytes.cc \ ++ stdexcept.cc \ ++ eh_alloc.cc \ ++ eh_tm.cc \ ++ pure.cc \ ++ ${parallel_sources44} \ ++ ${inst_sources44} ++sources48 = int12848.S \ ++ eh_alloc48.cc ++ ++vpath % $(top_srcdir)/src/nonshared98 ++vpath % $(top_srcdir) ++ ++libnonshared98convenience44_la_SOURCES = $(sources) $(sources44) ++libnonshared98convenience48_la_SOURCES = $(sources) $(sources48) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++98 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++collate_members.lo: collate_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++messages_members.lo: messages_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++monetary_members.lo: monetary_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members.lo: numeric_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++# Use special rules to compile with -fimplicit-templates. ++c++locale.lo: c++locale.cc ++ $(LTCXXCOMPILE) -I. -fimplicit-templates -c $< ++c++locale.o: c++locale.cc ++ $(CXXCOMPILE) -I. -fimplicit-templates -c $< +--- libstdc++-v3/src/nonshared98/Makefile.in.jj 2016-07-22 11:37:16.389402738 +0200 ++++ libstdc++-v3/src/nonshared98/Makefile.in 2016-07-22 11:37:16.389402738 +0200 +@@ -0,0 +1,750 @@ ++# Makefile.in generated by automake 1.11.6 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software ++# Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__make_dryrun = \ ++ { \ ++ am__dry=no; \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ ++ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ ++ *) \ ++ for am__flg in $$MAKEFLAGS; do \ ++ case $$am__flg in \ ++ *=*|--*) ;; \ ++ *n*) am__dry=yes; break;; \ ++ esac; \ ++ done;; \ ++ esac; \ ++ test $$am__dry = yes; \ ++ } ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ ++ $(srcdir)/Makefile.am ++subdir = src/nonshared98 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++libnonshared98convenience44_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_1 = snprintf_lite-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ misc-inst.lo ++am__objects_2 = collate_members.lo float128.lo istream-string.lo \ ++ locale.lo locale_facets.lo c++locale.lo messages_members.lo \ ++ monetary_members.lo numeric_members.lo eh_exception.lo \ ++ eh_catch.lo $(am__objects_1) ++am__objects_3 = list_associated-2.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = locale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.lo sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.lo ++am__objects_5 = list-aux-2.lo decimal-rtti.lo nullptr-rtti.lo \ ++ int128.lo compatibility-debug_list-2.lo list.lo hash_bytes.lo \ ++ stdexcept.lo eh_alloc.lo eh_tm.lo pure.lo $(am__objects_3) \ ++ $(am__objects_4) ++am_libnonshared98convenience44_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_5) ++libnonshared98convenience44_la_OBJECTS = \ ++ $(am_libnonshared98convenience44_la_OBJECTS) ++libnonshared98convenience48_la_LIBADD = ++am__objects_6 = int12848.lo eh_alloc48.lo ++am_libnonshared98convenience48_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_6) ++libnonshared98convenience48_la_OBJECTS = \ ++ $(am_libnonshared98convenience48_la_OBJECTS) ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) ++LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ ++ $(LDFLAGS) -o $@ ++SOURCES = $(libnonshared98convenience44_la_SOURCES) \ ++ $(libnonshared98convenience48_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++AMTAR = @AMTAR@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_FLAGS = @HWCAP_FLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++WERROR = @WERROR@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_FLAGS) -frandom-seed=$@ ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++98 runtime. ++noinst_LTLIBRARIES = libnonshared98convenience44.la \ ++ libnonshared98convenience48.la ++ ++headers = ++ ++# Source files linked in via configuration/make substitution for a ++# particular host, but with ad hoc naming rules. ++host_sources_extra = \ ++ basic_file.cc c++locale.cc \ ++ ${ldbl_compat_sources} ${parallel_sources} ++ ++parallel_sources44 = list_associated-2.cc ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ snprintf_lite-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ misc-inst.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources44 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources44 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.cc ++ ++ ++# Sources present in the src directory, always present. ++sources = \ ++ collate_members.cc \ ++ float128.S \ ++ istream-string.cc \ ++ locale.cc \ ++ locale_facets.cc \ ++ c++locale.cc \ ++ messages_members.cc \ ++ monetary_members.cc \ ++ numeric_members.cc \ ++ eh_exception.cc \ ++ eh_catch.cc \ ++ ${inst_sources} ++ ++sources44 = \ ++ list-aux-2.cc \ ++ decimal-rtti.S \ ++ nullptr-rtti.S \ ++ int128.S \ ++ compatibility-debug_list-2.cc \ ++ list.cc \ ++ hash_bytes.cc \ ++ stdexcept.cc \ ++ eh_alloc.cc \ ++ eh_tm.cc \ ++ pure.cc \ ++ ${parallel_sources44} \ ++ ${inst_sources44} ++ ++sources48 = int12848.S \ ++ eh_alloc48.cc ++ ++libnonshared98convenience44_la_SOURCES = $(sources) $(sources44) ++libnonshared98convenience48_la_SOURCES = $(sources) $(sources48) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++98 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .S .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared98/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared98/Makefile ++.PRECIOUS: Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am: ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ ++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ ++ test "$$dir" != "$$p" || dir=.; \ ++ echo "rm -f \"$${dir}/so_locations\""; \ ++ rm -f "$${dir}/so_locations"; \ ++ done ++libnonshared98convenience44.la: $(libnonshared98convenience44_la_OBJECTS) $(libnonshared98convenience44_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience44_la_DEPENDENCIES) ++ $(CXXLINK) $(libnonshared98convenience44_la_OBJECTS) $(libnonshared98convenience44_la_LIBADD) $(LIBS) ++libnonshared98convenience48.la: $(libnonshared98convenience48_la_OBJECTS) $(libnonshared98convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience48_la_DEPENDENCIES) ++ $(CXXLINK) $(libnonshared98convenience48_la_OBJECTS) $(libnonshared98convenience48_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.S.o: ++ $(CPPASCOMPILE) -c -o $@ $< ++ ++.S.obj: ++ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.S.lo: ++ $(LTCPPASCOMPILE) -c -o $@ $< ++ ++.cc.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ mkid -fID $$unique ++tags: TAGS ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ set x; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: CTAGS ++CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ pdf pdf-am ps ps-am tags uninstall uninstall-am ++ ++ ++vpath % $(top_srcdir)/src/nonshared98 ++vpath % $(top_srcdir) ++ ++collate_members.lo: collate_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++messages_members.lo: messages_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++monetary_members.lo: monetary_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members.lo: numeric_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++# Use special rules to compile with -fimplicit-templates. ++c++locale.lo: c++locale.cc ++ $(LTCXXCOMPILE) -I. -fimplicit-templates -c $< ++c++locale.o: c++locale.cc ++ $(CXXCOMPILE) -I. -fimplicit-templates -c $< ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +--- libstdc++-v3/src/nonshared98/misc-inst.cc.jj 2016-07-22 11:37:16.389402738 +0200 ++++ libstdc++-v3/src/nonshared98/misc-inst.cc 2016-07-22 11:37:16.389402738 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 1997-2016 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 ++// . ++ ++#include "../c++98/misc-inst.cc" ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++ +--- libstdc++-v3/src/nonshared98/decimal-rtti.S.jj 2016-07-22 11:37:16.390402726 +0200 ++++ libstdc++-v3/src/nonshared98/decimal-rtti.S 2016-07-22 11:37:16.390402726 +0200 +@@ -0,0 +1,274 @@ ++/* Copyright (C) 2012-2016 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 ++ . */ ++ ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \ ++ || defined __i386__ || defined __powerpc__ || defined __s390__ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++ .weak SYM(_ZTIPKDd) ++ SECTION1(_ZTIPKDd) ++ ALIGN1 ++ .type SYM(_ZTIPKDd), OBJECT ++ .size SYM(_ZTIPKDd), SIZE1 ++_ZTIPKDd: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDd) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDd) ++ .weak SYM(_ZTIPDd) ++ SECTION1(_ZTIPDd) ++ ALIGN1 ++ .type SYM(_ZTIPDd), OBJECT ++ .size SYM(_ZTIPDd), SIZE1 ++_ZTIPDd: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDd) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDd) ++ .weak SYM(_ZTIDd) ++ SECTION2(_ZTIDd) ++ ALIGN2 ++ .type SYM(_ZTIDd), OBJECT ++ .size SYM(_ZTIDd), SIZE2 ++_ZTIDd: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDd) ++ .weak SYM(_ZTIPKDe) ++ SECTION1(_ZTIPKDe) ++ ALIGN1 ++ .type SYM(_ZTIPKDe), OBJECT ++ .size SYM(_ZTIPKDe), SIZE1 ++_ZTIPKDe: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDe) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDe) ++ .weak SYM(_ZTIPDe) ++ SECTION1(_ZTIPDe) ++ ALIGN1 ++ .type SYM(_ZTIPDe), OBJECT ++ .size SYM(_ZTIPDe), SIZE1 ++_ZTIPDe: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDe) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDe) ++ .weak SYM(_ZTIDe) ++ SECTION2(_ZTIDe) ++ ALIGN2 ++ .type SYM(_ZTIDe), OBJECT ++ .size SYM(_ZTIDe), SIZE2 ++_ZTIDe: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDe) ++ .weak SYM(_ZTIPKDf) ++ SECTION1(_ZTIPKDf) ++ ALIGN1 ++ .type SYM(_ZTIPKDf), OBJECT ++ .size SYM(_ZTIPKDf), SIZE1 ++_ZTIPKDf: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDf) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDf) ++ .weak SYM(_ZTIPDf) ++ SECTION1(_ZTIPDf) ++ ALIGN1 ++ .type SYM(_ZTIPDf), OBJECT ++ .size SYM(_ZTIPDf), SIZE1 ++_ZTIPDf: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDf) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDf) ++ .weak SYM(_ZTIDf) ++ SECTION2(_ZTIDf) ++ ALIGN2 ++ .type SYM(_ZTIDf), OBJECT ++ .size SYM(_ZTIDf), SIZE2 ++_ZTIDf: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDf) ++ .weak SYM(_ZTSPKDd) ++ .hidden SYM(_ZTSPKDd) ++ SECTION3(_ZTSPKDd) ++ ALIGN3 ++ .type SYM(_ZTSPKDd), OBJECT ++ .size SYM(_ZTSPKDd), 5 ++_ZTSPKDd: ++ STRING "PKDd" ++ .weak SYM(_ZTSPDd) ++ .hidden SYM(_ZTSPDd) ++ SECTION3(_ZTSPDd) ++ ALIGN3 ++ .type SYM(_ZTSPDd), OBJECT ++ .size SYM(_ZTSPDd), 4 ++_ZTSPDd: ++ STRING "PDd" ++ .weak SYM(_ZTSDd) ++ .hidden SYM(_ZTSDd) ++ SECTION3(_ZTSDd) ++ ALIGN3 ++ .type SYM(_ZTSDd), OBJECT ++ .size SYM(_ZTSDd), 3 ++_ZTSDd: ++ STRING "Dd" ++ .weak SYM(_ZTSPKDe) ++ .hidden SYM(_ZTSPKDe) ++ SECTION3(_ZTSPKDe) ++ ALIGN3 ++ .type SYM(_ZTSPKDe), OBJECT ++ .size SYM(_ZTSPKDe), 5 ++_ZTSPKDe: ++ STRING "PKDe" ++ .weak SYM(_ZTSPDe) ++ .hidden SYM(_ZTSPDe) ++ SECTION3(_ZTSPDe) ++ ALIGN3 ++ .type SYM(_ZTSPDe), OBJECT ++ .size SYM(_ZTSPDe), 4 ++_ZTSPDe: ++ STRING "PDe" ++ .weak SYM(_ZTSDe) ++ .hidden SYM(_ZTSDe) ++ SECTION3(_ZTSDe) ++ ALIGN3 ++ .type SYM(_ZTSDe), OBJECT ++ .size SYM(_ZTSDe), 3 ++_ZTSDe: ++ STRING "De" ++ .weak SYM(_ZTSPKDf) ++ .hidden SYM(_ZTSPKDf) ++ SECTION3(_ZTSPKDf) ++ ALIGN3 ++ .type SYM(_ZTSPKDf), OBJECT ++ .size SYM(_ZTSPKDf), 5 ++_ZTSPKDf: ++ STRING "PKDf" ++ .weak SYM(_ZTSPDf) ++ .hidden SYM(_ZTSPDf) ++ SECTION3(_ZTSPDf) ++ ALIGN3 ++ .type SYM(_ZTSPDf), OBJECT ++ .size SYM(_ZTSPDf), 4 ++_ZTSPDf: ++ STRING "PDf" ++ .weak SYM(_ZTSDf) ++ .hidden SYM(_ZTSDf) ++ SECTION3(_ZTSDf) ++ ALIGN3 ++ .type SYM(_ZTSDf), OBJECT ++ .size SYM(_ZTSDf), 3 ++_ZTSDf: ++ STRING "Df" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/eh_alloc48.cc.jj 2016-07-22 11:37:16.390402726 +0200 ++++ libstdc++-v3/src/nonshared98/eh_alloc48.cc 2016-07-22 11:37:16.390402726 +0200 +@@ -0,0 +1,36 @@ ++// -*- C++ -*- Allocate exception objects. ++// Copyright (C) 2001-2016 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. ++// ++// 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 ++// . ++ ++// This is derived from the C++ ABI for IA-64. Where we diverge ++// for cross-architecture compatibility are noted with "@@@". ++ ++#include ++ ++namespace __gnu_cxx ++{ ++ void ++ __freeres() ++ { ++ } ++} +--- libstdc++-v3/src/nonshared98/list.cc.jj 2016-07-22 11:37:16.390402726 +0200 ++++ libstdc++-v3/src/nonshared98/list.cc 2016-07-22 11:37:16.390402726 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++98/list.cc" +--- libstdc++-v3/src/nonshared98/stdexcept.cc.jj 2016-07-22 11:37:16.391402713 +0200 ++++ libstdc++-v3/src/nonshared98/stdexcept.cc 2016-07-22 11:37:16.391402713 +0200 +@@ -0,0 +1,44 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#ifdef __ARM_EABI__ ++#define RET const void * ++#else ++#define RET void ++#endif ++#define BASE_DTOR(name) \ ++extern RET _ZN##name##D1Ev (const void *t); \ ++RET _ZN##name##D2Ev (const void *t) \ ++{ \ ++ return _ZN##name##D1Ev (t); \ ++} \ ++ ++extern "C" ++{ ++ BASE_DTOR (St11range_error) ++ BASE_DTOR (St12domain_error) ++ BASE_DTOR (St12length_error) ++ BASE_DTOR (St12out_of_range) ++ BASE_DTOR (St14overflow_error) ++ BASE_DTOR (St15underflow_error) ++ BASE_DTOR (St16invalid_argument) ++} +--- libstdc++-v3/src/nonshared98/float128.S.jj 2016-07-22 11:37:16.391402713 +0200 ++++ libstdc++-v3/src/nonshared98/float128.S 2016-07-22 11:37:16.391402713 +0200 +@@ -0,0 +1,162 @@ ++/* Copyright (C) 2012-2016 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 ++ . */ ++ ++#if defined __x86_64__ || defined __i386__ || defined __ia64__ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++ .weak SYM(_ZTIPKg) ++ SECTION1(_ZTIPKg) ++ ALIGN1 ++ .type SYM(_ZTIPKg), OBJECT ++ .size SYM(_ZTIPKg), SIZE1 ++_ZTIPKg: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKg) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIg) ++ .weak SYM(_ZTIPg) ++ SECTION1(_ZTIPg) ++ ALIGN1 ++ .type SYM(_ZTIPg), OBJECT ++ .size SYM(_ZTIPg), SIZE1 ++_ZTIPg: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPg) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIg) ++ .weak SYM(_ZTIg) ++ SECTION2(_ZTIg) ++ ALIGN2 ++ .type SYM(_ZTIg), OBJECT ++ .size SYM(_ZTIg), SIZE2 ++_ZTIg: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSg) ++ .weak SYM(_ZTSPKg) ++ SECTION3(_ZTSPKg) ++ ALIGN3 ++ .type SYM(_ZTSPKg), OBJECT ++ .size SYM(_ZTSPKg), 4 ++_ZTSPKg: ++ STRING "PKg" ++ .weak SYM(_ZTSPg) ++ SECTION3(_ZTSPg) ++ ALIGN3 ++ .type SYM(_ZTSPg), OBJECT ++ .size SYM(_ZTSPg), 3 ++_ZTSPg: ++ STRING "Pg" ++ .weak SYM(_ZTSg) ++ SECTION3(_ZTSg) ++ ALIGN3 ++ .type SYM(_ZTSg), OBJECT ++ .size SYM(_ZTSg), 2 ++_ZTSg: ++ STRING "g" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/locale-inst.cc.jj 2016-07-22 11:37:16.391402713 +0200 ++++ libstdc++-v3/src/nonshared98/locale-inst.cc 2016-07-22 11:37:16.391402713 +0200 +@@ -0,0 +1,39 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++ ++#ifndef C ++# define C char ++#endif ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ typedef time_get S; ++ ++ template ++ S::iter_type S::_M_extract_wday_or_month(iter_type, iter_type, int&, ++ const C **, size_t, ios_base&, ++ ios_base::iostate&) const; ++ ++} +--- libstdc++-v3/src/nonshared98/istream-string.cc.jj 2016-07-22 11:37:16.391402713 +0200 ++++ libstdc++-v3/src/nonshared98/istream-string.cc 2016-07-22 11:37:16.391402713 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++98/istream-string.cc" +--- libstdc++-v3/src/nonshared98/streambuf-inst.cc.jj 2016-07-22 11:37:16.392402701 +0200 ++++ libstdc++-v3/src/nonshared98/streambuf-inst.cc 2016-07-22 11:37:16.392402701 +0200 +@@ -0,0 +1,36 @@ ++// Copyright (C) 1997-2016 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 ++// . ++ ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ template void basic_streambuf::__safe_gbump(std::streamsize); ++ template void basic_streambuf::__safe_pbump(std::streamsize); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_streambuf::__safe_gbump(std::streamsize); ++ template void basic_streambuf::__safe_pbump(std::streamsize); ++#endif ++ ++} +--- libstdc++-v3/src/nonshared98/list_associated-2.cc.jj 2016-07-22 11:37:16.392402701 +0200 ++++ libstdc++-v3/src/nonshared98/list_associated-2.cc 2016-07-22 11:37:16.392402701 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++98/list_associated-2.cc" +--- libstdc++-v3/src/nonshared98/locale.cc.jj 2016-07-22 11:37:16.392402701 +0200 ++++ libstdc++-v3/src/nonshared98/locale.cc 2016-07-22 11:37:16.392402701 +0200 +@@ -0,0 +1,84 @@ ++// Copyright (C) 1997-2016 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 ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++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", ++ "LC_PAPER", ++ "LC_NAME", ++ "LC_ADDRESS", ++ "LC_TELEPHONE", ++ "LC_MEASUREMENT", ++ "LC_IDENTIFICATION" ++ }; ++ ++_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_DEFAULT_ABI_TAG ++ string ++ locale::name() const ++ { ++ string __ret; ++ if (!_M_impl->_M_names[0]) ++ __ret = '*'; ++ else if (_M_impl->_M_check_same_name()) ++ __ret = _M_impl->_M_names[0]; ++ else ++ { ++ __ret.reserve(128); ++ __ret += _S_categories[0]; ++ __ret += '='; ++ __ret += _M_impl->_M_names[0]; ++ for (size_t __i = 1; __i < _S_categories_size; ++__i) ++ { ++ __ret += ';'; ++ __ret += _S_categories[__i]; ++ __ret += '='; ++ __ret += _M_impl->_M_names[__i]; ++ } ++ } ++ return __ret; ++ } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++asm (".hidden _ZNSt6locale13_S_categoriesE"); +--- libstdc++-v3/src/nonshared11/eh_aux_runtime.cc.jj 2016-07-22 11:37:16.392402701 +0200 ++++ libstdc++-v3/src/nonshared11/eh_aux_runtime.cc 2016-07-22 11:37:16.392402701 +0200 +@@ -0,0 +1,38 @@ ++// -*- C++ -*- Common throw conditions. ++// Copyright (C) 1994-2016 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. ++// ++// 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 ++// . ++ ++#include "typeinfo" ++#include "exception" ++#include "new" ++#include ++#include "unwind-cxx.h" ++#include ++ ++extern "C" void ++__cxxabiv1::__cxa_throw_bad_array_new_length () ++{ _GLIBCXX_THROW_OR_ABORT(std::bad_array_new_length()); } ++ ++//extern "C" void ++//__cxxabiv1::__cxa_throw_bad_array_length () ++//{ _GLIBCXX_THROW_OR_ABORT(std::bad_array_length()); } +--- libstdc++-v3/src/nonshared11/thread48.cc.jj 2016-07-22 11:37:16.393402688 +0200 ++++ libstdc++-v3/src/nonshared11/thread48.cc 2016-07-22 11:37:16.393402688 +0200 +@@ -0,0 +1,28 @@ ++// Copyright (C) 2008-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_44 ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/thread.cc" ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); +--- libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc.jj 2016-07-22 11:37:16.393402688 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc 2016-07-22 11:37:16.393402688 +0200 +@@ -0,0 +1,36 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cxx11-locale-inst.cc" ++asm (".hidden _ZNKSt11__use_cacheISt16__numpunct_cacheIcEEclERKSt6locale"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv"); ++asm (".hidden _ZNKSt5ctypeIcE5widenEPKcS2_Pc"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE5equalERKS2_"); ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc"); ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc"); +--- libstdc++-v3/src/nonshared11/shared_ptr44.cc.jj 2016-07-22 11:37:16.393402688 +0200 ++++ libstdc++-v3/src/nonshared11/shared_ptr44.cc 2016-07-22 11:37:16.393402688 +0200 +@@ -0,0 +1,43 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/shared_ptr.cc" ++asm (".hidden _ZTSSt12bad_weak_ptr"); ++asm (".hidden _ZGVZNSt12_GLOBAL__N_19get_mutexEhE1m"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZNSt12_GLOBAL__N_19get_mutexEh"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZZNSt12_GLOBAL__N_19get_mutexEhE1m"); +--- libstdc++-v3/src/nonshared11/functional.cc.jj 2016-07-22 11:37:16.393402688 +0200 ++++ libstdc++-v3/src/nonshared11/functional.cc 2016-07-22 11:37:16.393402688 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/functional.cc" ++asm (".hidden _ZTSSt17bad_function_call"); +--- libstdc++-v3/src/nonshared11/ostream-inst.cc.jj 2016-07-22 11:37:16.394402676 +0200 ++++ libstdc++-v3/src/nonshared11/ostream-inst.cc 2016-07-22 11:37:16.394402676 +0200 +@@ -0,0 +1,48 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_ostream::basic_ostream(basic_ostream&&); ++ template basic_ostream& basic_ostream::operator=(basic_ostream&&); ++ template void basic_ostream::swap(basic_ostream&); ++ template basic_ostream::basic_ostream(basic_iostream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_ostream::basic_ostream(basic_ostream&&); ++ template basic_ostream& basic_ostream::operator=(basic_ostream&&); ++ template void basic_ostream::swap(basic_ostream&); ++ template basic_ostream::basic_ostream(basic_iostream&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/ios.cc.jj 2016-07-22 11:37:16.394402676 +0200 ++++ libstdc++-v3/src/nonshared11/ios.cc 2016-07-22 11:37:16.394402676 +0200 +@@ -0,0 +1,30 @@ ++// Iostreams base classes -*- C++ -*- ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: 27.4 Iostreams base classes ++// ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/ios.cc" +--- libstdc++-v3/src/nonshared11/cow-shim_facets.cc.jj 2016-07-22 11:37:16.394402676 +0200 ++++ libstdc++-v3/src/nonshared11/cow-shim_facets.cc 2016-07-22 11:52:03.980619192 +0200 +@@ -0,0 +1,181 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cow-shim_facets.cc" ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE10do_compareEPKcS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE12do_transformEPKcS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE10do_compareEPKwS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE12do_transformEPKwS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE6do_getEiiiRKSs"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE7do_openERKSsRKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE7do_openERKSsRKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_dateESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_timeESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_yearESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE14do_get_weekdayESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE16do_get_monthnameESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_dateESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_timeESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_yearESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRSs"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRSbIwS5_SaIwEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKSs"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKSbIwS5_SaIwEE"); ++asm (".hidden _ZNKSt6locale5facet11_M_cow_shimEPKNS_2idE"); ++asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++#else ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++#endif ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIcEEvPv"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIwEEvPv"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIcEENSt9time_base9dateorderESt17integral_constantIbLb0EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIwEENSt9time_base9dateorderESt17integral_constantIbLb0EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb0EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb1EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb0EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb1EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZTINSt6locale5facet6__shimE"); ++asm (".hidden _ZTSNSt6locale5facet6__shimE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_"); ++#else ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcmRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcmRKS3_"); ++#endif +--- libstdc++-v3/src/nonshared11/del_ops.cc.jj 2016-07-22 11:37:16.395402663 +0200 ++++ libstdc++-v3/src/nonshared11/del_ops.cc 2016-07-22 11:37:16.395402663 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2016 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 ++// . ++ ++#include "../libsupc++/del_ops.cc" +--- libstdc++-v3/src/nonshared11/wlocale-inst.cc.jj 2016-07-22 11:37:16.395402663 +0200 ++++ libstdc++-v3/src/nonshared11/wlocale-inst.cc 2016-07-22 11:37:16.395402663 +0200 +@@ -0,0 +1,36 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2016 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 ++// . ++ ++// ++// ISO C++ 14882: 22.1 Locales ++// ++ ++// Instantiate locales using COW std::wstring ABI ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "locale-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/wlocale-inst44.cc.jj 2016-07-22 11:37:16.395402663 +0200 ++++ libstdc++-v3/src/nonshared11/wlocale-inst44.cc 2016-07-22 11:37:16.395402663 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 1999-2016 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 ++// . ++ ++// Instantiate locales using COW std::wstring ABI ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#define _GLIBCXX_NONSHARED_CXX11_44 ++#include "locale-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/condition_variable.cc.jj 2016-07-22 11:37:16.395402663 +0200 ++++ libstdc++-v3/src/nonshared11/condition_variable.cc 2016-07-22 11:37:16.395402663 +0200 +@@ -0,0 +1,27 @@ ++// condition_variable -*- C++ -*- ++ ++// Copyright (C) 2008-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/condition_variable.cc" ++asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt"); +--- libstdc++-v3/src/nonshared11/ctype.cc.jj 2016-07-22 11:37:16.396402651 +0200 ++++ libstdc++-v3/src/nonshared11/ctype.cc 2016-07-22 11:37:16.396402651 +0200 +@@ -0,0 +1,35 @@ ++// Copyright (C) 1997-2016 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 ++// . ++ ++#include ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ // Definitions for static const data members of ctype_base. ++ const ctype_base::mask ctype_base::blank; ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/atexit_thread.cc.jj 2016-07-22 11:37:16.396402651 +0200 ++++ libstdc++-v3/src/nonshared11/atexit_thread.cc 2016-07-22 11:37:16.396402651 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2016 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 ++// . ++ ++#include "../libsupc++/atexit_thread.cc" +--- libstdc++-v3/src/nonshared11/future.cc.jj 2016-07-22 11:37:16.396402651 +0200 ++++ libstdc++-v3/src/nonshared11/future.cc 2016-07-22 11:37:16.396402651 +0200 +@@ -0,0 +1,34 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++#undef _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE ++#include "../c++11/future.cc" ++const std::error_category* _ZSt15future_category = &__future_category_instance(); ++asm (".hidden _ZNSt13__future_base11_State_base15_M_run_deferredEv"); ++asm (".hidden _ZTSNSt13__future_base11_State_baseE"); ++asm (".hidden _ZTSNSt13__future_base12_Result_baseE"); ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt"); ++asm (".hidden _ZNSt13__future_base13_State_baseV211_Make_ready6_S_runEPv"); +--- libstdc++-v3/src/nonshared11/cow-string-inst.cc.jj 2016-07-22 11:37:16.396402651 +0200 ++++ libstdc++-v3/src/nonshared11/cow-string-inst.cc 2016-07-22 11:37:16.396402651 +0200 +@@ -0,0 +1,101 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++// Written by Jason Merrill based upon the specification by Takanori Adachi ++// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers. ++ ++// Instantiation configuration. ++#ifndef C ++#define _GLIBCXX_NONSHARED_CXX11_44 ++#include "../c++11/cow-string-inst.cc" ++# define C char ++# define NARROW ++#else ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++#endif ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ typedef basic_string S; ++ ++ template ++ S::const_iterator S::cbegin() const; ++ ++ template ++ S::const_iterator S::cend() const; ++ ++ template ++ S::const_reverse_iterator S::crbegin() const; ++ ++ template ++ S::const_reverse_iterator S::crend() const; ++ ++ template ++ S::basic_string(S&&); ++ ++ template ++ S& S::operator=(S&&); ++ ++ template ++ S& S::assign(S&&); ++ ++ template ++ C *S::_S_construct_aux_2(size_type, C, const allocator_type&); ++ ++ template ++ void S::shrink_to_fit(); ++ ++ template ++ C *S::_S_construct(iterator, iterator, const allocator_type&, forward_iterator_tag); ++ ++ template ++ C *S::_S_construct(C *, C *, const allocator_type&, forward_iterator_tag); ++ ++ template ++ C *S::_S_construct(const C *, const C *, const allocator_type&, forward_iterator_tag); ++ ++ template ++ S::reference S::front(); ++ ++ template ++ S::const_reference S::front() const; ++ ++ template ++ S::reference S::back(); ++ ++ template ++ S::const_reference S::back() const; ++ ++ template ++ int S::_S_compare(size_type, size_type); ++ ++ template ++ void S::pop_back(); ++} +--- libstdc++-v3/src/nonshared11/system_error44.cc.jj 2016-07-22 11:37:16.397402638 +0200 ++++ libstdc++-v3/src/nonshared11/system_error44.cc 2016-07-22 11:52:49.300071099 +0200 +@@ -0,0 +1,46 @@ ++// implementation file ++ ++// Copyright (C) 2007-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/system_error.cc" ++asm (".hidden _ZNSt12__sso_stringC1EOS_"); ++asm (".hidden _ZNSt12__sso_stringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC1ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC1Ev"); ++asm (".hidden _ZNSt12__sso_stringC2EOS_"); ++asm (".hidden _ZNSt12__sso_stringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC2ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC2Ev"); ++asm (".hidden _ZNSt12__sso_stringD1Ev"); ++asm (".hidden _ZNSt12__sso_stringD2Ev"); ++asm (".hidden _ZNSt12__sso_stringaSEOS_"); ++asm (".hidden _ZNSt12__sso_stringaSERKS_"); ++asm (".hidden _ZTSNSt3_V214error_categoryE"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt12__sso_stringC1EPKcj"); ++asm (".hidden _ZNSt12__sso_stringC2EPKcj"); ++#else ++asm (".hidden _ZNSt12__sso_stringC1EPKcm"); ++asm (".hidden _ZNSt12__sso_stringC2EPKcm"); ++#endif +--- libstdc++-v3/src/nonshared11/compatibility-c++0x.cc.jj 2016-07-22 11:37:16.397402638 +0200 ++++ libstdc++-v3/src/nonshared11/compatibility-c++0x.cc 2016-07-22 11:37:16.397402638 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_44 ++#include "../c++11/compatibility-c++0x.cc" +--- libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc.jj 2016-07-22 11:37:16.397402638 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc 2016-07-22 11:53:24.065650644 +0200 +@@ -0,0 +1,181 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cxx11-shim_facets.cc" ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE10do_compareEPKcS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE12do_transformEPKcS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE10do_compareEPKwS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE12do_transformEPKwS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE6do_getEiiiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE7do_openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE6do_getEiiiRKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE7do_openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_dateESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_timeESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_yearESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE14do_get_weekdayESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE16do_get_monthnameESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_dateESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_timeESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_yearESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIcS5_SaIcEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIwS5_SaIwEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKNSt7__cxx1112basic_stringIcS5_SaIcEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKNSt7__cxx1112basic_stringIwS5_SaIwEEE"); ++asm (".hidden _ZNKSt6locale5facet11_M_sso_shimEPKNS_2idE"); ++asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++#else ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++#endif ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIcEEvPv"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIwEEvPv"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIcEENSt9time_base9dateorderESt17integral_constantIbLb1EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIwEENSt9time_base9dateorderESt17integral_constantIbLb1EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb0EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb1EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb0EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb1EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZTINSt6locale5facet6__shimE"); ++asm (".hidden _ZTSNSt6locale5facet6__shimE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_"); ++#else ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcmRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcmRKS3_"); ++#endif +--- libstdc++-v3/src/nonshared11/thread44.cc.jj 2016-07-22 11:37:16.398402626 +0200 ++++ libstdc++-v3/src/nonshared11/thread44.cc 2016-07-22 11:37:16.398402626 +0200 +@@ -0,0 +1,27 @@ ++// Copyright (C) 2008-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_44 ++#include "../c++11/thread.cc" ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); +--- libstdc++-v3/src/nonshared11/random48.cc.jj 2016-07-22 11:37:16.398402626 +0200 ++++ libstdc++-v3/src/nonshared11/random48.cc 2016-07-22 11:37:16.398402626 +0200 +@@ -0,0 +1,72 @@ ++// Copyright (C) 2013-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/random.cc" ++ ++#if __WORDSIZE == 64 ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE10shift_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE10state_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_bE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_cE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_dE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_lE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_sE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_tE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_uE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE12default_seedE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE25initialization_multiplierE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE3maxEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE3minEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE4seedEm"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE7discardEy"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE8xor_maskE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE9mask_bitsE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE9word_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC1Em"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC2Em"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv"); ++#else ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE10shift_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE10state_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11_M_gen_randEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_bE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_cE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_dE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_lE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_sE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_tE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_uE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE12default_seedE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE25initialization_multiplierE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE3maxEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE3minEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE4seedEj"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE7discardEy"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE8xor_maskE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE9mask_bitsE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE9word_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EEC1Ej"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EEC2Ej"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EEclEv"); ++#endif +--- libstdc++-v3/src/nonshared11/placeholders.cc.jj 2016-07-22 11:37:16.398402626 +0200 ++++ libstdc++-v3/src/nonshared11/placeholders.cc 2016-07-22 11:37:16.398402626 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/placeholders.cc" +--- libstdc++-v3/src/nonshared11/iostream-inst.cc.jj 2016-07-22 11:37:16.399402613 +0200 ++++ libstdc++-v3/src/nonshared11/iostream-inst.cc 2016-07-22 11:37:16.398402626 +0200 +@@ -0,0 +1,46 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_iostream::basic_iostream(basic_iostream&&); ++ template basic_iostream& basic_iostream::operator=(basic_iostream&&); ++ template void basic_iostream::swap(basic_iostream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_iostream::basic_iostream(basic_iostream&&); ++ template basic_iostream& basic_iostream::operator=(basic_iostream&&); ++ template void basic_iostream::swap(basic_iostream&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/debug.cc.jj 2016-07-22 11:37:16.399402613 +0200 ++++ libstdc++-v3/src/nonshared11/debug.cc 2016-07-22 11:37:16.399402613 +0200 +@@ -0,0 +1,234 @@ ++// Copyright (C) 2003-2016 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 ++// . ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++using namespace std; ++ ++namespace ++{ ++ void ++ swap_its(__gnu_debug::_Safe_sequence_base& __lhs, ++ __gnu_debug::_Safe_iterator_base*& __lhs_its, ++ __gnu_debug::_Safe_sequence_base& __rhs, ++ __gnu_debug::_Safe_iterator_base*& __rhs_its) ++ { ++ swap(__lhs_its, __rhs_its); ++ __gnu_debug::_Safe_iterator_base* __iter; ++ for (__iter = __rhs_its; __iter; __iter = __iter->_M_next) ++ __iter->_M_sequence = &__rhs; ++ for (__iter = __lhs_its; __iter; __iter = __iter->_M_next) ++ __iter->_M_sequence = &__lhs; ++ } ++ ++ void ++ swap_seq(__gnu_debug::_Safe_sequence_base& __lhs, ++ __gnu_debug::_Safe_sequence_base& __rhs) ++ { ++ swap(__lhs._M_version, __rhs._M_version); ++ swap_its(__lhs, __lhs._M_iterators, ++ __rhs, __rhs._M_iterators); ++ swap_its(__lhs, __lhs._M_const_iterators, ++ __rhs, __rhs._M_const_iterators); ++ } ++ ++ void ++ swap_ucont(__gnu_debug::_Safe_unordered_container_base& __lhs, ++ __gnu_debug::_Safe_unordered_container_base& __rhs) ++ { ++ swap_seq(__lhs, __rhs); ++ swap_its(__lhs, __lhs._M_local_iterators, ++ __rhs, __rhs._M_local_iterators); ++ swap_its(__lhs, __lhs._M_const_local_iterators, ++ __rhs, __rhs._M_const_local_iterators); ++ } ++ ++ void ++ detach_all(__gnu_debug::_Safe_iterator_base* __iter) ++ { ++ for (; __iter;) ++ { ++ __gnu_debug::_Safe_iterator_base* __old = __iter; ++ __iter = __iter->_M_next; ++ __old->_M_reset(); ++ } ++ } ++} // anonymous namespace ++ ++namespace __gnu_debug ++{ ++ void ++ _Safe_iterator_base:: ++ _M_reset() throw () ++ { ++ _M_sequence = 0; ++ _M_version = 0; ++ _M_prior = 0; ++ _M_next = 0; ++ } ++ ++ _Safe_unordered_container_base* ++ _Safe_local_iterator_base:: ++ _M_get_container() const _GLIBCXX_NOEXCEPT ++ { return static_cast<_Safe_unordered_container_base*>(_M_sequence); } ++ ++ void ++ _Safe_local_iterator_base:: ++ _M_attach(_Safe_sequence_base* __cont, bool __constant) ++ { ++ _M_detach(); ++ ++ // Attach to the new container (if there is one) ++ if (__cont) ++ { ++ _M_sequence = __cont; ++ _M_version = _M_sequence->_M_version; ++ _M_get_container()->_M_attach_local(this, __constant); ++ } ++ } ++ ++ void ++ _Safe_local_iterator_base:: ++ _M_detach() ++ { ++ if (_M_sequence) ++ _M_get_container()->_M_detach_local(this); ++ ++ _M_reset(); ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_detach_all() ++ { ++ __gnu_cxx::__scoped_lock sentry(_M_get_mutex()); ++ detach_all(_M_iterators); ++ _M_iterators = 0; ++ ++ detach_all(_M_const_iterators); ++ _M_const_iterators = 0; ++ ++ detach_all(_M_local_iterators); ++ _M_local_iterators = 0; ++ ++ detach_all(_M_const_local_iterators); ++ _M_const_local_iterators = 0; ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_swap(_Safe_unordered_container_base& __x) noexcept ++ { ++ // We need to lock both containers to swap ++ using namespace __gnu_cxx; ++ __mutex *__this_mutex = &_M_get_mutex(); ++ __mutex *__x_mutex = &__x._M_get_mutex(); ++ if (__this_mutex == __x_mutex) ++ { ++ __scoped_lock __lock(*__this_mutex); ++ swap_ucont(*this, __x); ++ } ++ else ++ { ++ __scoped_lock __l1(__this_mutex < __x_mutex ++ ? *__this_mutex : *__x_mutex); ++ __scoped_lock __l2(__this_mutex < __x_mutex ++ ? *__x_mutex : *__this_mutex); ++ swap_ucont(*this, __x); ++ } ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_attach_local(_Safe_iterator_base* __it, bool __constant) ++ { ++ __gnu_cxx::__scoped_lock sentry(_M_get_mutex()); ++ _M_attach_local_single(__it, __constant); ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_attach_local_single(_Safe_iterator_base* __it, bool __constant) throw () ++ { ++ _Safe_iterator_base*& __its = ++ __constant ? _M_const_local_iterators : _M_local_iterators; ++ __it->_M_next = __its; ++ if (__it->_M_next) ++ __it->_M_next->_M_prior = __it; ++ __its = __it; ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_detach_local(_Safe_iterator_base* __it) ++ { ++ // Remove __it from this container's list ++ __gnu_cxx::__scoped_lock sentry(_M_get_mutex()); ++ _M_detach_local_single(__it); ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_detach_local_single(_Safe_iterator_base* __it) throw () ++ { ++ // Remove __it from this container's list ++ __it->_M_unlink(); ++ if (_M_const_local_iterators == __it) ++ _M_const_local_iterators = __it->_M_next; ++ if (_M_local_iterators == __it) ++ _M_local_iterators = __it->_M_next; ++ } ++ ++} // namespace __gnu_debug ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZN11__gnu_debug19_Safe_iterator_base8_M_resetEv"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base15_M_attach_localEPNS_19_Safe_iterator_baseEb"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base15_M_detach_localEPNS_19_Safe_iterator_baseE"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base22_M_attach_local_singleEPNS_19_Safe_iterator_baseEb"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base22_M_detach_local_singleEPNS_19_Safe_iterator_baseE"); ++asm (".hidden _ZNK11__gnu_debug25_Safe_local_iterator_base16_M_get_containerEv"); +--- libstdc++-v3/src/nonshared11/hashtable_c++0x.cc.jj 2016-07-22 11:37:16.399402613 +0200 ++++ libstdc++-v3/src/nonshared11/hashtable_c++0x.cc 2016-07-22 11:37:16.399402613 +0200 +@@ -0,0 +1,40 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++#include ++#include ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++namespace __detail ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ extern const unsigned long __prime_list[256 + (sizeof (long) == 8 ? 48 : 0) + 1]; ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace __detail ++} // namespace std ++ ++#define HASHTABLE_AUX_CC 1 ++#include "../c++11/hashtable_c++0x.cc" +--- libstdc++-v3/src/nonshared11/futex.cc.jj 2016-07-22 11:37:16.399402613 +0200 ++++ libstdc++-v3/src/nonshared11/futex.cc 2016-07-22 11:37:16.399402613 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/futex.cc" +--- libstdc++-v3/src/nonshared11/cxx11-stdexcept.cc.jj 2016-07-22 11:37:16.400402601 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-stdexcept.cc 2016-07-22 11:37:16.400402601 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cxx11-stdexcept.cc" ++asm (".hidden _ZNSt12__cow_stringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__cow_stringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); +--- libstdc++-v3/src/nonshared11/locale-inst44.cc.jj 2016-07-22 11:37:16.400402601 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst44.cc 2016-07-22 11:37:16.400402601 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 1999-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_44 ++#include "locale-inst.cc" +--- libstdc++-v3/src/nonshared11/random.cc.jj 2016-07-22 11:37:16.400402601 +0200 ++++ libstdc++-v3/src/nonshared11/random.cc 2016-07-22 11:37:16.400402601 +0200 +@@ -0,0 +1,71 @@ ++// Copyright (C) 2013-2016 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 ++// . ++ ++#include "../c++11/random.cc" ++ ++#if __WORDSIZE == 64 ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE10shift_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE10state_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_bE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_cE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_dE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_lE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_sE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_tE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11tempering_uE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE12default_seedE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE25initialization_multiplierE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE3maxEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE3minEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE4seedEm"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE7discardEy"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE8xor_maskE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE9mask_bitsE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE9word_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC1Em"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC2Em"); ++asm (".hidden _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv"); ++#else ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE10shift_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE10state_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11_M_gen_randEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_bE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_cE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_dE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_lE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_sE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_tE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE11tempering_uE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE12default_seedE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE25initialization_multiplierE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE3maxEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE3minEv"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE4seedEj"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE7discardEy"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE8xor_maskE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE9mask_bitsE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EE9word_sizeE"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EEC1Ej"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EEC2Ej"); ++asm (".hidden _ZNSt23mersenne_twister_engineIjLj32ELj624ELj397ELj31ELj2567483615ELj11ELj4294967295ELj7ELj2636928640ELj15ELj4022730752ELj18ELj1812433253EEclEv"); ++#endif +--- libstdc++-v3/src/nonshared11/shared_ptr48.cc.jj 2016-07-22 11:37:16.400402601 +0200 ++++ libstdc++-v3/src/nonshared11/shared_ptr48.cc 2016-07-22 11:37:16.400402601 +0200 +@@ -0,0 +1,43 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/shared_ptr.cc" ++asm (".hidden _ZGVZNSt12_GLOBAL__N_19get_mutexEhE1m"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZNSt12_GLOBAL__N_19get_mutexEh"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZZNSt12_GLOBAL__N_19get_mutexEhE1m"); +--- libstdc++-v3/src/nonshared11/functexcept48.cc.jj 2016-07-22 11:37:16.401402588 +0200 ++++ libstdc++-v3/src/nonshared11/functexcept48.cc 2016-07-22 11:37:16.401402588 +0200 +@@ -0,0 +1,66 @@ ++// Copyright (C) 2001-2016 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 ++// . ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef _GLIBCXX_USE_NLS ++# include ++# define _(msgid) gettext (msgid) ++#else ++# define _(msgid) (msgid) ++#endif ++ ++namespace __gnu_cxx ++{ ++ int __snprintf_lite(char *__buf, size_t __bufsize, const char *__fmt, ++ va_list __ap); ++} ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ void ++ __throw_out_of_range_fmt(const char* __fmt, ...) ++ { ++ const size_t __len = __builtin_strlen(__fmt); ++ // We expect at most 2 numbers, and 1 short string. The additional ++ // 512 bytes should provide more than enough space for expansion. ++ const size_t __alloca_size = __len + 512; ++ char *const __s = static_cast(__builtin_alloca(__alloca_size)); ++ va_list __ap; ++ ++ va_start(__ap, __fmt); ++ __gnu_cxx::__snprintf_lite(__s, __alloca_size, __fmt, __ap); ++ _GLIBCXX_THROW_OR_ABORT(out_of_range(_(__s))); ++ va_end(__ap); // Not reached. ++ } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/compatibility-atomic-c++0x.cc.jj 2016-07-22 11:37:16.401402588 +0200 ++++ libstdc++-v3/src/nonshared11/compatibility-atomic-c++0x.cc 2016-07-22 11:37:16.401402588 +0200 +@@ -0,0 +1,42 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++ ++extern "C" ++{ ++ extern bool _ZNVSt9__atomic011atomic_flag5clearESt12memory_order (std::memory_order); ++ ++ bool ++ _ZNSt9__atomic011atomic_flag5clearESt12memory_order (std::memory_order m) ++ { ++ return _ZNVSt9__atomic011atomic_flag5clearESt12memory_order (m); ++ } ++ ++ extern void _ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order (std::memory_order); ++ ++ void ++ _ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order (std::memory_order m) ++ { ++ _ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order (m); ++ } ++} +--- libstdc++-v3/src/nonshared11/cow-wstring-inst.cc.jj 2016-07-22 11:37:16.401402588 +0200 ++++ libstdc++-v3/src/nonshared11/cow-wstring-inst.cc 2016-07-22 11:37:16.401402588 +0200 +@@ -0,0 +1,35 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2016 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 ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "cow-string-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/sstream-inst.cc.jj 2016-07-22 11:37:16.401402588 +0200 ++++ libstdc++-v3/src/nonshared11/sstream-inst.cc 2016-07-22 11:37:16.401402588 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/sstream-inst.cc" +--- libstdc++-v3/src/nonshared11/istream-inst.cc.jj 2016-07-22 11:37:16.402402576 +0200 ++++ libstdc++-v3/src/nonshared11/istream-inst.cc 2016-07-22 11:37:16.402402576 +0200 +@@ -0,0 +1,46 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_istream::basic_istream(basic_istream&&); ++ template basic_istream& basic_istream::operator=(basic_istream&&); ++ template void basic_istream::swap(basic_istream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_istream::basic_istream(basic_istream&&); ++ template basic_istream& basic_istream::operator=(basic_istream&&); ++ template void basic_istream::swap(basic_istream&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/del_opvnt.cc.jj 2016-07-22 11:37:16.402402576 +0200 ++++ libstdc++-v3/src/nonshared11/del_opvnt.cc 2016-07-22 11:37:16.402402576 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2016 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 ++// . ++ ++#include "../libsupc++/del_opvnt.cc" +--- libstdc++-v3/src/nonshared11/cxx11-ios_failure.cc.jj 2016-07-22 11:37:16.402402576 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-ios_failure.cc 2016-07-22 11:37:16.402402576 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cxx11-ios_failure.cc" +--- libstdc++-v3/src/nonshared11/cow-stdexcept.cc.jj 2016-07-22 11:37:16.402402576 +0200 ++++ libstdc++-v3/src/nonshared11/cow-stdexcept.cc 2016-07-22 11:54:30.872842678 +0200 +@@ -0,0 +1,51 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cow-stdexcept.cc" ++asm (".hidden _ZNSt12__cow_stringC1EOS_"); ++asm (".hidden _ZNSt12__cow_stringC1ERKS_"); ++asm (".hidden _ZNSt12__cow_stringC1ERKSs"); ++asm (".hidden _ZNSt12__cow_stringC1Ev"); ++asm (".hidden _ZNSt12__cow_stringC2EOS_"); ++asm (".hidden _ZNSt12__cow_stringC2ERKS_"); ++asm (".hidden _ZNSt12__cow_stringC2ERKSs"); ++asm (".hidden _ZNSt12__cow_stringC2Ev"); ++asm (".hidden _ZNSt12__cow_stringD1Ev"); ++asm (".hidden _ZNSt12__cow_stringD2Ev"); ++asm (".hidden _ZNSt12__cow_stringaSEOS_"); ++asm (".hidden _ZNSt12__cow_stringaSERKS_"); ++asm (".hidden _ZNSt12__sso_stringC1ERKSs"); ++asm (".hidden _ZNSt12__sso_stringC2ERKSs"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt12__cow_stringC1EPKcj"); ++asm (".hidden _ZNSt12__cow_stringC2EPKcj"); ++#else ++asm (".hidden _ZNSt12__cow_stringC1EPKcm"); ++asm (".hidden _ZNSt12__cow_stringC2EPKcm"); ++#endif ++asm (".hidden _Z20_txnal_cow_string_D1Pv"); ++asm (".hidden _Z23_txnal_cow_string_c_strPKv"); ++asm (".hidden _Z23_txnal_sso_string_c_strPKv"); ++asm (".hidden _Z26_txnal_logic_error_get_msgPv"); ++asm (".hidden _Z27_txnal_cow_string_D1_commitPv"); ++asm (".hidden _Z28_txnal_runtime_error_get_msgPv"); ++asm (".hidden _Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_"); +--- libstdc++-v3/src/nonshared11/chrono.cc.jj 2016-07-22 11:37:16.403402563 +0200 ++++ libstdc++-v3/src/nonshared11/chrono.cc 2016-07-22 11:37:16.403402563 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/chrono.cc" +--- libstdc++-v3/src/nonshared11/functexcept.cc.jj 2016-07-22 11:37:16.403402563 +0200 ++++ libstdc++-v3/src/nonshared11/functexcept.cc 2016-07-22 11:37:16.403402563 +0200 +@@ -0,0 +1,85 @@ ++// Copyright (C) 2001-2016 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 ++// . ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef _GLIBCXX_USE_NLS ++# include ++# define _(msgid) gettext (msgid) ++#else ++# define _(msgid) (msgid) ++#endif ++ ++namespace __gnu_cxx ++{ ++ int __snprintf_lite(char *__buf, size_t __bufsize, const char *__fmt, ++ va_list __ap); ++} ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ void ++ __throw_out_of_range_fmt(const char* __fmt, ...) ++ { ++ const size_t __len = __builtin_strlen(__fmt); ++ // We expect at most 2 numbers, and 1 short string. The additional ++ // 512 bytes should provide more than enough space for expansion. ++ const size_t __alloca_size = __len + 512; ++ char *const __s = static_cast(__builtin_alloca(__alloca_size)); ++ va_list __ap; ++ ++ va_start(__ap, __fmt); ++ __gnu_cxx::__snprintf_lite(__s, __alloca_size, __fmt, __ap); ++ _GLIBCXX_THROW_OR_ABORT(out_of_range(_(__s))); ++ va_end(__ap); // Not reached. ++ } ++ ++ void ++ __throw_future_error(int __i __attribute__((unused))) ++ { _GLIBCXX_THROW_OR_ABORT(future_error(make_error_code(future_errc(__i)))); } ++ ++ void ++ __throw_bad_function_call() ++ { _GLIBCXX_THROW_OR_ABORT(bad_function_call()); } ++ ++ void ++ __throw_regex_error(regex_constants::error_type __ecode ++ __attribute__((unused))) ++ { _GLIBCXX_THROW_OR_ABORT(regex_error(__ecode)); } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++asm (".hidden _ZNSt12future_errorC1ESt10error_code"); ++asm (".hidden _ZNSt12future_errorC2ESt10error_code"); +--- libstdc++-v3/src/nonshared11/cxx11-hash_tr1.cc.jj 2016-07-22 11:37:16.403402563 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-hash_tr1.cc 2016-07-22 11:37:16.403402563 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cxx11-hash_tr1.cc" ++asm (".hidden _ZNKSt3tr14hashIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES8_"); ++asm (".hidden _ZNKSt3tr14hashIRKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES8_"); +--- libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc.jj 2016-07-22 11:37:16.403402563 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc 2016-07-22 11:54:57.649518841 +0200 +@@ -0,0 +1,39 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/cxx11-wlocale-inst.cc" ++asm (".hidden _ZNKSt11__use_cacheISt16__numpunct_cacheIwEEclERKSt6locale"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); ++#else ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEm"); ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEm"); ++#endif ++asm (".hidden _ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE5equalERKS2_"); +--- libstdc++-v3/src/nonshared11/system_error48.cc.jj 2016-07-22 11:37:16.404402551 +0200 ++++ libstdc++-v3/src/nonshared11/system_error48.cc 2016-07-22 11:52:58.808956098 +0200 +@@ -0,0 +1,46 @@ ++// implementation file ++ ++// Copyright (C) 2007-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/system_error.cc" ++asm (".hidden _ZNSt12__sso_stringC1EOS_"); ++asm (".hidden _ZNSt12__sso_stringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC1ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC1Ev"); ++asm (".hidden _ZNSt12__sso_stringC2EOS_"); ++asm (".hidden _ZNSt12__sso_stringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC2ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC2Ev"); ++asm (".hidden _ZNSt12__sso_stringD1Ev"); ++asm (".hidden _ZNSt12__sso_stringD2Ev"); ++asm (".hidden _ZNSt12__sso_stringaSEOS_"); ++asm (".hidden _ZNSt12__sso_stringaSERKS_"); ++asm (".hidden _ZTSNSt3_V214error_categoryE"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt12__sso_stringC1EPKcj"); ++asm (".hidden _ZNSt12__sso_stringC2EPKcj"); ++#else ++asm (".hidden _ZNSt12__sso_stringC1EPKcm"); ++asm (".hidden _ZNSt12__sso_stringC2EPKcm"); ++#endif +--- libstdc++-v3/src/nonshared11/ext11-inst.cc.jj 2016-07-22 11:37:16.404402551 +0200 ++++ libstdc++-v3/src/nonshared11/ext11-inst.cc 2016-07-22 11:37:16.404402551 +0200 +@@ -0,0 +1,38 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++#include ++ ++namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template stdio_sync_filebuf::stdio_sync_filebuf(stdio_sync_filebuf&&) noexcept; ++ template stdio_sync_filebuf& stdio_sync_filebuf::operator=(stdio_sync_filebuf&&) noexcept; ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template stdio_sync_filebuf::stdio_sync_filebuf(stdio_sync_filebuf&&) noexcept; ++ template stdio_sync_filebuf& stdio_sync_filebuf::operator=(stdio_sync_filebuf&&) noexcept; ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/locale-inst-asm.S.jj 2016-07-22 11:37:16.404402551 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst-asm.S 2016-07-22 11:37:16.404402551 +0200 +@@ -0,0 +1,291 @@ ++/* Copyright (C) 2015-2016 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 ++ . */ ++ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#define VPTR(x) data16.ua @iplt(x) ++#define SIZE3 48 ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++#ifndef SIZE3 ++#define SIZE3 SIZE1 ++#endif ++#ifndef VPTR ++#define VPTR(x) POINTER SYM(x) ++#endif ++ ++ .weak SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIcLb0EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIcLb0EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIcLb0EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIcLb0EE), 30 ++_ZTSSt18__moneypunct_cacheIcLb0EE: ++ STRING "St18__moneypunct_cacheIcLb0EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIcLb0EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIcLb0EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb0EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb0EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIcLb1EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIcLb1EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIcLb1EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIcLb1EE), 30 ++_ZTSSt18__moneypunct_cacheIcLb1EE: ++ STRING "St18__moneypunct_cacheIcLb1EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIcLb1EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIcLb1EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb1EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb1EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIwLb0EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIwLb0EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIwLb0EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIwLb0EE), 30 ++_ZTSSt18__moneypunct_cacheIwLb0EE: ++ STRING "St18__moneypunct_cacheIwLb0EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIwLb0EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIwLb0EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb0EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb0EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIwLb1EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIwLb1EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIwLb1EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIwLb1EE), 30 ++_ZTSSt18__moneypunct_cacheIwLb1EE: ++ STRING "St18__moneypunct_cacheIwLb1EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIwLb1EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIwLb1EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb1EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb1EED0Ev) ++ .weak SYM(_ZTISt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTISt16__numpunct_cacheIcE) ++ SECTION1(_ZTISt16__numpunct_cacheIcE) ++ ALIGN1 ++ .type SYM(_ZTISt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTISt16__numpunct_cacheIcE), SIZE1+SIZE2 ++_ZTISt16__numpunct_cacheIcE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt16__numpunct_cacheIcE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTSSt16__numpunct_cacheIcE) ++ SECTION3(_ZTSSt16__numpunct_cacheIcE) ++ ALIGN3 ++ .type SYM(_ZTSSt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTSSt16__numpunct_cacheIcE), 24 ++_ZTSSt16__numpunct_cacheIcE: ++ STRING "St16__numpunct_cacheIcE" ++ .weak SYM(_ZTVSt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTVSt16__numpunct_cacheIcE) ++ SECTION1(_ZTVSt16__numpunct_cacheIcE) ++ ALIGN1 ++ .type SYM(_ZTVSt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTVSt16__numpunct_cacheIcE), SIZE3 ++_ZTVSt16__numpunct_cacheIcE: ++ POINTER 0 ++ POINTER SYM(_ZTISt16__numpunct_cacheIcE) ++ VPTR(_ZNSt16__numpunct_cacheIcED1Ev) ++ VPTR(_ZNSt16__numpunct_cacheIcED0Ev) ++ .weak SYM(_ZTISt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTISt16__numpunct_cacheIwE) ++ SECTION1(_ZTISt16__numpunct_cacheIwE) ++ ALIGN1 ++ .type SYM(_ZTISt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTISt16__numpunct_cacheIwE), SIZE1+SIZE2 ++_ZTISt16__numpunct_cacheIwE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt16__numpunct_cacheIwE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTSSt16__numpunct_cacheIwE) ++ SECTION3(_ZTSSt16__numpunct_cacheIwE) ++ ALIGN3 ++ .type SYM(_ZTSSt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTSSt16__numpunct_cacheIwE), 24 ++_ZTSSt16__numpunct_cacheIwE: ++ STRING "St16__numpunct_cacheIwE" ++ .weak SYM(_ZTVSt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTVSt16__numpunct_cacheIwE) ++ SECTION1(_ZTVSt16__numpunct_cacheIwE) ++ ALIGN1 ++ .type SYM(_ZTVSt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTVSt16__numpunct_cacheIwE), SIZE3 ++_ZTVSt16__numpunct_cacheIwE: ++ POINTER 0 ++ POINTER SYM(_ZTISt16__numpunct_cacheIwE) ++ VPTR(_ZNSt16__numpunct_cacheIwED1Ev) ++ VPTR(_ZNSt16__numpunct_cacheIwED0Ev) ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared11/del_opvs.cc.jj 2016-07-22 11:37:16.404402551 +0200 ++++ libstdc++-v3/src/nonshared11/del_opvs.cc 2016-07-22 11:37:16.404402551 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2016 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 ++// . ++ ++#include "../libsupc++/del_opvs.cc" +--- libstdc++-v3/src/nonshared11/cow-sstream-inst.cc.jj 2016-07-22 11:37:16.405402538 +0200 ++++ libstdc++-v3/src/nonshared11/cow-sstream-inst.cc 2016-07-22 11:37:16.405402538 +0200 +@@ -0,0 +1,78 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 2014-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_stringbuf::basic_stringbuf(basic_stringbuf&&); ++ template basic_stringbuf& basic_stringbuf::operator=(basic_stringbuf&&); ++ template void basic_stringbuf::swap(basic_stringbuf&); ++ template basic_istringstream::basic_istringstream(basic_istringstream&&); ++ template basic_istringstream& basic_istringstream::operator=(basic_istringstream&&); ++ template void basic_istringstream::swap(basic_istringstream&); ++ template basic_ostringstream::basic_ostringstream(basic_ostringstream&&); ++ template basic_ostringstream& basic_ostringstream::operator=(basic_ostringstream&&); ++ template void basic_ostringstream::swap(basic_ostringstream&); ++ template basic_stringstream::basic_stringstream(basic_stringstream&&); ++ template basic_stringstream& basic_stringstream::operator=(basic_stringstream&&); ++ template void basic_stringstream::swap(basic_stringstream&); ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++#endif ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_stringbuf::basic_stringbuf(basic_stringbuf&&); ++ template basic_stringbuf& basic_stringbuf::operator=(basic_stringbuf&&); ++ template void basic_stringbuf::swap(basic_stringbuf&); ++ template basic_istringstream::basic_istringstream(basic_istringstream&&); ++ template basic_istringstream& basic_istringstream::operator=(basic_istringstream&&); ++ template void basic_istringstream::swap(basic_istringstream&); ++ template basic_ostringstream::basic_ostringstream(basic_ostringstream&&); ++ template basic_ostringstream& basic_ostringstream::operator=(basic_ostringstream&&); ++ template void basic_ostringstream::swap(basic_ostringstream&); ++ template basic_stringstream::basic_stringstream(basic_stringstream&&); ++ template basic_stringstream& basic_stringstream::operator=(basic_stringstream&&); ++ template void basic_stringstream::swap(basic_stringstream&); ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++#endif ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev"); ++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev"); ++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev"); ++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev"); ++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev"); ++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED2Ev"); +--- libstdc++-v3/src/nonshared11/new_handler.cc.jj 2016-07-22 11:37:16.405402538 +0200 ++++ libstdc++-v3/src/nonshared11/new_handler.cc 2016-07-22 11:37:16.405402538 +0200 +@@ -0,0 +1,72 @@ ++// Implementation file for the -*- C++ -*- dynamic memory management header. ++ ++// Copyright (C) 1996-2016 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. ++// ++// 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 ++// . ++ ++#include ++#include ++ ++// This is inherently thread-unsafe, but so is libstdc++ < 4.9 ++// std::set_new_handler and this hopefully doesn't make things much worse ++// than that. ++namespace ++{ ++ __gnu_cxx::__mutex mx; ++ std::new_handler handler; ++ ++ void new_handler_wrapper () ++ { ++ std::new_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = handler; ++ } ++ h (); ++ } ++} ++ ++std::new_handler ++std::get_new_handler () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ handler = std::set_new_handler (new_handler_wrapper); ++ std::set_new_handler (handler); ++ return handler; ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); +--- libstdc++-v3/src/nonshared11/codecvt.cc.jj 2016-07-22 11:37:16.405402538 +0200 ++++ libstdc++-v3/src/nonshared11/codecvt.cc 2016-07-22 11:37:16.405402538 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/codecvt.cc" ++asm (".hidden _ZTISt12codecvt_base"); ++asm (".hidden _ZTSSt12codecvt_base"); ++asm (".hidden _ZTISt23__codecvt_abstract_baseIDic11__mbstate_tE"); ++asm (".hidden _ZTISt23__codecvt_abstract_baseIDsc11__mbstate_tE"); ++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDic11__mbstate_tE"); ++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDsc11__mbstate_tE"); ++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDic11__mbstate_tE"); ++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDsc11__mbstate_tE"); +--- libstdc++-v3/src/nonshared11/regex48.cc.jj 2016-07-22 11:37:16.405402538 +0200 ++++ libstdc++-v3/src/nonshared11/regex48.cc 2016-07-22 11:37:16.405402538 +0200 +@@ -0,0 +1,30 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/regex.cc" ++ ++asm (".hidden _ZNSt11regex_errorD0Ev"); ++asm (".hidden _ZNSt11regex_errorD1Ev"); ++asm (".hidden _ZNSt11regex_errorD2Ev"); ++asm (".hidden _ZTSSt11regex_error"); ++asm (".hidden _ZTISt11regex_error"); ++asm (".hidden _ZTVSt11regex_error"); +--- libstdc++-v3/src/nonshared11/eh_terminate.cc.jj 2016-07-22 11:37:16.406402526 +0200 ++++ libstdc++-v3/src/nonshared11/eh_terminate.cc 2016-07-22 11:37:16.406402526 +0200 +@@ -0,0 +1,92 @@ ++// Implementation file for the -*- C++ -*- dynamic memory management header. ++ ++// Copyright (C) 1994-2016 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. ++// ++// 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 ++// . ++ ++#include ++#include ++ ++// This is inherently thread-unsafe, but so is libstdc++ < 4.9 ++// std::set_terminate and std::set_unexpected and this hopefully ++// doesn't make things much worse than that. ++namespace ++{ ++ __gnu_cxx::__mutex mx; ++ std::terminate_handler thandler; ++ std::unexpected_handler uhandler; ++ ++ void terminate_handler_wrapper () ++ { ++ std::terminate_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = thandler; ++ } ++ h (); ++ } ++ ++ void unexpected_handler_wrapper () ++ { ++ std::terminate_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = uhandler; ++ } ++ h (); ++ } ++} ++ ++std::terminate_handler ++std::get_terminate () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ thandler = std::set_terminate (terminate_handler_wrapper); ++ std::set_terminate (thandler); ++ return thandler; ++} ++ ++std::unexpected_handler ++std::get_unexpected () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ uhandler = std::set_unexpected (unexpected_handler_wrapper); ++ std::set_unexpected (uhandler); ++ return uhandler; ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); +--- libstdc++-v3/src/nonshared11/snprintf_lite.cc.jj 2016-07-22 11:37:16.406402526 +0200 ++++ libstdc++-v3/src/nonshared11/snprintf_lite.cc 2016-07-22 11:42:07.802829363 +0200 +@@ -0,0 +1,40 @@ ++// Copyright (C) 2014-2016 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 ++// . ++ ++#include "../c++11/snprintf_lite.cc" ++#ifdef __powerpc64__ ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcS0_"); ++#elif defined(__i386__) ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcS0_"); ++#elif defined(__powerpc__) ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcP13__va_list_tag"); ++#elif defined(__aarch64__) ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcSt9__va_list"); ++#else ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcP13__va_list_tag"); ++#endif ++asm (".hidden _ZN9__gnu_cxx26__throw_insufficient_spaceEPKcS1_"); +--- libstdc++-v3/src/nonshared11/string-inst.cc.jj 2016-07-22 11:37:16.406402526 +0200 ++++ libstdc++-v3/src/nonshared11/string-inst.cc 2016-07-22 11:37:16.406402526 +0200 +@@ -0,0 +1,34 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++// Written by Jason Merrill based upon the specification by Takanori Adachi ++// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers. ++ ++#include "../c++11/string-inst.cc" ++asm (".hidden _ZN9__gnu_cxxeqIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_"); ++asm (".hidden _ZN9__gnu_cxxeqIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_"); +--- libstdc++-v3/src/nonshared11/Makefile.am.jj 2016-07-22 11:37:16.407402513 +0200 ++++ libstdc++-v3/src/nonshared11/Makefile.am 2016-07-22 11:37:16.407402513 +0200 +@@ -0,0 +1,179 @@ ++## Makefile for the C++03 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2016 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## 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. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++11 runtime. ++noinst_LTLIBRARIES = libnonshared11convenience44.la \ ++ libnonshared11convenience48.la ++ ++headers = ++ ++sources = \ ++ bad_array_length.cc \ ++ bad_array_new.cc \ ++ codecvt.cc \ ++ condition_variable.cc \ ++ cow-shim_facets.cc \ ++ cow-stdexcept.cc \ ++ ctype.cc \ ++ cxx11-hash_tr1.cc \ ++ cxx11-ios_failure.cc \ ++ cxx11-shim_facets.cc \ ++ cxx11-stdexcept.cc \ ++ del_ops.cc \ ++ del_opvs.cc \ ++ eh_aux_runtime.cc \ ++ eh_terminate.cc \ ++ futex.cc \ ++ ios.cc \ ++ new_handler.cc \ ++ snprintf_lite.cc \ ++ $(inst_sources) ++ ++sources44 = \ ++ limits.cc \ ++ future.cc \ ++ functexcept.cc \ ++ placeholders.cc \ ++ regex.cc \ ++ functional.cc \ ++ shared_ptr44.cc \ ++ nested_exception.cc \ ++ debug.cc \ ++ compatibility-thread-c++0x.cc \ ++ atexit_thread.cc \ ++ random.cc \ ++ chrono.cc \ ++ compatibility-atomic-c++0x.cc \ ++ compatibility-c++0x.cc \ ++ hashtable_c++0x.cc \ ++ system_error44.cc \ ++ thread44.cc \ ++ $(inst_sources44) ++ ++sources48 = \ ++ functexcept48.cc \ ++ future48.cc \ ++ random48.cc \ ++ regex48.cc \ ++ shared_ptr48.cc \ ++ system_error48.cc \ ++ thread48.cc \ ++ $(inst_sources48) ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = \ ++ cxx11-locale-inst.cc \ ++ cxx11-wlocale-inst.cc \ ++ ext11-inst.cc \ ++ fstream-inst.cc \ ++ ios-inst.cc \ ++ iostream-inst.cc \ ++ istream-inst.cc \ ++ locale-inst-asm.S \ ++ ostream-inst.cc \ ++ sstream-inst.cc \ ++ streambuf-inst.cc \ ++ string-inst.cc \ ++ wstring-inst.cc ++inst_sources44 = \ ++ cow-sstream-inst44.cc \ ++ cow-string-inst.cc \ ++ cow-wstring-inst.cc \ ++ cow-fstream-inst.cc \ ++ locale-inst44.cc \ ++ wlocale-inst44.cc ++inst_sources48 = \ ++ cow-sstream-inst.cc \ ++ locale-inst.cc \ ++ wlocale-inst.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++inst_sources44 = ++inst_sources48 = ++endif ++ ++vpath % $(top_srcdir)/src/nonshared11 ++vpath % $(top_srcdir) ++ ++libnonshared11convenience44_la_SOURCES = $(sources) $(sources44) ++libnonshared11convenience48_la_SOURCES = $(sources) $(sources48) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++11 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++# Use special rules for the C++14 sources so that the proper flags are passed. ++del_ops.lo: del_ops.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++del_opvs.lo: del_opvs.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< +--- libstdc++-v3/src/nonshared11/Makefile.in.jj 2016-07-22 11:37:16.407402513 +0200 ++++ libstdc++-v3/src/nonshared11/Makefile.in 2016-07-22 11:37:16.407402513 +0200 +@@ -0,0 +1,788 @@ ++# Makefile.in generated by automake 1.11.6 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software ++# Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__make_dryrun = \ ++ { \ ++ am__dry=no; \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ ++ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ ++ *) \ ++ for am__flg in $$MAKEFLAGS; do \ ++ case $$am__flg in \ ++ *=*|--*) ;; \ ++ *n*) am__dry=yes; break;; \ ++ esac; \ ++ done;; \ ++ esac; \ ++ test $$am__dry = yes; \ ++ } ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ ++ $(srcdir)/Makefile.am ++subdir = src/nonshared11 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/stdint.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++libnonshared11convenience44_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_1 = cxx11-locale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ext11-inst.lo fstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ios-inst.lo iostream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst-asm.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.lo sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.lo string-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst.lo ++am__objects_2 = bad_array_length.lo bad_array_new.lo codecvt.lo \ ++ condition_variable.lo cow-shim_facets.lo cow-stdexcept.lo \ ++ ctype.lo cxx11-hash_tr1.lo cxx11-ios_failure.lo \ ++ cxx11-shim_facets.lo cxx11-stdexcept.lo del_ops.lo del_opvs.lo \ ++ eh_aux_runtime.lo eh_terminate.lo futex.lo ios.lo \ ++ new_handler.lo snprintf_lite.lo $(am__objects_1) ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = cow-sstream-inst44.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-fstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst44.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst44.lo ++am__objects_4 = limits.lo future.lo functexcept.lo placeholders.lo \ ++ regex.lo functional.lo shared_ptr44.lo nested_exception.lo \ ++ debug.lo compatibility-thread-c++0x.lo atexit_thread.lo \ ++ random.lo chrono.lo compatibility-atomic-c++0x.lo \ ++ compatibility-c++0x.lo hashtable_c++0x.lo system_error44.lo \ ++ thread44.lo $(am__objects_3) ++am_libnonshared11convenience44_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_4) ++libnonshared11convenience44_la_OBJECTS = \ ++ $(am_libnonshared11convenience44_la_OBJECTS) ++libnonshared11convenience48_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_5 = cow-sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.lo wlocale-inst.lo ++am__objects_6 = functexcept48.lo future48.lo random48.lo regex48.lo \ ++ shared_ptr48.lo system_error48.lo thread48.lo $(am__objects_5) ++am_libnonshared11convenience48_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_6) ++libnonshared11convenience48_la_OBJECTS = \ ++ $(am_libnonshared11convenience48_la_OBJECTS) ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) ++LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++CXXLD = $(CXX) ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ ++ $(LDFLAGS) -o $@ ++SOURCES = $(libnonshared11convenience44_la_SOURCES) \ ++ $(libnonshared11convenience48_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++AMTAR = @AMTAR@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_FLAGS = @HWCAP_FLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++WERROR = @WERROR@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_FLAGS) -frandom-seed=$@ ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++11 runtime. ++noinst_LTLIBRARIES = libnonshared11convenience44.la \ ++ libnonshared11convenience48.la ++ ++headers = ++sources = \ ++ bad_array_length.cc \ ++ bad_array_new.cc \ ++ codecvt.cc \ ++ condition_variable.cc \ ++ cow-shim_facets.cc \ ++ cow-stdexcept.cc \ ++ ctype.cc \ ++ cxx11-hash_tr1.cc \ ++ cxx11-ios_failure.cc \ ++ cxx11-shim_facets.cc \ ++ cxx11-stdexcept.cc \ ++ del_ops.cc \ ++ del_opvs.cc \ ++ eh_aux_runtime.cc \ ++ eh_terminate.cc \ ++ futex.cc \ ++ ios.cc \ ++ new_handler.cc \ ++ snprintf_lite.cc \ ++ $(inst_sources) ++ ++sources44 = \ ++ limits.cc \ ++ future.cc \ ++ functexcept.cc \ ++ placeholders.cc \ ++ regex.cc \ ++ functional.cc \ ++ shared_ptr44.cc \ ++ nested_exception.cc \ ++ debug.cc \ ++ compatibility-thread-c++0x.cc \ ++ atexit_thread.cc \ ++ random.cc \ ++ chrono.cc \ ++ compatibility-atomic-c++0x.cc \ ++ compatibility-c++0x.cc \ ++ hashtable_c++0x.cc \ ++ system_error44.cc \ ++ thread44.cc \ ++ $(inst_sources44) ++ ++sources48 = \ ++ functexcept48.cc \ ++ future48.cc \ ++ random48.cc \ ++ regex48.cc \ ++ shared_ptr48.cc \ ++ system_error48.cc \ ++ thread48.cc \ ++ $(inst_sources48) ++ ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ext11-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ fstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ios-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ iostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst-asm.S \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources44 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources44 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst44.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-fstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst44.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst44.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources48 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources48 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.cc ++ ++libnonshared11convenience44_la_SOURCES = $(sources) $(sources44) ++libnonshared11convenience48_la_SOURCES = $(sources) $(sources48) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++11 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .S .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared11/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared11/Makefile ++.PRECIOUS: Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am: ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ ++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ ++ test "$$dir" != "$$p" || dir=.; \ ++ echo "rm -f \"$${dir}/so_locations\""; \ ++ rm -f "$${dir}/so_locations"; \ ++ done ++libnonshared11convenience44.la: $(libnonshared11convenience44_la_OBJECTS) $(libnonshared11convenience44_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience44_la_DEPENDENCIES) ++ $(CXXLINK) $(libnonshared11convenience44_la_OBJECTS) $(libnonshared11convenience44_la_LIBADD) $(LIBS) ++libnonshared11convenience48.la: $(libnonshared11convenience48_la_OBJECTS) $(libnonshared11convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience48_la_DEPENDENCIES) ++ $(CXXLINK) $(libnonshared11convenience48_la_OBJECTS) $(libnonshared11convenience48_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.S.o: ++ $(CPPASCOMPILE) -c -o $@ $< ++ ++.S.obj: ++ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.S.lo: ++ $(LTCPPASCOMPILE) -c -o $@ $< ++ ++.cc.o: ++ $(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ mkid -fID $$unique ++tags: TAGS ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ set x; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: CTAGS ++CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ pdf pdf-am ps ps-am tags uninstall uninstall-am ++ ++ ++vpath % $(top_srcdir)/src/nonshared11 ++vpath % $(top_srcdir) ++ ++# Use special rules for the C++14 sources so that the proper flags are passed. ++del_ops.lo: del_ops.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++del_opvs.lo: del_opvs.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +--- libstdc++-v3/src/nonshared11/del_opv.cc.jj 2016-07-22 11:37:16.408402501 +0200 ++++ libstdc++-v3/src/nonshared11/del_opv.cc 2016-07-22 11:37:16.408402501 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2016 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 ++// . ++ ++#include "../libsupc++/del_opv.cc" +--- libstdc++-v3/src/nonshared11/limits.cc.jj 2016-07-22 11:37:16.408402501 +0200 ++++ libstdc++-v3/src/nonshared11/limits.cc 2016-07-22 11:37:16.408402501 +0200 +@@ -0,0 +1,99 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++#define const _GLIBCXX_USE_CONSTEXPR ++ ++ const int __numeric_limits_base::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ ++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128) ++ const bool numeric_limits<__int128>::is_specialized; ++ const int numeric_limits<__int128>::digits; ++ const int numeric_limits<__int128>::digits10; ++ const int numeric_limits<__int128>::max_digits10; ++ const bool numeric_limits<__int128>::is_signed; ++ const bool numeric_limits<__int128>::is_integer; ++ const bool numeric_limits<__int128>::is_exact; ++ const int numeric_limits<__int128>::radix; ++ const int numeric_limits<__int128>::min_exponent; ++ const int numeric_limits<__int128>::min_exponent10; ++ const int numeric_limits<__int128>::max_exponent; ++ const int numeric_limits<__int128>::max_exponent10; ++ const bool numeric_limits<__int128>::has_infinity; ++ const bool numeric_limits<__int128>::has_quiet_NaN; ++ const bool numeric_limits<__int128>::has_signaling_NaN; ++ const float_denorm_style numeric_limits<__int128>::has_denorm; ++ const bool numeric_limits<__int128>::has_denorm_loss; ++ const bool numeric_limits<__int128>::is_iec559; ++ const bool numeric_limits<__int128>::is_bounded; ++ const bool numeric_limits<__int128>::is_modulo; ++ const bool numeric_limits<__int128>::traps; ++ const bool numeric_limits<__int128>::tinyness_before; ++ const float_round_style numeric_limits<__int128>::round_style; ++ ++ const bool numeric_limits::is_specialized; ++ const int numeric_limits::digits; ++ const int numeric_limits::digits10; ++ const int numeric_limits::max_digits10; ++ const bool numeric_limits::is_signed; ++ const bool numeric_limits::is_integer; ++ const bool numeric_limits::is_exact; ++ const int numeric_limits::radix; ++ const int numeric_limits::min_exponent; ++ const int numeric_limits::min_exponent10; ++ const int numeric_limits::max_exponent; ++ const int numeric_limits::max_exponent10; ++ const bool numeric_limits::has_infinity; ++ const bool numeric_limits::has_quiet_NaN; ++ const bool numeric_limits::has_signaling_NaN; ++ const float_denorm_style numeric_limits::has_denorm; ++ const bool numeric_limits::has_denorm_loss; ++ const bool numeric_limits::is_iec559; ++ const bool numeric_limits::is_bounded; ++ const bool numeric_limits::is_modulo; ++ const bool numeric_limits::traps; ++ const bool numeric_limits::tinyness_before; ++ const float_round_style numeric_limits::round_style; ++#endif ++} +--- libstdc++-v3/src/nonshared11/locale-inst.cc.jj 2016-07-22 11:37:16.408402501 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst.cc 2016-07-22 11:56:34.403347351 +0200 +@@ -0,0 +1,93 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2016 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 ++// . ++ ++// ++// ISO C++ 14882: 22.1 Locales ++// ++ ++#ifndef _GLIBCXX_USE_CXX11_ABI ++// Instantiations in this file use the old COW std::string ABI unless included ++// by another file which defines _GLIBCXX_USE_CXX11_ABI=1. Some instantiations ++// are guarded by a check for !_GLIBCXX_USE_CXX11_ABI so that they are only ++// instantiated once, because they are not tagged with abi_tag so should not ++// be instantiated twice. ++# define _GLIBCXX_USE_CXX11_ABI 0 ++#endif ++ ++#include ++ ++// Instantiation configuration. ++#ifndef C ++# define C char ++# define C_is_char ++#endif ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ template time_get>::iter_type time_get>::_M_extract_wday_or_month(iter_type, iter_type, int&, const C**, size_t, ios_base&, ios_base::iostate&) const; ++#endif ++ ++ template C* __add_grouping(C*, C, char const*, size_t, C const*, C const*); ++ ++ template moneypunct_byname::moneypunct_byname(const string&, size_t); ++ template moneypunct_byname::moneypunct_byname(const string&, size_t); ++ template numpunct_byname::numpunct_byname(const string&, size_t); ++ template time_put_byname::time_put_byname(const string&, size_t); ++ template time_get_byname::time_get_byname(const string&, size_t); ++ template time_get>::iter_type time_get>::get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, const C*, const C*) const; ++ template time_get>::iter_type time_get>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, char, char) const; ++ template messages_byname::messages_byname(const string&, size_t); ++ ctype_byname::ctype_byname(const string& __s, size_t __refs) ++ : ctype_byname(__s.c_str(), __refs) { } ++ template codecvt_byname::codecvt_byname(const string&, size_t); ++// template collate_byname::collate_byname(const string&, size_t); ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++asm (".hidden _ZSt16__convert_from_vRKP15__locale_structPciPKcz"); ++asm (".hidden _ZTISt10money_base"); ++asm (".hidden _ZTISt13messages_base"); ++asm (".hidden _ZTISt9time_base"); ++asm (".hidden _ZTSSt10money_base"); ++asm (".hidden _ZTSSt13messages_base"); ++asm (".hidden _ZTSSt9time_base"); ++#ifdef C_is_char ++asm (".hidden _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcjPKS0_S5_"); ++#else ++asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcmPKS0_S5_"); ++#endif ++#else ++asm (".hidden _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcjPKS0_S5_"); ++#else ++asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcmPKS0_S5_"); ++#endif ++#endif +--- libstdc++-v3/src/nonshared11/cow-fstream-inst.cc.jj 2016-07-22 11:37:16.408402501 +0200 ++++ libstdc++-v3/src/nonshared11/cow-fstream-inst.cc 2016-07-22 11:37:16.408402501 +0200 +@@ -0,0 +1,48 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ typedef basic_filebuf FIC; ++ ++ template ++ int FIC::_M_get_ext_pos(__state_type &); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ typedef basic_filebuf FIW; ++ ++ template ++ int FIW::_M_get_ext_pos(__state_type &); ++ ++#endif ++ ++} +--- libstdc++-v3/src/nonshared11/nested_exception.cc.jj 2016-07-22 11:37:16.409402488 +0200 ++++ libstdc++-v3/src/nonshared11/nested_exception.cc 2016-07-22 11:37:16.409402488 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../libsupc++/nested_exception.cc" ++asm (".hidden _ZTSSt16nested_exception"); +--- libstdc++-v3/src/nonshared11/bad_array_new.cc.jj 2016-07-22 11:37:16.409402488 +0200 ++++ libstdc++-v3/src/nonshared11/bad_array_new.cc 2016-07-22 11:37:16.409402488 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2014-2016 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 ++// . ++ ++#include "../libsupc++/bad_array_new.cc" +--- libstdc++-v3/src/nonshared11/streambuf-inst.cc.jj 2016-07-22 11:37:16.409402488 +0200 ++++ libstdc++-v3/src/nonshared11/streambuf-inst.cc 2016-07-22 11:37:16.409402488 +0200 +@@ -0,0 +1,42 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template void basic_streambuf::swap(basic_streambuf&); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_streambuf::swap(basic_streambuf&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc.jj 2016-07-22 11:37:16.409402488 +0200 ++++ libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc 2016-07-22 11:37:16.409402488 +0200 +@@ -0,0 +1,39 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include ++#if defined(_GLIBCXX_HAVE_TLS) && defined(PIC) ++#define _GLIBCXX_ASYNC_ABI_COMPAT ++#endif ++ ++#include ++#include ++ ++#undef _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE ++#include "../c++11/compatibility-thread-c++0x.cc" ++ ++asm (".hidden _ZSt9call_onceIMSt6threadFvvEJSt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_"); ++asm (".hidden _ZZSt9call_onceIMSt6threadFvvEJSt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_ENKUlvE0_clEv"); ++asm (".hidden _ZZSt9call_onceIMSt6threadFvvEJSt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_ENUlvE0_4_FUNEv"); ++asm (".hidden _ZSt13__bind_simpleIMSt6threadFvvEJSt17reference_wrapperIS0_EEENSt19_Bind_simple_helperIT_JDpT0_EE6__typeEOS6_DpOS7_"); ++asm (".hidden _ZNSt13__future_base19_Async_state_common15_M_run_deferredEv"); ++asm (".hidden _ZNSt13__future_base7_ResultIvE10_M_destroyEv"); +--- libstdc++-v3/src/nonshared11/wstring-inst.cc.jj 2016-07-22 11:37:16.410402476 +0200 ++++ libstdc++-v3/src/nonshared11/wstring-inst.cc 2016-07-22 11:37:16.410402476 +0200 +@@ -0,0 +1,31 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2016 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 ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#include "../c++11/wstring-inst.cc" ++asm (".hidden _ZN9__gnu_cxxeqIPKwNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_"); ++asm (".hidden _ZN9__gnu_cxxeqIPwNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_"); +--- libstdc++-v3/src/nonshared11/ios-inst.cc.jj 2016-07-22 11:37:16.410402476 +0200 ++++ libstdc++-v3/src/nonshared11/ios-inst.cc 2016-07-22 11:37:16.410402476 +0200 +@@ -0,0 +1,49 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template void basic_ios::move(basic_ios&&); ++ template void basic_ios::move(basic_ios&); ++ template void basic_ios::swap(basic_ios&); ++ template void basic_ios::set_rdbuf(basic_streambuf*); ++ template basic_ios::operator bool() const; ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_ios::move(basic_ios&&); ++ template void basic_ios::move(basic_ios&); ++ template void basic_ios::swap(basic_ios&); ++ template void basic_ios::set_rdbuf(basic_streambuf*); ++ template basic_ios::operator bool() const; ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/future48.cc.jj 2016-07-22 11:37:16.410402476 +0200 ++++ libstdc++-v3/src/nonshared11/future48.cc 2016-07-22 11:37:16.410402476 +0200 +@@ -0,0 +1,26 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/future.cc" ++asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt"); ++asm (".hidden _ZNSt13__future_base13_State_baseV211_Make_ready6_S_runEPv"); +--- libstdc++-v3/src/nonshared11/fstream-inst.cc.jj 2016-07-22 11:37:16.410402476 +0200 ++++ libstdc++-v3/src/nonshared11/fstream-inst.cc 2016-07-22 11:37:16.410402476 +0200 +@@ -0,0 +1,79 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2016 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 ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_filebuf>::basic_filebuf(basic_filebuf&&); ++ template basic_filebuf>& basic_filebuf>::operator=(basic_filebuf&&); ++ template void basic_filebuf>::swap(basic_filebuf&); ++ template basic_filebuf>::__filebuf_type* basic_filebuf>::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(basic_ifstream&&); ++ template basic_ifstream& basic_ifstream::operator=(basic_ifstream&&); ++ template void basic_ifstream::swap(basic_ifstream&); ++ template void basic_ifstream::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(basic_ofstream&&); ++ template basic_ofstream& basic_ofstream::operator=(basic_ofstream&&); ++ template void basic_ofstream::swap(basic_ofstream&); ++ template void basic_ofstream::open(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(basic_fstream&&); ++ template basic_fstream& basic_fstream::operator=(basic_fstream&&); ++ template void basic_fstream::swap(basic_fstream&); ++ template void basic_fstream::open(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(const std::string &, ios_base::openmode); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_filebuf>::basic_filebuf(basic_filebuf&&); ++ template basic_filebuf>& basic_filebuf>::operator=(basic_filebuf&&); ++ template void basic_filebuf>::swap(basic_filebuf&); ++ template basic_filebuf>::__filebuf_type* basic_filebuf>::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(basic_ifstream&&); ++ template basic_ifstream& basic_ifstream::operator=(basic_ifstream&&); ++ template void basic_ifstream::swap(basic_ifstream&); ++ template void basic_ifstream::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(basic_ofstream&&); ++ template basic_ofstream& basic_ofstream::operator=(basic_ofstream&&); ++ template void basic_ofstream::swap(basic_ofstream&); ++ template void basic_ofstream::open(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(basic_fstream&&); ++ template basic_fstream& basic_fstream::operator=(basic_fstream&&); ++ template void basic_fstream::swap(basic_fstream&); ++ template void basic_fstream::open(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(const std::string &, ios_base::openmode); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/bad_array_length.cc.jj 2016-07-22 11:37:16.411402464 +0200 ++++ libstdc++-v3/src/nonshared11/bad_array_length.cc 2016-07-22 11:37:16.410402476 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2014-2016 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 ++// . ++ ++#include "../libsupc++/bad_array_length.cc" +--- libstdc++-v3/src/nonshared11/regex.cc.jj 2016-07-22 11:37:16.411402464 +0200 ++++ libstdc++-v3/src/nonshared11/regex.cc 2016-07-22 11:37:16.411402464 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#include "../c++11/regex.cc" ++ ++asm (".hidden _ZTSSt11regex_error"); +--- libstdc++-v3/src/nonshared11/cow-sstream-inst44.cc.jj 2016-07-22 11:37:16.411402464 +0200 ++++ libstdc++-v3/src/nonshared11/cow-sstream-inst44.cc 2016-07-22 11:37:16.411402464 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2016 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_44 ++#include "cow-sstream-inst.cc" +--- libstdc++-v3/src/shared/hashtable-aux.cc.jj 2016-07-21 20:21:57.118926720 +0200 ++++ libstdc++-v3/src/shared/hashtable-aux.cc 2016-07-22 11:37:16.411402464 +0200 +@@ -22,6 +22,9 @@ + // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + // . + ++#ifndef HASHTABLE_AUX_CC ++#define HASHTABLE_AUX_CC 1 ++ + namespace __detail + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -91,3 +94,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + }; + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace __detail ++ ++#endif +--- libstdc++-v3/src/c++98/locale_facets.cc.jj 2016-07-21 20:21:57.147926371 +0200 ++++ libstdc++-v3/src/c++98/locale_facets.cc 2016-07-22 11:37:16.411402464 +0200 +@@ -27,6 +27,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + // Definitions for static const data members of time_base. + template<> + const char* +@@ -97,6 +98,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + *__fptr++ = (__flags & ios_base::uppercase) ? 'G' : 'g'; + *__fptr = '\0'; + } ++#endif + + // This function is not exported but is needed internally, by the versions + // of __verify_grouping below and in src/c++11/cxx11-locale-inst.cc +@@ -125,6 +127,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __test; + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + bool + __verify_grouping(const char* __grouping, size_t __grouping_size, + const string& __grouping_tmp) throw() +@@ -133,6 +136,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __grouping_tmp.c_str(), + __grouping_tmp.size()); + } ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace +--- libstdc++-v3/src/Makefile.am.jj 2016-07-21 20:21:57.138926479 +0200 ++++ libstdc++-v3/src/Makefile.am 2016-07-22 11:37:16.412402451 +0200 +@@ -28,7 +28,7 @@ else + filesystem_dir = + endif + +-SUBDIRS = c++98 c++11 $(filesystem_dir) ++SUBDIRS = c++98 c++11 $(filesystem_dir) nonshared98 nonshared11 + + # Cross compiler support. + if VTV_CYGMIN +@@ -37,6 +37,8 @@ else + toolexeclib_LTLIBRARIES = libstdc++.la + endif + ++noinst_LTLIBRARIES = libstdc++_nonshared44.la libstdc++_nonshared48.la ++ + if VTV_CYGMIN + vtv_stubs.cc: + rm -f $@ +@@ -72,6 +74,25 @@ endif + parallel_compat_sources = \ + compatibility-parallel_list.cc compatibility-parallel_list-2.cc + ++libstdc___nonshared44_la_SOURCES = ++ ++libstdc___nonshared44_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la ++ ++libstdc___nonshared44_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la ++ ++libstdc___nonshared48_la_SOURCES = ++ ++libstdc___nonshared48_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la ++ ++libstdc___nonshared48_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la + + cxx98_sources = \ + compatibility.cc \ +--- libstdc++-v3/src/Makefile.in.jj 2016-07-21 20:21:57.272924864 +0200 ++++ libstdc++-v3/src/Makefile.in 2016-07-22 11:37:16.412402451 +0200 +@@ -110,7 +110,7 @@ am__uninstall_files_from_dir = { \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } + am__installdirs = "$(DESTDIR)$(toolexeclibdir)" +-LTLIBRARIES = $(toolexeclib_LTLIBRARIES) ++LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES) + am__DEPENDENCIES_1 = + @GLIBCXX_LDBL_COMPAT_TRUE@am__objects_1 = compatibility-ldbl.lo + am__objects_2 = compatibility.lo compatibility-debug_list.lo \ +@@ -122,6 +122,12 @@ am_libstdc___la_OBJECTS = $(am__objects_ + libstdc___la_OBJECTS = $(am_libstdc___la_OBJECTS) + @VTV_CYGMIN_FALSE@am_libstdc___la_rpath = -rpath $(toolexeclibdir) + @VTV_CYGMIN_TRUE@am_libstdc___la_rpath = -rpath $(toolexeclibdir) ++am_libstdc___nonshared44_la_OBJECTS = ++libstdc___nonshared44_la_OBJECTS = \ ++ $(am_libstdc___nonshared44_la_OBJECTS) ++am_libstdc___nonshared48_la_OBJECTS = ++libstdc___nonshared48_la_OBJECTS = \ ++ $(am_libstdc___nonshared48_la_OBJECTS) + libvtv_la_LIBADD = + @VTV_CYGMIN_TRUE@am_libvtv_la_OBJECTS = vtv_stubs.lo + libvtv_la_OBJECTS = $(am_libvtv_la_OBJECTS) +@@ -132,7 +138,17 @@ am__depfiles_maybe = + CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) + CXXLD = $(CXX) +-SOURCES = $(libstdc___la_SOURCES) $(libvtv_la_SOURCES) ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ ++ $(LDFLAGS) -o $@ ++SOURCES = $(libstdc___la_SOURCES) $(libstdc___nonshared44_la_SOURCES) \ ++ $(libstdc___nonshared48_la_SOURCES) $(libvtv_la_SOURCES) + RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ +@@ -151,7 +167,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGE + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags +-DIST_SUBDIRS = c++98 c++11 filesystem ++DIST_SUBDIRS = c++98 c++11 filesystem nonshared98 nonshared11 + ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ + ACLOCAL = @ACLOCAL@ + ALLOCATOR_H = @ALLOCATOR_H@ +@@ -169,6 +185,8 @@ AWK = @AWK@ + BASIC_FILE_CC = @BASIC_FILE_CC@ + BASIC_FILE_H = @BASIC_FILE_H@ + CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ + CCODECVT_CC = @CCODECVT_CC@ + CCOLLATE_CC = @CCOLLATE_CC@ + CCTYPE_CC = @CCTYPE_CC@ +@@ -376,11 +394,12 @@ WARN_CXXFLAGS = \ + AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) + @ENABLE_FILESYSTEM_TS_FALSE@filesystem_dir = + @ENABLE_FILESYSTEM_TS_TRUE@filesystem_dir = filesystem +-SUBDIRS = c++98 c++11 $(filesystem_dir) ++SUBDIRS = c++98 c++11 $(filesystem_dir) nonshared98 nonshared11 + @VTV_CYGMIN_FALSE@toolexeclib_LTLIBRARIES = libstdc++.la + + # Cross compiler support. + @VTV_CYGMIN_TRUE@toolexeclib_LTLIBRARIES = libvtv.la libstdc++.la ++noinst_LTLIBRARIES = libstdc++_nonshared44.la libstdc++_nonshared48.la + @VTV_CYGMIN_TRUE@libvtv_la_SOURCES = vtv_stubs.cc + @VTV_CYGMIN_TRUE@libvtv_la_LDFLAGS = $(lt_host_flags) + @VTV_CYGMIN_TRUE@libvtv_la_AM_CXXFLAGS = \ +@@ -398,6 +417,24 @@ SUBDIRS = c++98 c++11 $(filesystem_dir) + parallel_compat_sources = \ + compatibility-parallel_list.cc compatibility-parallel_list-2.cc + ++libstdc___nonshared44_la_SOURCES = ++libstdc___nonshared44_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la ++ ++libstdc___nonshared44_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la ++ ++libstdc___nonshared48_la_SOURCES = ++libstdc___nonshared48_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la ++ ++libstdc___nonshared48_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la ++ + cxx98_sources = \ + compatibility.cc \ + compatibility-debug_list.cc \ +@@ -570,6 +607,15 @@ $(top_srcdir)/configure: @MAINTAINER_MOD + $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ ++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ ++ test "$$dir" != "$$p" || dir=.; \ ++ echo "rm -f \"$${dir}/so_locations\""; \ ++ rm -f "$${dir}/so_locations"; \ ++ done + install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ +@@ -604,6 +650,10 @@ clean-toolexeclibLTLIBRARIES: + done + libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) $(EXTRA_libstdc___la_DEPENDENCIES) + $(libstdc___la_LINK) $(am_libstdc___la_rpath) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS) ++libstdc++_nonshared44.la: $(libstdc___nonshared44_la_OBJECTS) $(libstdc___nonshared44_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared44_la_DEPENDENCIES) ++ $(LINK) $(libstdc___nonshared44_la_OBJECTS) $(libstdc___nonshared44_la_LIBADD) $(LIBS) ++libstdc++_nonshared48.la: $(libstdc___nonshared48_la_OBJECTS) $(libstdc___nonshared48_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared48_la_DEPENDENCIES) ++ $(LINK) $(libstdc___nonshared48_la_OBJECTS) $(libstdc___nonshared48_la_LIBADD) $(LIBS) + libvtv.la: $(libvtv_la_OBJECTS) $(libvtv_la_DEPENDENCIES) $(EXTRA_libvtv_la_DEPENDENCIES) + $(libvtv_la_LINK) $(am_libvtv_la_rpath) $(libvtv_la_OBJECTS) $(libvtv_la_LIBADD) $(LIBS) + +@@ -804,7 +854,8 @@ maintainer-clean-generic: + clean: clean-recursive + + clean-am: clean-generic clean-libtool clean-local \ +- clean-toolexeclibLTLIBRARIES mostlyclean-am ++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES \ ++ mostlyclean-am + + distclean: distclean-recursive + -rm -f Makefile +@@ -875,19 +926,19 @@ uninstall-am: uninstall-toolexeclibLTLIB + + .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am all-local check check-am clean clean-generic \ +- clean-libtool clean-local clean-toolexeclibLTLIBRARIES ctags \ +- ctags-recursive distclean distclean-compile distclean-generic \ +- distclean-libtool distclean-tags dvi dvi-am html html-am info \ +- info-am install install-am install-data install-data-am \ +- install-data-local install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip \ +- install-toolexeclibLTLIBRARIES installcheck installcheck-am \ +- installdirs installdirs-am maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-compile \ +- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +- tags tags-recursive uninstall uninstall-am \ ++ clean-libtool clean-local clean-noinstLTLIBRARIES \ ++ clean-toolexeclibLTLIBRARIES ctags ctags-recursive distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-data-local \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip install-toolexeclibLTLIBRARIES \ ++ installcheck installcheck-am installdirs installdirs-am \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ ++ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-toolexeclibLTLIBRARIES + + +--- libstdc++-v3/src/c++11/ios.cc.jj 2016-07-21 20:21:57.197925768 +0200 ++++ libstdc++-v3/src/c++11/ios.cc 2016-07-22 11:37:16.413402439 +0200 +@@ -33,6 +33,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + // Definitions for static const members of ios_base. + const ios_base::fmtflags ios_base::boolalpha; + const ios_base::fmtflags ios_base::dec; +@@ -191,6 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + _M_callbacks = 0; + } ++#endif + + void + ios_base::_M_move(ios_base& __rhs) noexcept +--- libstdc++-v3/src/c++11/condition_variable.cc.jj 2016-07-21 20:21:57.247925166 +0200 ++++ libstdc++-v3/src/c++11/condition_variable.cc 2016-07-22 11:37:16.413402439 +0200 +@@ -31,6 +31,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + #ifdef __GTHREAD_COND_INIT + condition_variable::condition_variable() noexcept = default; + #else +@@ -77,6 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + if (__e) + __throw_system_error(__e); + } ++#endif + + extern void + __at_thread_exit(__at_thread_exit_elt*); +--- libstdc++-v3/src/c++11/shared_ptr.cc.jj 2016-07-21 20:21:57.261924997 +0200 ++++ libstdc++-v3/src/c++11/shared_ptr.cc 2016-07-22 11:37:16.413402439 +0200 +@@ -28,11 +28,13 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + bad_weak_ptr::~bad_weak_ptr() noexcept = default; + + char const* + bad_weak_ptr::what() const noexcept + { return "bad_weak_ptr"; } ++#endif + + #ifdef __GTHREADS + namespace +--- libstdc++-v3/src/c++11/future.cc.jj 2016-07-21 20:21:57.170926094 +0200 ++++ libstdc++-v3/src/c++11/future.cc 2016-07-22 11:37:16.413402439 +0200 +@@ -24,6 +24,7 @@ + + #include + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + namespace + { + struct future_error_category : public std::error_category +@@ -65,11 +66,13 @@ namespace + return __fec; + } + } ++#endif + + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + const error_category& future_category() noexcept + { return __future_category_instance(); } + +@@ -77,12 +80,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + const char* + future_error::what() const noexcept { return logic_error::what(); } ++#endif + + #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \ + && (ATOMIC_INT_LOCK_FREE > 1) ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + __future_base::_Result_base::_Result_base() = default; + + __future_base::_Result_base::~_Result_base() = default; ++#endif + + void + __future_base::_State_baseV2::_Make_ready::_S_run(void* p) +--- libstdc++-v3/src/c++11/cow-string-inst.cc.jj 2016-07-21 20:21:57.262924985 +0200 ++++ libstdc++-v3/src/c++11/cow-string-inst.cc 2016-07-22 11:37:16.414402426 +0200 +@@ -27,7 +27,11 @@ + // + + #define _GLIBCXX_USE_CXX11_ABI 0 ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + #include "string-inst.cc" ++#else ++#include ++#endif + + #include + #include +@@ -40,6 +44,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + // These came from c++98/misc-inst.cc, repeat them for COW string + // string related to iostreams. + template +@@ -54,6 +59,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + template + basic_istream& + getline(basic_istream&, string&); ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace +--- libstdc++-v3/src/c++11/compatibility-c++0x.cc.jj 2016-07-21 20:21:57.228925395 +0200 ++++ libstdc++-v3/src/c++11/compatibility-c++0x.cc 2016-07-22 11:37:16.414402426 +0200 +@@ -44,6 +44,7 @@ + + namespace std _GLIBCXX_VISIBILITY(default) + { ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + // gcc-4.4.0 + // exported std::lock_error + #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) +@@ -104,7 +105,6 @@ namespace std _GLIBCXX_VISIBILITY(defaul + hash::operator()(const wstring& __s) const + { return _Hash_impl::hash(__s.data(), __s.length() * sizeof(wchar_t)); } + #endif +-#endif + + template<> + struct hash +@@ -129,11 +129,19 @@ namespace std _GLIBCXX_VISIBILITY(defaul + }; + constexpr bool system_clock::is_monotonic; + } // namespace chrono ++#endif ++#endif + + _GLIBCXX_BEGIN_NAMESPACE_VERSION + // gcc-5 replaces this with _V2::error_category + class error_category + { ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ // Ugly hack. Ensure we don't emit the virtual table and ++ // use system libstdc++.so.6 one instead. ++ virtual void dummy(); ++#endif ++ + public: + error_category() noexcept; + +@@ -177,6 +185,7 @@ _GLIBCXX_END_NAMESPACE_VERSION + + error_category::~error_category() noexcept = default; + ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + namespace + { + using std::string; +@@ -253,6 +262,6 @@ _GLIBCXX_END_NAMESPACE_VERSION + return __code.value() == __i; + return false; + } +- ++#endif + } + #endif +--- libstdc++-v3/src/c++11/system_error.cc.jj 2016-07-21 20:21:57.211925599 +0200 ++++ libstdc++-v3/src/c++11/system_error.cc 2016-07-22 11:37:16.414402426 +0200 +@@ -82,8 +82,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + const error_category& + _V2::generic_category() noexcept { return generic_category_instance; } +- ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11 + system_error::~system_error() noexcept = default; ++#endif + + error_condition + error_category::default_error_condition(int __i) const noexcept +@@ -98,9 +100,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + error_category::equivalent(const error_code& __code, int __i) const noexcept + { return *this == __code.category() && __code.value() == __i; } + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + error_condition + error_code::default_error_condition() const noexcept + { return category().default_error_condition(value()); } ++#endif + + #if _GLIBCXX_USE_CXX11_ABI + // Return error_category::message() as a COW string +--- libstdc++-v3/src/c++11/random.cc.jj 2016-07-21 20:21:57.183925937 +0200 ++++ libstdc++-v3/src/c++11/random.cc 2016-07-22 11:37:16.415402414 +0200 +@@ -59,6 +59,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + } + + #if (defined __i386__ || defined __x86_64__) && defined _GLIBCXX_X86_RDRAND ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + unsigned int + __attribute__ ((target("rdrnd"))) + __x86_rdrand(void) +@@ -73,6 +74,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + return val; + } + #endif ++#endif + } + + void +@@ -115,6 +117,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + _M_mt.seed(_M_strtoul(token)); + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + void + random_device::_M_fini() + { +@@ -160,6 +163,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + return _M_mt(); + } ++#endif + + template class mersenne_twister_engine< + uint_fast32_t, +--- libstdc++-v3/src/c++11/thread.cc.jj 2016-07-21 20:21:57.217925527 +0200 ++++ libstdc++-v3/src/c++11/thread.cc 2016-07-22 11:37:16.415402414 +0200 +@@ -127,6 +127,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + thread::_State::~_State() = default; + ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + void + thread::join() + { +@@ -154,6 +155,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + _M_id = id(); + } ++#endif + + void + thread::_M_start_thread(_State_ptr state, void (*)()) +@@ -167,6 +169,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + + #if _GLIBCXX_THREAD_ABI_COMPAT ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + void + thread::_M_start_thread(__shared_base_type __b) + { +@@ -180,6 +183,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + _M_start_thread(std::move(__b), nullptr); + } ++#endif + + void + thread::_M_start_thread(__shared_base_type __b, void (*)()) +@@ -197,6 +201,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + unsigned int + thread::hardware_concurrency() noexcept + { +@@ -205,6 +210,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __n = 0; + return __n; + } ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + +@@ -212,6 +218,7 @@ namespace this_thread + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + void + __sleep_for(chrono::seconds __s, chrono::nanoseconds __ns) + { +@@ -243,6 +250,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + ::Sleep(chrono::milliseconds(__s).count() + ms); + #endif + } ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } +--- libstdc++-v3/configure.ac.jj 2016-07-21 20:21:57.042927637 +0200 ++++ libstdc++-v3/configure.ac 2016-07-22 11:37:16.415402414 +0200 +@@ -498,6 +498,11 @@ GLIBCXX_EXPORT_INSTALL_INFO + GLIBCXX_EXPORT_INCLUDES + GLIBCXX_EXPORT_FLAGS + ++CCAS='$(CXX)' ++CCASFLAGS='$(CXXFLAGS)' ++AC_SUBST(CCAS) ++AC_SUBST(CCASFLAGS) ++ + dnl In autoconf 2.5x, AC_OUTPUT is replaced by four AC_CONFIG_* macros, + dnl which can all be called multiple times as needed, plus one (different) + dnl AC_OUTPUT macro. This one lists the files to be created: +--- libstdc++-v3/configure.jj 2016-07-21 20:21:57.096926986 +0200 ++++ libstdc++-v3/configure 2016-07-22 11:37:16.428402251 +0200 +@@ -602,6 +602,8 @@ ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE + LTLIBOBJS + LIBOBJS ++CCASFLAGS ++CCAS + WARN_FLAGS + OPTIMIZE_CXXFLAGS + TOPLEVEL_INCLUDES +@@ -4954,7 +4956,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } + # expandable list at autoconf time; the second provides an expandable list + # (i.e., shell variable) at configure time. + +- SUBDIRS='include libsupc++ src src/c++98 src/c++11 src/filesystem doc po testsuite python' ++ SUBDIRS='include libsupc++ src src/c++98 src/c++11 src/filesystem src/nonshared98 src/nonshared11 doc po testsuite python' + + # These need to be absolute paths, yet at the same time need to + # canonicalize only relative paths, because then amd will not unmount +@@ -11596,7 +11598,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11599 "configure" ++#line 11601 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11702,7 +11704,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11705 "configure" ++#line 11707 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -15388,7 +15390,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" + # Fake what AC_TRY_COMPILE does. + + cat > conftest.$ac_ext << EOF +-#line 15391 "configure" ++#line 15393 "configure" + int main() + { + typedef bool atomic_type; +@@ -15423,7 +15425,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15426 "configure" ++#line 15428 "configure" + int main() + { + typedef short atomic_type; +@@ -15458,7 +15460,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15461 "configure" ++#line 15463 "configure" + int main() + { + // NB: _Atomic_word not necessarily int. +@@ -15494,7 +15496,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15497 "configure" ++#line 15499 "configure" + int main() + { + typedef long long atomic_type; +@@ -15575,7 +15577,7 @@ $as_echo "$as_me: WARNING: Performance o + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 15578 "configure" ++#line 15580 "configure" + int main() + { + _Decimal32 d1; +@@ -15617,7 +15619,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 15620 "configure" ++#line 15622 "configure" + template + struct same + { typedef T2 type; }; +@@ -15651,7 +15653,7 @@ $as_echo "$enable_int128" >&6; } + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15654 "configure" ++#line 15656 "configure" + template + struct same + { typedef T2 type; }; +@@ -81429,6 +81431,11 @@ $as_echo "$gxx_include_dir" >&6; } + + + ++CCAS='$(CXX)' ++CCASFLAGS='$(CXXFLAGS)' ++ ++ ++ + ac_config_files="$ac_config_files Makefile" + + ac_config_files="$ac_config_files scripts/testsuite_flags" +@@ -81446,7 +81453,7 @@ ac_config_files="$ac_config_files doc/xs + # append it here. Only modify Makefiles that have just been created. + # + # Also, get rid of this simulated-VPATH thing that automake does. +-ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile src/filesystem/Makefile doc/Makefile po/Makefile testsuite/Makefile python/Makefile" ++ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile src/filesystem/Makefile src/nonshared98/Makefile src/nonshared11/Makefile doc/Makefile po/Makefile testsuite/Makefile python/Makefile" + + + ac_config_commands="$ac_config_commands generate-headers" +@@ -82675,6 +82682,8 @@ do + "src/c++98/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++98/Makefile" ;; + "src/c++11/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++11/Makefile" ;; + "src/filesystem/Makefile") CONFIG_FILES="$CONFIG_FILES src/filesystem/Makefile" ;; ++ "src/nonshared98/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared98/Makefile" ;; ++ "src/nonshared11/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared11/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;; + "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; +@@ -84515,6 +84524,28 @@ _EOF + s!`test -f '$<' || echo '$(srcdir)/'`!! + _EOF + sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared98/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared11/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file + rm vpsed$$ + echo 'MULTISUBDIR =' >> $ac_file diff --git a/SOURCES/gcc6-libstdc++-docs.patch b/SOURCES/gcc6-libstdc++-docs.patch new file mode 100644 index 0000000..057cac0 --- /dev/null +++ b/SOURCES/gcc6-libstdc++-docs.patch @@ -0,0 +1,24 @@ +--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100 ++++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100 +@@ -5,6 +5,8 @@ + FSF + +

++ Release 6.3.0 ++

+ Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation + License, Version 1.2 or any later version published by the +--- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100 ++++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100 +@@ -20,7 +20,9 @@ + member functions for the library classes, finding out what is in a + particular include file, looking at inheritance diagrams, etc. +

+- The API documentation, rendered into HTML, can be viewed online ++ The API documentation, rendered into HTML, can be viewed locally ++ for the 6.3.0 release, ++ online + for each GCC release + and + diff --git a/SOURCES/gcc6-libstdc++44-xfail.patch b/SOURCES/gcc6-libstdc++44-xfail.patch new file mode 100644 index 0000000..0a84451 --- /dev/null +++ b/SOURCES/gcc6-libstdc++44-xfail.patch @@ -0,0 +1,190 @@ +--- libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc.jj 2014-04-11 14:52:06.733884798 +0200 ++++ libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc 2014-05-10 12:29:51.779887325 +0200 +@@ -1,4 +1,6 @@ + // { dg-require-namedlocale "ja_JP.eucjp" } ++// pr40184 fix not backported to base (locales with broken facets) ++// { dg-do run { xfail *-*-* } } + + // Copyright (C) 2009-2014 Free Software Foundation, Inc. + // +--- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc.jj 2014-04-11 14:52:06.680885075 +0200 ++++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc 2014-05-10 12:29:51.792886917 +0200 +@@ -1,4 +1,6 @@ + // { dg-require-namedlocale "en_GB" } ++// pr26701 fix not backported to base (parsing of en_GB date) ++// { dg-do run { xfail *-*-* } } + + // 2010-01-06 Paolo Carlini + +--- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc.jj 2014-04-11 14:52:06.674885106 +0200 ++++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc 2014-05-10 12:29:51.792886917 +0200 +@@ -1,4 +1,6 @@ + // { dg-require-namedlocale "en_GB" } ++// pr26701 fix not backported to base (parsing of en_GB date) ++// { dg-do run { xfail *-*-* } } + + // 2010-01-06 Paolo Carlini + +--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc.jj 2014-04-11 14:52:06.645885257 +0200 ++++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc 2014-05-10 12:29:51.802886712 +0200 +@@ -1,4 +1,6 @@ + // { dg-require-namedlocale "ru_RU.ISO-8859-5" } ++// pr38081 fix not backported to base (parsing weekday names) ++// { dg-do run { xfail *-*-* } } + + // Copyright (C) 2010-2014 Free Software Foundation, Inc. + // +--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc.jj 2014-04-11 14:52:06.646885252 +0200 ++++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc 2014-05-10 12:29:51.802886712 +0200 +@@ -1,4 +1,6 @@ + // { dg-require-namedlocale "ru_RU.UTF8" } ++// pr38081 fix not backported to base (parsing weekday names) ++// { dg-do run { xfail *-*-* } } + + // 2010-01-05 Paolo Carlini + +--- libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc.jj 2014-04-11 14:52:04.949894106 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc 2014-05-10 12:29:51.807886709 +0200 +@@ -1,4 +1,6 @@ + // { dg-require-fileio "" } ++// pr45628 fix not backported to base (seek 0 shouldn't flush) ++// { dg-do run { xfail *-*-* } } + + // Copyright (C) 2010-2014 Free Software Foundation, Inc. + // +--- libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc.jj 2014-05-10 12:29:51.808886705 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc 2014-05-10 12:31:51.652261219 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr45628 fix not backported to base (seek 0 shouldn't flush) ++ + // Copyright (C) 2010-2014 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free +--- libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc.jj 2014-04-11 14:52:04.941894148 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc 2014-05-10 12:29:51.808886705 +0200 +@@ -1,4 +1,6 @@ + // { dg-require-fileio "" } ++// pr45628 fix not backported to base (seek 0 should not flush) ++// { dg-do run { xfail *-*-* } } + + // Copyright (C) 2010-2014 Free Software Foundation, Inc. + // +--- libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc.jj 2014-04-11 14:52:04.771895035 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc 2014-05-10 12:29:51.819886643 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// dr696 fix not backported to base (handling of overflow when reading number) ++ + // 1999-04-12 bkoz + + // Copyright (C) 1999-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc.jj 2014-04-11 14:52:04.770895040 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc 2014-05-10 12:29:51.819886643 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// dr696 fix not backported to base (handling of overflow when reading number) ++ + // 2009-07-15 Paolo Carlini + // + // Copyright (C) 2009-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc.jj 2014-05-10 12:29:51.829886586 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc 2014-05-10 12:32:23.160099254 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// dr696 fix not backported to base (handling of overflow when reading number) ++ + // Copyright (C) 2004-2014 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free +--- libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc.jj 2014-04-11 14:52:04.762895082 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc 2014-05-10 12:29:51.829886586 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// dr696 fix not backported to base (handling of overflow when reading number) ++ + // 2009-07-15 Paolo Carlini + // + // Copyright (C) 2009-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/26211.cc.jj 2014-04-11 14:52:04.735895223 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/26211.cc 2014-05-10 12:29:51.836886549 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr26211 fix not backported to base (tellg/seekg should construct a sentry) ++ + // 2010-11-18 Paolo Carlini + + // Copyright (C) 2010-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc.jj 2014-04-11 14:52:04.731895243 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc 2014-05-10 12:29:51.836886549 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr26211 fix not backported to base (tellg/seekg should construct a sentry) ++ + // 2010-11-18 Paolo Carlini + + // Copyright (C) 2010-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/26211.cc.jj 2014-04-11 14:52:04.779894993 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/26211.cc 2014-05-10 12:29:51.836886549 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr26211 fix not backported to base (tellg/seekg should construct a sentry) ++ + // 2010-11-18 Paolo Carlini + + // Copyright (C) 2010-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc.jj 2014-04-11 14:52:04.775895014 +0200 ++++ libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc 2014-05-10 12:29:51.837886543 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr26211 fix not backported to base (tellg/seekg should construct a sentry) ++ + // 2010-11-18 Paolo Carlini + + // Copyright (C) 2010-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/27_io/objects/char/41037.cc.jj 2014-05-10 12:29:51.848886483 +0200 ++++ libstdc++-v3/testsuite/27_io/objects/char/41037.cc 2014-05-10 12:30:52.480567953 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr41037 fix not backported to base (flags on cerr) ++ + // Copyright (C) 2009-2014 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free +--- libstdc++-v3/testsuite/27_io/objects/wchar_t/41037.cc.jj 2014-05-10 12:29:51.856886441 +0200 ++++ libstdc++-v3/testsuite/27_io/objects/wchar_t/41037.cc 2014-05-10 12:31:20.274421862 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr26211 fix not backported to base (tellg/seekg should construct a sentry) ++ + // Copyright (C) 2009-2014 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free +--- libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc.jj 2014-04-11 14:52:05.388891816 +0200 ++++ libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc 2014-05-10 12:29:51.868886376 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr42670 fix not backported to base (partial demangling of global ctor fn) ++ + // 2003-02-26 Carlo Wood + + // Copyright (C) 2003-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc.jj 2014-04-11 14:52:05.387891821 +0200 ++++ libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc 2014-05-10 12:29:51.868886376 +0200 +@@ -1,3 +1,6 @@ ++// { dg-do run { xfail *-*-* } } ++// pr37376 fix not backported to base ((42) + 2 changed to (42)+(2)) ++ + // 2003-11-07 Carlo Wood + + // Copyright (C) 2003-2014 Free Software Foundation, Inc. +--- libstdc++-v3/testsuite/libstdc++-abi/abi.exp.jj 2014-04-11 14:52:06.793884485 +0200 ++++ libstdc++-v3/testsuite/libstdc++-abi/abi.exp 2014-05-10 12:29:51.868886376 +0200 +@@ -61,4 +61,7 @@ remote_download "target" "current_symbol + set result [${tool}_load "./abi_check" \ + [list "--check-verbose" "current_symbols.txt" \ + "baseline_symbols.txt"]] ++# This is an artifact of running the current testsuite against the old ++# system libstdc++ ++setup_xfail *-*-* + [lindex $result 0] "libstdc++-abi/abi_check" diff --git a/SOURCES/gcc6-libtool-no-rpath.patch b/SOURCES/gcc6-libtool-no-rpath.patch new file mode 100644 index 0000000..466c661 --- /dev/null +++ b/SOURCES/gcc6-libtool-no-rpath.patch @@ -0,0 +1,27 @@ +libtool sucks. +--- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100 ++++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200 +@@ -5394,6 +5394,7 @@ EOF + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -6071,6 +6072,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -6120,6 +6122,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then diff --git a/SOURCES/gcc6-no-add-needed.patch b/SOURCES/gcc6-no-add-needed.patch new file mode 100644 index 0000000..4102e1c --- /dev/null +++ b/SOURCES/gcc6-no-add-needed.patch @@ -0,0 +1,50 @@ +2010-02-08 Roland McGrath + + * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the + linker. + * config/gnu-user.h (LINK_EH_SPEC): Likewise. + * config/alpha/elf.h (LINK_EH_SPEC): Likewise. + * config/ia64/linux.h (LINK_EH_SPEC): Likewise. + +--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100 ++++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100 +@@ -165,5 +165,5 @@ extern int alpha_this_gpdisp_sequence_nu + I imagine that other systems will catch up. In the meantime, it + doesn't harm to make sure that the data exists to be used later. */ + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif +--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100 ++++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100 +@@ -76,7 +76,7 @@ do { \ + Signalize that because we have fde-glibc, we don't need all C shared libs + linked against -lgcc_s. */ + #undef LINK_EH_SPEC +-#define LINK_EH_SPEC "" ++#define LINK_EH_SPEC "--no-add-needed " + + #undef TARGET_INIT_LIBFUNCS + #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs +--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100 ++++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100 +@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI + #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + #undef LINK_GCC_C_SEQUENCE_SPEC +--- gcc/config/rs6000/sysv4.h.jj 2011-01-03 13:02:18.255994215 +0100 ++++ gcc/config/rs6000/sysv4.h 2011-01-04 18:14:10.933888871 +0100 +@@ -820,7 +820,7 @@ extern int fixuplabelno; + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + + #if defined(HAVE_LD_EH_FRAME_HDR) +-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ diff --git a/SOURCES/gcc6-ppc32-retaddr.patch b/SOURCES/gcc6-ppc32-retaddr.patch new file mode 100644 index 0000000..7e8eeb5 --- /dev/null +++ b/SOURCES/gcc6-ppc32-retaddr.patch @@ -0,0 +1,87 @@ +2005-11-28 Jakub Jelinek + + * config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0, + read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx + instead of doing an extran indirection from frame_pointer_rtx. + + * gcc.dg/20051128-1.c: New test. + +--- gcc/config/rs6000/rs6000.c.jj 2005-11-26 14:38:01.000000000 +0100 ++++ gcc/config/rs6000/rs6000.c 2005-11-28 20:32:18.000000000 +0100 +@@ -20970,18 +20970,22 @@ rs6000_return_addr (int count, rtx frame + if (count != 0 + || ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) && flag_pic)) + { ++ rtx x; + cfun->machine->ra_needs_full_frame = 1; + +- return +- gen_rtx_MEM +- (Pmode, +- memory_address +- (Pmode, +- plus_constant (Pmode, +- copy_to_reg +- (gen_rtx_MEM (Pmode, +- memory_address (Pmode, frame))), +- RETURN_ADDRESS_OFFSET))); ++ if (count == 0) ++ { ++ gcc_assert (frame == frame_pointer_rtx); ++ x = arg_pointer_rtx; ++ } ++ else ++ { ++ x = memory_address (Pmode, frame); ++ x = copy_to_reg (gen_rtx_MEM (Pmode, x)); ++ } ++ ++ x = plus_constant (Pmode, x, RETURN_ADDRESS_OFFSET); ++ return gen_rtx_MEM (Pmode, memory_address (Pmode, x)); + } + + cfun->machine->ra_need_lr = 1; +--- gcc/testsuite/gcc.dg/20051128-1.c.jj 2005-10-10 11:21:41.096999000 +0200 ++++ gcc/testsuite/gcc.dg/20051128-1.c 2005-11-28 12:30:57.000000000 +0100 +@@ -0,0 +1,41 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2 -fpic" } */ ++ ++extern void exit (int); ++extern void abort (void); ++ ++int b; ++ ++struct A ++{ ++ void *pad[147]; ++ void *ra, *h; ++ long o; ++}; ++ ++void ++__attribute__((noinline)) ++foo (struct A *a, void *x) ++{ ++ __builtin_memset (a, 0, sizeof (a)); ++ if (!b) ++ exit (0); ++} ++ ++void ++__attribute__((noinline)) ++bar (void) ++{ ++ struct A a; ++ ++ __builtin_unwind_init (); ++ foo (&a, __builtin_return_address (0)); ++} ++ ++int ++main (void) ++{ ++ bar (); ++ abort (); ++ return 0; ++} diff --git a/SOURCES/gcc6-rh1118870.patch b/SOURCES/gcc6-rh1118870.patch new file mode 100644 index 0000000..9865e72 --- /dev/null +++ b/SOURCES/gcc6-rh1118870.patch @@ -0,0 +1,20 @@ +2014-07-23 Jonathan Wakely + + * testsuite/30_threads/condition_variable_any/rh1118870.cc: New test. + +--- libstdc++-v3/testsuite/30_threads/condition_variable_any/rh1118870.cc ++++ libstdc++-v3/testsuite/30_threads/condition_variable_any/rh1118870.cc +@@ -0,0 +1,13 @@ ++// { dg-options " -std=gnu++11 -pthread" } ++#include ++#include ++ ++int main() ++{ ++ const size_t sz = sizeof(std::condition_variable_any); ++ char garbage[sz]; ++ memset(garbage, 0xff, sz); ++ auto cond = new ((void*)garbage) std::condition_variable_any(); ++ cond->notify_all(); ++ cond->~condition_variable_any(); ++} diff --git a/SOURCES/gcc6-rh330771.patch b/SOURCES/gcc6-rh330771.patch new file mode 100644 index 0000000..102730f --- /dev/null +++ b/SOURCES/gcc6-rh330771.patch @@ -0,0 +1,27 @@ +2007-10-16 Jakub Jelinek + + * Makefile.am (libgcj_tools_la_LIBADD): Add. + * Makefile.in: Regenerated. + +--- libjava/Makefile.am.jj 2009-05-06 08:14:50.000000000 +0200 ++++ libjava/Makefile.am 2009-05-06 10:26:43.000000000 +0200 +@@ -550,7 +550,7 @@ libgcj_tools_la_LDFLAGS = -rpath $(toole + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) \ + $(LIBJAVA_LDFLAGS_LIBMATH) + +-libgcj_tools_la_LIBADD = libgcj.la ++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la + libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec \ + $(libgcj_tools_la_version_dep) + if BUILD_SUBLIBS +--- libjava/Makefile.in.jj 2009-05-06 08:14:49.000000000 +0200 ++++ libjava/Makefile.in 2009-05-06 10:27:18.000000000 +0200 +@@ -1110,7 +1110,7 @@ libgcj_tools_la_LDFLAGS = -rpath $(toole + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) \ + $(LIBJAVA_LDFLAGS_LIBMATH) + +-libgcj_tools_la_LIBADD = libgcj.la ++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la + libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec \ + $(libgcj_tools_la_version_dep) $(am__append_19) + libgcj_tools_la_LINK = $(LIBLINK) $(libgcj_tools_la_LDFLAGS) \ diff --git a/SOURCES/gcc6-sparc-config-detection.patch b/SOURCES/gcc6-sparc-config-detection.patch new file mode 100644 index 0000000..a37018e --- /dev/null +++ b/SOURCES/gcc6-sparc-config-detection.patch @@ -0,0 +1,40 @@ +--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500 ++++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500 +@@ -2656,7 +2656,7 @@ sparc-*-rtems*) + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems" + ;; +-sparc-*-linux*) ++sparc-*-linux* | sparcv9-*-linux*) + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + case ${target} in +@@ -2710,7 +2710,7 @@ sparc64-*-rtems*) + extra_options="${extra_options}" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64" + ;; +-sparc64-*-linux*) ++sparc64*-*-linux*) + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64" +--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500 ++++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500 +@@ -1002,7 +1002,7 @@ sparc-*-elf*) + tmake_file="${tmake_file} t-fdpbit t-crtfm" + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" + ;; +-sparc-*-linux*) # SPARC's running GNU/Linux, libc6 ++sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6 + tmake_file="${tmake_file} t-crtfm" + if test "${host_address}" = 64; then + tmake_file="$tmake_file sparc/t-linux64" +@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd* + tmake_file="$tmake_file t-crtfm" + extra_parts="$extra_parts crtfastmath.o" + ;; +-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux ++sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} t-crtfm sparc/t-linux" + if test "${host_address}" = 64; then diff --git a/SPECS/compat-sap-c++-6.spec b/SPECS/compat-sap-c++-6.spec new file mode 100644 index 0000000..be716b0 --- /dev/null +++ b/SPECS/compat-sap-c++-6.spec @@ -0,0 +1,428 @@ +# SAP HACK: Start custom scl information for SAP build. +%global scl 1 +%global scl_prefix compat-sap- +%global _root_prefix /opt/rh/SAP +%global _root_infodir %{_root_prefix}/%{_infodir} +%global _root_mandir %{_root_prefix}/%{_mandir} +# END SAP HACK. +%{?scl:%global __strip strip} +%{?scl:%global __objdump objdump} +%global DATE 20170216 +%global SVNREV 245503 +%global gcc_version 6.3.1 +# Note, gcc_release must be integer, if you want to add suffixes to +# %{release}, append them after %{gcc_release} on Release: line. +%global gcc_release 1 +%global mpc_version 0.8.1 +%global _unpackaged_files_terminate_build 0 +%global multilib_64_archs sparc64 ppc64 s390x x86_64 +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 +%global attr_ifunc 1 +%else +%global attr_ifunc 0 +%endif +%ifarch x86_64 +%global multilib_32_arch i686 +%endif +Summary: C++ compatibility runtime library for SAP applications +Name: %{?scl_prefix}c++-6 +ExclusiveArch: x86_64 ppc64le +Version: %{gcc_version} +Release: %{gcc_release}%{?dist} +# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have +# GCC Runtime Exception. +License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD +Group: Development/Languages +# The source for this package was pulled from upstream's vcs. Use the +# following commands to generate the tarball: +# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-6-branch@%{SVNREV} gcc-%{version}-%{DATE} +# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2 +Source0: gcc-%{version}-%{DATE}.tar.bz2 +Source1: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +# Need binutils with -pie support >= 2.14.90.0.4-4 +# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4 +# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2 +# Need binutils which support .weakref >= 2.16.91.0.3-1 +# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7 +# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8 +# Need binutils which support --build-id >= 2.17.50.0.17-3 +# Need binutils which support %gnu_unique_object >= 2.19.51.0.14 +# Need binutils which support .cfi_sections >= 2.19.51.0.14-33 +BuildRequires: binutils >= 2.19.51.0.14-33 +# While gcc doesn't include statically linked binaries, during testing +# -static is used several times. +BuildRequires: glibc-static +BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils +#BuildRequires: systemtap-sdt-devel >= 1.3 +# For VTA guality testing +BuildRequires: gdb +# Make sure pthread.h doesn't contain __thread tokens +# Make sure glibc supports stack protector +# Make sure glibc supports DT_GNU_HASH +BuildRequires: glibc-devel >= 2.4.90-13 +BuildRequires: elfutils-devel >= 0.147 +BuildRequires: elfutils-libelf-devel >= 0.147 +%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha +# Make sure glibc supports TFmode long double +BuildRequires: glibc >= 2.3.90-35 +%endif +%ifarch %{multilib_64_archs} sparcv9 ppc +# Ensure glibc{,-devel} is installed for both multilib arches +BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so +%endif +# Need .eh_frame ld optimizations +# Need proper visibility support +# Need -pie support +# Need --as-needed/--no-as-needed support +# On ppc64, need omit dot symbols support and --non-overlapping-opd +# Need binutils that owns /usr/bin/c++filt +# Need binutils that support .weakref +# Need binutils that supports --hash-style=gnu +# Need binutils that support mffgpr/mftgpr +# Need binutils which support --build-id >= 2.17.50.0.17-3 +# Need binutils which support %gnu_unique_object >= 2.19.51.0.14 +# Need binutils which support .cfi_sections >= 2.19.51.0.14-33 +Requires: binutils >= 2.19.51.0.14-33 +# Make sure gdb will understand DW_FORM_strp +Conflicts: gdb < 5.1-2 +Requires: glibc-devel >= 2.2.90-12 +%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha +# Make sure glibc supports TFmode long double +Requires: glibc >= 2.3.90-35 +%endif +Requires: libgcc >= 4.1.2-43 +Requires: libgomp >= 4.4.4-13 +BuildRequires: gmp-devel >= 4.1.2-8 +BuildRequires: mpfr-devel >= 2.2.1 +%if 0%{?rhel} >= 7 +BuildRequires: libmpc-devel >= 0.8.1 +%endif +AutoReq: true +AutoProv: false +%ifarch sparc64 ppc64 ppc64le s390x x86_64 ia64 +Provides: liblto_plugin.so.0()(64bit) +%else +Provides: liblto_plugin.so.0 +%endif +%global oformat %{nil} +%global oformat2 %{nil} +%ifarch %{ix86} +%global oformat OUTPUT_FORMAT(elf32-i386) +%endif +%ifarch x86_64 +%global oformat OUTPUT_FORMAT(elf64-x86-64) +%global oformat2 OUTPUT_FORMAT(elf32-i386) +%endif +%ifarch ppc +%global oformat OUTPUT_FORMAT(elf32-powerpc) +%global oformat2 OUTPUT_FORMAT(elf64-powerpc) +%endif +%ifarch ppc64 +%global oformat OUTPUT_FORMAT(elf64-powerpc) +%global oformat2 OUTPUT_FORMAT(elf32-powerpc) +%endif +%ifarch s390 +%global oformat OUTPUT_FORMAT(elf32-s390) +%endif +%ifarch s390x +%global oformat OUTPUT_FORMAT(elf64-s390) +%global oformat2 OUTPUT_FORMAT(elf32-s390) +%endif +%ifarch ia64 +%global oformat OUTPUT_FORMAT(elf64-ia64-little) +%endif +%ifarch ppc64le +%global oformat OUTPUT_FORMAT(elf64-powerpcle) +%endif +%ifarch aarch64 +%global oformat OUTPUT_FORMAT(elf64-littleaarch64) +%endif + +Patch0: gcc6-hack.patch +Patch1: gcc6-java-nomulti.patch +Patch2: gcc6-ppc32-retaddr.patch +Patch3: gcc6-rh330771.patch +Patch4: gcc6-i386-libgomp.patch +Patch5: gcc6-sparc-config-detection.patch +Patch6: gcc6-libgomp-omp_h-multilib.patch +Patch7: gcc6-libtool-no-rpath.patch +Patch8: gcc6-isl-dl.patch +Patch9: gcc6-libstdc++-docs.patch +Patch10: gcc6-no-add-needed.patch +Patch11: gcc6-libgo-p224.patch +Patch12: gcc6-aarch64-async-unw-tables.patch +Patch13: gcc6-libsanitize-aarch64-va42.patch + +Patch1000: gcc6-libstdc++-compat.patch +Patch1001: gcc6-libgfortran-compat.patch +Patch1002: gcc6-alt-compat-test.patch +Patch1003: gcc6-libquadmath-compat.patch +Patch1004: gcc6-libstdc++44-xfail.patch +Patch1005: gcc6-rh1118870.patch +Patch1006: gcc6-isl-dl2.patch + +%if 0%{?rhel} >= 7 +%global nonsharedver 48 +%else +%global nonsharedver 44 +%endif + +%if 0%{?scl:1} +%global _gnu %{nil} +%else +%global _gnu 7E +%endif +%ifarch sparcv9 +%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}%{?_gnu} +%endif +%ifarch ppc +%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}%{?_gnu} +%endif +%ifnarch sparcv9 ppc +%global gcc_target_platform %{_target_platform} +%endif + +%description +This package provides runtime compatibility libraries for use by SAP +application binaries only. + +%prep +%setup -q -n gcc-%{version}-%{DATE} -a 1 +%patch0 -p0 -b .hack~ +%patch1 -p0 -b .java-nomulti~ +%patch2 -p0 -b .ppc32-retaddr~ +%patch3 -p0 -b .rh330771~ +%patch4 -p0 -b .i386-libgomp~ +%patch5 -p0 -b .sparc-config-detection~ +%patch6 -p0 -b .libgomp-omp_h-multilib~ +%patch7 -p0 -b .libtool-no-rpath~ +%patch10 -p0 -b .no-add-needed~ +%patch11 -p0 -b .libgo-p224~ +rm -f libgo/go/crypto/elliptic/p224{,_test}.go +%patch12 -p0 -b .aarch64-async-unw-tables~ +%patch13 -p0 -b .libsanitize-aarch64-va42~ +sed -i -e 's/ -Wl,-z,nodlopen//g' gcc/ada/gcc-interface/Makefile.in + +%patch1000 -p0 -b .libstdc++-compat~ +%patch1001 -p0 -b .libgfortran-compat~ +%ifarch %{ix86} x86_64 +%if 0%{?rhel} < 7 +# On i?86/x86_64 there are some incompatibilities in _Decimal* as well as +# aggregates containing larger vector passing. +%patch1002 -p0 -b .alt-compat-test~ +%endif +%endif +%if 0%{?rhel} < 7 +%patch1003 -p0 -b .libquadmath-compat~ +%endif +%if 0%{?rhel} == 6 +# Fix this up +#%patch1004 -p0 -b .libstdc++44-xfail~ +%endif +%patch1005 -p0 -b .rh1118870~ + +echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE + +%if 0%{?rhel} == 6 +# Default to -gdwarf-3 rather than -gdwarf-4 +sed -i '/UInteger Var(dwarf_version)/s/Init(4)/Init(3)/' gcc/common.opt +sed -i 's/\(may be either 2, 3 or 4; the default version is \)4\./\13./' gcc/doc/invoke.texi +%endif + +cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h +cp -a libstdc++-v3/config/cpu/i{4,3}86/opt + +./contrib/gcc_update --touch + +LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi + +sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt + +%ifarch ppc +if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then + mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64 + mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt + mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt + rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32 +fi +%endif +%ifarch sparc +if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then + mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64 + mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt + mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt + rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32 +fi +%endif + +%build + +# Undo the broken autoconf change in recent Fedora versions +export CONFIG_SITE=NONE + +rm -fr obj-%{gcc_target_platform} +mkdir obj-%{gcc_target_platform} +cd obj-%{gcc_target_platform} + +%if 0%{?rhel} < 7 +mkdir mpc mpc-install +cd mpc +../../mpc-%{mpc_version}/configure --disable-shared \ + CFLAGS="${CFLAGS:-%optflags} -fPIC" CXXFLAGS="${CXXFLAGS:-%optflags} -fPIC" \ + --prefix=`cd ..; pwd`/mpc-install +make %{?_smp_mflags} +make install +cd .. +%endif + +%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} + +CC=gcc +CXX=g++ +OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'` +%ifarch sparc +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'` +%endif +%ifarch %{ix86} +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'` +%endif +OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'` +CONFIGURE_OPTS="\ + --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ + --with-bugurl=http://bugzilla.redhat.com/bugzilla \ + --enable-shared --enable-threads=posix --enable-checking=release \ +%ifarch ppc64le + --enable-targets=powerpcle-linux --disable-multilib \ +%else + --enable-multilib \ +%endif + --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ + --enable-gnu-unique-object \ + --enable-linker-build-id \ + --enable-plugin --with-linker-hash-style=gnu \ + --enable-initfini-array \ + --disable-libgcj \ + --with-default-libstdcxx-abi=gcc4-compatible \ + --disable-libquadmath \ + --disable-libsanitizer \ + --disable-libvtv \ + --disable-libgomp \ + --disable-libitm \ + --disable-libssp \ + --disable-libatomic \ + --disable-libcilkrts \ + --without-isl \ + --disable-libmpx \ +%if 0%{?rhel} < 7 + --with-mpc=`pwd`/mpc-install \ +%endif +%if 0%{?rhel} >= 7 +%if %{attr_ifunc} + --enable-gnu-indirect-function \ +%endif +%endif +%ifarch ppc ppc64 ppc64le ppc64p7 + --enable-secureplt \ +%endif +%ifarch ppc ppc64 ppc64p7 +%if 0%{?rhel} >= 7 + --with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \ +%else + --with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \ +%endif +%endif +%ifarch ppc64le +%if 0%{?rhel} >= 7 + --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \ +%endif +%endif +%ifarch ppc + --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32 +%endif +%ifarch %{ix86} x86_64 + --with-tune=generic \ +%endif +%ifarch %{ix86} + --with-arch=i686 \ +%endif +%ifarch x86_64 + --with-arch_32=i686 \ +%endif + --build=%{gcc_target_platform} \ + " + +CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \ + CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g'`" \ + XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ + GCJFLAGS="$OPT_FLAGS" \ + ../configure --enable-bootstrap \ + --enable-languages=c,c++,lto \ + $CONFIGURE_OPTS + + +GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" + +%install +rm -fr %{buildroot} + +%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} +mkdir -p %{buildroot}%{_root_prefix}/%{_lib} +cd obj-%{gcc_target_platform} + +TARGET_PLATFORM=%{gcc_target_platform} +cp %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6.0.* %{buildroot}%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_version}.so +cd %{buildroot}%{_root_prefix}/%{_lib}/ +ln -sf compat-sap-c++-%{gcc_version}.so %{buildroot}%{_root_prefix}/%{_lib}/compat-sap-c++-6.so + +%check +cd obj-%{gcc_target_platform} + +%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} + +# run the tests. +make %{?_smp_mflags} -k check RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || : +( LC_ALL=C ../contrib/test_summary -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults +rm -rf gcc/testsuite.prev +mv gcc/testsuite{,.prev} +rm -f gcc/site.exp +make %{?_smp_mflags} -C gcc -k check-gcc check-g++ ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}' compat.exp struct-layout-1.exp" || : +mv gcc/testsuite/gcc/gcc.sum{,.sent} +mv gcc/testsuite/g++/g++.sum{,.sent} +( LC_ALL=C ../contrib/test_summary -o -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults2 +rm -rf gcc/testsuite.compat +mv gcc/testsuite{,.compat} +mv gcc/testsuite{.prev,} +echo ====================TESTING========================= +cat testresults +echo ===`gcc --version | head -1` compatibility tests==== +cat testresults2 +echo ====================TESTING END===================== +mkdir testlogs-%{_target_platform}-%{version}-%{release} +for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do + ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || : +done +for i in `find gcc/testsuite.compat -name \*.log | grep -v 'config.log\|acats.*/tests/'`; do + ln $i testlogs-%{_target_platform}-%{version}-%{release}/`basename $i`.compat || : +done +tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \ + | uuencode testlogs-%{_target_platform}.tar.bz2 || : +rm -rf testlogs-%{_target_platform}-%{version}-%{release} + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%dir %{_root_prefix} +%dir %{_root_prefix}/%{_lib} +%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_version}.so +%{_root_prefix}/%{_lib}/compat-sap-c++-6.so + +%changelog +* Thu Feb 23 2017 Marek Polacek 6.3.1-1 +- new package