platform/upstream/dotnet/runtime.git
5 weeks ago[Tizen] Revert `TIZEN_ASAN_ENVIRONMENT` (#612) accepted/tizen_unified_dev accepted/tizen/unified/20240910.162231 accepted/tizen/unified/dev/20240913.055614
이형주/MDE Lab(SR)/삼성전자 [Tue, 10 Sep 2024 05:39:04 +0000 (14:39 +0900)]
[Tizen] Revert `TIZEN_ASAN_ENVIRONMENT` (#612)

* Revert "[Tizen] Enable Tizen ASan runtime support"

This reverts commit 19d2d657d1746c13febe1567d36c733da1f15018.

* Revert "[Tizen] Disable staticfilehost for ASan build"

This reverts commit cebb4cff7e883b3409e1432734046626372a2c3c.

* Revert "[Tizen] Enable ASan annotation of passing to native code buffers"

This reverts commit 26d87cb755de0f518f9582c6e4b627992946433a.

* Revert "[Tizen] Add missing copyright to tizen ASan related changes"

This reverts commit 331980a310c3bd96f89737bd3946ad1fe7d4ec7c.

* Revert "[Tizen] Implement ASan wrapper for Linux ARM32"

This reverts commit 0c89701aeadfcaf0764d644edc418001af5647ca.

* Revert "[Tizen] Implement ASan wrapper for Linux AMD64"

This reverts commit 00bed73747a2ba408feb1f8565f5758fed5035f2.

* Revert "[Tizen] Implement detecting of sanitized libraries"

This reverts commit 94c3b5b1f5c8e1487b8e488d315eca1942810244.

5 weeks ago[Tizen] Add GC heap hard limit for 32 bit
Gleb Balykov [Sun, 14 Jul 2024 20:22:12 +0000 (23:22 +0300)]
[Tizen] Add GC heap hard limit for 32 bit

Cherry-pick of https://github.com/dotnet/runtime/pull/101024 with changes required for .NET 6

7 weeks agoFix alloc-dealloc mismatch (#106957) accepted/tizen/unified/20240828.082359 accepted/tizen/unified/dev/20240829.043902
Gleb Balykov [Mon, 26 Aug 2024 20:20:29 +0000 (23:20 +0300)]
Fix alloc-dealloc mismatch (#106957)

3 months ago[Tizen] Apply PEImage::CleanAllReadOnlyPages() at the end of multicoreplay(#541) accepted/tizen/unified/20240703.100053 accepted/tizen/unified/dev/20240704.065636
이형주/MDE Lab(SR)/삼성전자 [Tue, 2 Jul 2024 10:17:39 +0000 (19:17 +0900)]
[Tizen] Apply PEImage::CleanAllReadOnlyPages() at the end of multicoreplay(#541)

3 months ago[Tizen] Add API to flush cache of PE files
ashaurtaev [Fri, 7 Jun 2024 17:54:04 +0000 (20:54 +0300)]
[Tizen] Add API to flush cache of PE files

Co-authored-by: Gleb Balykov <g.balykov@samsung.com>
This API allows to drop clean pages of IL-only and R2R dlls
!This patch should be rebased with caution, see comment for PEImageLayout::CleanAllReadOnlyPages!

How to call from c# code via reflection:

Type type = typeof(AssemblyLoadContext);
MethodInfo method = type.GetMethod("FlushPECaches");
if (method != null)
  method.Invoke(null, new object[]{});

3 months agoAdd EnableDiagnostics sub-configs for IPC, debugger, and profiler (#90159) accepted/tizen/unified/20240621.010437 accepted/tizen/unified/dev/20240701.073045
이형주/MDE Lab(SR)/삼성전자 [Thu, 20 Jun 2024 07:41:54 +0000 (16:41 +0900)]
Add EnableDiagnostics sub-configs for IPC, debugger, and profiler (#90159)

* Revert "[Tizen] Introduce EnableDebugger Config (#537)"

This reverts commit 05aa22a35cfd5c71b84d2e23f159542ac39b4ec2.

* Add EnableDiagnostics sub-configs for IPC, debugger, and profiler (#90159)

---------

Co-authored-by: Tom McDonald <tommcdon@microsoft.com>
3 months ago[Tizen] Introduce EnableDebugger Config (#537)
이형주/MDE Lab(SR)/삼성전자 [Thu, 20 Jun 2024 01:49:10 +0000 (10:49 +0900)]
[Tizen] Introduce EnableDebugger Config (#537)

* Introduce EnableDebugger Config

* Change the default value

8 months ago[Tizen] Fix build error for Clang-16+ (#399) accepted/tizen/unified/20240215.175757 accepted/tizen/unified/dev/20240620.010646
이형주/MDE Lab(SR)/삼성전자 [Thu, 15 Feb 2024 10:34:24 +0000 (19:34 +0900)]
[Tizen] Fix build error for Clang-16+ (#399)

This commit is a mix of upstream commits specific to tizen unified.

* [release/7.0] Suppress clang-16 warnings (backport #81573) (#84444)

Fix DBI loading problem on Linux (#82461)

* Use logical and for boolean operation in bstr (#67858)

This seems like a mistake and recent versions of clang even complain
about it:

    /runtime/src/coreclr/palrt/bstr.cpp:50:13: error: use of bitwise '&' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
            if (SUCCEEDED(ULongMult(cchSize, sizeof(WCHAR), &temp)) &
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                    &&
    /runtime/src/coreclr/pal/inc/pal.h:5144:27: note: expanded from macro 'SUCCEEDED'
    #define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
                              ^
    /runtime/src/coreclr/palrt/bstr.cpp:50:13: note: cast one or both operands to int to silence this warning
    /runtime/src/coreclr/pal/inc/pal.h:5144:27: note: expanded from macro 'SUCCEEDED'
    #define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
                              ^
    1 error generated.

* Fix Wunqualified-std-cast-call in singlefilehost (#72305)

Modified by hand due to mingling w/ other commits

---------

Co-authored-by: Antoine Martin <dev@ayakael.net>
Co-authored-by: Omair Majid <omajid@redhat.com>
9 months agoFix Unix ARM floating point registers unwinding (#58915) (#358) accepted/tizen/unified/20240112.154601
이형주/MDE Lab(SR)/삼성전자 [Thu, 11 Jan 2024 03:37:30 +0000 (12:37 +0900)]
Fix Unix ARM floating point registers unwinding (#58915) (#358)

* Fix Unix ARM floating point registers unwinding

There are two problems unwinding ARM floating point registers. One is that the PAL_VirtualUnwind
is not supporting that and the second is that the libunwind we carry and use actually doesn't
have support for unwinding those.

This change updates the libunwind so that both exidx and dwarf ways of unwinding can unwind
these registers and also adds support to our PAL_VirtualUnwind to copy the callee saved
floating point registers D8..D15 between the native and windows style contexts.

I am planning to make a PR for the libunwind upstream, but given the very low amount of time
we have remaining for .NET 6 completion, I am making the change here first. Once I get them
upstream later, I'll update the whole libunwind from there.

* Enable the related test

Co-authored-by: Jan Vorlicek <jan.vorlicek@volny.cz>
9 months agoDeprecate ICU ucol_safeClone and support ucol_clone (#68847) (#375)
이형주/MDE Lab(SR)/삼성전자 [Thu, 11 Jan 2024 03:36:08 +0000 (12:36 +0900)]
Deprecate ICU ucol_safeClone and support ucol_clone (#68847) (#375)

* Change compile time dependency of ICU API ucol_setMaxVariable to be runtime instead. (#58485)

* Change compile time dependency of ICU API ucol_setMaxVariable to be runtime instead.

* Fix Android Build Break

* Deprecate ICU ucol_safeClone and support ucol_clone (#68847)

Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
9 months ago[Tizen] Remove unnecessary requires in the spec
Woongsuk Cho [Wed, 10 Jan 2024 00:34:13 +0000 (09:34 +0900)]
[Tizen] Remove unnecessary requires in the spec

In the spec file, the crossgen2-mic package requires the coreclr package.
Because of this, the coreclr package is included in image which doesnot support .NET feature.
To fix this, remove the require section of crossgen2-mic.

10 months ago[Tizen] Fix patchelf skipping (#369) accepted/tizen/unified/20231219.160330
이형주/MDE Lab(SR)/삼성전자 [Mon, 18 Dec 2023 21:24:50 +0000 (06:24 +0900)]
[Tizen] Fix patchelf skipping (#369)

10 months ago[Tizen] Support GBS incremental build (#368)
이형주/MDE Lab(SR)/삼성전자 [Mon, 18 Dec 2023 03:29:22 +0000 (12:29 +0900)]
[Tizen] Support GBS incremental build (#368)

* [Tizen] Support GBS incremental build
* [Tizen] Optimize patchelf step

11 months ago[Tizen] Generate source-level debug information with dwarf version 4 (#347) accepted/tizen/unified/20231114.041326
이형주/MDE Lab(SR)/삼성전자 [Fri, 10 Nov 2023 08:49:44 +0000 (17:49 +0900)]
[Tizen] Generate source-level debug information with dwarf version 4 (#347)

* [Tizen] Generate source-level debug information with dwarf version 4

Tizen 9.0 uses Clang-15 while GDB is currently 8.3.1
Dwarf error occurs with this combination as Clang-15 generates dwarf5

```
(gdb) r
Starting program: /usr/bin/dotnet /opt/share/thread_priority.dll
warning: File "/usr/lib/libthread_db-1.0.so" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
        add-auto-load-safe-path /usr/lib/libthread_db-1.0.so
line to your configuration file "/root/.gdbinit".
To completely disable this security protection add
        set auto-load safe-path /
line to your configuration file "/root/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
        info "(gdb)Auto-loading safe path"
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
Dwarf Error: Cannot handle DW_FORM_strx1 in DWARF reader [in module /usr/lib/debug/usr/share/dotnet/shared/Microsoft.NETCore.App/6.0.9/libcoreclr.so.debug]
Dwarf Error: Cannot handle DW_FORM_strx1 in DWARF reader [in module /usr/lib/debug/usr/share/dotnet/shared/Microsoft.NETCore.App/6.0.9/libcoreclrtraceptprovider.so.debug]
[New LWP 2262]
```

More details at https://discourse.llvm.org/t/gdb-10-1-cant-read-clangs-dwarf-v5/6035/12

* apply feedback

14 months ago[Tizen] Change the location and value for generating vconf of runtime_version accepted/tizen_8.0_unified tizen_8.0 accepted/tizen/8.0/unified/20231005.094805 accepted/tizen/unified/20230731.175321 tizen_8.0_m2_release
j-h.choi [Fri, 28 Jul 2023 02:07:36 +0000 (11:07 +0900)]
[Tizen] Change the location and value for generating vconf of runtime_version

15 months ago[Tizen] Openssl 1.1 -> 3 accepted/tizen/unified/20230720.164637
Hyungju Lee [Thu, 20 Jul 2023 04:37:37 +0000 (13:37 +0900)]
[Tizen] Openssl 1.1 -> 3

15 months ago[Tizen] Omit SIGTERM handler accepted/tizen/unified/20230710.154008
Hyungju Lee [Mon, 10 Jul 2023 00:33:42 +0000 (09:33 +0900)]
[Tizen] Omit SIGTERM handler

SIGTERM handling in Tizen requires _exit() call to avoid SIGSEGV during exit() call.
Usually, SIGSEGV occurs due to resource use in shared pointer after cleanup in exit() call.

16 months ago[Tizen] fix determin lib name variation logic accepted/tizen/7.0/unified/20230619.172241 accepted/tizen/unified/20230620.022518
Woongsuk Cho [Thu, 8 Dec 2022 08:37:12 +0000 (17:37 +0900)]
[Tizen] fix determin lib name variation logic

backport : https://github.com/dotnet/runtime/pull/79370

16 months ago[Tizen] Select ICU build time version
Woongsuk Cho [Thu, 8 Dec 2022 08:33:34 +0000 (17:33 +0900)]
[Tizen] Select ICU build time version

Backport : https://github.com/dotnet/runtime/pull/79259/

16 months ago.NET 6: enable building on platforms where strict-prototypes is on by default. (... accepted/tizen/7.0/unified/20230614.162021 accepted/tizen/unified/20230615.060058 accepted/tizen/unified/dev/20230726.115410
Tom Deseyn [Fri, 10 Mar 2023 00:19:24 +0000 (01:19 +0100)]
.NET 6: enable building on platforms where strict-prototypes is on by default. (#82525)

Without this, .NET 6 fails to build on the upcoming Fedora 39.

16 months ago[Tizen] built-in symbol check for __cpuid and __cpuidex
Hyungju Lee [Wed, 14 Jun 2023 04:52:40 +0000 (13:52 +0900)]
[Tizen] built-in symbol check for __cpuid and __cpuidex

16 months agoRemove calling convention modifiers from cpuid sig
Adeel Mujahid [Tue, 21 Mar 2023 00:03:59 +0000 (02:03 +0200)]
Remove calling convention modifiers from cpuid sig
> /runtime/src/coreclr/vm/cgensys.h:107:26: error: stdcall calling convention is not supported on builtin function [-Werror,-Wignored-attributes]

16 months ago[Tizen][ARM64] CompactedFixupPrecode fix assert and DAC accepted/tizen/7.0/unified/20230612.165255 accepted/tizen/unified/20230612.072231
Timur Mustafin [Wed, 7 Jun 2023 12:29:33 +0000 (15:29 +0300)]
[Tizen][ARM64] CompactedFixupPrecode fix assert and DAC

18 months agoFix build with clang 15 (partial cherry-pick of https://github.com/dotnet/runtime... accepted/tizen/7.0/unified/20230503.111419 accepted/tizen/unified/20230601.162928
Gleb Balykov [Mon, 10 Apr 2023 10:35:23 +0000 (13:35 +0300)]
Fix build with clang 15 (partial cherry-pick of https://github.com/dotnet/runtime/pull/73065)

18 months ago[Tizen] Add CompactedFixupPrecode chunks for aarch64
Timur Mustafin [Thu, 29 Dec 2022 13:22:39 +0000 (16:22 +0300)]
[Tizen] Add CompactedFixupPrecode chunks for aarch64

19 months ago[Tizen] Disable AVX instruction set on GenericsTest
Aleksandr Shaurtaev [Wed, 15 Mar 2023 13:20:52 +0000 (16:20 +0300)]
[Tizen] Disable AVX instruction set on GenericsTest

19 months ago[Tizen] Add coreclr skips for x64 emulator
Aleksandr Shaurtaev [Wed, 1 Mar 2023 15:41:56 +0000 (18:41 +0300)]
[Tizen] Add coreclr skips for x64 emulator
These are mostly a subset of src/tests/issues.targets with some additional excludes:

- readytorun/r2rdump/FrameworkTests/R2RDumpTests/R2RDumpTests is excluded because System.Private.CoreLib.dll is not a r2r image in default mode
- Deserialize get killed

19 months ago[Tizen] Create mcj data in '/tmp/.dotnet/mcj/'
j-h.choi [Tue, 14 Feb 2023 06:45:02 +0000 (15:45 +0900)]
[Tizen] Create mcj data in '/tmp/.dotnet/mcj/'

20 months ago[Tizen] Add missing symlink file to rpm accepted/tizen/7.0/unified/20230202.173331 accepted/tizen/unified/20230206.093818 accepted/tizen/unified/20230206.093934
Hyungju Lee [Thu, 2 Feb 2023 01:30:02 +0000 (10:30 +0900)]
[Tizen] Add missing symlink file to rpm

20 months ago[Tizen] Fix multithreaded build and fix hanging dotnet processes after build is finished
Gleb Balykov [Thu, 24 Nov 2022 11:39:50 +0000 (14:39 +0300)]
[Tizen] Fix multithreaded build and fix hanging dotnet processes after build is finished

20 months ago[Tizen] Partially fix failing CoreFX tests
Gleb Balykov [Fri, 14 Oct 2022 16:28:11 +0000 (19:28 +0300)]
[Tizen] Partially fix failing CoreFX tests

- set USER env variable for "sdb shell <script>" launch, for some reason it doesn't set it by default (manual launch of script from inside shell on device has USER env variable set correctly)
- set SUDO_USER env variable equal to USER env variable
- enable redirect of pal debug messages to stderr (i.e. PAL_OUTPUTDEBUGSTRING=1) only under special option (for example, this prints Environment.FailFast messages to stderr before exiting, see original commit for more details: https://github.com/dotnet/runtime/commit/2d2acbb836e66cd934acd4d7e7f5fc45cfbb9c10); some tests expect certain data in stderr and these debug messages trash it, besides, these debug messages are most probably unneeded
- add skips for System.Diagnostics.Process.Tests, System.Net.Ping.Functional.Tests, System.Xml.XmlSerializer.ReflectionOnly.Tests
- pack Baselines and TestClasses dirs for Microsoft.Extensions.Logging.Generators.Roslyn3.11.Tests and Microsoft.Extensions.Logging.Generators.Roslyn4.0.Tests
- pack runtimeGroups.props for Microsoft.NETCore.Platforms.Tests
- pack testroot dir for Microsoft.Extensions.Hosting.Unit.Tests
- pack ibm-fpgen.txt for System.Runtime.Tests and System.Runtime.Experimental.Tests
- replace dotnet executable name with corerun for System.Configuration.ConfigurationManager.Tests

20 months ago[Tizen] Partially handle runtimeconfig.json in corerun
Gleb Balykov [Mon, 17 Oct 2022 15:58:21 +0000 (18:58 +0300)]
[Tizen] Partially handle runtimeconfig.json in corerun

runtimeconfig.json parser is very limited (and actually not fully correct) and is supposed to be used only with what corefx tests build system generates, for example:

{
  "runtimeOptions": {
    "tfm": "net6.0"
    "rollForward": "Major"
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "6.0.9"
    },
    "configProperties": {
      "System.Reflection.Metadata.MetadataUpdater.IsSupported": false
    }
  }
}

Properties are set using keys and values that are passed to coreclr_initialize options. Alternative to this is to use System.AppContext.SetSwitch delegate.

21 months ago[Tizen] Add symlink to 6.0.0, which is included in tizen 7.0 release accepted/tizen/7.0/unified/20230131.162908
Gleb Balykov [Fri, 18 Nov 2022 07:30:59 +0000 (10:30 +0300)]
[Tizen] Add symlink to 6.0.0, which is included in tizen 7.0 release

22 months ago[Tizen] Add printf_status functions to libdnetmemoryenumlib accepted/tizen/unified/20221209.124057
Mateusz Moscicki [Tue, 6 Dec 2022 09:24:10 +0000 (10:24 +0100)]
[Tizen] Add printf_status functions to libdnetmemoryenumlib

These functions must be defined because internal code calls
printf_stats() and printf_error(), which exists only in main.cpp

22 months ago[Tizen] Fix ILCompiler tests packing
Gleb Balykov [Thu, 24 Nov 2022 17:55:43 +0000 (20:55 +0300)]
[Tizen] Fix ILCompiler tests packing

23 months ago[Tizen] Add options to skip managed and SPC.dll builds accepted/tizen/unified/20221108.163854
Gleb Balykov [Mon, 31 Oct 2022 13:59:09 +0000 (16:59 +0300)]
[Tizen] Add options to skip managed and SPC.dll builds

23 months ago[Tizen] Update dotnet version to 6.0.9 in spec
Gleb Balykov [Sun, 6 Nov 2022 15:01:55 +0000 (18:01 +0300)]
[Tizen] Update dotnet version to 6.0.9 in spec

2 years agoFix heap corruption issue 68443. (#69106) accepted/tizen/unified/20221103.165808
Peter Sollich [Tue, 10 May 2022 16:13:43 +0000 (18:13 +0200)]
Fix heap corruption issue 68443. (#69106)

This has first seen with regions, but should be an issue with segments as well.

What happened was that in revisit_written_pages, we determined the highest allocated address in a region, then obtained the dirty pages up to that high address.

In parallel, another thread allocated a new object after the high address and wrote to it.

The background GC thread saw the dirty page, but didn't explore the object because it was after its stale value for the high address. That caused some objects pointed at from the beginning of the new object to be seen as dead by background GC.

Because the allocating thread also set the card table entries, the next ephemeral GC crashed because the references from the new object were now invalid.

The fix is to refetch the high address after we have obtained the dirty pages. That way, we'll explore new objects allocated while we were getting the dirty pages. New objects allocated and written to after we obtained the dirty pages will cause more dirty pages and will thus be explored later.

My repro case that caused about a crash every two hours or so has run overnight with this fix without issues.

2 years ago[Tizen] fix for dotnet specific arguments in corerun
Gleb Balykov [Fri, 14 Oct 2022 14:21:39 +0000 (17:21 +0300)]
[Tizen] fix for dotnet specific arguments in corerun

2 years ago[Tizen] Add coreclr crossgen2 skips for RPI4 for armhf
Gleb Balykov [Fri, 7 Oct 2022 10:15:26 +0000 (13:15 +0300)]
[Tizen] Add coreclr crossgen2 skips for RPI4 for armhf
These are mostly a subset of src/tests/issues.targets with some additional excludes:

- BasicTestWithMcj is skipped because it manually invokes crossgen2

2 years ago[Tizen] Add coreclr skips for RPI4 for armhf
Gleb Balykov [Fri, 7 Oct 2022 10:14:35 +0000 (13:14 +0300)]
[Tizen] Add coreclr skips for RPI4 for armhf
These are mostly a subset of src/tests/issues.targets with some additional excludes:

- readytorun/r2rdump/FrameworkTests/R2RDumpTests/R2RDumpTests is excluded because System.Private.CoreLib.dll is not a r2r image in default mode
- Deserialize, Serialize get killed

2 years ago[Tizen] Build corefx-test as arch dependent
Gleb Balykov [Tue, 4 Oct 2022 09:15:10 +0000 (12:15 +0300)]
[Tizen] Build corefx-test as arch dependent

2 years ago[Tizen] make corefx-managed as noarch pkg
Hyungju Lee [Mon, 3 Oct 2022 23:39:22 +0000 (08:39 +0900)]
[Tizen] make corefx-managed as noarch pkg

2 years ago[Tizen] Add coreclr crossgen2 skips for RPI4 for arm64
Gleb Balykov [Thu, 29 Sep 2022 09:17:11 +0000 (12:17 +0300)]
[Tizen] Add coreclr crossgen2 skips for RPI4 for arm64
These are mostly a subset of src/tests/issues.targets with some additional excludes:

- BasicTestWithMcj is skipped because it manually invokes crossgen2

2 years ago[Tizen] Add coreclr skips for RPI4 for arm64
Gleb Balykov [Thu, 29 Sep 2022 09:16:34 +0000 (12:16 +0300)]
[Tizen] Add coreclr skips for RPI4 for arm64
These are mostly a subset of src/tests/issues.targets with some additional excludes:

- readytorun/r2rdump/FrameworkTests/R2RDumpTests/R2RDumpTests is excluded because System.Private.CoreLib.dll is not a r2r image in default mode
- Deserialize, Serialize get killed

2 years ago[Tizen] Add coreclr crossgen2 skips for TM1/TW3 for armel
Gleb Balykov [Mon, 26 Sep 2022 14:23:33 +0000 (17:23 +0300)]
[Tizen] Add coreclr crossgen2 skips for TM1/TW3 for armel

These are mostly a subset of src/tests/issues.targets with some additional excludes:
- crossgen2 for HugeField2 gets killed
- BasicTestWithMcj is skipped because it manually invokes crossgen2

2 years ago[Tizen] Add coreclr skips for TM1/TW3 for armel
Gleb Balykov [Mon, 26 Sep 2022 14:12:50 +0000 (17:12 +0300)]
[Tizen] Add coreclr skips for TM1/TW3 for armel

These are mostly a subset of src/tests/issues.targets with some additional excludes:
- readytorun/r2rdump/FrameworkTests/R2RDumpTests/R2RDumpTests is excluded because System.Private.CoreLib.dll is not a r2r image in default mode
- hugeexpr1, Deserialize, Serialize get killed

2 years agoFree getline buffer after use (#74899)
Hyungju Lee [Fri, 16 Sep 2022 12:02:07 +0000 (21:02 +0900)]
Free getline buffer after use (#74899)

* Free getline buffer after use

* Apply Feedback

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years ago[Tizen] Enable aggresive optimization for aarch64
Woongsuk Cho [Thu, 1 Sep 2022 21:24:53 +0000 (06:24 +0900)]
[Tizen] Enable aggresive optimization for aarch64

In case of aarch64, DISABLE_AGGRESSIVE_OPT option makes start-time slow and use a lot of memory.
So, enable aggressive optimization for aarch64.

2 years ago[Tizen] Fix module setup in mcj-edit for generic args and fnptr args
Gleb Balykov [Tue, 9 Aug 2022 10:00:51 +0000 (13:00 +0300)]
[Tizen] Fix module setup in mcj-edit for generic args and fnptr args

See usage of GetTypeHandleThrowing in src/coreclr/vm/siginfo.cpp for more details.

2 years agoAsan alloc-dealloc-mismatch
Hyungju Lee [Mon, 8 Aug 2022 00:20:42 +0000 (09:20 +0900)]
Asan alloc-dealloc-mismatch

2 years agoFix ASAN violation under Samsung's netcoredbg (#69339)
Mike McLaughlin [Mon, 16 May 2022 22:11:36 +0000 (15:11 -0700)]
Fix ASAN violation under Samsung's netcoredbg (#69339)

* Fix ASAN violation under Samsung's netcoredbg

Fixes issue https://github.com/dotnet/runtime/issues/62281

The wrong holder was being used in DacDbiInterfaceImpl::GetNativeVarData(); change to NewArrayHolder.

Added new/delete operators to Exception so when it is thrown from the DAC and caught/deleted in DBI, the
correct C++ allocator is used. When the DAC is called by DBI, g_pAllocator points to the DBI allocator.

* Code review feedback

2 years ago[Tizen] Fix property setup for DisableAggressiveOpt
Gleb Balykov [Tue, 28 Jun 2022 16:01:52 +0000 (19:01 +0300)]
[Tizen] Fix property setup for DisableAggressiveOpt

2 years ago[Tizen] Add truncate command to mcj-edit
Gleb Balykov [Thu, 23 Jun 2022 09:58:18 +0000 (12:58 +0300)]
[Tizen] Add truncate command to mcj-edit

2 years ago[Tizen] Fix calculation of method count for modules
Gleb Balykov [Wed, 22 Jun 2022 19:33:48 +0000 (22:33 +0300)]
[Tizen] Fix calculation of method count for modules

This was a bit out of sync with the way runtime increments methodCount in MulticoreJitRecorder::EncodeModule.
Value of methodCount for module is not used in runtime, but anyway this is a bug and merge of module with itself
without this patch produces different sha256 because counters did not match. After this patch sha256 match.

2 years ago[Tizen] Fix typo for size of longCounters
Gleb Balykov [Wed, 15 Jun 2022 13:13:02 +0000 (16:13 +0300)]
[Tizen] Fix typo for size of longCounters

2 years ago[Tizen] More R2R Compilation
Dong-Heon Jung [Wed, 18 May 2022 04:59:29 +0000 (13:59 +0900)]
[Tizen] More R2R Compilation

Compiles more methods which have IsAggressiveOptimization attribute.

2 years agoFix ICorDebugFunction2::GetVersionNumber for arm32.
Mikhail Kurinnoi [Fri, 27 May 2022 15:29:49 +0000 (18:29 +0300)]
Fix ICorDebugFunction2::GetVersionNumber for arm32.

2 years agoDo not use ExecutableMemoryAllocator on 64 bit platforms if default base address...
Gleb Balykov [Thu, 9 Jun 2022 18:35:12 +0000 (21:35 +0300)]
Do not use ExecutableMemoryAllocator on 64 bit platforms if default base address usage is requested

2 years ago[Tizen] Add mcj-edit.py tool that can modify MultiCoreJit profiles.
Gleb Balykov [Fri, 22 Apr 2022 10:28:32 +0000 (13:28 +0300)]
[Tizen] Add mcj-edit.py tool that can modify MultiCoreJit profiles.

Available commands:
- split (splits mcj profile in app-dependent and app-independent based on modules)
- merge (merges mcj profiles in one profile)
- verify (verifies correctness of mcj profile)
- find (finds method or module in mcj profile)
- compare (compares mcj profiles)
- clean-stats (cleans mcj profile usage stats)
- print (prints mcj profile)
- help (shows short summary on some aspects of mcj profile)
- self-test (performs some testing)

See README for more details on usage, see examples/ for examples of mcj profiles.

2 years ago[Tizen] Add missing copyright to tizen ASan related changes
Gleb Balykov [Tue, 26 Apr 2022 10:18:33 +0000 (13:18 +0300)]
[Tizen] Add missing copyright to tizen ASan related changes

2 years agoCheck MultiCoreJit code cache before trying to jit method in mcj thread
Gleb Balykov [Tue, 5 Apr 2022 10:03:17 +0000 (13:03 +0300)]
Check MultiCoreJit code cache before trying to jit method in mcj thread

This is needed when multiple profiles are played and same methods exist in them.
Without this change, if method was not yet requested in main thread,
it will be jitted as many times in mcj thread as it appears in all profiles.

2 years agocrossgen2: Add --imagebase option (#65567)
t-mustafin [Wed, 27 Apr 2022 22:48:12 +0000 (01:48 +0300)]
crossgen2: Add --imagebase option (#65567)

--imagebase option set preferable ImageBase field to output PE-file

2 years ago[Tizen] Move createdump to CoreCLR binary part.
Mikhail Kurinnoi [Tue, 22 Feb 2022 15:03:42 +0000 (07:03 -0800)]
[Tizen] Move createdump to CoreCLR binary part.

2 years agoAdd Linux x86 createdump code.
Mikhail Kurinnoi [Tue, 22 Feb 2022 14:58:35 +0000 (06:58 -0800)]
Add Linux x86 createdump code.

2 years 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.

2 years 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)

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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>
2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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

2 years 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

2 years 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.

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

2 years 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));

2 years 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

2 years 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

2 years 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

2 years 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]
```

2 years 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.