platform/upstream/dotnet/runtime.git
21 months agoAdd Linux x86 createdump code.
Mikhail Kurinnoi [Tue, 22 Feb 2022 14:58:35 +0000 (06:58 -0800)]
Add Linux x86 createdump code.

21 months ago[Tizen] Enable Hot Reload debugger API.
Mikhail Kurinnoi [Thu, 7 Apr 2022 12:21:54 +0000 (15:21 +0300)]
[Tizen] Enable Hot Reload debugger API.

Note, we use part debugger API related to EnC in order to work with Hot Reload from debugger.
EnC itself not implemented (runtime don't have code for Linux arm32/arm64/x86 that could "jump" from old method version into new method version).
At this moment, runtime don't support Hot Reload for Linux/Tizen x86.

21 months agoFix ReplaceModuleMapping for 32bit binary on 64bit kernel (#66640)
Hyungju Lee [Mon, 21 Mar 2022 04:58:35 +0000 (13:58 +0900)]
Fix ReplaceModuleMapping for 32bit binary on 64bit kernel (#66640)

21 months agoIncrease arm32/arm64 maximum instruction group size (#65153)
Bruce Forstall [Fri, 11 Feb 2022 19:10:19 +0000 (11:10 -0800)]
Increase arm32/arm64 maximum instruction group size (#65153)

We require that the maximum number of prolog instructions all fit in one
instruction group. Recent changes appear to have increased the number of
instructions we are generating the prolog, leading to NOWAY assert on
Release builds and test failure on linux-arm64.

Bump up the number to avoid this problem, and leave some headroom for
possible additional needs.

Fixes #64162, #64793.

21 months ago[Tizen] Enable TC_QuickJitForLoops by default
Gleb Balykov [Fri, 10 Sep 2021 15:48:36 +0000 (18:48 +0300)]
[Tizen] Enable TC_QuickJitForLoops by default

21 months ago[Tizen] Enable Linq expressions interpreter instead of compiler for tests
Gleb Balykov [Mon, 29 Nov 2021 19:12:10 +0000 (22:12 +0300)]
[Tizen] Enable Linq expressions interpreter instead of compiler for tests

Limitations of linq expressions interpreter:
- can't get IL for interpreted linq expressions (see `VerifyIL` on how to get IL code), because it either won't match, or exception will happen because method is not dynamic; besides, there's actually no IL for interpreted expression, interpreter has its own internal representation
- target of Delegate returned by interpreter can't be casted to Closure (see VerifyEmitConstantsToIL<T> in CompilerTests.cs)
- aliased byref parameters are not supported with interpreted linq expressions (https://github.com/dotnet/runtime/issues/19286)
- interpreting TryExpression that is inside the Filter expression of a CatchBlock of another TryExpression works in interpreter, but throws in compiler (https://github.com/dotnet/runtime/issues/20083)
- analysis of Quote expression is a bit different for interpreter (see AssertIsBox<T> in UnaryQuoteTests.cs)
- with disabled FEATURE_DLG_INVOKE and FEATURE_FAST_CREATE if TypeMissing is used in linq expression, then exception is thrown (https://github.com/dotnet/runtime/issues/15553), this is fixed if these features are enabled

21 months ago[Tizen] Enable Linq expressions interpreter instead of compiler
Gleb Balykov [Wed, 24 Nov 2021 17:54:48 +0000 (20:54 +0300)]
[Tizen] Enable Linq expressions interpreter instead of compiler

21 months ago[Tizen] Allow marshalling IL_STUB compilation for ndirect methods using crossgen2...
Gleb Balykov [Wed, 2 Mar 2022 19:42:28 +0000 (22:42 +0300)]
[Tizen] Allow marshalling IL_STUB compilation for ndirect methods using crossgen2 if SPC.dll is in the same bubble

21 months ago[Tizen] Revert "Pass zero length array as null" https://github.com/dotnet/coreclr...
Gleb Balykov [Wed, 2 Mar 2022 19:37:30 +0000 (22:37 +0300)]
[Tizen] Revert "Pass zero length array as null" https://github.com/dotnet/coreclr/pull/27555

Without this revert two coreclr tests fail if they are compiled with inputbubble and IL_STUB saving in ni:
- Interop/PInvoke/Array/MarshalArrayAsParam/AsDefault/AsDefaultTest/AsDefaultTest.sh
- Interop/PInvoke/Array/MarshalArrayAsParam/AsLPArray/AsLPArrayTest/AsLPArrayTest.sh

For both tests problem is exactly with array with 0 length, which is passed as NULL to native function.
But it should be a pointer to the non-existing element, and IL_STUB generated at runtime does exactly this.

21 months agoProperly use result value for dump IPC cmd (#60726)
John Salem [Wed, 27 Oct 2021 00:10:18 +0000 (17:10 -0700)]
Properly use result value for dump IPC cmd (#60726)

Signed-off-by: Mikhail Kurinnoi <m.kurinnoi@samsung.com>
21 months ago[Tizen] Fix build mode setup for crossgen2 self-contained publish
Gleb Balykov [Thu, 27 Jan 2022 13:25:33 +0000 (16:25 +0300)]
[Tizen] Fix build mode setup for crossgen2 self-contained publish

21 months ago[Tizen] Fix continuous unsuccessful pthread_setschedparam if there's no CAP_SYS_NICE...
Gleb Balykov [Wed, 16 Feb 2022 11:38:36 +0000 (14:38 +0300)]
[Tizen] Fix continuous unsuccessful pthread_setschedparam if there's no CAP_SYS_NICE capability

21 months ago[Tizen] Create list dynamic dependencies of crossgen2 in RPM
j-h.choi [Mon, 10 Jan 2022 07:53:58 +0000 (16:53 +0900)]
[Tizen] Create list dynamic dependencies of crossgen2 in RPM

21 months ago[Tizen] Publish crossgen2 as a single file with self-contained
j-h.choi [Thu, 6 Jan 2022 05:19:15 +0000 (14:19 +0900)]
[Tizen] Publish crossgen2 as a single file with self-contained

21 months ago[Tizen] Add method to write coredump of .NET process
Mateusz Moscicki [Mon, 21 Jun 2021 16:12:54 +0000 (18:12 +0200)]
[Tizen] Add method to write coredump of .NET process

This method allows to create minimal coredump (as createdump does) of a
process that is in dumping state after crush.

Original commit:
https://github.sec.samsung.net/dotnet/coreclr/commit/66a3b803910b389de38703ce349695a247146f5b

21 months ago[x86/Linux] Fix SIGSEGV on Debugger.Break() during debugging.
Mikhail Kurinnoi [Thu, 23 Sep 2021 14:56:40 +0000 (07:56 -0700)]
[x86/Linux] Fix SIGSEGV on Debugger.Break() during debugging.

SIGSEGV occur in src/vm/i386/cgenx86.cpp `HelperMethodFrame::UpdateRegDisplay()` at line `pRD->pCurrentContext->Eip = pRD->ControlPC = m_MachState.GetRetAddr();`, since `pRD->pCurrentContext` is NULL.
The point of issue - wrong code block compilation in DebuggerWalkStack() in case of Linux x86.

21 months ago#58181 Fix NullReferenceException in crossgen2. (#58183)
Mikhail Filippov [Fri, 10 Sep 2021 16:12:04 +0000 (19:12 +0300)]
#58181 Fix NullReferenceException in crossgen2. (#58183)

* #58181 Fix NullReferenceException in crossgen2.

* Support .exe extension in output filename.

21 months agoUse temporary ni.dll.tmp files with crossgen2 pipeline mode in order to not interfere...
Gleb Balykov [Wed, 1 Sep 2021 22:08:02 +0000 (01:08 +0300)]
Use temporary ni.dll.tmp files with crossgen2 pipeline mode in order to not interfere with crossgen2 itself (#57341)

* Use temporary ni.dll.tmp files with crossgen2 pipeline mode in order to not interfere with crossgen2 itself

* Add check that --single-file-compilation mode of crossgen2 is always used with --out-near-input

21 months agoFix x86 linux tests build and run
Timur Mustafin [Tue, 13 Jul 2021 19:51:59 +0000 (22:51 +0300)]
Fix x86 linux tests build and run

[unix x86] Fix tests build
[unix x86] Add register map for crossgen2
            Fixes readytorun/coreroot_determinism/coreroot_determinism/coreroot_determinism.sh on x86 linux
[unix x86] Fix tail calls tests
[unix x86] Fix unmanaged callconv
[unix x86] Fix passing implicit args via stack
[unix x86] Pop hidden retbuff arg on cdecl callconv
[unix x86] Fix WriteBarrier call

[x86] Add calling convention name print to dump
[x86] Use ebx to pass VASigCookie to GenericPInvokeCalliHelper
            It fixes stack alignment in GenericPInvokeCalliHelper on unix x86

Fix storageType overflow assertion in TinyArray

21 months ago[Tizen] Disable FEATURE_DLG_INVOKE and FEATURE_FAST_CREATE in System.Linq.Expression
Hyungju Lee [Wed, 24 Apr 2019 08:24:15 +0000 (17:24 +0900)]
[Tizen] Disable FEATURE_DLG_INVOKE and FEATURE_FAST_CREATE in System.Linq.Expression

This increases memory consumption

21 months ago[Tizen] Disable staticfilehost for ASan build
Slava Barinov [Mon, 21 Jun 2021 14:21:47 +0000 (17:21 +0300)]
[Tizen] Disable staticfilehost for ASan build

Static binary is not supported by libasansi.so

Signed-off-by: Slava Barinov <v.barinov@samsung.com>
21 months ago[Tizen] Enable ASan annotation of passing to native code buffers
Andrey Kazmin [Wed, 16 Jun 2021 13:49:18 +0000 (16:49 +0300)]
[Tizen] Enable ASan annotation of passing to native code buffers

Turn on ASan inteceptors while marshaling managed buffers to native code.
We could not properly annotate already allocated on heap buffers, so
we have to disable pinning of such objects.
Current patch affects only pinning of native arrays.

Signed-off-by: Slava Barinov <v.barinov@samsung.com>
21 months ago[Tizen] Enable Tizen ASan runtime support
Vyacheslav Cherkashin [Wed, 16 Jun 2021 13:24:30 +0000 (16:24 +0300)]
[Tizen] Enable Tizen ASan runtime support

Enable libasansi.so support (libasan.so with switchable interceptors).

Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
21 months ago[Tizen] Implement ASan wrapper for Linux AMD64
Vyacheslav Cherkashin [Wed, 16 Jun 2021 13:21:55 +0000 (16:21 +0300)]
[Tizen] Implement ASan wrapper for Linux AMD64

Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
21 months ago[Tizen] Implement ASan wrapper for Linux ARM32
Vyacheslav Cherkashin [Wed, 16 Jun 2021 13:19:36 +0000 (16:19 +0300)]
[Tizen] Implement ASan wrapper for Linux ARM32

This commit implements wrappers that allow interception transitions
from managed to external unmanaged code (CIL -> native) and back
(native -> CIL). This allows enable/disable ASan during transitions.
Due to this, we sanitize only external code, which allows us to
achieve acceptable performance.

Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
21 months ago[Tizen] Implement detecting of sanitized libraries
Andrey Drobyshev [Mon, 21 Jun 2021 07:10:17 +0000 (10:10 +0300)]
[Tizen] Implement detecting of sanitized libraries

Parse ".dynamic" section (ELF dynamic array tags) of the module being
added, find ".rel(a).plt" section and search it for presence of
'__asan_init' symbol.

Signed-off-by: Andrey Drobyshev <a.drobyshev@samsung.com>
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
21 months ago[Tizen] Add new vconf to set runtime_version
j-h.choi [Tue, 8 Jun 2021 05:14:12 +0000 (14:14 +0900)]
[Tizen] Add new vconf to set runtime_version

21 months ago[Tizen] Use simple name without suffix in MulticoreJit
Gleb Balykov [Mon, 7 Jun 2021 07:52:00 +0000 (10:52 +0300)]
[Tizen] Use simple name without suffix in MulticoreJit

After this change name of resulting profile on disk matches the one passed with COMPlus_MultiCoreJitProfile env variable

21 months ago[Tizen] Reduce arm_phdr_cb call overhead
JUNG DONG-HEON [Thu, 9 Jan 2020 07:38:00 +0000 (16:38 +0900)]
[Tizen] Reduce arm_phdr_cb call overhead

- Too many calls to arm_phdr_cb even though it get the same data.
- It caches an ARM_CB_DATA for libcoreclr.so, then reuse.

21 months ago[Tizen] Disable jithost arena cache
Gleb Balykov [Fri, 2 Aug 2019 14:28:27 +0000 (17:28 +0300)]
[Tizen] Disable jithost arena cache

21 months ago[Tizen] Add coreclr_preload_assembly to CoreCLR host API
Gleb Balykov [Fri, 16 Sep 2022 09:21:23 +0000 (12:21 +0300)]
[Tizen] Add coreclr_preload_assembly to CoreCLR host API

This API allows to preload ni.dll (both simple and composite)

Restrictions:
- single file bundle can't be preloaded using this API
- images with huge pages (i.e. images with alignment > os page size) can't be preloaded using this API

!This patch should be rebased with caution, see comment for MAPApplyBaseRelocationsPreloadedPEFile!

Co-authored by k.baladurin@samsung.com

----

Simple change to tests coreclr preloading api on corerun (note the extra / for non-SPC dlls, it is needed because TPA list in corerun is created with extra / after dir name, i.e. "/home/user/Dev/runtime2/overlay_x64//System.Runtime.ni.dll" will be in tpa list, and argument of coreclr_preload_assembly must match it exactly). TPA list in dotnet/launcher is created without extra /.

How to test:
0. build runtime in debug
1. generate R2R ni.dll
2. run some app under gdb and stop on coreclr_preload_assembly_func
3. check that coreclr_preload_assembly_func correctly mmaps all files loaded in below patch (both using gdb in code and /proc/<pid>/smaps)
4. stop on PAL_LOADLoadPEFile and check that all ni.dll are found in preloaded cache instead of new load (also check that loaded base address doesn't change both in code and in /proc/<pid>/smaps)

diff --git a/src/coreclr/hosts/corerun/corerun.cpp b/src/coreclr/hosts/corerun/corerun.cpp
index b3f2c867c30..33d446d1a32 100644
--- a/src/coreclr/hosts/corerun/corerun.cpp
+++ b/src/coreclr/hosts/corerun/corerun.cpp
@@ -288,6 +288,17 @@ static int run(const configuration& config)
         return -1;
     }

+    coreclr_preload_assembly_ptr coreclr_preload_assembly_func = nullptr;
+    if (!try_get_export(coreclr_mod, "coreclr_preload_assembly", (void**)&coreclr_preload_assembly_func))
+    {
+        return -1;
+    }
+
+
+    coreclr_preload_assembly_func("/home/user/Dev/runtime2/overlay_x64/System.Private.CoreLib.dll");
+    coreclr_preload_assembly_func("/home/user/Dev/runtime2/overlay_x64//System.Runtime.ni.dll");
+    coreclr_preload_assembly_func("/home/user/Dev/runtime2/overlay_x64//System.IO.ni.dll");
+
     // Construct CoreCLR properties.
     pal::string_utf8_t tpa_list_utf8 = pal::convert_to_utf8(std::move(tpa_list));
     pal::string_utf8_t app_path_utf8 = pal::convert_to_utf8(std::move(app_path));

21 months ago[Tizen] separate PIC and PIE to fix x86_64 build error
Woongsuk Cho [Thu, 9 May 2019 09:02:22 +0000 (18:02 +0900)]
[Tizen] separate PIC and PIE to fix x86_64 build error

21 months ago[Tizen] add pie linker option to createdump
Woongsuk Cho [Thu, 12 Dec 2019 11:41:39 +0000 (20:41 +0900)]
[Tizen] add pie linker option to createdump

21 months ago[Tizen] Add a config knob for importing ibc files
Swift Kim [Thu, 1 Aug 2019 06:10:49 +0000 (15:10 +0900)]
[Tizen] Add a config knob for importing ibc files

21 months ago[Tizen] Workaround Timing Issue
Hyungju Lee [Sun, 19 Apr 2020 22:19:32 +0000 (07:19 +0900)]
[Tizen] Workaround Timing Issue

To avoid an exception thrown on managed build
Context: dotnet/roslyn#37974 and dotnet/roslyn#38420

```
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error MSB3883: Unexpected exception:  [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : System.AggregateException: One or more errors occurred. (Object synchronization method was called from an unsynchronized block of code.) [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : ---> System.ApplicationException: Object synchronization method was called from an unsynchronized block of code. [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : at System.Threading.Mutex.ReleaseMutex() [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : at Microsoft.CodeAnalysis.CommandLine.ServerNamedMutex.Dispose() [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : at Microsoft.CodeAnalysis.CommandLine.BuildServerConnection.RunServerCompilationCore(RequestLanguage language, List`1 arguments, BuildPathsAlt buildPaths, String pipeName, String keepAlive, String libEnvVariable, Nullable`1 timeoutOverride, Func`3 tryCreateServerFunc, CancellationToken cancellationToken) [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : --- End of inner exception stack trace --- [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : at System.Threading.Tasks.Task.Wait(CancellationToken cancellationToken) [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
[  336s] /home/abuild/rpmbuild/BUILD/corefx-3.1.0/packages/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/tasks/netcoreapp2.1/Microsoft.CSharp.Core.targets(58,5): error : at Microsoft.CodeAnalysis.BuildTasks.ManagedCompiler.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands) [/home/abuild/rpmbuild/BUILD/corefx-3.1.0/src/System.ComponentModel/src/System.ComponentModel.csproj]
```

21 months ago[Tizen] skip dotnet specific arguments in corerun
Konstantin Baladurin [Fri, 4 Oct 2019 16:45:44 +0000 (19:45 +0300)]
[Tizen] skip dotnet specific arguments in corerun

Now we use corerun to run corefx tests instead of dotnet, because last
one isn't available for Tizen/armel. So we need to skip dotnet specific
arguments, we patch corerun for it because Microsoft.DotNet.RemoteExecutor
tries to execute binary that it gets from /proc/self/maps, so we need a
binary that will behave like dotnet.

21 months ago[Tizen] add access(2) call before dlopening files
Yaroslav Yamshchikov [Thu, 18 Jul 2019 10:14:14 +0000 (13:14 +0300)]
[Tizen] add access(2) call before dlopening files

21 months ago[Tizen] Disable IBC Logger as a default
DongHeon Jung [Thu, 18 Jul 2019 08:28:55 +0000 (17:28 +0900)]
[Tizen] Disable IBC Logger as a default

- Profile information is collected by ibc logger.
  Hower it is not used and saved into profile file.
- The patch disables IBC logger which is enabled by default.
- It disables IBC logger only with ibclogger.h file.
  IBCLOGGER_ENABLED definition is only used in ibclogger files.

21 months ago[Tizen] Update .gitignore
Hyungju Lee [Wed, 13 Mar 2019 00:28:54 +0000 (09:28 +0900)]
[Tizen] Update .gitignore

21 months ago[Tizen] Fix OOPStackUnwinderX86::Unwind crash when Eip is invalid
Igor Kulaychuk [Wed, 25 Apr 2018 18:31:59 +0000 (21:31 +0300)]
[Tizen] Fix OOPStackUnwinderX86::Unwind crash when Eip is invalid

21 months ago[Tizen] Fix EECodeManager::GetAmbientSP on x86/Linux
Igor Kulaychuk [Fri, 20 Apr 2018 20:52:57 +0000 (23:52 +0300)]
[Tizen] Fix EECodeManager::GetAmbientSP on x86/Linux

21 months ago[Tizen] Add -pie to linker option
Hyungju Lee [Mon, 2 Jul 2018 00:28:08 +0000 (09:28 +0900)]
[Tizen] Add -pie to linker option

There have been no -pie linker option.
This patch adds -pie linker option into crossgen(for tizen)

This originates from 0024-Add-pie-to-linker-option.patch

21 months ago[Tizen] Add support for gbs build for i586, x86_64, armv7l, armv7hl, aarch64 (includi...
Gleb Balykov [Mon, 12 Apr 2021 20:13:24 +0000 (23:13 +0300)]
[Tizen] Add support for gbs build for i586, x86_64, armv7l, armv7hl, aarch64 (including tests)

21 months agoFix linux x86 build error (partial cherry-pick of https://github.com/dotnet/runtime...
Gleb Balykov [Tue, 7 Dec 2021 13:28:24 +0000 (16:28 +0300)]
Fix linux x86 build error (partial cherry-pick of https://github.com/dotnet/runtime/pull/60817)

21 months ago[Tizen] Hardcode LD_GNU for tizen
Gleb Balykov [Tue, 7 Dec 2021 09:12:31 +0000 (12:12 +0300)]
[Tizen] Hardcode LD_GNU for tizen

21 months ago[Tizen] Add coreclr tests build dependencies v6.0.9
Gleb Balykov [Thu, 15 Sep 2022 14:01:36 +0000 (17:01 +0300)]
[Tizen] Add coreclr tests build dependencies v6.0.9

To add these files do next steps:
1. Remove .gitignore
2. Remove all previous build artifacts and non-used files (make output of "git status" clear)
3. export NUGET_PACKAGES=`pwd`/.packages
4. Cross build coreclr tests for arm/armel/arm64/x86 and x64
5. Commit .packages

Notes:
- If some of these nuget packages are not commited or missed for other reasons, gbs build will fail.
- Cross build armv7hl support from https://github.com/dotnet/arcade/pull/8293/ is needed.

21 months ago[Tizen] Add prebuilt libicu-57.1 libraries for x64
Gleb Balykov [Mon, 12 Apr 2021 14:20:02 +0000 (17:20 +0300)]
[Tizen] Add prebuilt libicu-57.1 libraries for x64

These are required for x64 BuildTools in order to run under gbs.

21 months ago[Tizen] Add nuget packages for corefx-managed-ref for clr <= 3.1
Gleb Balykov [Mon, 12 Apr 2021 14:43:01 +0000 (17:43 +0300)]
[Tizen] Add nuget packages for corefx-managed-ref for clr <= 3.1

These are nuget packages, which are used during application build.
To generate these, build TizenFX and put downloaded nuget packages in nuget/ dir.

21 months ago[Tizen] Add x64 BuildTools v6.0.9
Gleb Balykov [Thu, 15 Sep 2022 11:21:00 +0000 (14:21 +0300)]
[Tizen] Add x64 BuildTools v6.0.9

To add these files do next steps:
1. Remove .gitignore
2. Remove all previous build artifacts and non-used files (make output of "git status" clear)
3. export NUGET_PACKAGES=`pwd`/.packages
4. Cross build runtime for required arches (arm, armel, arm64, x86) and build for x64
5. Commit .dotnet, .packages

Notes:
- If some dir names change in future, this will be seen in "git status" after step 4. Add those dirs too.
- If some of these dirs are not commited or missed for other reasons, gbs build will fail.
- These build tools are for x64, thus, gbs build without clang-accel is not supported.
- Cross build armv7hl support from https://github.com/dotnet/arcade/pull/8293/ is needed.

22 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 19 Aug 2022 16:58:11 +0000 (16:58 +0000)]
Merge in 'release/6.0' changes

22 months ago[release/6.0] Bump arcade to 6.0.0-beta.22418.3 (#74193)
Juan Hoyos [Fri, 19 Aug 2022 16:45:05 +0000 (09:45 -0700)]
[release/6.0] Bump arcade to 6.0.0-beta.22418.3 (#74193)

22 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 19 Aug 2022 14:35:59 +0000 (14:35 +0000)]
Merge in 'release/6.0' changes

22 months agoUpdate dependencies from https://github.com/dotnet/emsdk build 20220818.5 (#74204)
dotnet-maestro[bot] [Fri, 19 Aug 2022 14:22:05 +0000 (07:22 -0700)]
Update dependencies from https://github.com/dotnet/emsdk build 20220818.5 (#74204)

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.200 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.300 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.400
 From Version 6.0.9 -> To Version 6.0.9

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
22 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 18 Aug 2022 21:13:45 +0000 (21:13 +0000)]
Merge in 'release/6.0' changes

22 months agoDon't lookup the pack without an alias from the workload (#74155)
Larry Ewing [Thu, 18 Aug 2022 20:58:46 +0000 (15:58 -0500)]
Don't lookup the pack without an alias from the workload (#74155)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 16 Aug 2022 22:22:34 +0000 (22:22 +0000)]
Merge in 'release/6.0' changes

23 months ago[release/6.0] Reset OOB package authoring for System.Security.Cryptography.Xml (...
Carlos Sanchez [Tue, 16 Aug 2022 22:08:30 +0000 (15:08 -0700)]
[release/6.0] Reset OOB package authoring for System.Security.Cryptography.Xml (#74032)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 15 Aug 2022 23:53:12 +0000 (23:53 +0000)]
Merge in 'release/6.0' changes

23 months agoPort the incremental source generator polyfill code to the 6.0 servicing branch....
CyrusNajmabadi [Mon, 15 Aug 2022 23:37:02 +0000 (19:37 -0400)]
Port the incremental source generator polyfill code to the 6.0 servicing branch. (#72219)

* Port the incremental source generator polyfill code to the 6.0 servicing branch.

* Use common code

* Add logging extensions

* Fix typo on project Compile item and enable producing packages for both packages that need to be serviced.

* Allow ValueListBuilder to work with empty scratch spans (#70917)

Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
23 months agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 15 Aug 2022 20:06:19 +0000 (20:06 +0000)]
Merge in 'release/6.0' changes

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 15 Aug 2022 19:53:41 +0000 (19:53 +0000)]
Merge in 'release/6.0' changes

23 months ago[release/6.0] Update dependencies from dotnet/emsdk dotnet/arcade (#73879)
dotnet-maestro[bot] [Mon, 15 Aug 2022 19:51:33 +0000 (14:51 -0500)]
[release/6.0] Update dependencies from dotnet/emsdk dotnet/arcade (#73879)

* Update dependencies from https://github.com/dotnet/emsdk build 20220812.2

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.200 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.300 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.400
 From Version 6.0.8 -> To Version 6.0.9

* Update dependencies from https://github.com/dotnet/arcade build 20220812.2

Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 6.0.0-beta.22411.3 -> To Version 6.0.0-beta.22412.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
23 months agoReset current_no_gc_region_info after leaving no gc region implicitly (#73602) (...
Andrew Au [Mon, 15 Aug 2022 19:38:35 +0000 (12:38 -0700)]
Reset current_no_gc_region_info after leaving no gc region implicitly (#73602) (#73806)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 15 Aug 2022 17:38:25 +0000 (17:38 +0000)]
Merge in 'release/6.0' changes

23 months agoRework pack version update logic (#72147)
Larry Ewing [Mon, 15 Aug 2022 17:24:34 +0000 (12:24 -0500)]
Rework pack version update logic (#72147)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Sun, 14 Aug 2022 01:12:08 +0000 (01:12 +0000)]
Merge in 'release/6.0' changes

23 months agoFix runtime pack aliasing (#73885)
Marc Paine [Sun, 14 Aug 2022 00:59:20 +0000 (17:59 -0700)]
Fix runtime pack aliasing (#73885)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 13 Aug 2022 00:09:33 +0000 (00:09 +0000)]
Merge in 'release/6.0' changes

23 months agoAdd ManifestMsiVersion to CreateVisualStudioWorkload call (#73877)
Juan Hoyos [Fri, 12 Aug 2022 23:56:07 +0000 (16:56 -0700)]
Add ManifestMsiVersion to CreateVisualStudioWorkload call (#73877)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 12 Aug 2022 22:03:56 +0000 (22:03 +0000)]
Merge in 'release/6.0' changes

23 months agoUpdate internal tool service connection (#73869)
Juan Hoyos [Fri, 12 Aug 2022 21:50:37 +0000 (14:50 -0700)]
Update internal tool service connection (#73869)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 12 Aug 2022 20:26:46 +0000 (20:26 +0000)]
Merge in 'release/6.0' changes

23 months agoUpdate all of the net 6 packs to be labeled .net6 (#73733)
Marc Paine [Fri, 12 Aug 2022 20:14:02 +0000 (13:14 -0700)]
Update all of the net 6 packs to be labeled .net6 (#73733)

* Update all of the net 6 packs to be labeled .net6

* Mono.Toolchain.Manifest: Add missing aliases for browser-wasm

* Add missing aliases for other platforms

Co-authored-by: Ankit Jain <radical@gmail.com>
23 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 12 Aug 2022 19:49:59 +0000 (19:49 +0000)]
Merge in 'release/6.0' changes

23 months ago[release/6.0] Respect the Keep-Alive response header on HTTP/1.0 (#73245)
Miha Zupan [Fri, 12 Aug 2022 19:37:18 +0000 (21:37 +0200)]
[release/6.0] Respect the Keep-Alive response header on HTTP/1.0 (#73245)

* Respect the Keep-Alive response header on HTTP/1.0 (#73020)

* Respect the Keep-Alive response header on HTTP/1.0

* Remove TimeoutOffset

* Update Trace message

* Update tests

* Adjust test timeouts

* Respect the Keep-Alive response header on HTTP/1.1 as well

* Add some more comments

* Account for HeaderDescriptor changes in 7.0

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 12 Aug 2022 19:12:58 +0000 (19:12 +0000)]
Merge in 'release/6.0' changes

23 months agoFix hang caused by calling Environment.FailFast on multiple threads (#72567)
github-actions[bot] [Fri, 12 Aug 2022 18:58:50 +0000 (11:58 -0700)]
Fix hang caused by calling Environment.FailFast on multiple threads (#72567)

Fixes #72565

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
23 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 12 Aug 2022 17:09:41 +0000 (17:09 +0000)]
Merge in 'release/6.0' changes

23 months agoUpdate to arcade SDK '6.0.0-beta.22411.3' BAR 144406 (#73841)
Juan Hoyos [Fri, 12 Aug 2022 16:55:38 +0000 (09:55 -0700)]
Update to arcade SDK '6.0.0-beta.22411.3' BAR 144406 (#73841)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 12 Aug 2022 06:37:52 +0000 (06:37 +0000)]
Merge in 'release/6.0' changes

23 months agoWorkload promotion (#73798)
Jacques Eloff [Fri, 12 Aug 2022 06:22:31 +0000 (23:22 -0700)]
Workload promotion (#73798)

* Fix duplicate artifacts for workloads
* Consolidate publishing for VS

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 12 Aug 2022 01:47:17 +0000 (01:47 +0000)]
Merge in 'release/6.0' changes

23 months agoRemove 1024 character limit on ODBC connection strings (#73155)
Shay Rojansky [Fri, 12 Aug 2022 01:32:32 +0000 (04:32 +0300)]
Remove 1024 character limit on ODBC connection strings (#73155)

Fixes #63630

(cherry picked from commit 8eb5dea6763da89fb9a4fdd4df0942f195716b59)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 21:02:27 +0000 (21:02 +0000)]
Merge in 'release/6.0' changes

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:48:02 +0000 (20:48 +0000)]
Merge in 'release/6.0' changes

23 months ago[release/6.0] Fix #70391 (#73654)
Bruce Forstall [Thu, 11 Aug 2022 20:45:37 +0000 (13:45 -0700)]
[release/6.0] Fix #70391 (#73654)

Fix issue with multiple LEA addresses used for Vector code. Value
Numbering treated multiple LEA identically, ignoring offset and
scale. Fix by creating a new, unique Value Number for all LEA, by
marking LEA nodes as "illegal" as a VNFunc.

Fixed in .NET 7 with #69992. This is a conservative, smaller
fix for .NET 6.

No SPMI asm diffs.

Verified with this repro (fail before, pass afterwards) from #64375:
```
using System;
using System.Numerics;
using System.Runtime.CompilerServices;

internal class Program
{
    [MethodImpl(MethodImplOptions.AggressiveOptimization)]
    public static void Main()
    {
        Matrix4x4 id = Matrix4x4.Identity;

        Action a = () => { var _ = id; };

        Console.WriteLine(
            Vector3.Cross(
                new Vector3(id.M11, id.M12, id.M13),
                new Vector3(id.M21, id.M22, id.M23)).Z);
    }
}
```
(pass means prints `1`)

Fixes #70391

23 months ago[release/6.0] Backport edge case fixes to XxHash32/XxHash64 (#73203)
github-actions[bot] [Thu, 11 Aug 2022 20:44:04 +0000 (13:44 -0700)]
[release/6.0] Backport edge case fixes to XxHash32/XxHash64 (#73203)

* Fix incremental XxHash32/XxHash64 (#69185)

* Fix xxHash64 handling of large (> 4GB) inputs (#73093)

* Bump package servicing version

Co-authored-by: froce <fwesen2@gmail.com>
Co-authored-by: Levi Broderick <GrabYourPitchforks@users.noreply.github.com>
Co-authored-by: Levi Broderick <levib@microsoft.com>
23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:38:23 +0000 (20:38 +0000)]
Merge in 'release/6.0' changes

23 months agofixed distroRid having the last version digit for alpine (#62942) (#70903)
Omair Majid [Thu, 11 Aug 2022 20:33:36 +0000 (16:33 -0400)]
fixed distroRid having the last version digit for alpine (#62942) (#70903)

Co-authored-by: Antoine Martin <dev@ayakael.net>
23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:30:43 +0000 (20:30 +0000)]
Merge in 'release/6.0' changes

23 months ago[release/6.0] JIT: Avoid removing multi-use boxes (#73014)
github-actions[bot] [Thu, 11 Aug 2022 20:28:08 +0000 (13:28 -0700)]
[release/6.0] JIT: Avoid removing multi-use boxes (#73014)

* JIT: Avoid removing multi-use boxes

There was an assumption that the local operand to a GT_BOX node is
single-use which was being violated when GDV clones these as arguments.
We now allow multi-uses of these locals by setting a flag when cloning
and then handle it in gtTryRemoveBoxUpstreamEffects.

There is also GTF_VAR_CLONED that would be set on the local itself, but
given that transformations can affect the operand local node arbitrarily
I went with another of these type of flags on GT_BOX instead.

Fix #72775

* Add a test

* Test nit

Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
23 months agoBackport 58806 (#73010)
Thays Grazia [Thu, 11 Aug 2022 20:26:43 +0000 (17:26 -0300)]
Backport 58806 (#73010)

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:24:54 +0000 (20:24 +0000)]
Merge in 'release/6.0' changes

23 months agoCreateSymbolicLink PInvoke retval must be marshalled as U1 (#69150) (#73004)
David Cantú [Thu, 11 Aug 2022 20:24:54 +0000 (15:24 -0500)]
CreateSymbolicLink PInvoke retval must be marshalled as U1 (#69150) (#73004)

* CreateSymbolicLink PInvoke retval must be marshalled as U1

* Fix redundant invocations of Environment.OSVersion.Version

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:19:33 +0000 (20:19 +0000)]
Merge in 'release/6.0' changes

23 months agoInclude EventLog.Messages in WindowsDesktop pack (#72809)
Viktor Hofer [Thu, 11 Aug 2022 20:17:46 +0000 (22:17 +0200)]
Include EventLog.Messages in WindowsDesktop pack (#72809)

Backport of https://github.com/dotnet/runtime/pull/72280

The System.Diagnostics.EventLog.Messages assembly is missing from the WindowsDesktop transport package. Adding it to the package and also making sure that it gets the right assembly version in servicing by adding it to the NetCoreAppLibrary.props file.

I verified that the assembly is now part of the package.

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:11:36 +0000 (20:11 +0000)]
Merge in 'release/6.0' changes

23 months ago[release/6.0] Support zero-byte reads on raw response streams in SocketsHttpHandler...
Miha Zupan [Thu, 11 Aug 2022 20:10:25 +0000 (22:10 +0200)]
[release/6.0] Support zero-byte reads on raw response streams in SocketsHttpHandler (#72804)

* Allow zero byte reads on raw HTTP/1.1 response streams

* Add test

23 months agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:03:51 +0000 (20:03 +0000)]
Merge in 'release/6.0' changes

23 months ago[release/6.0] [mono][jit] Fix an infinite loop in the abcrem pass. (#72504)
github-actions[bot] [Thu, 11 Aug 2022 20:00:55 +0000 (13:00 -0700)]
[release/6.0] [mono][jit] Fix an infinite loop in the abcrem pass. (#72504)

* [mono][jit] Fix an infinite loop in the abcrem pass.

Fixes https://github.com/dotnet/runtime/issues/71592.

* Add a test.

* Fix pri1 test build

* Fix the test.

* Update src/tests/JIT/Regression/JitBlue/Runtime_71592/test71592.csproj

Co-authored-by: Aleksey Kliger (λgeek) <aleksey@lambdageek.org>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <aleksey@lambdageek.org>