From daac4dedd2933c7b5c8c494bbb7675117a73c75d Mon Sep 17 00:00:00 2001 From: Xamarin Public Jenkins Date: Thu, 14 May 2015 10:55:10 -0400 Subject: [PATCH] Imported Upstream version 4.0.1.28 Former-commit-id: d8405b75d12c6845dab8fe08c1576f57a148d621 --- Makefile.in | 17 +- aclocal.m4 | 136 +-- config.guess | 192 +++- config.h.in | 9 +- config.sub | 43 +- configure.REMOVED.git-id | 2 +- configure.ac.REMOVED.git-id | 2 +- data/Makefile.in | 4 +- data/net_2_0/Browsers/Makefile.in | 4 +- data/net_2_0/Makefile.in | 4 +- data/net_4_0/Browsers/Makefile.in | 4 +- data/net_4_0/Makefile.in | 4 +- data/net_4_5/Browsers/Makefile.in | 4 +- data/net_4_5/Makefile.in | 4 +- docs/Makefile.in | 4 +- docs/deploy/mono-api-assembly.html | 2 +- docs/deploy/mono-api-class.html | 2 +- docs/deploy/mono-api-codegen.html | 2 +- docs/deploy/mono-api-counters.html | 2 +- docs/deploy/mono-api-debug.html | 2 +- docs/deploy/mono-api-decimal.html | 2 +- docs/deploy/mono-api-domains.html | 2 +- docs/deploy/mono-api-dynamic-codegen.html | 2 +- docs/deploy/mono-api-embedding.html | 2 +- docs/deploy/mono-api-exc.html | 2 +- docs/deploy/mono-api-gc.html | 2 +- docs/deploy/mono-api-gchandle.html | 2 +- docs/deploy/mono-api-image.html | 2 +- docs/deploy/mono-api-internal.html | 2 +- docs/deploy/mono-api-jit.html | 2 +- docs/deploy/mono-api-jitinternal.html | 2 +- docs/deploy/mono-api-marshal.html | 2 +- docs/deploy/mono-api-metadata.html | 2 +- docs/deploy/mono-api-methods.html | 2 +- docs/deploy/mono-api-object.html | 2 +- docs/deploy/mono-api-profiler.html | 2 +- docs/deploy/mono-api-reflection.html | 2 +- docs/deploy/mono-api-security.html | 2 +- docs/deploy/mono-api-string.html | 2 +- docs/deploy/mono-api-threads.html | 2 +- docs/deploy/mono-api-type.html | 2 +- docs/deploy/mono-api-types.html | 2 +- docs/deploy/mono-api-unsorted.html | 2 +- docs/deploy/mono-api-utils.html | 2 +- docs/deploy/mono-api-vm.html | 2 +- docs/deploy/mono-api-wapi.html | 2 +- eglib/Makefile.in | 22 +- eglib/aclocal.m4 | 104 +- eglib/configure.REMOVED.git-id | 2 +- eglib/m4/Makefile.in | 2 +- eglib/m4/libtool.m4.REMOVED.git-id | 2 +- eglib/src/Makefile.in.REMOVED.git-id | 2 +- eglib/test/Makefile.in | 6 +- ikvm-native/Makefile.in | 4 +- libgc/Makefile.in | 19 +- libgc/aclocal.m4 | 121 +-- libgc/compile | 347 ------ libgc/config.guess | 192 +++- libgc/config.sub | 43 +- libgc/configure.REMOVED.git-id | 2 +- libgc/doc/Makefile.in | 2 +- libgc/include/Makefile.in | 2 +- libgc/include/private/Makefile.in | 2 +- libgc/ltmain.sh.REMOVED.git-id | 2 +- libgc/m4/Makefile.in | 2 +- libgc/m4/libtool.m4.REMOVED.git-id | 2 +- ltmain.sh.REMOVED.git-id | 2 +- m4/Makefile.in | 4 +- m4/libtool.m4.REMOVED.git-id | 2 +- man/Makefile.in | 4 +- .../JsonSerializationReader.cs | 3 +- mcs/class/System.XML/System.Xml.dll.sources | 2 + mcs/class/System.XML/System.Xml/XmlConvert.cs | 44 +- .../System.XML/System.Xml/XsdDateTime2.cs | 993 ++++++++++++++++++ .../System.XML/mobile_System.Xml.dll.sources | 2 + .../System.Globalization/CultureInfo.cs | 5 +- .../System.Globalization/CultureInfoTest.cs | 9 + .../monotouch_runtime_corlib.dll.sources | 1 + .../monolite/Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../monolite/System.Core.dll.REMOVED.git-id | 2 +- .../System.Security.dll.REMOVED.git-id | 2 +- .../monolite/System.Xml.dll.REMOVED.git-id | 2 +- .../lib/monolite/System.dll.REMOVED.git-id | 2 +- .../lib/monolite/basic.exe.REMOVED.git-id | 2 +- .../lib/monolite/mscorlib.dll.REMOVED.git-id | 2 +- .../linker/Mono.Linker.Steps/MarkStep.cs | 91 +- missing | 4 +- mono/Makefile.in | 4 +- mono/arch/Makefile.in | 4 +- mono/arch/amd64/Makefile.in | 4 +- mono/arch/arm/Makefile.in | 4 +- mono/arch/arm64/Makefile.in | 4 +- mono/arch/ia64/Makefile.in | 4 +- mono/arch/mips/Makefile.in | 4 +- mono/arch/ppc/Makefile.in | 4 +- mono/arch/s390x/Makefile.in | 4 +- mono/arch/sparc/Makefile.in | 4 +- mono/arch/x86/Makefile.in | 4 +- mono/benchmark/Makefile.in | 4 +- mono/cil/Makefile.in | 4 +- mono/dis/Makefile.in | 4 +- mono/io-layer/Makefile.in | 4 +- mono/io-layer/processes.c | 1 - mono/metadata/Makefile.in.REMOVED.git-id | 2 +- mono/metadata/sgen-os-mach.c | 2 +- mono/metadata/sgen-os-posix.c | 2 +- mono/mini/Makefile.in.REMOVED.git-id | 2 +- mono/mini/aot-compiler.c.REMOVED.git-id | 2 +- mono/mini/debugger-agent.c.REMOVED.git-id | 2 +- mono/mini/jit.h | 8 + mono/mini/liveness.c | 2 +- mono/mini/method-to-ir.c.REMOVED.git-id | 2 +- mono/mini/mini.c.REMOVED.git-id | 2 +- mono/mini/mini.h.REMOVED.git-id | 2 +- mono/mini/tramp-amd64.c | 2 +- mono/mini/unwind.c | 9 +- mono/mini/version.h | 2 +- mono/profiler/Makefile.in | 4 +- mono/profiler/proflog.c | 411 ++++++-- mono/tests/Makefile.in | 4 +- mono/tests/assemblyresolve/Makefile.in | 4 +- mono/tests/cas/Makefile.in | 4 +- mono/tests/cas/assembly/Makefile.in | 4 +- mono/tests/cas/demand/Makefile.in | 4 +- mono/tests/cas/inheritance/Makefile.in | 4 +- mono/tests/cas/linkdemand/Makefile.in | 4 +- mono/tests/cas/threads/Makefile.in | 4 +- mono/tests/gc-descriptors/Makefile.in | 4 +- mono/unit-tests/Makefile.in | 4 +- mono/utils/Makefile.in | 4 +- mono/utils/lock-free-queue.h | 11 +- mono/utils/mono-compiler.h | 2 +- mono/utils/mono-conc-hashtable.h | 13 +- mono/utils/mono-proclib.c | 20 +- msvc/Makefile.in | 4 +- po/Makefile.in | 4 +- po/mcs/de.gmo | Bin 5406 -> 5406 bytes po/mcs/de.po.REMOVED.git-id | 2 +- po/mcs/es.gmo | Bin 16329 -> 16329 bytes po/mcs/es.po.REMOVED.git-id | 2 +- po/mcs/ja.gmo | Bin 20863 -> 20863 bytes po/mcs/ja.po.REMOVED.git-id | 2 +- po/mcs/mcs.pot | 2 +- po/mcs/pt_BR.gmo | Bin 73398 -> 73398 bytes po/mcs/pt_BR.po.REMOVED.git-id | 2 +- runtime/Makefile.in | 4 +- samples/Makefile.in | 4 +- scripts/Makefile.in | 4 +- support/Makefile.in | 4 +- test-driver | 20 +- tools/Makefile.in | 4 +- tools/locale-builder/Makefile.in | 4 +- tools/monograph/Makefile.in | 4 +- tools/sgen/Makefile.in | 4 +- 155 files changed, 2071 insertions(+), 1163 deletions(-) delete mode 100755 libgc/compile create mode 100644 mcs/class/System.XML/System.Xml/XsdDateTime2.cs create mode 100644 mcs/class/corlib/monotouch_runtime_corlib.dll.sources diff --git a/Makefile.in b/Makefile.in index 080d2f0d30..f0873e25ff 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -233,7 +233,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -245,6 +244,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ @@ -485,8 +485,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -701,16 +701,10 @@ dist-xz: distdir $(am__post_remove_distdir) dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) @@ -752,10 +746,9 @@ distcheck: dist && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ - && ../configure \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ diff --git a/aclocal.m4 b/aclocal.m4 index 5252a2366e..a7f77d725a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- +# generated automatically by aclocal 1.13.4 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. @@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' +[am__api_version='1.13' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], +m4_if([$1], [1.13.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl +[AM_AUTOMAKE_VERSION([1.13.4])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -438,12 +438,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -552,48 +546,6 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not @@ -602,6 +554,7 @@ dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -749,6 +702,38 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file 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. + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +dnl Make sure AC_PROG_CC is never called again, or it will override our +dnl setting of CC. +m4_define([AC_PROG_CC], + [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) +]) + # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. @@ -819,53 +804,6 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file 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. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation diff --git a/config.guess b/config.guess index 1f5c50c0d1..b79252d6b1 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +149,7 @@ Linux|GNU|GNU/*) LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ;; esac @@ -826,7 +826,7 @@ EOF *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - *:MSYS*:*) + i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) @@ -969,10 +969,10 @@ EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) + or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) @@ -1260,26 +1260,16 @@ EOF if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; @@ -1371,6 +1361,154 @@ EOF exit ;; esac +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + cat >&2 <." version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -257,7 +257,7 @@ case $basic_machine in | avr | avr32 \ | be32 | be64 \ | bfin \ - | c4x | c8051 | clipper \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -265,7 +265,6 @@ case $basic_machine in | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ @@ -283,10 +282,8 @@ case $basic_machine in | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ @@ -298,11 +295,11 @@ case $basic_machine in | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ + | open8 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ @@ -327,7 +324,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -375,7 +372,7 @@ case $basic_machine in | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -384,7 +381,6 @@ case $basic_machine in | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ @@ -404,10 +400,8 @@ case $basic_machine in | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ @@ -419,7 +413,6 @@ case $basic_machine in | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ - | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ @@ -801,7 +794,7 @@ case $basic_machine in os=-mingw64 ;; mingw32) - basic_machine=i686-pc + basic_machine=i386-pc os=-mingw32 ;; mingw32ce) @@ -829,10 +822,6 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; msdos) basic_machine=i386-pc os=-msdos @@ -841,7 +830,7 @@ case $basic_machine in basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i686-pc + basic_machine=i386-pc os=-msys ;; mvs) @@ -1017,7 +1006,7 @@ case $basic_machine in ;; ppc64) basic_machine=powerpc64-unknown ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown @@ -1378,14 +1367,14 @@ case $os in | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1557,9 +1546,6 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; - c8051-*) - os=-elf - ;; hexagon-*) os=-elf ;; @@ -1603,6 +1589,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/configure.REMOVED.git-id b/configure.REMOVED.git-id index 4937bd70da..9d85dbac82 100644 --- a/configure.REMOVED.git-id +++ b/configure.REMOVED.git-id @@ -1 +1 @@ -bb398f7ae55a546fb7bf939dabfed4a3fb9730bc \ No newline at end of file +62dc0af03655563a8fea1115dcadaa9a3dd95399 \ No newline at end of file diff --git a/configure.ac.REMOVED.git-id b/configure.ac.REMOVED.git-id index 02bde5f4ec..14886c6724 100644 --- a/configure.ac.REMOVED.git-id +++ b/configure.ac.REMOVED.git-id @@ -1 +1 @@ -01ba76eb592f8ee610b360b3614f3f6a8de954d6 \ No newline at end of file +cb8a0a6dc718f29977f2e6e37b92839c51c7e80b \ No newline at end of file diff --git a/data/Makefile.in b/data/Makefile.in index a10392bfbb..a2916d81b5 100644 --- a/data/Makefile.in +++ b/data/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -256,7 +256,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -268,6 +267,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/data/net_2_0/Browsers/Makefile.in b/data/net_2_0/Browsers/Makefile.in index 3c28a44c60..ece1326d2a 100644 --- a/data/net_2_0/Browsers/Makefile.in +++ b/data/net_2_0/Browsers/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -178,7 +178,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -190,6 +189,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/data/net_2_0/Makefile.in b/data/net_2_0/Makefile.in index c01964a007..bb9eb9dd2c 100644 --- a/data/net_2_0/Makefile.in +++ b/data/net_2_0/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -238,7 +238,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -250,6 +249,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/data/net_4_0/Browsers/Makefile.in b/data/net_4_0/Browsers/Makefile.in index 0561888ece..13a918abd0 100644 --- a/data/net_4_0/Browsers/Makefile.in +++ b/data/net_4_0/Browsers/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -178,7 +178,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -190,6 +189,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/data/net_4_0/Makefile.in b/data/net_4_0/Makefile.in index 37c13ddda5..d112f186e0 100644 --- a/data/net_4_0/Makefile.in +++ b/data/net_4_0/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -238,7 +238,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -250,6 +249,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/data/net_4_5/Browsers/Makefile.in b/data/net_4_5/Browsers/Makefile.in index 3588d3199e..41a9ff0a99 100644 --- a/data/net_4_5/Browsers/Makefile.in +++ b/data/net_4_5/Browsers/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -178,7 +178,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -190,6 +189,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/data/net_4_5/Makefile.in b/data/net_4_5/Makefile.in index 5c845975b9..9d310ae0e0 100644 --- a/data/net_4_5/Makefile.in +++ b/data/net_4_5/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -238,7 +238,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -250,6 +249,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/docs/Makefile.in b/docs/Makefile.in index 0dca9496ac..a66ad4479b 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -178,7 +178,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -190,6 +189,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/docs/deploy/mono-api-assembly.html b/docs/deploy/mono-api-assembly.html index 78d66f4f58..67b2e5f1ce 100644 --- a/docs/deploy/mono-api-assembly.html +++ b/docs/deploy/mono-api-assembly.html @@ -1,4 +1,4 @@ - + mono-api-assembly.html diff --git a/docs/deploy/mono-api-class.html b/docs/deploy/mono-api-class.html index 8ae3defebf..9b2765bfcd 100644 --- a/docs/deploy/mono-api-class.html +++ b/docs/deploy/mono-api-class.html @@ -1,4 +1,4 @@ - + mono-api-class.html diff --git a/docs/deploy/mono-api-codegen.html b/docs/deploy/mono-api-codegen.html index ef2db8fafb..a370ad8c3d 100644 --- a/docs/deploy/mono-api-codegen.html +++ b/docs/deploy/mono-api-codegen.html @@ -1,4 +1,4 @@ - + mono-api-codegen.html diff --git a/docs/deploy/mono-api-counters.html b/docs/deploy/mono-api-counters.html index 76706d2967..d4503c8794 100644 --- a/docs/deploy/mono-api-counters.html +++ b/docs/deploy/mono-api-counters.html @@ -1,4 +1,4 @@ - + mono-api-counters.html diff --git a/docs/deploy/mono-api-debug.html b/docs/deploy/mono-api-debug.html index 78b31a386d..7d8ef273c3 100644 --- a/docs/deploy/mono-api-debug.html +++ b/docs/deploy/mono-api-debug.html @@ -1,4 +1,4 @@ - + mono-api-debug.html diff --git a/docs/deploy/mono-api-decimal.html b/docs/deploy/mono-api-decimal.html index 52a9bdb862..ad041f21bf 100644 --- a/docs/deploy/mono-api-decimal.html +++ b/docs/deploy/mono-api-decimal.html @@ -1,4 +1,4 @@ - + mono-api-decimal.html diff --git a/docs/deploy/mono-api-domains.html b/docs/deploy/mono-api-domains.html index 3966740020..9a2e7e2975 100644 --- a/docs/deploy/mono-api-domains.html +++ b/docs/deploy/mono-api-domains.html @@ -1,4 +1,4 @@ - + mono-api-domains.html diff --git a/docs/deploy/mono-api-dynamic-codegen.html b/docs/deploy/mono-api-dynamic-codegen.html index c25acd6b79..0f7d96a0ab 100644 --- a/docs/deploy/mono-api-dynamic-codegen.html +++ b/docs/deploy/mono-api-dynamic-codegen.html @@ -1,4 +1,4 @@ - + mono-api-dynamic-codegen.html diff --git a/docs/deploy/mono-api-embedding.html b/docs/deploy/mono-api-embedding.html index 1c4cef595d..f863765602 100644 --- a/docs/deploy/mono-api-embedding.html +++ b/docs/deploy/mono-api-embedding.html @@ -1,4 +1,4 @@ - + mono-api-embedding.html diff --git a/docs/deploy/mono-api-exc.html b/docs/deploy/mono-api-exc.html index 774a8a61d4..9ae3ae1c5c 100644 --- a/docs/deploy/mono-api-exc.html +++ b/docs/deploy/mono-api-exc.html @@ -1,4 +1,4 @@ - + mono-api-exc.html diff --git a/docs/deploy/mono-api-gc.html b/docs/deploy/mono-api-gc.html index 047b6cf092..a3b2d8e44a 100644 --- a/docs/deploy/mono-api-gc.html +++ b/docs/deploy/mono-api-gc.html @@ -1,4 +1,4 @@ - + mono-api-gc.html diff --git a/docs/deploy/mono-api-gchandle.html b/docs/deploy/mono-api-gchandle.html index 84b9fc22dd..39c0edce08 100644 --- a/docs/deploy/mono-api-gchandle.html +++ b/docs/deploy/mono-api-gchandle.html @@ -1,4 +1,4 @@ - + mono-api-gchandle.html diff --git a/docs/deploy/mono-api-image.html b/docs/deploy/mono-api-image.html index cbb8f2dfa9..ec6ee1410c 100644 --- a/docs/deploy/mono-api-image.html +++ b/docs/deploy/mono-api-image.html @@ -1,4 +1,4 @@ - + mono-api-image.html diff --git a/docs/deploy/mono-api-internal.html b/docs/deploy/mono-api-internal.html index ddd03e3771..22f51d2c2e 100644 --- a/docs/deploy/mono-api-internal.html +++ b/docs/deploy/mono-api-internal.html @@ -1,4 +1,4 @@ - + mono-api-internal.html diff --git a/docs/deploy/mono-api-jit.html b/docs/deploy/mono-api-jit.html index 471c46cc84..b26123c17b 100644 --- a/docs/deploy/mono-api-jit.html +++ b/docs/deploy/mono-api-jit.html @@ -1,4 +1,4 @@ - + mono-api-jit.html diff --git a/docs/deploy/mono-api-jitinternal.html b/docs/deploy/mono-api-jitinternal.html index 476c9d7f9f..47806555cd 100644 --- a/docs/deploy/mono-api-jitinternal.html +++ b/docs/deploy/mono-api-jitinternal.html @@ -1,4 +1,4 @@ - + mono-api-jitinternal.html diff --git a/docs/deploy/mono-api-marshal.html b/docs/deploy/mono-api-marshal.html index 22d1b8f898..d22fe30190 100644 --- a/docs/deploy/mono-api-marshal.html +++ b/docs/deploy/mono-api-marshal.html @@ -1,4 +1,4 @@ - + mono-api-marshal.html diff --git a/docs/deploy/mono-api-metadata.html b/docs/deploy/mono-api-metadata.html index 39d59d5d88..82dee794c0 100644 --- a/docs/deploy/mono-api-metadata.html +++ b/docs/deploy/mono-api-metadata.html @@ -1,4 +1,4 @@ - + mono-api-metadata.html diff --git a/docs/deploy/mono-api-methods.html b/docs/deploy/mono-api-methods.html index d8abf6ee8d..5b8845c470 100644 --- a/docs/deploy/mono-api-methods.html +++ b/docs/deploy/mono-api-methods.html @@ -1,4 +1,4 @@ - + mono-api-methods.html diff --git a/docs/deploy/mono-api-object.html b/docs/deploy/mono-api-object.html index 51cdd0dcbe..04f57c2540 100644 --- a/docs/deploy/mono-api-object.html +++ b/docs/deploy/mono-api-object.html @@ -1,4 +1,4 @@ - + mono-api-object.html diff --git a/docs/deploy/mono-api-profiler.html b/docs/deploy/mono-api-profiler.html index c0b89c9601..cee44a4860 100644 --- a/docs/deploy/mono-api-profiler.html +++ b/docs/deploy/mono-api-profiler.html @@ -1,4 +1,4 @@ - + mono-api-profiler.html diff --git a/docs/deploy/mono-api-reflection.html b/docs/deploy/mono-api-reflection.html index 775871a1bb..5157e3afcf 100644 --- a/docs/deploy/mono-api-reflection.html +++ b/docs/deploy/mono-api-reflection.html @@ -1,4 +1,4 @@ - + mono-api-reflection.html diff --git a/docs/deploy/mono-api-security.html b/docs/deploy/mono-api-security.html index 9643964250..2950ab0776 100644 --- a/docs/deploy/mono-api-security.html +++ b/docs/deploy/mono-api-security.html @@ -1,4 +1,4 @@ - + mono-api-security.html diff --git a/docs/deploy/mono-api-string.html b/docs/deploy/mono-api-string.html index 54b012b1df..fb15a25b59 100644 --- a/docs/deploy/mono-api-string.html +++ b/docs/deploy/mono-api-string.html @@ -1,4 +1,4 @@ - + mono-api-string.html diff --git a/docs/deploy/mono-api-threads.html b/docs/deploy/mono-api-threads.html index 96fa796ab2..da56a77260 100644 --- a/docs/deploy/mono-api-threads.html +++ b/docs/deploy/mono-api-threads.html @@ -1,4 +1,4 @@ - + mono-api-threads.html diff --git a/docs/deploy/mono-api-type.html b/docs/deploy/mono-api-type.html index 4364e7d2d6..de58ff44f4 100644 --- a/docs/deploy/mono-api-type.html +++ b/docs/deploy/mono-api-type.html @@ -1,4 +1,4 @@ - + mono-api-type.html diff --git a/docs/deploy/mono-api-types.html b/docs/deploy/mono-api-types.html index 0774670f96..73e998b92e 100644 --- a/docs/deploy/mono-api-types.html +++ b/docs/deploy/mono-api-types.html @@ -1,4 +1,4 @@ - + mono-api-types.html diff --git a/docs/deploy/mono-api-unsorted.html b/docs/deploy/mono-api-unsorted.html index cbf46050b6..c8435d1e07 100644 --- a/docs/deploy/mono-api-unsorted.html +++ b/docs/deploy/mono-api-unsorted.html @@ -1,4 +1,4 @@ - + mono-api-unsorted.html diff --git a/docs/deploy/mono-api-utils.html b/docs/deploy/mono-api-utils.html index c0f236e038..f374b70d39 100644 --- a/docs/deploy/mono-api-utils.html +++ b/docs/deploy/mono-api-utils.html @@ -1,4 +1,4 @@ - + mono-api-utils.html diff --git a/docs/deploy/mono-api-vm.html b/docs/deploy/mono-api-vm.html index d1dc657898..81854ff22e 100644 --- a/docs/deploy/mono-api-vm.html +++ b/docs/deploy/mono-api-vm.html @@ -1,4 +1,4 @@ - + mono-api-vm.html diff --git a/docs/deploy/mono-api-wapi.html b/docs/deploy/mono-api-wapi.html index 778f9f9731..9b314de916 100644 --- a/docs/deploy/mono-api-wapi.html +++ b/docs/deploy/mono-api-wapi.html @@ -1,4 +1,4 @@ - + mono-api-wapi.html diff --git a/eglib/Makefile.in b/eglib/Makefile.in index 2aee28e2d6..e9576f7c56 100644 --- a/eglib/Makefile.in +++ b/eglib/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -83,10 +83,9 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/config.h.in $(top_srcdir)/../mkinstalldirs AUTHORS \ COPYING ChangeLog NEWS README TODO config.rpath \ - $(top_srcdir)/../compile $(top_srcdir)/../config.guess \ - $(top_srcdir)/../config.rpath $(top_srcdir)/../config.sub \ - $(top_srcdir)/../install-sh $(top_srcdir)/../ltmain.sh \ - $(top_srcdir)/../missing + $(top_srcdir)/../config.guess $(top_srcdir)/../config.rpath \ + $(top_srcdir)/../config.sub $(top_srcdir)/../install-sh \ + $(top_srcdir)/../ltmain.sh $(top_srcdir)/../missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ @@ -395,8 +394,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -604,16 +603,10 @@ dist-xz: distdir $(am__post_remove_distdir) dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) @@ -655,10 +648,9 @@ distcheck: dist && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ - && ../configure \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ diff --git a/eglib/aclocal.m4 b/eglib/aclocal.m4 index 4109da3641..dc49493052 100644 --- a/eglib/aclocal.m4 +++ b/eglib/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- +# generated automatically by aclocal 1.13.4 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. @@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' +[am__api_version='1.13' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], +m4_if([$1], [1.13.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl +[AM_AUTOMAKE_VERSION([1.13.4])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -418,12 +418,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -532,48 +526,6 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not @@ -582,6 +534,7 @@ dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -799,53 +752,6 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file 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. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation diff --git a/eglib/configure.REMOVED.git-id b/eglib/configure.REMOVED.git-id index fa4fb32adc..5a09124279 100644 --- a/eglib/configure.REMOVED.git-id +++ b/eglib/configure.REMOVED.git-id @@ -1 +1 @@ -065fbf260bfbda470af4db973c37f1d93ec4fc4c \ No newline at end of file +aed8bc038cc124da52dba4e1ed93a11f9fca3f47 \ No newline at end of file diff --git a/eglib/m4/Makefile.in b/eglib/m4/Makefile.in index 42f6211d8c..2bef86a63b 100644 --- a/eglib/m4/Makefile.in +++ b/eglib/m4/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. diff --git a/eglib/m4/libtool.m4.REMOVED.git-id b/eglib/m4/libtool.m4.REMOVED.git-id index 761fd2af1a..14ce7cf26d 100644 --- a/eglib/m4/libtool.m4.REMOVED.git-id +++ b/eglib/m4/libtool.m4.REMOVED.git-id @@ -1 +1 @@ -d7c043f4f998971f1b81f7ab2c1e095fef45dee5 \ No newline at end of file +56666f0eceac29ace0fff6cfefa246a4ab93174c \ No newline at end of file diff --git a/eglib/src/Makefile.in.REMOVED.git-id b/eglib/src/Makefile.in.REMOVED.git-id index 28469772a0..c8cec05366 100644 --- a/eglib/src/Makefile.in.REMOVED.git-id +++ b/eglib/src/Makefile.in.REMOVED.git-id @@ -1 +1 @@ -155511dfa6f6ef3805f7a5fad5fe5c9a6dbe2a8b \ No newline at end of file +4baf123a09feafdac9ee19e3dae1f9ebe5338ead \ No newline at end of file diff --git a/eglib/test/Makefile.in b/eglib/test/Makefile.in index 99c1c07cd1..a5c7870ee2 100644 --- a/eglib/test/Makefile.in +++ b/eglib/test/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -443,14 +443,14 @@ distclean-compile: @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff --git a/ikvm-native/Makefile.in b/ikvm-native/Makefile.in index 64e220da58..636c16b6b1 100644 --- a/ikvm-native/Makefile.in +++ b/ikvm-native/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -226,7 +226,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -238,6 +237,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/libgc/Makefile.in b/libgc/Makefile.in index 6aa745d241..f96ee19aa9 100644 --- a/libgc/Makefile.in +++ b/libgc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -95,8 +95,8 @@ host_triplet = @host@ subdir = . DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) mkinstalldirs \ - depcomp ChangeLog compile config.guess config.sub install-sh \ - missing ltmain.sh ltconfig + depcomp ChangeLog config.guess config.sub install-sh missing \ + ltmain.sh ltconfig ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -686,14 +686,14 @@ distclean-compile: @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -904,16 +904,10 @@ dist-xz: distdir $(am__post_remove_distdir) dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) @@ -955,10 +949,9 @@ distcheck: dist && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ - && ../configure \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ diff --git a/libgc/aclocal.m4 b/libgc/aclocal.m4 index da7bbe754a..b522fbac37 100644 --- a/libgc/aclocal.m4 +++ b/libgc/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- +# generated automatically by aclocal 1.13.4 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. @@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' +[am__api_version='1.13' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], +m4_if([$1], [1.13.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl +[AM_AUTOMAKE_VERSION([1.13.4])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -438,12 +438,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -552,48 +546,6 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not @@ -602,6 +554,7 @@ dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -819,70 +772,6 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file 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. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file 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. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. diff --git a/libgc/compile b/libgc/compile deleted file mode 100755 index 531136b068..0000000000 --- a/libgc/compile +++ /dev/null @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program 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 program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/libgc/config.guess b/libgc/config.guess index 1f5c50c0d1..b79252d6b1 100755 --- a/libgc/config.guess +++ b/libgc/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +149,7 @@ Linux|GNU|GNU/*) LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ;; esac @@ -826,7 +826,7 @@ EOF *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - *:MSYS*:*) + i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) @@ -969,10 +969,10 @@ EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) + or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) @@ -1260,26 +1260,16 @@ EOF if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; @@ -1371,6 +1361,154 @@ EOF exit ;; esac +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + cat >&2 <." version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -257,7 +257,7 @@ case $basic_machine in | avr | avr32 \ | be32 | be64 \ | bfin \ - | c4x | c8051 | clipper \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -265,7 +265,6 @@ case $basic_machine in | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ @@ -283,10 +282,8 @@ case $basic_machine in | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ @@ -298,11 +295,11 @@ case $basic_machine in | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ + | open8 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ @@ -327,7 +324,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -375,7 +372,7 @@ case $basic_machine in | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -384,7 +381,6 @@ case $basic_machine in | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ @@ -404,10 +400,8 @@ case $basic_machine in | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ @@ -419,7 +413,6 @@ case $basic_machine in | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ - | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ @@ -801,7 +794,7 @@ case $basic_machine in os=-mingw64 ;; mingw32) - basic_machine=i686-pc + basic_machine=i386-pc os=-mingw32 ;; mingw32ce) @@ -829,10 +822,6 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; msdos) basic_machine=i386-pc os=-msdos @@ -841,7 +830,7 @@ case $basic_machine in basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i686-pc + basic_machine=i386-pc os=-msys ;; mvs) @@ -1017,7 +1006,7 @@ case $basic_machine in ;; ppc64) basic_machine=powerpc64-unknown ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown @@ -1378,14 +1367,14 @@ case $os in | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1557,9 +1546,6 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; - c8051-*) - os=-elf - ;; hexagon-*) os=-elf ;; @@ -1603,6 +1589,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/libgc/configure.REMOVED.git-id b/libgc/configure.REMOVED.git-id index 0e440265b3..92597f1c89 100644 --- a/libgc/configure.REMOVED.git-id +++ b/libgc/configure.REMOVED.git-id @@ -1 +1 @@ -822f530520cc4202fc04a4668b77b1de1215fdff \ No newline at end of file +41de4c4491c6c4c1658a0faba986f36eb179187e \ No newline at end of file diff --git a/libgc/doc/Makefile.in b/libgc/doc/Makefile.in index 41fff87069..1b8101bcf7 100644 --- a/libgc/doc/Makefile.in +++ b/libgc/doc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. diff --git a/libgc/include/Makefile.in b/libgc/include/Makefile.in index 11f1224fec..123d7c406a 100644 --- a/libgc/include/Makefile.in +++ b/libgc/include/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. diff --git a/libgc/include/private/Makefile.in b/libgc/include/private/Makefile.in index 69fd33dff7..0906fbf954 100644 --- a/libgc/include/private/Makefile.in +++ b/libgc/include/private/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. diff --git a/libgc/ltmain.sh.REMOVED.git-id b/libgc/ltmain.sh.REMOVED.git-id index f6476aa89a..e56a6b442b 100644 --- a/libgc/ltmain.sh.REMOVED.git-id +++ b/libgc/ltmain.sh.REMOVED.git-id @@ -1 +1 @@ -bffda54187af4d101157c43c6c6d26dd735e51d3 \ No newline at end of file +63ae69dc6fecaf83c52fba2ad334f4b1369fb1cd \ No newline at end of file diff --git a/libgc/m4/Makefile.in b/libgc/m4/Makefile.in index b5fa04722d..20d2527f10 100644 --- a/libgc/m4/Makefile.in +++ b/libgc/m4/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. diff --git a/libgc/m4/libtool.m4.REMOVED.git-id b/libgc/m4/libtool.m4.REMOVED.git-id index 761fd2af1a..14ce7cf26d 100644 --- a/libgc/m4/libtool.m4.REMOVED.git-id +++ b/libgc/m4/libtool.m4.REMOVED.git-id @@ -1 +1 @@ -d7c043f4f998971f1b81f7ab2c1e095fef45dee5 \ No newline at end of file +56666f0eceac29ace0fff6cfefa246a4ab93174c \ No newline at end of file diff --git a/ltmain.sh.REMOVED.git-id b/ltmain.sh.REMOVED.git-id index f6476aa89a..e56a6b442b 100644 --- a/ltmain.sh.REMOVED.git-id +++ b/ltmain.sh.REMOVED.git-id @@ -1 +1 @@ -bffda54187af4d101157c43c6c6d26dd735e51d3 \ No newline at end of file +63ae69dc6fecaf83c52fba2ad334f4b1369fb1cd \ No newline at end of file diff --git a/m4/Makefile.in b/m4/Makefile.in index 280fde2803..91f504506a 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/m4/libtool.m4.REMOVED.git-id b/m4/libtool.m4.REMOVED.git-id index 761fd2af1a..14ce7cf26d 100644 --- a/m4/libtool.m4.REMOVED.git-id +++ b/m4/libtool.m4.REMOVED.git-id @@ -1 +1 @@ -d7c043f4f998971f1b81f7ab2c1e095fef45dee5 \ No newline at end of file +56666f0eceac29ace0fff6cfefa246a4ab93174c \ No newline at end of file diff --git a/man/Makefile.in b/man/Makefile.in index 7e1ccdd219..e3375572e7 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -180,7 +180,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -192,6 +191,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mcs/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/JsonSerializationReader.cs b/mcs/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/JsonSerializationReader.cs index 05ee9069d0..597a5c354a 100644 --- a/mcs/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/JsonSerializationReader.cs +++ b/mcs/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/JsonSerializationReader.cs @@ -353,8 +353,7 @@ namespace System.Runtime.Serialization.Json for (reader.MoveToContent (); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent ()) { if (!reader.IsStartElement ("item")) throw SerializationError (String.Format ("Expected element 'item', but found '{0}' in namespace '{1}'", reader.LocalName, reader.NamespaceURI)); - Type et = elementType == typeof (object) || elementType.IsAbstract ? null : elementType; - object elem = ReadObject (et ?? typeof (object)); + object elem = ReadObject (elementType); c.Add (elem); } #if NET_2_1 diff --git a/mcs/class/System.XML/System.Xml.dll.sources b/mcs/class/System.XML/System.Xml.dll.sources index 6a8d23c89b..199ba77fe0 100644 --- a/mcs/class/System.XML/System.Xml.dll.sources +++ b/mcs/class/System.XML/System.Xml.dll.sources @@ -2,6 +2,8 @@ Assembly/AssemblyInfo.cs ../../build/common/Consts.cs ../../build/common/Locale.cs ../../build/common/MonoTODOAttribute.cs +../../../external/referencesource/System.Xml/System/Xml/Bits.cs +System.Xml/XsdDateTime2.cs Mono.Xml.Schema/XmlSchemaValidatingReader.cs Mono.Xml.Schema/XsdIdentityPath.cs Mono.Xml.Schema/XsdIdentityState.cs diff --git a/mcs/class/System.XML/System.Xml/XmlConvert.cs b/mcs/class/System.XML/System.Xml/XmlConvert.cs index 19d5a9c76c..b33d517d0d 100644 --- a/mcs/class/System.XML/System.Xml/XmlConvert.cs +++ b/mcs/class/System.XML/System.Xml/XmlConvert.cs @@ -290,7 +290,16 @@ namespace System.Xml { //return DateTime.Parse(s, d); DateTimeStyles style = DateTimeStyles.AllowLeadingWhite | DateTimeStyles.AllowTrailingWhite; - return DateTime.ParseExact (s, format, DateTimeFormatInfo.InvariantInfo, style); + try { + return DateTime.ParseExact (s, format, DateTimeFormatInfo.InvariantInfo, style); + } catch (Exception e) { + try { + var xsdDateTime = new XsdDateTime2 (s, XsdDateTimeFlags.AllXsd); + return (DateTime) xsdDateTime; + } catch { + throw e; + } + } } public static DateTime ToDateTime(string s, string[] formats) @@ -304,6 +313,13 @@ namespace System.Xml { return DateTime.ParseExact (s, formats, DateTimeFormatInfo.InvariantInfo, style); } catch (ArgumentOutOfRangeException) { return DateTime.MinValue; + } catch (Exception e) { + try { + var xsdDateTime = new XsdDateTime2 (s, XsdDateTimeFlags.AllXsd); + return (DateTime) xsdDateTime; + } catch { + throw e; + } } } @@ -781,15 +797,35 @@ namespace System.Xml { public static DateTimeOffset ToDateTimeOffset (string s, string format) { - return DateTimeOffset.ParseExact (s, format, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); + try { + return DateTimeOffset.ParseExact (s, format, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); + } catch (Exception e) { + try { + var xsdDateTime = new XsdDateTime2 (s, XsdDateTimeFlags.AllXsd); + return (DateTimeOffset) xsdDateTime; + } catch { + throw e; + } + } + } public static DateTimeOffset ToDateTimeOffset (string s, string [] formats) { - DateTimeStyles style = DateTimeStyles.AllowLeadingWhite | + try { + DateTimeStyles style = DateTimeStyles.AllowLeadingWhite | DateTimeStyles.AllowTrailingWhite | DateTimeStyles.AssumeUniversal; - return DateTimeOffset.ParseExact (s, formats, CultureInfo.InvariantCulture, style); + return DateTimeOffset.ParseExact (s, formats, CultureInfo.InvariantCulture, style); + } catch (Exception e) { + try { + var xsdDateTime = new XsdDateTime2 (s, XsdDateTimeFlags.AllXsd); + return (DateTimeOffset) xsdDateTime; + } catch { + throw e; + } + } + } public static string ToString (DateTimeOffset value) diff --git a/mcs/class/System.XML/System.Xml/XsdDateTime2.cs b/mcs/class/System.XML/System.Xml/XsdDateTime2.cs new file mode 100644 index 0000000000..04f88e2028 --- /dev/null +++ b/mcs/class/System.XML/System.Xml/XsdDateTime2.cs @@ -0,0 +1,993 @@ +//------------------------------------------------------------------------------ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// [....] +//------------------------------------------------------------------------------ + +namespace System.Xml.Schema { + using System; + using System.Xml; + using System.Diagnostics; + using System.Text; + + /// + /// This enum specifies what format should be used when converting string to XsdDateTime + /// + [Flags] + internal enum XsdDateTimeFlags { + DateTime = 0x01, + Time = 0x02, + Date = 0x04, + GYearMonth = 0x08, + GYear = 0x10, + GMonthDay = 0x20, + GDay = 0x40, + GMonth = 0x80, +#if !SILVERLIGHT // XDR is not supported in Silverlight + XdrDateTimeNoTz = 0x100, + XdrDateTime = 0x200, + XdrTimeNoTz = 0x400, //XDRTime with tz is the same as xsd:time +#endif + AllXsd = 0xFF //All still does not include the XDR formats + } + + /// + /// This structure extends System.DateTime to support timeInTicks zone and Gregorian types scomponents of an Xsd Duration. It is used internally to support Xsd durations without loss + /// of fidelity. XsdDuration structures are immutable once they've been created. + /// + internal struct XsdDateTime2 { + // DateTime is being used as an internal representation only + // Casting XsdDateTime to DateTime might return a different value + private DateTime dt; + + // Additional information that DateTime is not preserving + // Information is stored in the following format: + // Bits Info + // 31-24 DateTimeTypeCode + // 23-16 XsdDateTimeKind + // 15-8 Zone Hours + // 7-0 Zone Minutes + private uint extra; + + + // Subset of XML Schema types XsdDateTime represents + enum DateTimeTypeCode { + DateTime, + Time, + Date, + GYearMonth, + GYear, + GMonthDay, + GDay, + GMonth, +#if !SILVERLIGHT // XDR is not supported in Silverlight + XdrDateTime, +#endif + } + + // Internal representation of DateTimeKind + enum XsdDateTimeKind { + Unspecified, + Zulu, + LocalWestOfZulu, // GMT-1..14, N..Y + LocalEastOfZulu // GMT+1..14, A..M + } + + // Masks and shifts used for packing and unpacking extra + private const uint TypeMask = 0xFF000000; + private const uint KindMask = 0x00FF0000; + private const uint ZoneHourMask = 0x0000FF00; + private const uint ZoneMinuteMask = 0x000000FF; + private const int TypeShift = 24; + private const int KindShift = 16; + private const int ZoneHourShift = 8; + + // Maximum number of fraction digits; + private const short maxFractionDigits = 7; + + static readonly int Lzyyyy = "yyyy".Length; + static readonly int Lzyyyy_ = "yyyy-".Length; + static readonly int Lzyyyy_MM = "yyyy-MM".Length; + static readonly int Lzyyyy_MM_ = "yyyy-MM-".Length; + static readonly int Lzyyyy_MM_dd = "yyyy-MM-dd".Length; + static readonly int Lzyyyy_MM_ddT = "yyyy-MM-ddT".Length; + static readonly int LzHH = "HH".Length; + static readonly int LzHH_ = "HH:".Length; + static readonly int LzHH_mm = "HH:mm".Length; + static readonly int LzHH_mm_ = "HH:mm:".Length; + static readonly int LzHH_mm_ss = "HH:mm:ss".Length; + static readonly int Lz_ = "-".Length; + static readonly int Lz_zz = "-zz".Length; + static readonly int Lz_zz_ = "-zz:".Length; + static readonly int Lz_zz_zz = "-zz:zz".Length; + static readonly int Lz__ = "--".Length; + static readonly int Lz__mm = "--MM".Length; + static readonly int Lz__mm_ = "--MM-".Length; + static readonly int Lz__mm__ = "--MM--".Length; + static readonly int Lz__mm_dd = "--MM-dd".Length; + static readonly int Lz___ = "---".Length; + static readonly int Lz___dd = "---dd".Length; + + +#if !SILVERLIGHT + /// + /// Constructs an XsdDateTime from a string trying all possible formats. + /// + public XsdDateTime2(string text) : this(text, XsdDateTimeFlags.AllXsd) { + } +#endif + + /// + /// Constructs an XsdDateTime from a string using specific format. + /// + public XsdDateTime2(string text, XsdDateTimeFlags kinds) : this() { + Parser parser = new Parser(); + if (! parser.Parse(text, kinds)) { + throw new FormatException("Res.GetString(Res.XmlConvert_BadFormat, text, kinds)"); + } + InitiateXsdDateTime(parser); + } + +#if !SILVERLIGHT + private XsdDateTime2(Parser parser) : this() { + InitiateXsdDateTime(parser); + } +#endif + + private void InitiateXsdDateTime(Parser parser) { + dt = new DateTime(parser.year, parser.month, parser.day, parser.hour, parser.minute, parser.second); + if (parser.fraction != 0) { + dt = dt.AddTicks(parser.fraction); + } + extra = (uint)(((int)parser.typeCode << TypeShift) | ((int)parser.kind << KindShift) | (parser.zoneHour << ZoneHourShift) | parser.zoneMinute); + } + +#if !SILVERLIGHT + internal static bool TryParse(string text, XsdDateTimeFlags kinds, out XsdDateTime2 result) { + Parser parser = new Parser(); + if (! parser.Parse(text, kinds)) { + result = new XsdDateTime2(); + return false; + } + result = new XsdDateTime2(parser); + return true; + } +#endif + + /// + /// Constructs an XsdDateTime from a DateTime. + /// + public XsdDateTime2(DateTime dateTime, XsdDateTimeFlags kinds) { + Debug.Assert(Bits.ExactlyOne((uint)kinds), "Only one DateTime type code can be set."); + dt = dateTime; + + DateTimeTypeCode code = (DateTimeTypeCode) (Bits.LeastPosition((uint) kinds) - 1); + int zoneHour = 0; + int zoneMinute = 0; + XsdDateTimeKind kind; + + switch (dateTime.Kind) { + case DateTimeKind.Unspecified: kind = XsdDateTimeKind.Unspecified; break; + case DateTimeKind.Utc: kind = XsdDateTimeKind.Zulu; break; + + default: { + Debug.Assert(dateTime.Kind == DateTimeKind.Local, "Unknown DateTimeKind: " + dateTime.Kind); + TimeSpan utcOffset = TimeZoneInfo.Local.GetUtcOffset(dateTime); + + if (utcOffset.Ticks < 0) { + kind = XsdDateTimeKind.LocalWestOfZulu; + zoneHour = -utcOffset.Hours; + zoneMinute = -utcOffset.Minutes; + } + else { + kind = XsdDateTimeKind.LocalEastOfZulu; + zoneHour = utcOffset.Hours; + zoneMinute = utcOffset.Minutes; + } + break; + } + } + + extra = (uint)(((int)code << TypeShift) | ((int)kind << KindShift) | (zoneHour << ZoneHourShift) | zoneMinute); + } + + // Constructs an XsdDateTime from a DateTimeOffset + public XsdDateTime2(DateTimeOffset dateTimeOffset) : this(dateTimeOffset, XsdDateTimeFlags.DateTime) { + } + + public XsdDateTime2(DateTimeOffset dateTimeOffset, XsdDateTimeFlags kinds) { + Debug.Assert(Bits.ExactlyOne((uint)kinds), "Only one DateTime type code can be set."); + + dt = dateTimeOffset.DateTime; + + TimeSpan zoneOffset = dateTimeOffset.Offset; + DateTimeTypeCode code = (DateTimeTypeCode) (Bits.LeastPosition((uint) kinds) - 1); + XsdDateTimeKind kind; + if (zoneOffset.TotalMinutes < 0) { + zoneOffset = zoneOffset.Negate(); + kind = XsdDateTimeKind.LocalWestOfZulu; + } + else if (zoneOffset.TotalMinutes > 0) { + kind = XsdDateTimeKind.LocalEastOfZulu; + } + else { + kind = XsdDateTimeKind.Zulu; + } + + extra = (uint)(((int)code << TypeShift) | ((int)kind << KindShift) | (zoneOffset.Hours << ZoneHourShift) | zoneOffset.Minutes); + } + + /// + /// Returns auxiliary enumeration of XSD date type + /// + private DateTimeTypeCode InternalTypeCode { + get { return (DateTimeTypeCode)((extra & TypeMask) >> TypeShift); } + } + + /// + /// Returns geographical "position" of the value + /// + private XsdDateTimeKind InternalKind { + get { return (XsdDateTimeKind)((extra & KindMask) >> KindShift); } + } + +#if !SILVERLIGHT + /// + /// Returns XmlTypeCode of the value being stored + /// + public XmlTypeCode TypeCode { + get { return typeCodes[(int)InternalTypeCode]; } + } + + /// + /// Returns whether object represent local, UTC or unspecified time + /// + public DateTimeKind Kind { + get { + switch (InternalKind) { + case XsdDateTimeKind.Unspecified: + return DateTimeKind.Unspecified; + case XsdDateTimeKind.Zulu: + return DateTimeKind.Utc; + default: + // XsdDateTimeKind.LocalEastOfZulu: + // XsdDateTimeKind.LocalWestOfZulu: + return DateTimeKind.Local; + } + } + } +#endif + + /// + /// Returns the year part of XsdDateTime + /// The returned value is integer between 1 and 9999 + /// + public int Year { + get { return dt.Year; } + } + + /// + /// Returns the month part of XsdDateTime + /// The returned value is integer between 1 and 12 + /// + public int Month { + get { return dt.Month; } + } + + /// + /// Returns the day of the month part of XsdDateTime + /// The returned value is integer between 1 and 31 + /// + public int Day { + get { return dt.Day; } + } + + /// + /// Returns the hour part of XsdDateTime + /// The returned value is integer between 0 and 23 + /// + public int Hour { + get { return dt.Hour; } + } + + /// + /// Returns the minute part of XsdDateTime + /// The returned value is integer between 0 and 60 + /// + public int Minute { + get { return dt.Minute; } + } + + /// + /// Returns the second part of XsdDateTime + /// The returned value is integer between 0 and 60 + /// + public int Second { + get { return dt.Second; } + } + + /// + /// Returns number of ticks in the fraction of the second + /// The returned value is integer between 0 and 9999999 + /// + public int Fraction { + get { return (int)(dt.Ticks - new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second).Ticks); } + } + + /// + /// Returns the hour part of the time zone + /// The returned value is integer between -13 and 13 + /// + public int ZoneHour { + get { + uint result = (extra & ZoneHourMask) >> ZoneHourShift; + return (int)result; + } + } + + /// + /// Returns the minute part of the time zone + /// The returned value is integer between 0 and 60 + /// + public int ZoneMinute { + get { + uint result = (extra & ZoneMinuteMask); + return (int)result; + } + } + +#if !SILVERLIGHT + public DateTime ToZulu() { + switch (InternalKind) { + case XsdDateTimeKind.Zulu: + // set it to UTC + return new DateTime(dt.Ticks, DateTimeKind.Utc); + case XsdDateTimeKind.LocalEastOfZulu: + // Adjust to UTC and then convert to local in the current time zone + return new DateTime(dt.Subtract(new TimeSpan(ZoneHour, ZoneMinute, 0)).Ticks, DateTimeKind.Utc); + case XsdDateTimeKind.LocalWestOfZulu: + // Adjust to UTC and then convert to local in the current time zone + return new DateTime(dt.Add(new TimeSpan(ZoneHour, ZoneMinute, 0)).Ticks, DateTimeKind.Utc); + default: + return dt; + } + } +#endif + + /// + /// Cast to DateTime + /// The following table describes the behaviors of getting the default value + /// when a certain year/month/day values are missing. + /// + /// An "X" means that the value exists. And "--" means that value is missing. + /// + /// Year Month Day => ResultYear ResultMonth ResultDay Note + /// + /// X X X Parsed year Parsed month Parsed day + /// X X -- Parsed Year Parsed month First day If we have year and month, assume the first day of that month. + /// X -- X Parsed year First month Parsed day If the month is missing, assume first month of that year. + /// X -- -- Parsed year First month First day If we have only the year, assume the first day of that year. + /// + /// -- X X CurrentYear Parsed month Parsed day If the year is missing, assume the current year. + /// -- X -- CurrentYear Parsed month First day If we have only a month value, assume the current year and current day. + /// -- -- X CurrentYear First month Parsed day If we have only a day value, assume current year and first month. + /// -- -- -- CurrentYear Current month Current day So this means that if the date string only contains time, you will get current date. + /// + public static implicit operator DateTime(XsdDateTime2 xdt) { + DateTime result; + switch (xdt.InternalTypeCode) { + case DateTimeTypeCode.GMonth: + case DateTimeTypeCode.GDay: + result = new DateTime(DateTime.Now.Year, xdt.Month, xdt.Day); + break; + case DateTimeTypeCode.Time: + //back to DateTime.Now + DateTime currentDateTime = DateTime.Now; + TimeSpan addDiff = new DateTime(currentDateTime.Year, currentDateTime.Month, currentDateTime.Day) - new DateTime(xdt.Year, xdt.Month, xdt.Day); + result = xdt.dt.Add(addDiff); + break; + default: + result = xdt.dt; + break; + } + + long ticks; + switch (xdt.InternalKind) { + case XsdDateTimeKind.Zulu: + // set it to UTC + result = new DateTime(result.Ticks, DateTimeKind.Utc); + break; + case XsdDateTimeKind.LocalEastOfZulu: + // Adjust to UTC and then convert to local in the current time zone + ticks = result.Ticks - new TimeSpan(xdt.ZoneHour, xdt.ZoneMinute, 0).Ticks; + if (ticks < DateTime.MinValue.Ticks) + { + // Underflow. Return the DateTime as local time directly + ticks += TimeZoneInfo.Local.GetUtcOffset(result).Ticks; + if (ticks < DateTime.MinValue.Ticks) + ticks = DateTime.MinValue.Ticks; + return new DateTime(ticks, DateTimeKind.Local); + } + result = new DateTime(ticks, DateTimeKind.Utc).ToLocalTime(); + break; + case XsdDateTimeKind.LocalWestOfZulu: + // Adjust to UTC and then convert to local in the current time zone + ticks = result.Ticks + new TimeSpan(xdt.ZoneHour, xdt.ZoneMinute, 0).Ticks; + if (ticks > DateTime.MaxValue.Ticks) + { + // Overflow. Return the DateTime as local time directly + ticks += TimeZoneInfo.Local.GetUtcOffset(result).Ticks; + if (ticks > DateTime.MaxValue.Ticks) + ticks = DateTime.MaxValue.Ticks; + return new DateTime(ticks, DateTimeKind.Local); + } + result = new DateTime(ticks, DateTimeKind.Utc).ToLocalTime(); + break; + default: + break; + } + return result; + } + + public static implicit operator DateTimeOffset(XsdDateTime2 xdt) { + DateTime dt; + + switch (xdt.InternalTypeCode) { + case DateTimeTypeCode.GMonth: + case DateTimeTypeCode.GDay: + dt = new DateTime( DateTime.Now.Year, xdt.Month, xdt.Day ); + break; + case DateTimeTypeCode.Time: + //back to DateTime.Now + DateTime currentDateTime = DateTime.Now; + TimeSpan addDiff = new DateTime(currentDateTime.Year, currentDateTime.Month, currentDateTime.Day) - new DateTime(xdt.Year, xdt.Month, xdt.Day); + dt = xdt.dt.Add( addDiff ); + break; + default: + dt = xdt.dt; + break; + } + + DateTimeOffset result; + switch (xdt.InternalKind) { + case XsdDateTimeKind.LocalEastOfZulu: + result = new DateTimeOffset(dt, new TimeSpan(xdt.ZoneHour, xdt.ZoneMinute, 0)); + break; + case XsdDateTimeKind.LocalWestOfZulu: + result = new DateTimeOffset(dt, new TimeSpan(-xdt.ZoneHour, -xdt.ZoneMinute, 0)); + break; + case XsdDateTimeKind.Zulu: + result = new DateTimeOffset(dt, new TimeSpan( 0 ) ); + break; + case XsdDateTimeKind.Unspecified: + default: + result = new DateTimeOffset(dt, TimeZoneInfo.Local.GetUtcOffset(dt)); + break; + } + + return result; + } + +#if !SILVERLIGHT + /// + /// Compares two DateTime values, returning an integer that indicates + /// their relationship. + /// + public static int Compare(XsdDateTime2 left, XsdDateTime2 right) { + if (left.extra == right.extra) { + return DateTime.Compare(left.dt, right.dt); + } + else { + // Xsd types should be the same for it to be comparable + if (left.InternalTypeCode != right.InternalTypeCode) { + throw new ArgumentException("Res.GetString(Res.Sch_XsdDateTimeCompare, left.TypeCode, right.TypeCode)"); + } + // Convert both to UTC + return DateTime.Compare(left.GetZuluDateTime(), right.GetZuluDateTime()); + + } + } + + // Compares this DateTime to a given object. This method provides an + // implementation of the IComparable interface. The object + // argument must be another DateTime, or otherwise an exception + // occurs. Null is considered less than any instance. + // + // Returns a value less than zero if this object + /// + public int CompareTo(Object value) { + if (value == null) return 1; + return Compare(this, (XsdDateTime2)value); + } +#endif + + /// + /// Serialization to a string + /// + public override string ToString() { + StringBuilder sb = new StringBuilder(64); + char[] text; + switch (InternalTypeCode) { + case DateTimeTypeCode.DateTime: + PrintDate(sb); + sb.Append('T'); + PrintTime(sb); + break; + case DateTimeTypeCode.Time: + PrintTime(sb); + break; + case DateTimeTypeCode.Date: + PrintDate(sb); + break; + case DateTimeTypeCode.GYearMonth: + text = new char[Lzyyyy_MM]; + IntToCharArray(text, 0, Year, 4); + text[Lzyyyy] = '-'; + ShortToCharArray(text, Lzyyyy_, Month); + sb.Append(text); + break; + case DateTimeTypeCode.GYear: + text = new char[Lzyyyy]; + IntToCharArray(text, 0, Year, 4); + sb.Append(text); + break; + case DateTimeTypeCode.GMonthDay: + text = new char[Lz__mm_dd]; + text[0] = '-'; + text[Lz_] = '-'; + ShortToCharArray(text, Lz__, Month); + text[Lz__mm] = '-'; + ShortToCharArray(text, Lz__mm_, Day); + sb.Append(text); + break; + case DateTimeTypeCode.GDay: + text = new char[Lz___dd]; + text[0] = '-'; + text[Lz_] = '-'; + text[Lz__] = '-'; + ShortToCharArray(text, Lz___, Day); + sb.Append(text); + break; + case DateTimeTypeCode.GMonth: + text = new char[Lz__mm__]; + text[0] = '-'; + text[Lz_] = '-'; + ShortToCharArray(text, Lz__, Month); + text[Lz__mm] = '-'; + text[Lz__mm_] = '-'; + sb.Append(text); + break; + } + PrintZone(sb); + return sb.ToString(); + } + + // Serialize year, month and day + private void PrintDate(StringBuilder sb) { + char[] text = new char[Lzyyyy_MM_dd]; + IntToCharArray(text, 0, Year, 4); + text[Lzyyyy] = '-'; + ShortToCharArray(text, Lzyyyy_, Month); + text[Lzyyyy_MM] = '-'; + ShortToCharArray(text, Lzyyyy_MM_, Day); + sb.Append(text); + } + + // Serialize hour, minute, second and fraction + private void PrintTime(StringBuilder sb) { + char[] text = new char[LzHH_mm_ss]; + ShortToCharArray(text, 0, Hour); + text[LzHH] = ':'; + ShortToCharArray(text, LzHH_, Minute); + text[LzHH_mm] = ':'; + ShortToCharArray(text, LzHH_mm_, Second); + sb.Append(text); + int fraction = Fraction; + if (fraction != 0) { + int fractionDigits = maxFractionDigits; + while (fraction % 10 == 0) { + fractionDigits --; + fraction /= 10; + } + text = new char[fractionDigits + 1]; + text[0] = '.'; + IntToCharArray(text, 1, fraction, fractionDigits); + sb.Append(text); + } + } + + // Serialize time zone + private void PrintZone(StringBuilder sb) { + char[] text; + switch (InternalKind) { + case XsdDateTimeKind.Zulu: + sb.Append('Z'); + break; + case XsdDateTimeKind.LocalWestOfZulu: + text = new char[Lz_zz_zz]; + text[0] = '-'; + ShortToCharArray(text, Lz_, ZoneHour); + text[Lz_zz] = ':'; + ShortToCharArray(text, Lz_zz_, ZoneMinute); + sb.Append(text); + break; + case XsdDateTimeKind.LocalEastOfZulu: + text = new char[Lz_zz_zz]; + text[0] = '+'; + ShortToCharArray(text, Lz_, ZoneHour); + text[Lz_zz] = ':'; + ShortToCharArray(text, Lz_zz_, ZoneMinute); + sb.Append(text); + break; + default: + // do nothing + break; + } + } + + // Serialize integer into character array starting with index [start]. + // Number of digits is set by [digits] + private void IntToCharArray(char[] text, int start, int value, int digits) { + while(digits -- != 0) { + text[start + digits] = (char)(value%10 + '0'); + value /= 10; + } + } + + // Serialize two digit integer into character array starting with index [start]. + private void ShortToCharArray(char[] text, int start, int value) { + text[start] = (char)(value/10 + '0'); + text[start + 1] = (char)(value%10 + '0'); + } + +#if !SILVERLIGHT + // Auxiliary for compare. + // Returns UTC DateTime + private DateTime GetZuluDateTime() { + switch (InternalKind) { + case XsdDateTimeKind.Zulu: + return dt; + case XsdDateTimeKind.LocalEastOfZulu: + return dt.Subtract(new TimeSpan(ZoneHour, ZoneMinute, 0)); + case XsdDateTimeKind.LocalWestOfZulu: + return dt.Add(new TimeSpan(ZoneHour, ZoneMinute, 0)); + default: + return dt.ToUniversalTime(); + } + } +#endif + + private static readonly XmlTypeCode[] typeCodes = { + XmlTypeCode.DateTime, + XmlTypeCode.Time, + XmlTypeCode.Date, + XmlTypeCode.GYearMonth, + XmlTypeCode.GYear, + XmlTypeCode.GMonthDay, + XmlTypeCode.GDay, + XmlTypeCode.GMonth + }; + + + // Parsing string according to XML schema spec + struct Parser { + private const int leapYear = 1904; + private const int firstMonth = 1; + private const int firstDay = 1; + + public DateTimeTypeCode typeCode; + public int year; + public int month; + public int day; + public int hour; + public int minute; + public int second; + public int fraction; + public XsdDateTimeKind kind; + public int zoneHour; + public int zoneMinute; + + private string text; + private int length; + + public bool Parse(string text, XsdDateTimeFlags kinds) { + this.text = text; + this.length = text.Length; + + // Skip leading withitespace + int start = 0; + while(start < length && char.IsWhiteSpace(text[start])) { + start ++; + } + // Choose format starting from the most common and trying not to reparse the same thing too many times + +#if !SILVERLIGHT // XDR is not supported in Silverlight + if (Test(kinds, XsdDateTimeFlags.DateTime | XsdDateTimeFlags.Date | XsdDateTimeFlags.XdrDateTime | XsdDateTimeFlags.XdrDateTimeNoTz)) { +#else + if (Test(kinds, XsdDateTimeFlags.DateTime | XsdDateTimeFlags.Date)) { +#endif + if (ParseDate(start)) { + if (Test(kinds, XsdDateTimeFlags.DateTime)) { + if (ParseChar(start + Lzyyyy_MM_dd, 'T') && ParseTimeAndZoneAndWhitespace(start + Lzyyyy_MM_ddT)) { + typeCode = DateTimeTypeCode.DateTime; + return true; + } + } + if (Test(kinds, XsdDateTimeFlags.Date)) { + if (ParseZoneAndWhitespace(start + Lzyyyy_MM_dd)) { + typeCode = DateTimeTypeCode.Date; + return true; + } + } +#if !SILVERLIGHT // XDR is not supported in Silverlight + if (Test(kinds, XsdDateTimeFlags.XdrDateTime)) { + if (ParseZoneAndWhitespace(start + Lzyyyy_MM_dd) || (ParseChar(start + Lzyyyy_MM_dd, 'T') && ParseTimeAndZoneAndWhitespace(start + Lzyyyy_MM_ddT)) ) { + typeCode = DateTimeTypeCode.XdrDateTime; + return true; + } + } + if (Test(kinds, XsdDateTimeFlags.XdrDateTimeNoTz)) { + if (ParseChar(start + Lzyyyy_MM_dd, 'T')) { + if (ParseTimeAndWhitespace(start + Lzyyyy_MM_ddT)) { + typeCode = DateTimeTypeCode.XdrDateTime; + return true; + } + } + else { + typeCode = DateTimeTypeCode.XdrDateTime; + return true; + } + } +#endif + } + } + + if (Test(kinds, XsdDateTimeFlags.Time)) { + if (ParseTimeAndZoneAndWhitespace(start)) { //Equivalent to NoCurrentDateDefault on DateTimeStyles while parsing xs:time + year = leapYear; + month = firstMonth; + day = firstDay; + typeCode = DateTimeTypeCode.Time; + return true; + } + } + +#if !SILVERLIGHT // XDR is not supported in Silverlight + if (Test(kinds, XsdDateTimeFlags.XdrTimeNoTz)) { + if (ParseTimeAndWhitespace(start)) { //Equivalent to NoCurrentDateDefault on DateTimeStyles while parsing xs:time + year = leapYear; + month = firstMonth; + day = firstDay; + typeCode = DateTimeTypeCode.Time; + return true; + } + } +#endif + + if (Test(kinds, XsdDateTimeFlags.GYearMonth | XsdDateTimeFlags.GYear)) { + if (Parse4Dig(start , ref year) && 1 <= year) { + if (Test(kinds, XsdDateTimeFlags.GYearMonth)) { + if ( + ParseChar(start + Lzyyyy, '-') && + Parse2Dig(start + Lzyyyy_, ref month) && 1 <= month && month <= 12 && + ParseZoneAndWhitespace(start + Lzyyyy_MM) + ) { + day = firstDay; + typeCode = DateTimeTypeCode.GYearMonth; + return true; + } + } + if (Test(kinds, XsdDateTimeFlags.GYear)) { + if (ParseZoneAndWhitespace(start + Lzyyyy)) { + month = firstMonth; + day = firstDay; + typeCode = DateTimeTypeCode.GYear; + return true; + } + } + } + } + if (Test(kinds, XsdDateTimeFlags.GMonthDay | XsdDateTimeFlags.GMonth)) { + if ( + ParseChar(start , '-') && + ParseChar(start + Lz_, '-') && + Parse2Dig(start + Lz__, ref month) && 1 <= month && month <= 12 + ) { + if (Test(kinds, XsdDateTimeFlags.GMonthDay) && ParseChar(start + Lz__mm, '-')) { + if ( + Parse2Dig(start + Lz__mm_, ref day) && 1 <= day && day <= DateTime.DaysInMonth(leapYear, month) && + ParseZoneAndWhitespace(start + Lz__mm_dd) + ) { + year = leapYear; + typeCode = DateTimeTypeCode.GMonthDay; + return true; + } + } + if (Test(kinds, XsdDateTimeFlags.GMonth)) { + if (ParseZoneAndWhitespace(start + Lz__mm) || (ParseChar(start + Lz__mm, '-') && ParseChar(start + Lz__mm_, '-') && ParseZoneAndWhitespace(start + Lz__mm__)) ) { + year = leapYear; + day = firstDay; + typeCode = DateTimeTypeCode.GMonth; + return true; + } + } + } + + } + if (Test(kinds, XsdDateTimeFlags.GDay)) { + if ( + ParseChar(start , '-') && + ParseChar(start + Lz_, '-') && + ParseChar(start + Lz__, '-') && + Parse2Dig(start + Lz___, ref day) && 1 <= day && day <= DateTime.DaysInMonth(leapYear, firstMonth) && + ParseZoneAndWhitespace(start + Lz___dd) + + ) { + year = leapYear; + month = firstMonth; + typeCode = DateTimeTypeCode.GDay; + return true; + } + } + return false; + } + + + private bool ParseDate(int start) { + return + Parse4Dig(start , ref year) && 1 <= year && + ParseChar(start + Lzyyyy, '-') && + Parse2Dig(start + Lzyyyy_, ref month) && 1 <= month && month <= 12 && + ParseChar(start + Lzyyyy_MM, '-') && + Parse2Dig(start + Lzyyyy_MM_, ref day) && 1 <= day && day <= DateTime.DaysInMonth(year, month); + } + + private bool ParseTimeAndZoneAndWhitespace(int start) { + if (ParseTime(ref start)) { + if (ParseZoneAndWhitespace(start)) { + return true; + } + } + return false; + } + +#if !SILVERLIGHT // XDR is not supported in Silverlight + private bool ParseTimeAndWhitespace(int start) { + if (ParseTime(ref start)) { + while(start < length ) {//&& char.IsWhiteSpace(text[start])) { + start ++; + } + return start == length; + } + return false; + } +#endif + + static int[] Power10 = new int[maxFractionDigits] {-1, 10, 100, 1000, 10000, 100000, 1000000}; + private bool ParseTime(ref int start) { + if ( + Parse2Dig(start , ref hour) && hour < 24 && + ParseChar(start + LzHH, ':') && + Parse2Dig(start + LzHH_, ref minute) && minute < 60 && + ParseChar(start + LzHH_mm, ':') && + Parse2Dig(start + LzHH_mm_, ref second) && second < 60 + ) { + start += LzHH_mm_ss; + if (ParseChar(start, '.')) { + // Parse factional part of seconds + // We allow any number of digits, but keep only first 7 + this.fraction = 0; + int fractionDigits = 0; + int round = 0; + while (++start < length) { + int d = text[start] - '0'; + if (9u < (uint) d) { // d < 0 || 9 < d + break; + } + if (fractionDigits < maxFractionDigits) { + this.fraction = (this.fraction * 10) + d; + } else if (fractionDigits == maxFractionDigits) { + if (5 < d) { + round = 1; + } else if (d == 5) { + round = -1; + } + } else if (round < 0 && d != 0) { + round = 1; + } + fractionDigits ++; + } + if (fractionDigits < maxFractionDigits) { + if (fractionDigits == 0) { + return false; // cannot end with . + } + fraction *= Power10[maxFractionDigits - fractionDigits]; + } else { + if (round < 0) { + round = fraction & 1; + } + fraction += round; + } + } + return true; + } + // cleanup - conflict with gYear + hour = 0; + return false; + } + + private bool ParseZoneAndWhitespace(int start) { + if (start < length) { + char ch = text[start]; + if (ch == 'Z' || ch == 'z') { + kind = XsdDateTimeKind.Zulu; + start ++; + } + else if (start + 5 < length) { + if ( + Parse2Dig(start + Lz_, ref zoneHour) && zoneHour <= 99 && + ParseChar(start + Lz_zz, ':') && + Parse2Dig(start + Lz_zz_, ref zoneMinute) && zoneMinute <= 99 + ) { + if (ch == '-') { + kind = XsdDateTimeKind.LocalWestOfZulu; + start += Lz_zz_zz; + } + else if (ch == '+') { + kind = XsdDateTimeKind.LocalEastOfZulu; + start += Lz_zz_zz; + } + } + } + } + while(start < length && char.IsWhiteSpace(text[start])) { + start ++; + } + return start == length; + } + + + private bool Parse4Dig(int start, ref int num) { + if (start + 3 < length) { + int d4 = text[start] - '0'; + int d3 = text[start + 1] - '0'; + int d2 = text[start + 2] - '0'; + int d1 = text[start + 3] - '0'; + if (0 <= d4 && d4 < 10 && + 0 <= d3 && d3 < 10 && + 0 <= d2 && d2 < 10 && + 0 <= d1 && d1 < 10 + ) { + num = ((d4 * 10 + d3) * 10 + d2) * 10 + d1; + return true; + } + } + return false; + } + + private bool Parse2Dig(int start, ref int num) { + if (start + 1 < length) { + int d2 = text[start] - '0'; + int d1 = text[start + 1] - '0'; + if (0 <= d2 && d2 < 10 && + 0 <= d1 && d1 < 10 + ) { + num = d2 * 10 + d1; + return true; + } + } + return false; + } + + private bool ParseChar(int start, char ch) { + return start < length && text[start] == ch; + } + + private static bool Test(XsdDateTimeFlags left, XsdDateTimeFlags right) { + return (left & right) != 0; + } + + } + } +} diff --git a/mcs/class/System.XML/mobile_System.Xml.dll.sources b/mcs/class/System.XML/mobile_System.Xml.dll.sources index 458410154b..11d91c1842 100644 --- a/mcs/class/System.XML/mobile_System.Xml.dll.sources +++ b/mcs/class/System.XML/mobile_System.Xml.dll.sources @@ -371,4 +371,6 @@ System.Xml.Serialization/XmlElementEventHandler.cs System.Xml.Serialization/XmlNodeEventHandler.cs System.Xml/XQueryConvert.cs +../../../external/referencesource/System.Xml/System/Xml/Bits.cs +System.Xml/XsdDateTime2.cs diff --git a/mcs/class/corlib/System.Globalization/CultureInfo.cs b/mcs/class/corlib/System.Globalization/CultureInfo.cs index e9f9ac4f7b..7865e0c92b 100644 --- a/mcs/class/corlib/System.Globalization/CultureInfo.cs +++ b/mcs/class/corlib/System.Globalization/CultureInfo.cs @@ -417,11 +417,12 @@ namespace System.Globalization // The runtime returns a NULL in the first position of the array when // 'neutral' is true. We fill it in with a clone of InvariantCulture // since it must not be read-only + int i = 0; if (neutral && infos.Length > 0 && infos [0] == null) { - infos [0] = (CultureInfo) InvariantCulture.Clone (); + infos [i++] = (CultureInfo) InvariantCulture.Clone (); } - for (int i = 1; i < infos.Length; ++i) { + for (; i < infos.Length; ++i) { var ci = infos [i]; infos [i].m_cultureData = CultureData.GetCultureData (ci.m_name, false, ci.datetime_index, ci.CalendarType, ci.iso2lang); } diff --git a/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs b/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs index 3b74384537..48a8e76b63 100644 --- a/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs +++ b/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs @@ -225,6 +225,15 @@ namespace MonoTests.System.Globalization Assert.Fail ("InvariantCulture not found in the array from GetCultures()"); } + [Test] + public void GetAllCultures_Specific () + { + CultureInfo [] infos = CultureInfo.GetCultures (CultureTypes.SpecificCultures); + foreach (CultureInfo ci in infos) { + Assert.IsNotNull (ci.DateTimeFormat); + } + } + [Test] #if !NET_4_0 [ExpectedException (typeof (NotSupportedException))] diff --git a/mcs/class/corlib/monotouch_runtime_corlib.dll.sources b/mcs/class/corlib/monotouch_runtime_corlib.dll.sources new file mode 100644 index 0000000000..9e173da97f --- /dev/null +++ b/mcs/class/corlib/monotouch_runtime_corlib.dll.sources @@ -0,0 +1 @@ +#include corlib.dll.sources \ No newline at end of file diff --git a/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id index a3f00f1655..9d7ccb1569 100644 --- a/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -4816a33a1117da3f621fc172ae972cb88e983fe0 \ No newline at end of file +62d516907d70ecf17d5514d0b95eca311ec777cf \ No newline at end of file diff --git a/mcs/class/lib/monolite/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.Configuration.dll.REMOVED.git-id index 5396256772..910f453d37 100644 --- a/mcs/class/lib/monolite/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -d56b0642b5e7cef07830b8435781e7decd5a3c88 \ No newline at end of file +cd383f7f1e00c5c33b0d1ca418b3026590e16b82 \ No newline at end of file diff --git a/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id index fc042dabff..b70286312a 100644 --- a/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id @@ -1 +1 @@ -f812e116ea4476a6400787d291a6c33982351043 \ No newline at end of file +0442610a0894deae436f4425d6ce61bfcf05f317 \ No newline at end of file diff --git a/mcs/class/lib/monolite/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.Security.dll.REMOVED.git-id index d606f24ae0..c41208ff93 100644 --- a/mcs/class/lib/monolite/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -d5baf4466182688805ba46006f24dee0f2a58a7f \ No newline at end of file +8b55e7bf143fa497a0beb1248953d8a153f92e6b \ No newline at end of file diff --git a/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id index d2ed6bd250..699644ac37 100644 --- a/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -e634a26a89825c34d9fa548f211a6b2e1968da66 \ No newline at end of file +46943fbf58da39a463799c4588a4ae363eb08687 \ No newline at end of file diff --git a/mcs/class/lib/monolite/System.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.dll.REMOVED.git-id index 7e5ec7cc2b..a87dbd8f04 100644 --- a/mcs/class/lib/monolite/System.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.dll.REMOVED.git-id @@ -1 +1 @@ -45516bac994827703522453286f3a1c1b8d75b1b \ No newline at end of file +f5a92d1da2d627310094847f1caea53b06b9cb06 \ No newline at end of file diff --git a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id index 61a5ac93a6..56b805d1d8 100644 --- a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id @@ -1 +1 @@ -340def76e208dadff3d94c971334b503dee1dc4c \ No newline at end of file +a41c331587790269dc8edeb917e32a18c54ab218 \ No newline at end of file diff --git a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id index 2aedee9539..59ac4a0cc1 100644 --- a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -976d3a548faca8313dcbe8037ca0a8aa1d22b8da \ No newline at end of file +520a0a38f7184d287366c996c5ac92d8e7f5fac2 \ No newline at end of file diff --git a/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs b/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs index b6276ac249..3b7f402407 100644 --- a/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs +++ b/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs @@ -204,18 +204,72 @@ namespace Mono.Linker.Steps { MarkCustomAttributeFields (ca, type); } - void MarkCustomAttributeProperties (CustomAttribute ca, TypeDefinition attribute) + protected void MarkSecurityDeclarations (ISecurityDeclarationProvider provider) + { + // most security declarations are removed (if linked) but user code might still have some + // and if the attribtues references types then they need to be marked too + if ((provider == null) || !provider.HasSecurityDeclarations) + return; + + foreach (var sd in provider.SecurityDeclarations) + MarkSecurityDeclaration (sd); + } + + protected virtual void MarkSecurityDeclaration (SecurityDeclaration sd) + { + if (!sd.HasSecurityAttributes) + return; + + foreach (var sa in sd.SecurityAttributes) + MarkSecurityAttribute (sa); + } + + protected virtual void MarkSecurityAttribute (SecurityAttribute sa) + { + TypeReference security_type = sa.AttributeType; + TypeDefinition type = security_type.Resolve (); + if (type == null) + throw new ResolutionException (security_type); + + MarkType (security_type); + MarkSecurityAttributeProperties (sa, type); + MarkSecurityAttributeFields (sa, type); + } + + protected void MarkSecurityAttributeProperties (SecurityAttribute sa, TypeDefinition attribute) + { + if (!sa.HasProperties) + return; + + foreach (var named_argument in sa.Properties) + MarkCustomAttributeProperty (named_argument, attribute); + } + + protected void MarkSecurityAttributeFields (SecurityAttribute sa, TypeDefinition attribute) + { + if (!sa.HasFields) + return; + + foreach (var named_argument in sa.Fields) + MarkCustomAttributeField (named_argument, attribute); + } + + protected void MarkCustomAttributeProperties (CustomAttribute ca, TypeDefinition attribute) { if (!ca.HasProperties) return; - foreach (var named_argument in ca.Properties) { - PropertyDefinition property = GetProperty (attribute, named_argument.Name); - if (property != null) - MarkMethod (property.SetMethod); + foreach (var named_argument in ca.Properties) + MarkCustomAttributeProperty (named_argument, attribute); + } - MarkIfType (named_argument.Argument); - } + protected void MarkCustomAttributeProperty (CustomAttributeNamedArgument namedArgument, TypeDefinition attribute) + { + PropertyDefinition property = GetProperty (attribute, namedArgument.Name); + if (property != null) + MarkMethod (property.SetMethod); + + MarkIfType (namedArgument.Argument); } PropertyDefinition GetProperty (TypeDefinition type, string propertyname) @@ -231,18 +285,22 @@ namespace Mono.Linker.Steps { return null; } - void MarkCustomAttributeFields (CustomAttribute ca, TypeDefinition attribute) + protected void MarkCustomAttributeFields (CustomAttribute ca, TypeDefinition attribute) { if (!ca.HasFields) return; - foreach (var named_argument in ca.Fields) { - FieldDefinition field = GetField (attribute, named_argument.Name); - if (field != null) - MarkField (field); + foreach (var named_argument in ca.Fields) + MarkCustomAttributeField (named_argument, attribute); + } - MarkIfType (named_argument.Argument); - } + protected void MarkCustomAttributeField (CustomAttributeNamedArgument namedArgument, TypeDefinition attribute) + { + FieldDefinition field = GetField (attribute, namedArgument.Name); + if (field != null) + MarkField (field); + + MarkIfType (namedArgument.Argument); } FieldDefinition GetField (TypeDefinition type, string fieldname) @@ -306,7 +364,7 @@ namespace Mono.Linker.Steps { return false; } - void MarkAssembly (AssemblyDefinition assembly) + protected void MarkAssembly (AssemblyDefinition assembly) { if (CheckProcessed (assembly)) return; @@ -314,6 +372,7 @@ namespace Mono.Linker.Steps { ProcessModule (assembly); MarkCustomAttributes (assembly); + MarkSecurityDeclarations (assembly); foreach (ModuleDefinition module in assembly.Modules) MarkCustomAttributes (module); @@ -412,6 +471,7 @@ namespace Mono.Linker.Steps { MarkType (type.BaseType); MarkType (type.DeclaringType); MarkCustomAttributes (type); + MarkSecurityDeclarations (type); if (IsMulticastDelegate (type)) { MarkMethodCollection (type.Methods); @@ -845,6 +905,7 @@ namespace Mono.Linker.Steps { MarkType (method.DeclaringType); MarkCustomAttributes (method); + MarkSecurityDeclarations (method); MarkGenericParameterProvider (method); diff --git a/missing b/missing index db98974ff5..cdea514931 100755 --- a/missing +++ b/missing @@ -1,7 +1,7 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2012-06-26.16; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. @@ -160,7 +160,7 @@ give_advice () ;; autom4te*) echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." + echo "the 'automa4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) diff --git a/mono/Makefile.in b/mono/Makefile.in index d58ef355c7..d5f9a14421 100644 --- a/mono/Makefile.in +++ b/mono/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -207,7 +207,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -219,6 +218,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/Makefile.in b/mono/arch/Makefile.in index 7f434fa3c2..f685a3414a 100644 --- a/mono/arch/Makefile.in +++ b/mono/arch/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -207,7 +207,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -219,6 +218,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/amd64/Makefile.in b/mono/arch/amd64/Makefile.in index 0975c87b19..f648ad6b94 100644 --- a/mono/arch/amd64/Makefile.in +++ b/mono/arch/amd64/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/arm/Makefile.in b/mono/arch/arm/Makefile.in index 49ca9a438a..73ce8af217 100644 --- a/mono/arch/arm/Makefile.in +++ b/mono/arch/arm/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -195,7 +195,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -207,6 +206,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/arm64/Makefile.in b/mono/arch/arm64/Makefile.in index c0fd6a10f5..c41cb18630 100644 --- a/mono/arch/arm64/Makefile.in +++ b/mono/arch/arm64/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/ia64/Makefile.in b/mono/arch/ia64/Makefile.in index 2685fc0405..7d7065aeed 100644 --- a/mono/arch/ia64/Makefile.in +++ b/mono/arch/ia64/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/mips/Makefile.in b/mono/arch/mips/Makefile.in index ff5fcfcf74..0e8e9fee38 100644 --- a/mono/arch/mips/Makefile.in +++ b/mono/arch/mips/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -199,7 +199,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -211,6 +210,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/ppc/Makefile.in b/mono/arch/ppc/Makefile.in index 5d069597e2..566cdce0b2 100644 --- a/mono/arch/ppc/Makefile.in +++ b/mono/arch/ppc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/s390x/Makefile.in b/mono/arch/s390x/Makefile.in index cf7c8f3594..322cf372e7 100644 --- a/mono/arch/s390x/Makefile.in +++ b/mono/arch/s390x/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -193,7 +193,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -205,6 +204,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/sparc/Makefile.in b/mono/arch/sparc/Makefile.in index 0b0821de0a..4dfd8e6271 100644 --- a/mono/arch/sparc/Makefile.in +++ b/mono/arch/sparc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/arch/x86/Makefile.in b/mono/arch/x86/Makefile.in index c0a518059e..a6ef7e3d13 100644 --- a/mono/arch/x86/Makefile.in +++ b/mono/arch/x86/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/benchmark/Makefile.in b/mono/benchmark/Makefile.in index 9ef4c9cd8b..e0b913e07f 100644 --- a/mono/benchmark/Makefile.in +++ b/mono/benchmark/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/cil/Makefile.in b/mono/cil/Makefile.in index 0be990f086..f1d23d4814 100644 --- a/mono/cil/Makefile.in +++ b/mono/cil/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -178,7 +178,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -190,6 +189,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/dis/Makefile.in b/mono/dis/Makefile.in index 7e89d9b09e..6ba8443bd0 100644 --- a/mono/dis/Makefile.in +++ b/mono/dis/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -250,7 +250,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -262,6 +261,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/io-layer/Makefile.in b/mono/io-layer/Makefile.in index 6de062373c..ab40ac5b28 100644 --- a/mono/io-layer/Makefile.in +++ b/mono/io-layer/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -217,7 +217,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -229,6 +228,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/io-layer/processes.c b/mono/io-layer/processes.c index faf19bd51b..439e4e5f32 100644 --- a/mono/io-layer/processes.c +++ b/mono/io-layer/processes.c @@ -838,7 +838,6 @@ gboolean CreateProcess (const gunichar2 *appname, const gunichar2 *cmdline, } else { if (!is_executable (prog)) { DEBUG ("%s: Executable permisson not set on %s", __func__, prog); - g_free (prog); SetLastError (ERROR_ACCESS_DENIED); goto free_strings; } diff --git a/mono/metadata/Makefile.in.REMOVED.git-id b/mono/metadata/Makefile.in.REMOVED.git-id index 978ddb2adc..85fef0f01b 100644 --- a/mono/metadata/Makefile.in.REMOVED.git-id +++ b/mono/metadata/Makefile.in.REMOVED.git-id @@ -1 +1 @@ -ece7d6c2bdd9623ba1a2811c76963360de2ab813 \ No newline at end of file +cbffc99cbb131e604ace0fc203ffb60dca6685bc \ No newline at end of file diff --git a/mono/metadata/sgen-os-mach.c b/mono/metadata/sgen-os-mach.c index fdbdb4b6f0..379787468a 100644 --- a/mono/metadata/sgen-os-mach.c +++ b/mono/metadata/sgen-os-mach.c @@ -75,7 +75,7 @@ sgen_suspend_thread (SgenThreadInfo *info) info->stack_start = NULL; stack_start = (char*) mono_mach_arch_get_sp (state) - REDZONE_SIZE; /* If stack_start is not within the limits, then don't set it in info and we will be restarted. */ - if (stack_start >= info->stack_start_limit && info->stack_start <= info->stack_end) { + if (stack_start >= info->stack_start_limit && stack_start <= info->stack_end) { info->stack_start = stack_start; #ifdef USE_MONO_CTX diff --git a/mono/metadata/sgen-os-posix.c b/mono/metadata/sgen-os-posix.c index 8f4ee524f0..5c3df29cb8 100644 --- a/mono/metadata/sgen-os-posix.c +++ b/mono/metadata/sgen-os-posix.c @@ -82,7 +82,7 @@ suspend_thread (SgenThreadInfo *info, void *context) /* If stack_start is not within the limits, then don't set it in info and we will be restarted. */ - if (stack_start >= info->stack_start_limit && info->stack_start <= info->stack_end) { + if (stack_start >= info->stack_start_limit && stack_start <= info->stack_end) { info->stack_start = stack_start; #ifdef USE_MONO_CTX diff --git a/mono/mini/Makefile.in.REMOVED.git-id b/mono/mini/Makefile.in.REMOVED.git-id index 599d997e1e..e73e749a5a 100644 --- a/mono/mini/Makefile.in.REMOVED.git-id +++ b/mono/mini/Makefile.in.REMOVED.git-id @@ -1 +1 @@ -99ad48d75ccba736ee9895ac7ca56e3afc285848 \ No newline at end of file +8046fb5169b2fc7fb8a247a8ea7b9577f1666b9f \ No newline at end of file diff --git a/mono/mini/aot-compiler.c.REMOVED.git-id b/mono/mini/aot-compiler.c.REMOVED.git-id index 563c6f6cb2..00912746cb 100644 --- a/mono/mini/aot-compiler.c.REMOVED.git-id +++ b/mono/mini/aot-compiler.c.REMOVED.git-id @@ -1 +1 @@ -5185f3dba398f2b384f5c5e8c92f45a560bf004a \ No newline at end of file +eff409c294acd4fb9800517fd4fedf8558e63ee9 \ No newline at end of file diff --git a/mono/mini/debugger-agent.c.REMOVED.git-id b/mono/mini/debugger-agent.c.REMOVED.git-id index 07e6fe4c70..c9ec96f7ee 100644 --- a/mono/mini/debugger-agent.c.REMOVED.git-id +++ b/mono/mini/debugger-agent.c.REMOVED.git-id @@ -1 +1 @@ -9573009003c968b099587a29db7b750b55ca7497 \ No newline at end of file +bfa2ae3f3f156b1f9e51d36b55e79d9ba3cb570e \ No newline at end of file diff --git a/mono/mini/jit.h b/mono/mini/jit.h index 5200da4dd9..e9315ba257 100644 --- a/mono/mini/jit.h +++ b/mono/mini/jit.h @@ -60,6 +60,14 @@ mono_jit_parse_options (int argc, char * argv[]); MONO_API char* mono_get_runtime_build_info (void); +/* The following APIs are not stable. Avoid if possible. */ + +MONO_API MonoJitInfo * +mono_get_jit_info_from_method (MonoDomain *domain, MonoMethod *method); + +MONO_API void * +mono_aot_get_method (MonoDomain *domain, MonoMethod *method); + MONO_END_DECLS #endif diff --git a/mono/mini/liveness.c b/mono/mini/liveness.c index 85b6ba0400..a3bd43d3a4 100644 --- a/mono/mini/liveness.c +++ b/mono/mini/liveness.c @@ -812,7 +812,7 @@ update_liveness2 (MonoCompile *cfg, MonoInst *ins, gboolean set_volatile, int in } else { /* Try dead code elimination */ - if ((var != cfg->ret) && !(var->flags & (MONO_INST_VOLATILE|MONO_INST_INDIRECT)) && ((ins->opcode == OP_ICONST) || (ins->opcode == OP_I8CONST) || (ins->opcode == OP_R8CONST)) && !(var->flags & MONO_INST_VOLATILE)) { + if (!cfg->disable_deadce_vars && (var != cfg->ret) && !(var->flags & (MONO_INST_VOLATILE|MONO_INST_INDIRECT)) && ((ins->opcode == OP_ICONST) || (ins->opcode == OP_I8CONST) || (ins->opcode == OP_R8CONST)) && !(var->flags & MONO_INST_VOLATILE)) { LIVENESS_DEBUG (printf ("\tdead def of R%d, eliminated\n", ins->dreg)); NULLIFY_INS (ins); return; diff --git a/mono/mini/method-to-ir.c.REMOVED.git-id b/mono/mini/method-to-ir.c.REMOVED.git-id index 3d564b3e7d..f4e11cdff0 100644 --- a/mono/mini/method-to-ir.c.REMOVED.git-id +++ b/mono/mini/method-to-ir.c.REMOVED.git-id @@ -1 +1 @@ -a7f2ce4f4d148b8dcdc5ffa7406e5313e89c5126 \ No newline at end of file +3faf2ddc00956a4a3dc0543668a5db7fef48b75e \ No newline at end of file diff --git a/mono/mini/mini.c.REMOVED.git-id b/mono/mini/mini.c.REMOVED.git-id index 4e39cf7a22..cb4dc05f1b 100644 --- a/mono/mini/mini.c.REMOVED.git-id +++ b/mono/mini/mini.c.REMOVED.git-id @@ -1 +1 @@ -5c0889177e5fe40eb0d73ec84584cd95c2be9d0c \ No newline at end of file +9c391bd627650570aa4f69767e44703f6d8e5f7e \ No newline at end of file diff --git a/mono/mini/mini.h.REMOVED.git-id b/mono/mini/mini.h.REMOVED.git-id index ed07f5d748..b2101417a2 100644 --- a/mono/mini/mini.h.REMOVED.git-id +++ b/mono/mini/mini.h.REMOVED.git-id @@ -1 +1 @@ -be3e020b5adc897ff8d817f1575bb7a2564859e0 \ No newline at end of file +e063815a4966c455f59c2ca69e06980b06ed3a41 \ No newline at end of file diff --git a/mono/mini/tramp-amd64.c b/mono/mini/tramp-amd64.c index d9c2ee07ed..4fe39d2095 100755 --- a/mono/mini/tramp-amd64.c +++ b/mono/mini/tramp-amd64.c @@ -995,7 +995,7 @@ mono_arch_create_monitor_enter_trampoline (MonoTrampInfo **info, gboolean is_v4, status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset); nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset); - tramp_size = 96; + tramp_size = 128; code = buf = mono_global_codeman_reserve (tramp_size); diff --git a/mono/mini/unwind.c b/mono/mini/unwind.c index d671093978..584fb81508 100644 --- a/mono/mini/unwind.c +++ b/mono/mini/unwind.c @@ -68,16 +68,11 @@ static int map_hw_reg_to_dwarf_reg [] = { 72, 73, 74, 75, 76, 77, 78, 79, }; #elif defined (TARGET_X86) -#ifdef __APPLE__ /* - * LLVM seems to generate unwind info where esp is encoded as 5, and ebp as 4, ie see this line: - * def ESP : RegisterWithSubRegs<"esp", [SP]>, DwarfRegNum<[-2, 5, 4]>; - * in lib/Target/X86/X86RegisterInfo.td in the llvm sources. + * ebp and esp are swapped: + * http://lists.cs.uiuc.edu/pipermail/lldb-dev/2014-January/003101.html */ static int map_hw_reg_to_dwarf_reg [] = { 0, 1, 2, 3, 5, 4, 6, 7, 8 }; -#else -static int map_hw_reg_to_dwarf_reg [] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; -#endif /* + 1 is for IP */ #define NUM_REGS X86_NREG + 1 #define DWARF_DATA_ALIGN (-4) diff --git a/mono/mini/version.h b/mono/mini/version.h index c456f776d2..efe464022e 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "mono-4.0.0-branch/7975f50" +#define FULL_VERSION "(detached/f802480" diff --git a/mono/profiler/Makefile.in b/mono/profiler/Makefile.in index d3ebc2872b..f9c1c23198 100644 --- a/mono/profiler/Makefile.in +++ b/mono/profiler/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -290,7 +290,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -302,6 +301,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/profiler/proflog.c b/mono/profiler/proflog.c index f9bd6cee0e..8a3f075bd8 100644 --- a/mono/profiler/proflog.c +++ b/mono/profiler/proflog.c @@ -9,15 +9,19 @@ */ #include +#include "../mini/jit.h" #include #include #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -74,7 +78,7 @@ #include #include "perf_event.h" -#ifndef DISABLE_PERF_EVENTS +#ifdef ENABLE_PERF_EVENTS #define USE_PERF_EVENTS 1 static int read_perf_mmap (MonoProfiler* prof, int cpu); @@ -401,28 +405,49 @@ struct _MonoProfiler { int pipes [2]; #ifndef HOST_WIN32 pthread_t helper_thread; + pthread_t writer_thread; #endif + volatile gint32 run_writer_thread; + MonoLockFreeQueue writer_queue; + MonoConcurrentHashTable *method_table; + mono_mutex_t method_table_mutex; BinaryObject *binary_objects; }; +typedef struct _WriterQueueEntry WriterQueueEntry; +struct _WriterQueueEntry { + MonoLockFreeQueueNode node; + GPtrArray *methods; + LogBuffer *buffer; +}; + +typedef struct _MethodInfo MethodInfo; +struct _MethodInfo { + MonoMethod *method; + MonoJitInfo *ji; +}; + #ifdef HOST_WIN32 -#define TLS_SET(x,y) TlsSetValue(x, y) -#define TLS_GET(x) ((LogBuffer *) TlsGetValue(x)) -#define TLS_INIT(x) x = TlsAlloc () +#define TLS_SET(x,y) (TlsSetValue (x, y)) +#define TLS_GET(t,x) ((t *) TlsGetValue (x)) +#define TLS_INIT(x) (x = TlsAlloc ()) static int tlsbuffer; +static int tlsmethodlist; #elif HAVE_KW_THREAD -#define TLS_SET(x,y) x = y -#define TLS_GET(x) x +#define TLS_SET(x,y) (x = y) +#define TLS_GET(t,x) (x) #define TLS_INIT(x) static __thread LogBuffer* tlsbuffer = NULL; +static __thread GPtrArray* tlsmethodlist = NULL; #else -#define TLS_SET(x,y) pthread_setspecific(x, y) -#define TLS_GET(x) ((LogBuffer *) pthread_getspecific(x)) -#define TLS_INIT(x) pthread_key_create(&x, NULL) +#define TLS_SET(x,y) (pthread_setspecific (x, y)) +#define TLS_GET(t,x) ((t *) pthread_getspecific (x)) +#define TLS_INIT(x) (pthread_key_create (&x, NULL)) static pthread_key_t tlsbuffer; +static pthread_key_t tlsmethodlist; #endif -static void safe_dump (MonoProfiler *profiler, LogBuffer *logbuffer); +static void safe_send (MonoProfiler *profiler, LogBuffer *logbuffer); static char* pstrdup (const char *s) @@ -458,28 +483,48 @@ create_buffer (void) static void init_thread (void) { - LogBuffer *logbuffer; - if (TLS_GET (tlsbuffer)) - return; - logbuffer = create_buffer (); - TLS_SET (tlsbuffer, logbuffer); - logbuffer->thread_id = thread_id (); + if (!TLS_GET (LogBuffer, tlsbuffer)) { + LogBuffer *logbuffer = create_buffer (); + TLS_SET (tlsbuffer, logbuffer); + logbuffer->thread_id = thread_id (); + } + if (!TLS_GET (GPtrArray, tlsmethodlist)) { + GPtrArray *methodlist = g_ptr_array_new (); + TLS_SET (tlsmethodlist, methodlist); + } + //printf ("thread %p at time %llu\n", (void*)logbuffer->thread_id, logbuffer->time_base); } +static LogBuffer * +ensure_logbuf_inner (LogBuffer *old, int bytes) +{ + if (old && old->data + bytes + 100 < old->data_end) + return old; + + LogBuffer *new = create_buffer (); + new->thread_id = thread_id (); + new->next = old; + + if (old) + new->call_depth = old->call_depth; + + return new; +} + static LogBuffer* ensure_logbuf (int bytes) { - LogBuffer *old = TLS_GET (tlsbuffer); - if (old && old->data + bytes + 100 < old->data_end) - return old; - TLS_SET (tlsbuffer, NULL); + LogBuffer *old = TLS_GET (LogBuffer, tlsbuffer); + LogBuffer *new = ensure_logbuf_inner (old, bytes); + + if (new == old) + return old; // Still enough space. + + TLS_SET (tlsbuffer, new); init_thread (); - TLS_GET (tlsbuffer)->next = old; - if (old) - TLS_GET (tlsbuffer)->call_depth = old->call_depth; - //printf ("new logbuffer\n"); - return TLS_GET (tlsbuffer); + + return new; } static void @@ -538,7 +583,7 @@ emit_ptr (LogBuffer *logbuffer, void *ptr) } static void -emit_method (LogBuffer *logbuffer, void *method) +emit_method_inner (LogBuffer *logbuffer, void *method) { if (!logbuffer->method_base) { logbuffer->method_base = (intptr_t)method; @@ -549,6 +594,67 @@ emit_method (LogBuffer *logbuffer, void *method) assert (logbuffer->data <= logbuffer->data_end); } +typedef struct { + MonoMethod *method; + MonoJitInfo *found; +} MethodSearch; + +static void +find_method (MonoDomain *domain, void *user_data) +{ + MethodSearch *search = user_data; + + if (search->found) + return; + + MonoJitInfo *ji = mono_get_jit_info_from_method (domain, search->method); + + // It could be AOT'd, so we need to get it from the AOT runtime's cache. + if (!ji) { + void *ip = mono_aot_get_method (domain, search->method); + + // Avoid a slow path in mono_jit_info_table_find (). + if (ip) + ji = mono_jit_info_table_find (domain, ip); + } + + if (ji) + search->found = ji; +} + +static void +register_method_local (MonoProfiler *prof, MonoDomain *domain, MonoMethod *method, MonoJitInfo *ji) +{ + if (!domain) + g_assert (ji); + + if (!mono_conc_hashtable_lookup (prof->method_table, method)) { + if (!ji) { + MethodSearch search = { method, NULL }; + + mono_domain_foreach (find_method, &search); + + ji = search.found; + } + + g_assert (ji); + + MethodInfo *info = malloc (sizeof (MethodInfo)); + + info->method = method; + info->ji = ji; + + g_ptr_array_add (TLS_GET (GPtrArray, tlsmethodlist), info); + } +} + +static void +emit_method (MonoProfiler *prof, LogBuffer *logbuffer, MonoDomain *domain, MonoMethod *method) +{ + register_method_local (prof, domain, method, NULL); + emit_method_inner (logbuffer, method); +} + static void emit_obj (LogBuffer *logbuffer, void *ptr) { @@ -647,6 +753,16 @@ dump_header (MonoProfiler *profiler) #endif } +static void +send_buffer (MonoProfiler *prof, GPtrArray *methods, LogBuffer *buffer) +{ + WriterQueueEntry *entry = calloc (1, sizeof (WriterQueueEntry)); + mono_lock_free_queue_node_init (&entry->node, FALSE); + entry->methods = methods; + entry->buffer = buffer; + mono_lock_free_queue_enqueue (&prof->writer_queue, &entry->node); +} + static void dump_buffer (MonoProfiler *profiler, LogBuffer *buf) { @@ -695,22 +811,25 @@ runtime_initialized (MonoProfiler *profiler) counters_sample (profiler, 0); #endif /* ensure the main thread data and startup are available soon */ - safe_dump (profiler, ensure_logbuf (0)); + safe_send (profiler, ensure_logbuf (0)); } /* * Can be called only at safe callback locations. */ static void -safe_dump (MonoProfiler *profiler, LogBuffer *logbuffer) +safe_send (MonoProfiler *profiler, LogBuffer *logbuffer) { int cd = logbuffer->call_depth; - take_lock (); - dump_buffer (profiler, TLS_GET (tlsbuffer)); - release_lock (); + + send_buffer (profiler, TLS_GET (GPtrArray, tlsmethodlist), TLS_GET (LogBuffer, tlsbuffer)); + TLS_SET (tlsbuffer, NULL); + TLS_SET (tlsmethodlist, NULL); + init_thread (); - TLS_GET (tlsbuffer)->call_depth = cd; + + TLS_GET (LogBuffer, tlsbuffer)->call_depth = cd; } static int @@ -796,7 +915,7 @@ gc_event (MonoProfiler *profiler, MonoGCEvent ev, int generation) { heap_walk (profiler); EXIT_LOG (logbuffer); if (ev == MONO_GC_EVENT_POST_START_WORLD) - safe_dump (profiler, logbuffer); + safe_send (profiler, logbuffer); //printf ("gc event %d for generation %d\n", ev, generation); } @@ -890,7 +1009,7 @@ gc_alloc (MonoProfiler *prof, MonoObject *obj, MonoClass *klass) emit_bt (logbuffer, &data); EXIT_LOG (logbuffer); if (logbuffer->next) - safe_dump (prof, logbuffer); + safe_send (prof, logbuffer); process_requests (prof); //printf ("gc alloc %s at %p\n", mono_class_get_name (klass), obj); } @@ -1011,7 +1130,7 @@ image_loaded (MonoProfiler *prof, MonoImage *image, int result) //printf ("loaded image %p (%s)\n", image, name); EXIT_LOG (logbuffer); if (logbuffer->next) - safe_dump (prof, logbuffer); + safe_send (prof, logbuffer); process_requests (prof); } @@ -1049,7 +1168,7 @@ class_loaded (MonoProfiler *prof, MonoClass *klass, int result) free (name); EXIT_LOG (logbuffer); if (logbuffer->next) - safe_dump (prof, logbuffer); + safe_send (prof, logbuffer); process_requests (prof); } @@ -1064,7 +1183,7 @@ method_enter (MonoProfiler *prof, MonoMethod *method) ENTER_LOG (logbuffer, "enter"); emit_byte (logbuffer, TYPE_ENTER | TYPE_METHOD); emit_time (logbuffer, now); - emit_method (logbuffer, method); + emit_method (prof, logbuffer, mono_domain_get (), method); EXIT_LOG (logbuffer); process_requests (prof); } @@ -1080,10 +1199,10 @@ method_leave (MonoProfiler *prof, MonoMethod *method) ENTER_LOG (logbuffer, "leave"); emit_byte (logbuffer, TYPE_LEAVE | TYPE_METHOD); emit_time (logbuffer, now); - emit_method (logbuffer, method); + emit_method (prof, logbuffer, mono_domain_get (), method); EXIT_LOG (logbuffer); if (logbuffer->next) - safe_dump (prof, logbuffer); + safe_send (prof, logbuffer); process_requests (prof); } @@ -1101,37 +1220,18 @@ method_exc_leave (MonoProfiler *prof, MonoMethod *method) ENTER_LOG (logbuffer, "eleave"); emit_byte (logbuffer, TYPE_EXC_LEAVE | TYPE_METHOD); emit_time (logbuffer, now); - emit_method (logbuffer, method); + emit_method (prof, logbuffer, mono_domain_get (), method); EXIT_LOG (logbuffer); process_requests (prof); } static void -method_jitted (MonoProfiler *prof, MonoMethod *method, MonoJitInfo* jinfo, int result) +method_jitted (MonoProfiler *prof, MonoMethod *method, MonoJitInfo *ji, int result) { - uint64_t now; - char *name; - int nlen; - LogBuffer *logbuffer; if (result != MONO_PROFILE_OK) return; - name = mono_method_full_name (method, 1); - nlen = strlen (name) + 1; - logbuffer = ensure_logbuf (32 + nlen); - now = current_time (); - ENTER_LOG (logbuffer, "jit"); - emit_byte (logbuffer, TYPE_JIT | TYPE_METHOD); - emit_time (logbuffer, now); - emit_method (logbuffer, method); - emit_ptr (logbuffer, mono_jit_info_get_code_start (jinfo)); - emit_value (logbuffer, mono_jit_info_get_code_size (jinfo)); - memcpy (logbuffer->data, name, nlen); - logbuffer->data += nlen; - mono_free (name); - EXIT_LOG (logbuffer); - if (logbuffer->next) - safe_dump (prof, logbuffer); - process_requests (prof); + + register_method_local (prof, NULL, method, ji); } static void @@ -1196,7 +1296,7 @@ clause_exc (MonoProfiler *prof, MonoMethod *method, int clause_type, int clause_ emit_time (logbuffer, now); emit_value (logbuffer, clause_type); emit_value (logbuffer, clause_num); - emit_method (logbuffer, method); + emit_method (prof, logbuffer, mono_domain_get (), method); EXIT_LOG (logbuffer); } @@ -1231,11 +1331,11 @@ thread_start (MonoProfiler *prof, uintptr_t tid) static void thread_end (MonoProfiler *prof, uintptr_t tid) { - take_lock (); - if (TLS_GET (tlsbuffer)) - dump_buffer (prof, TLS_GET (tlsbuffer)); - release_lock (); + if (TLS_GET (LogBuffer, tlsbuffer)) + send_buffer (prof, TLS_GET (GPtrArray, tlsmethodlist), TLS_GET (LogBuffer, tlsbuffer)); + TLS_SET (tlsbuffer, NULL); + TLS_SET (tlsmethodlist, NULL); } static void @@ -1681,36 +1781,14 @@ dump_unmanaged_coderefs (MonoProfiler *prof) } static void -dump_sample_hits_inner (MonoProfiler *prof, StatBuffer *sbuf, int recurse, GPtrArray **array); - -static void -dump_sample_hits (MonoProfiler *prof, StatBuffer *sbuf, int recurse) -{ - GPtrArray *array = NULL; - dump_sample_hits_inner (prof, sbuf, recurse, &array); - - if (array) { - int i; - g_ptr_array_sort (array, g_direct_equal); - for (i = 0; i < array->len; ++i) { - MonoJitInfo *cur = array->pdata [i]; - //Ignore duplicates - if (i > 0 && array->pdata [i - 1] == cur) - continue; - method_jitted (prof, mono_jit_info_get_method (cur), cur, MONO_PROFILE_OK); - } - } -} - -static void -dump_sample_hits_inner (MonoProfiler *prof, StatBuffer *sbuf, int recurse, GPtrArray **array) +dump_sample_hits (MonoProfiler *prof, StatBuffer *sbuf) { uintptr_t *sample; LogBuffer *logbuffer; if (!sbuf) return; - if (recurse && sbuf->next) { - dump_sample_hits_inner (prof, sbuf->next, 1, array); + if (sbuf->next) { + dump_sample_hits (prof, sbuf->next); free_buffer (sbuf->next, sbuf->next->size); sbuf->next = NULL; } @@ -1731,12 +1809,9 @@ dump_sample_hits_inner (MonoProfiler *prof, StatBuffer *sbuf, int recurse, GPtrA if (!method) { MonoJitInfo *ji = mono_jit_info_table_find (domain, address); - if (ji) { + + if (ji) managed_sample_base [i * 4 + 0] = (uintptr_t)mono_jit_info_get_method (ji); - if (!*array) - *array = g_ptr_array_new (); - g_ptr_array_add (*array, ji); - } } } logbuffer = ensure_logbuf (20 + count * 8); @@ -1753,9 +1828,13 @@ dump_sample_hits_inner (MonoProfiler *prof, StatBuffer *sbuf, int recurse, GPtrA /* new in data version 6 */ emit_uvalue (logbuffer, mbt_count); for (i = 0; i < mbt_count; ++i) { - emit_method (logbuffer, (void*)sample [i * 4]); /* method */ + MonoMethod *method = (MonoMethod *) sample [i * 4 + 0]; + MonoDomain *domain = (MonoDomain *) sample [i * 4 + 1]; + uintptr_t native_offset = sample [i * 4 + 3]; + + emit_method (prof, logbuffer, domain, method); emit_svalue (logbuffer, 0); /* il offset will always be 0 from now on */ - emit_svalue (logbuffer, sample [i * 4 + 3]); /* native offset */ + emit_svalue (logbuffer, native_offset); } sample += 4 * mbt_count; } @@ -2135,7 +2214,7 @@ counters_emit (MonoProfiler *profiler) } EXIT_LOG (logbuffer); - safe_dump (profiler, ensure_logbuf (0)); + safe_send (profiler, ensure_logbuf (0)); mono_mutex_unlock (&counters_mutex); } @@ -2253,7 +2332,7 @@ counters_sample (MonoProfiler *profiler, uint64_t timestamp) emit_value (logbuffer, 0); EXIT_LOG (logbuffer); - safe_dump (profiler, ensure_logbuf (0)); + safe_send (profiler, ensure_logbuf (0)); mono_mutex_unlock (&counters_mutex); } @@ -2312,7 +2391,7 @@ perfcounters_emit (MonoProfiler *profiler) } EXIT_LOG (logbuffer); - safe_dump (profiler, ensure_logbuf (0)); + safe_send (profiler, ensure_logbuf (0)); } static gboolean @@ -2394,7 +2473,7 @@ perfcounters_sample (MonoProfiler *profiler, uint64_t timestamp) emit_value (logbuffer, 0); EXIT_LOG (logbuffer); - safe_dump (profiler, ensure_logbuf (0)); + safe_send (profiler, ensure_logbuf (0)); mono_mutex_unlock (&counters_mutex); } @@ -2418,13 +2497,14 @@ counters_and_perfcounters_sample (MonoProfiler *prof) static void log_shutdown (MonoProfiler *prof) { + void *res; + in_shutdown = 1; #ifndef DISABLE_HELPER_THREAD counters_and_perfcounters_sample (prof); if (prof->command_port) { char c = 1; - void *res; ign_res (write (prof->pipes [1], &c, 1)); pthread_join (prof->helper_thread, &res); } @@ -2436,12 +2516,17 @@ log_shutdown (MonoProfiler *prof) read_perf_mmap (prof, i); } #endif - dump_sample_hits (prof, prof->stat_buffers, 1); - take_lock (); - if (TLS_GET (tlsbuffer)) - dump_buffer (prof, TLS_GET (tlsbuffer)); + dump_sample_hits (prof, prof->stat_buffers); + + if (TLS_GET (LogBuffer, tlsbuffer)) + send_buffer (prof, TLS_GET (GPtrArray, tlsmethodlist), TLS_GET (LogBuffer, tlsbuffer)); + TLS_SET (tlsbuffer, NULL); - release_lock (); + TLS_SET (tlsmethodlist, NULL); + + InterlockedWrite (&prof->run_writer_thread, 0); + pthread_join (prof->writer_thread, &res); + #if defined (HAVE_SYS_ZLIB) if (prof->gzfile) gzclose (prof->gzfile); @@ -2450,6 +2535,10 @@ log_shutdown (MonoProfiler *prof) pclose (prof->file); else fclose (prof->file); + + mono_conc_hashtable_destroy (prof->method_table); + mono_mutex_destroy (&prof->method_table_mutex); + free (prof); } @@ -2584,9 +2673,9 @@ helper_thread (void* arg) if (do_debug) fprintf (stderr, "stat buffer dump\n"); if (sbuf) { - dump_sample_hits (prof, sbuf, 1); + dump_sample_hits (prof, sbuf); free_buffer (sbuf, sbuf->size); - safe_dump (prof, ensure_logbuf (0)); + safe_send (prof, ensure_logbuf (0)); } continue; } @@ -2606,7 +2695,7 @@ helper_thread (void* arg) } } #endif - safe_dump (prof, ensure_logbuf (0)); + safe_send (prof, ensure_logbuf (0)); return NULL; } #if USE_PERF_EVENTS @@ -2617,7 +2706,7 @@ helper_thread (void* arg) continue; if (FD_ISSET (perf_data [i].perf_fd, &rfds)) { read_perf_mmap (prof, i); - safe_dump (prof, ensure_logbuf (0)); + safe_send (prof, ensure_logbuf (0)); } } } @@ -2702,6 +2791,93 @@ start_helper_thread (MonoProfiler* prof) } #endif +static void * +writer_thread (void *arg) +{ + MonoProfiler *prof = arg; + + mono_threads_attach_tools_thread (); + + dump_header (prof); + + while (InterlockedRead (&prof->run_writer_thread)) { + WriterQueueEntry *entry; + + while ((entry = (WriterQueueEntry *) mono_lock_free_queue_dequeue (&prof->writer_queue))) { + LogBuffer *method_buffer = NULL; + gboolean new_methods = FALSE; + + if (entry->methods->len) + method_buffer = create_buffer (); + + /* + * Encode the method events in a temporary log buffer that we + * flush to disk before the main buffer, ensuring that all + * methods have metadata emitted before they're referenced. + */ + for (guint i = 0; i < entry->methods->len; i++) { + MethodInfo *info = g_ptr_array_index (entry->methods, i); + + if (mono_conc_hashtable_lookup (prof->method_table, info->method)) + continue; + + new_methods = TRUE; + + /* + * Other threads use this hash table to get a general + * idea of whether a method has already been emitted to + * the stream. Due to the way we add to this table, it + * can easily happen that multiple threads queue up the + * same methods, but that's OK since eventually all + * methods will be in this table and the thread-local + * method lists will just be empty for the rest of the + * app's lifetime. + */ + mono_conc_hashtable_insert (prof->method_table, info->method, info->method); + + char *name = mono_method_full_name (info->method, 1); + int nlen = strlen (name) + 1; + uint64_t now = current_time (); + + method_buffer = ensure_logbuf_inner (method_buffer, 32 + nlen); + + emit_byte (method_buffer, TYPE_JIT | TYPE_METHOD); + emit_time (method_buffer, now); + emit_method_inner (method_buffer, info->method); + emit_ptr (method_buffer, mono_jit_info_get_code_start (info->ji)); + emit_value (method_buffer, mono_jit_info_get_code_size (info->ji)); + + memcpy (method_buffer->data, name, nlen); + method_buffer->data += nlen; + + mono_free (name); + free (info); + } + + g_ptr_array_free (entry->methods, TRUE); + + if (new_methods) + dump_buffer (prof, method_buffer); + else if (method_buffer) + free_buffer (method_buffer, method_buffer->size); + + dump_buffer (prof, entry->buffer); + + free (entry); + } + } + + return NULL; +} + +static int +start_writer_thread (MonoProfiler* prof) +{ + InterlockedWrite (&prof->run_writer_thread, 1); + + return !pthread_create (&prof->writer_thread, NULL, writer_thread, prof); +} + static MonoProfiler* create_profiler (const char *filename) { @@ -2776,8 +2952,14 @@ create_profiler (const char *filename) if (hs_mode_ondemand) fprintf (stderr, "Ondemand heapshot unavailable on this arch.\n"); #endif + + mono_lock_free_queue_init (&prof->writer_queue); + mono_mutex_init (&prof->method_table_mutex); + prof->method_table = mono_conc_hashtable_new (&prof->method_table_mutex, NULL, NULL); + + start_writer_thread (prof); + prof->startup_time = current_time (); - dump_header (prof); return prof; } @@ -3127,5 +3309,6 @@ mono_profiler_startup (const char *desc) mono_profiler_set_events (events); TLS_INIT (tlsbuffer); + TLS_INIT (tlsmethodlist); } diff --git a/mono/tests/Makefile.in b/mono/tests/Makefile.in index b6ae1d5d7e..eb04e9880d 100644 --- a/mono/tests/Makefile.in +++ b/mono/tests/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -256,7 +256,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -268,6 +267,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/assemblyresolve/Makefile.in b/mono/tests/assemblyresolve/Makefile.in index c96909b2c6..164de8b6bc 100644 --- a/mono/tests/assemblyresolve/Makefile.in +++ b/mono/tests/assemblyresolve/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/cas/Makefile.in b/mono/tests/cas/Makefile.in index c30e7ee3d9..8d5e163859 100644 --- a/mono/tests/cas/Makefile.in +++ b/mono/tests/cas/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -208,7 +208,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -220,6 +219,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/cas/assembly/Makefile.in b/mono/tests/cas/assembly/Makefile.in index 49580306fa..3c49631b36 100644 --- a/mono/tests/cas/assembly/Makefile.in +++ b/mono/tests/cas/assembly/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/cas/demand/Makefile.in b/mono/tests/cas/demand/Makefile.in index bc325d4e7b..3202bd3b37 100644 --- a/mono/tests/cas/demand/Makefile.in +++ b/mono/tests/cas/demand/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/cas/inheritance/Makefile.in b/mono/tests/cas/inheritance/Makefile.in index ec0c2bd7fc..53f38c4f98 100644 --- a/mono/tests/cas/inheritance/Makefile.in +++ b/mono/tests/cas/inheritance/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/cas/linkdemand/Makefile.in b/mono/tests/cas/linkdemand/Makefile.in index bd9d418aec..cf3dc6efba 100644 --- a/mono/tests/cas/linkdemand/Makefile.in +++ b/mono/tests/cas/linkdemand/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/cas/threads/Makefile.in b/mono/tests/cas/threads/Makefile.in index f559f550dc..d85fc996b6 100644 --- a/mono/tests/cas/threads/Makefile.in +++ b/mono/tests/cas/threads/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/tests/gc-descriptors/Makefile.in b/mono/tests/gc-descriptors/Makefile.in index 89493331a4..935ddf5553 100644 --- a/mono/tests/gc-descriptors/Makefile.in +++ b/mono/tests/gc-descriptors/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/unit-tests/Makefile.in b/mono/unit-tests/Makefile.in index 15d5ba1950..77b322c87f 100644 --- a/mono/unit-tests/Makefile.in +++ b/mono/unit-tests/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -447,7 +447,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -459,6 +458,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/utils/Makefile.in b/mono/utils/Makefile.in index 9343e34e18..85e5b943fa 100644 --- a/mono/utils/Makefile.in +++ b/mono/utils/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -325,7 +325,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -337,6 +336,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/mono/utils/lock-free-queue.h b/mono/utils/lock-free-queue.h index 32fec4cad3..5c98d7ba4c 100644 --- a/mono/utils/lock-free-queue.h +++ b/mono/utils/lock-free-queue.h @@ -28,6 +28,7 @@ #ifndef __MONO_LOCKFREEQUEUE_H__ #define __MONO_LOCKFREEQUEUE_H__ +#include #include //#define QUEUE_DEBUG 1 @@ -55,13 +56,13 @@ typedef struct { volatile gint32 has_dummy; } MonoLockFreeQueue; -void mono_lock_free_queue_init (MonoLockFreeQueue *q) MONO_INTERNAL; +MONO_API void mono_lock_free_queue_init (MonoLockFreeQueue *q); -void mono_lock_free_queue_node_init (MonoLockFreeQueueNode *node, gboolean to_be_freed) MONO_INTERNAL; -void mono_lock_free_queue_node_free (MonoLockFreeQueueNode *node) MONO_INTERNAL; +MONO_API void mono_lock_free_queue_node_init (MonoLockFreeQueueNode *node, gboolean to_be_freed); +MONO_API void mono_lock_free_queue_node_free (MonoLockFreeQueueNode *node); -void mono_lock_free_queue_enqueue (MonoLockFreeQueue *q, MonoLockFreeQueueNode *node) MONO_INTERNAL; +MONO_API void mono_lock_free_queue_enqueue (MonoLockFreeQueue *q, MonoLockFreeQueueNode *node); -MonoLockFreeQueueNode* mono_lock_free_queue_dequeue (MonoLockFreeQueue *q) MONO_INTERNAL; +MONO_API MonoLockFreeQueueNode* mono_lock_free_queue_dequeue (MonoLockFreeQueue *q); #endif diff --git a/mono/utils/mono-compiler.h b/mono/utils/mono-compiler.h index 51d3a4f4bb..97dd7ef984 100644 --- a/mono/utils/mono-compiler.h +++ b/mono/utils/mono-compiler.h @@ -278,7 +278,7 @@ typedef SSIZE_T ssize_t; #ifdef __GNUC__ #define MONO_COLD __attribute__((cold)) #else -#define MONO_COLD __attribute__((cold)) +#define MONO_COLD #endif #endif /* __UTILS_MONO_COMPILER_H__*/ diff --git a/mono/utils/mono-conc-hashtable.h b/mono/utils/mono-conc-hashtable.h index 65792bc54c..e6094b7e32 100644 --- a/mono/utils/mono-conc-hashtable.h +++ b/mono/utils/mono-conc-hashtable.h @@ -10,18 +10,19 @@ #ifndef __MONO_CONCURRENT_HASHTABLE_H__ #define __MONO_CONCURRENT_HASHTABLE_H__ +#include #include #include #include typedef struct _MonoConcurrentHashTable MonoConcurrentHashTable; -MonoConcurrentHashTable* mono_conc_hashtable_new (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func) MONO_INTERNAL; -MonoConcurrentHashTable* mono_conc_hashtable_new_full (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func) MONO_INTERNAL; -void mono_conc_hashtable_destroy (MonoConcurrentHashTable *hash_table) MONO_INTERNAL; -gpointer mono_conc_hashtable_lookup (MonoConcurrentHashTable *hash_table, gpointer key) MONO_INTERNAL; -gpointer mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, gpointer value) MONO_INTERNAL; -gpointer mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key) MONO_INTERNAL; +MONO_API MonoConcurrentHashTable* mono_conc_hashtable_new (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func); +MONO_API MonoConcurrentHashTable* mono_conc_hashtable_new_full (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func); +MONO_API void mono_conc_hashtable_destroy (MonoConcurrentHashTable *hash_table); +MONO_API gpointer mono_conc_hashtable_lookup (MonoConcurrentHashTable *hash_table, gpointer key); +MONO_API gpointer mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, gpointer value); +MONO_API gpointer mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key); #endif diff --git a/mono/utils/mono-proclib.c b/mono/utils/mono-proclib.c index ee44ad813f..d201954ea3 100644 --- a/mono/utils/mono-proclib.c +++ b/mono/utils/mono-proclib.c @@ -299,16 +299,23 @@ get_process_stat_item (int pid, int pos, int sum, MonoProcessError *error) thread_array_t th_array; size_t i; - if (task_for_pid(mach_task_self(), pid, &task) != KERN_SUCCESS) - RET_ERROR (MONO_PROCESS_ERROR_NOT_FOUND); + if (pid == getpid ()) { + /* task_for_pid () doesn't work on ios, even for the current process */ + task = mach_task_self (); + } else { + if (task_for_pid (mach_task_self (), pid, &task) != KERN_SUCCESS) + RET_ERROR (MONO_PROCESS_ERROR_NOT_FOUND); + } - if (task_info(task, TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count) != KERN_SUCCESS) { - mach_port_deallocate (mach_task_self (), task); + if (task_info (task, TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count) != KERN_SUCCESS) { + if (pid != getpid ()) + mach_port_deallocate (mach_task_self (), task); RET_ERROR (MONO_PROCESS_ERROR_OTHER); } if (task_threads(task, &th_array, &th_count) != KERN_SUCCESS) { - mach_port_deallocate (mach_task_self (), task); + if (pid != getpid ()) + mach_port_deallocate (mach_task_self (), task); RET_ERROR (MONO_PROCESS_ERROR_OTHER); } @@ -331,7 +338,8 @@ get_process_stat_item (int pid, int pos, int sum, MonoProcessError *error) for (i = 0; i < th_count; i++) mach_port_deallocate(task, th_array[i]); - mach_port_deallocate (mach_task_self (), task); + if (pid != getpid ()) + mach_port_deallocate (mach_task_self (), task); process_user_time += t_info.user_time.seconds + t_info.user_time.microseconds / 1e6; process_system_time += t_info.system_time.seconds + t_info.system_time.microseconds / 1e6; diff --git a/msvc/Makefile.in b/msvc/Makefile.in index d19314a2ca..6079997c76 100644 --- a/msvc/Makefile.in +++ b/msvc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/po/Makefile.in b/po/Makefile.in index 5d842b6336..7ed623bcfa 100644 --- a/po/Makefile.in +++ b/po/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -208,7 +208,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -220,6 +219,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index 98663c89517e8c0e78d0d1b1c7fc68578daed9a9..14f70347de34a498de788c769bb59154c7bf40fc 100644 GIT binary patch delta 26 hcmbQIHBW29BQ9Q3T>}dRLrW_I3ta<~&F{JNxd3o32c`f3 delta 26 hcmbQIHBW29BQ9POT_ZCELvt$=3vC0#&F{JNxd3ns2ciG~ diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index 1c496055d1..c648162f8e 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -1177d93cba3ffbf1fa3293bf5d3f7326ef8dc78f \ No newline at end of file +e479a6a67558b379e13d559e8326a8dc0d5f1ab0 \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index d4df693eaf448f9940c2fce493d163a0ddf5da1a..d5d971dd5865dd3b8d90d722c0d8bb6c8a935ab9 100644 GIT binary patch delta 26 hcmX?Ef3kjqwj!^ou7QPup{139g|30gW(&oMasYXb2iyPv delta 26 hcmX?Ef3kjqwj!^Iu92C7p}Ccbg|>m=W(&oMasYX32iO1r diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index 2337f3f73f..77e0dc36b2 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -2a545eef43afb0b31f38d049740abc3d8d71073b \ No newline at end of file +1cd22c01af32cf437b18d500206ab25befc02703 \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index f08543cde051727748171dcc4c86c26d349199b7..a5e186ef80149ee69c3130aaa1343dc7b48887d2 100644 GIT binary patch delta 28 jcmeyri1Gg-#tp3Myr#Ma77B)zRt6Tj1}2+@)N{1}j93Ub delta 28 jcmeyri1Gg-#tp3Mye7IvW(tPpRwfqO28Nr3)N{1}j5Y`~ diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index 3f03c33c8f..700c782233 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -a7ca76240aea3ebb6ea24e02beacd3ae518727af \ No newline at end of file +fca0b5eb04d0c8bf0e3ee8f1d1e21cbecc0e81af \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index 3093a84917..be536dd770 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: mono 4.0.1\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2015-04-26 17:48+0100\n" +"POT-Creation-Date: 2015-05-08 19:08-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo index d1b7f600286f41c41b932d8412d8bcadf50e7bfc..770161aff6960cf98a89837169e31b3e2c340134 100644 GIT binary patch delta 28 kcmdnCmu1^tmJJK1@tW!ySST1;S{YdA8klTeH;tnM0Gs#;@c;k- delta 28 kcmdnCmu1^tmJJK1@tWuwnJE~WTbWpB8yIe0H;tnM0Grkc?EnA( diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index f41dedf1dc..5416431502 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -92245423ae71d2dca945ca1e614c2ee04a053695 \ No newline at end of file +8de1f134737b30725e8d667ea0060017e55e7c15 \ No newline at end of file diff --git a/runtime/Makefile.in b/runtime/Makefile.in index 0bb55d038d..f9706f4901 100644 --- a/runtime/Makefile.in +++ b/runtime/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -156,7 +156,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -168,6 +167,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/samples/Makefile.in b/samples/Makefile.in index 9d2cf5c829..5340347682 100644 --- a/samples/Makefile.in +++ b/samples/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/scripts/Makefile.in b/scripts/Makefile.in index 89c2aa1082..8f704a224a 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -180,7 +180,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -192,6 +191,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/support/Makefile.in b/support/Makefile.in index b19e62b686..adb88255e0 100644 --- a/support/Makefile.in +++ b/support/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -268,7 +268,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -280,6 +279,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/test-driver b/test-driver index d30605660a..32bf39e837 100755 --- a/test-driver +++ b/test-driver @@ -1,7 +1,7 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2013-07-13.22; # UTC +scriptversion=2012-06-27.10; # UTC # Copyright (C) 2011-2013 Free Software Foundation, Inc. # @@ -44,12 +44,13 @@ print_usage () Usage: test-driver --test-name=NAME --log-file=PATH --trs-file=PATH [--expect-failure={yes|no}] [--color-tests={yes|no}] - [--enable-hard-errors={yes|no}] [--] - TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] + [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT The '--test-name', '--log-file' and '--trs-file' options are mandatory. END } +# TODO: better error handling in option parsing (in particular, ensure +# TODO: $log_file, $trs_file and $test_name are defined). test_name= # Used for reporting. log_file= # Where to save the output of the test script. trs_file= # Where to save the metadata of the test run. @@ -68,23 +69,10 @@ while test $# -gt 0; do --enable-hard-errors) enable_hard_errors=$2; shift;; --) shift; break;; -*) usage_error "invalid option: '$1'";; - *) break;; esac shift done -missing_opts= -test x"$test_name" = x && missing_opts="$missing_opts --test-name" -test x"$log_file" = x && missing_opts="$missing_opts --log-file" -test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" -if test x"$missing_opts" != x; then - usage_error "the following mandatory options are missing:$missing_opts" -fi - -if test $# -eq 0; then - usage_error "missing argument" -fi - if test $color_tests = yes; then # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. red='' # Red. diff --git a/tools/Makefile.in b/tools/Makefile.in index 40497db4d7..e236c63978 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -208,7 +208,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -220,6 +219,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/tools/locale-builder/Makefile.in b/tools/locale-builder/Makefile.in index 52b99e6a31..3a5714d369 100644 --- a/tools/locale-builder/Makefile.in +++ b/tools/locale-builder/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -148,7 +148,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -160,6 +159,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/tools/monograph/Makefile.in b/tools/monograph/Makefile.in index 22ee75d17d..c0e8c2d1bd 100644 --- a/tools/monograph/Makefile.in +++ b/tools/monograph/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -211,7 +211,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -223,6 +222,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@ diff --git a/tools/sgen/Makefile.in b/tools/sgen/Makefile.in index 68bf2539e9..9d362f216d 100644 --- a/tools/sgen/Makefile.in +++ b/tools/sgen/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -197,7 +197,6 @@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISABLE_PERF_EVENTS = @DISABLE_PERF_EVENTS@ DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ DLLTOOL = @DLLTOOL@ DOLT_BASH = @DOLT_BASH@ @@ -209,6 +208,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDKX11 = @GDKX11@