Imported Upstream version 6.10.0.49

Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2020-01-16 16:38:04 +00:00
parent d94e79959b
commit 468663ddbb
48518 changed files with 2789335 additions and 61176 deletions

72
netcore/Makefile Normal file → Executable file
View File

@@ -20,7 +20,7 @@ PLATFORM_AOT_SUFFIX := .dll
PLATFORM_AOT_PREFIX :=
NETCORESDK_EXT = zip
UNZIPCMD = python -c "import zipfile,sys; zipfile.ZipFile(sys.argv[1], 'r').extractall()"
XUNIT_FLAGS = -notrait category=nonwindowstests @../../../../CoreFX.issues_windows.rsp
XUNIT_INNER_ARGS = -notrait category=nonwindowstests @../../../../CoreFX.issues_windows.rsp
TESTS_PLATFORM = Windows_NT.x64
ON_RUNTIME_EXTRACT = chmod -R 755 {host,shared,./dotnet}
DOTNET := $(shell powershell -ExecutionPolicy Bypass -Command "./init-tools.ps1")/dotnet.exe
@@ -30,9 +30,10 @@ endif
ifeq ($(HOST_PLATFORM),macos)
PLATFORM_AOT_SUFFIX := .dylib
PLATFORM_AOT_PREFIX := lib
OBJDUMP = objdump -x86-asm-syntax=intel --no-show-raw-insn -no-leading-addr -no-leading-headers -d
NETCORESDK_EXT = tar.gz
UNZIPCMD = tar -xvf
XUNIT_FLAGS = -notrait category=nonosxtests
XUNIT_INNER_ARGS = -notrait category=nonosxtests @../../../../CoreFX.issues_mac.rsp
TESTS_PLATFORM = OSX.x64
DOTNET := $(shell ./init-tools.sh | tail -1)
endif
@@ -40,11 +41,12 @@ endif
ifeq ($(HOST_PLATFORM),linux)
PLATFORM_AOT_SUFFIX := .so
PLATFORM_AOT_PREFIX := lib
OBJDUMP = objdump -M intel --no-show-raw-insn -d
NETCORESDK_EXT = tar.gz
UNZIPCMD = tar -xvf
XUNIT_FLAGS = -notrait category=nonlinuxtests @../../../../CoreFX.issues_linux.rsp
XUNIT_INNER_ARGS = -notrait category=nonlinuxtests @../../../../CoreFX.issues_linux.rsp
ifeq ($(COREARCH), arm64)
XUNIT_FLAGS += @../../../../CoreFX.issues_linux_arm64.rsp
XUNIT_INNER_ARGS += @../../../../CoreFX.issues_linux_arm64.rsp
endif
TESTS_PLATFORM = Linux.x64
DOTNET := $(shell ./init-tools.sh | tail -1)
@@ -70,13 +72,13 @@ $(NETCORESDK_FILE):
update-corefx: corefx/.stamp-dl-corefx-$(NETCORETESTS_VERSION)
corefx/.stamp-dl-corefx-$(NETCORETESTS_VERSION): corefx-restore.csproj
$(DOTNET) build corefx-restore.csproj --runtime $(RID) --packages corefx/packages -p:MicrosoftPrivateCoreFxNETCoreAppVersion=$(NETCORETESTS_VERSION) -p:OutputPath=corefx/restore/
$(DOTNET) build corefx-restore.csproj --runtime $(RID) --packages corefx/packages -p:MicrosoftPrivateCoreFxNETCoreAppVersion=$(NETCORETESTS_VERSION) -p:OutputPath=corefx/restore/ -p:UseSharedCompilation=false
touch $@
update-roslyn: roslyn/packages/microsoft.net.compilers.toolset/$(ROSLYN_VERSION)/microsoft.net.compilers.toolset.nuspec
roslyn/packages/microsoft.net.compilers.toolset/$(ROSLYN_VERSION)/microsoft.net.compilers.toolset.nuspec:
$(DOTNET) restore roslyn-restore.csproj -p:RoslynVersion=$(ROSLYN_VERSION) --packages roslyn/packages -p:OutputPath=roslyn/restore/
$(DOTNET) restore roslyn-restore.csproj -p:RoslynVersion=$(ROSLYN_VERSION) --packages roslyn/packages -p:OutputPath=roslyn/restore/ -p:UseSharedCompilation=false
run-sample: prepare
$(DOTNET) build sample/HelloWorld
@@ -110,7 +112,7 @@ patch-local-dotnet-aot-llvm: patch-local-dotnet
for assembly in ../.dotnet/shared/Microsoft.NETCore.App/$(BOOTSTRAP_RUNTIME)/*.dll; do \
echo "[AOT] $$assembly"; \
PATH="../llvm/usr/bin/:$(PATH)" \
MONO_ENV_OPTIONS="--aot=llvm,llvmllc=\"-mcpu=native\"" \
MONO_ENV_OPTIONS="--aot=llvm,mcpu=native" \
$(DOTNET) $$assembly ; \
done; \
@@ -145,7 +147,7 @@ System.Private.CoreLib/src/System/Environment.Mono.cs: System.Private.CoreLib/sr
CORLIB_BUILD_FLAGS?=-c Release
bcl: update-roslyn System.Private.CoreLib/src/System/Environment.Mono.cs
$(DOTNET) build $(CORETARGETS) $(CORLIB_BUILD_FLAGS) -p:BuildArch=$(COREARCH) \
$(DOTNET) build $(CORETARGETS) $(CORLIB_BUILD_FLAGS) -p:UseSharedCompilation=false -p:BuildArch=$(COREARCH) \
-p:OutputPath=bin/$(COREARCH) \
-p:RoslynPropsFile="../roslyn/packages/microsoft.net.compilers.toolset/$(ROSLYN_VERSION)/build/Microsoft.Net.Compilers.Toolset.props" \
System.Private.CoreLib/System.Private.CoreLib.csproj
@@ -222,12 +224,12 @@ run-tests-corefx-%: prepare update-tests-corefx
@cp corefx/restore/corefx-restore.dll corefx/tests/extracted/$*/corefx-restore.dll
@sed -i -e 's/5.0.0\"/$(NETCOREAPP_VERSION)\"/g' corefx/tests/extracted/$*/*.runtimeconfig.json
cd corefx/tests/extracted/$* && \
MONO_ENV_OPTIONS="--debug" COMPlus_DebugWriteToStdErr=1 $(CURDIR)/./dotnet exec \
MONO_ENV_OPTIONS="--debug $(XUNIT_MONO_ENV_OPTIONS)" COMPlus_DebugWriteToStdErr=1 $(CURDIR)/./dotnet exec \
--runtimeconfig $*.runtimeconfig.json --additional-deps $*.deps.json \
--fx-version "$(NETCOREAPP_VERSION)" xunit.console.dll $*.dll \
-html ../../TestResult-$*.html -xml ../../TestResult-$*-netcore-xunit.xml \
$(XUNIT_FLAGS) @../../../../CoreFX.issues.rsp \
$(FIXTURE)
$(XUNIT_INNER_ARGS) @../../../../CoreFX.issues.rsp \
$(XUNIT_ARGS)
# build a test assembly in COREFX_ROOT (path to a fully built corefx repo) and copy it to corefx/tests/extracted
# e.g. `make build-test-corefx-System.Runtime COREFX_ROOT=/prj/corefx-master`
@@ -252,6 +254,7 @@ coreclr/.stamp-tests:
.PHONY: corerun
corerun:
$(MAKE) -C corerun
cp corerun/corerun $(SHAREDRUNTIME)
run-tests-coreclr: prepare update-tests-coreclr corerun
@@ -271,5 +274,50 @@ run-tests-coreclr: prepare update-tests-coreclr corerun
echo "Failed: $$failures"
endif
run-tests-coreclr-%: prepare update-tests-coreclr
@echo ""
@echo "***************** $* *********************"
@test_sh=$$(find . -type f -name "$*.sh" | head -n 1); \
if [ ! -z "$$test_sh" ]; then \
MONO_ENV_OPTIONS="--debug" COMPlus_DebugWriteToStdErr=1 sh $$test_sh -coreroot="$(realpath $(SHAREDRUNTIME))"; \
else \
echo "Test file $*.sh not found"; \
fi
# dump asm for all methods in BCL using LLVM AOT, e.g.:
# make dump-asm-bcl DUMPASM_OUT=dumps/before-my-jit-fix
dump-asm-bcl: patch-local-dotnet
@if test -z "$(DUMPASM_OUT)"; then echo "DUMPASM_OUT is not set"; exit 1; fi
mkdir -p $(DUMPASM_OUT)
for assembly in ../.dotnet/shared/Microsoft.NETCore.App/$(BOOTSTRAP_RUNTIME)/*.dll; do \
printf "\n[AOT] $$(basename $$assembly):\n\n"; \
$(MAKE) dump-asm-lib DUMPASM_LIB=$$assembly ; \
done; \
cd ../.dotnet/shared/Microsoft.NETCore.App/$(BOOTSTRAP_RUNTIME) && rm *.dll$(PLATFORM_AOT_SUFFIX)
# dump asm for a specific assembly using LLVM AOT, e.g.:
# make dump-asm-lib DUMPASM_OUT=dumps/before-my-jit-fix DUMPASM_LIB=/path/to/System.Private.CoreLib.dll
dump-asm-lib: patch-local-dotnet
@if test -z "$(DUMPASM_LIB)"; then echo "DUMPASM_LIB is not set"; exit 1; fi
@if test -z "$(DUMPASM_OUT)"; then echo "DUMPASM_OUT is not set"; exit 1; fi
mkdir -p $(DUMPASM_OUT)
PATH="../llvm/usr/bin/:$(PATH)" \
MONO_ENV_OPTIONS="--aot=llvm,mcpu=native" \
$(DOTNET) $(DUMPASM_LIB)
$(OBJDUMP) "$(DUMPASM_LIB)$(PLATFORM_AOT_SUFFIX)" > "$(DUMPASM_OUT)/$(notdir $(DUMPASM_LIB))$(PLATFORM_AOT_SUFFIX).dasm"
# Generate asm diffs, a typical workflow may look like this:
#
# make dump-asm-bcl DUMPASM_OUT=dumps/before-my-jit-fix
# (apply some runtime changes)
# make runtime
# make dump-asm-bcl DUMPASM_OUT=dumps/after-my-jit-fix
# make jitdiff BEFORE=dumps/before-my-jit-fix AFTER=dumps/after-my-jit-fix
#
jitdiff:
@if test -z "$(BEFORE)"; then echo "BEFORE is not set"; exit 1; fi
@if test -z "$(AFTER)"; then echo "AFTER is not set"; exit 1; fi
cd tools/jitdiff && $(DOTNET) run -c Release -- "$(BEFORE)" "$(AFTER)"
distdir:
distclean:
distclean:

View File

@@ -1,3 +1,4 @@
if !HOST_WIN32
# Files copied from coreclr/src/coreclr/hosts/unixcorerun repo
AM_CPPFLAGS = $(SHARED_CFLAGS)
@@ -5,3 +6,4 @@ AM_CPPFLAGS = $(SHARED_CFLAGS)
bin_PROGRAMS = corerun
corerun_SOURCES = corerun.cpp coreruncommon.cpp coreruncommon.h coreclrhost.h
endif

View File

@@ -14,8 +14,6 @@
@SET_MAKE@
# Files copied from coreclr/src/coreclr/hosts/unixcorerun repo
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
@@ -91,7 +89,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = corerun$(EXEEXT)
@HOST_WIN32_FALSE@bin_PROGRAMS = corerun$(EXEEXT)
subdir = netcore/corerun
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/apple-target.m4 \
@@ -102,7 +100,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/apple-target.m4 \
$(top_srcdir)/m4/ax_require_defined.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/mono-output.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -114,7 +113,10 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_corerun_OBJECTS = corerun.$(OBJEXT) coreruncommon.$(OBJEXT)
am__corerun_SOURCES_DIST = corerun.cpp coreruncommon.cpp \
coreruncommon.h coreclrhost.h
@HOST_WIN32_FALSE@am_corerun_OBJECTS = corerun.$(OBJEXT) \
@HOST_WIN32_FALSE@ coreruncommon.$(OBJEXT)
corerun_OBJECTS = $(am_corerun_OBJECTS)
corerun_LDADD = $(LDADD)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -166,7 +168,7 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(corerun_SOURCES)
DIST_SOURCES = $(corerun_SOURCES)
DIST_SOURCES = $(am__corerun_SOURCES_DIST)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -334,6 +336,7 @@ MONO_NATIVE_UNIFIED_CFLAGS = @MONO_NATIVE_UNIFIED_CFLAGS@
MONO_NATIVE_UNIFIED_CPPFLAGS = @MONO_NATIVE_UNIFIED_CPPFLAGS@
MONO_NATIVE_UNIFIED_CXXFLAGS = @MONO_NATIVE_UNIFIED_CXXFLAGS@
MONO_NATIVE_UNIFIED_LDFLAGS = @MONO_NATIVE_UNIFIED_LDFLAGS@
MONO_SUBDIRS = @MONO_SUBDIRS@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
@@ -411,7 +414,6 @@ builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
docs_dir = @docs_dir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
export_ldflags = @export_ldflags@
@@ -422,13 +424,11 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
ikvm_native_dir = @ikvm_native_dir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
libgc_dir = @libgc_dir@
libgdiplus_install_loc = @libgdiplus_install_loc@
libgdiplus_loc = @libgdiplus_loc@
libmono_cflags = @libmono_cflags@
@@ -467,8 +467,9 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CPPFLAGS = $(SHARED_CFLAGS)
corerun_SOURCES = corerun.cpp coreruncommon.cpp coreruncommon.h coreclrhost.h
# Files copied from coreclr/src/coreclr/hosts/unixcorerun repo
@HOST_WIN32_FALSE@AM_CPPFLAGS = $(SHARED_CFLAGS)
@HOST_WIN32_FALSE@corerun_SOURCES = corerun.cpp coreruncommon.cpp coreruncommon.h coreclrhost.h
all: all-am
.SUFFIXES:
@@ -566,22 +567,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coreruncommon.Po@am__quote@
.cpp.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<