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>
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>
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>
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>
j-h.choi [Tue, 8 Jun 2021 05:14:12 +0000 (14:14 +0900)]
[Tizen] Add new vconf to set runtime_version
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
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.
Gleb Balykov [Fri, 2 Aug 2019 14:28:27 +0000 (17:28 +0300)]
[Tizen] Disable jithost arena cache
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));
Woongsuk Cho [Thu, 9 May 2019 09:02:22 +0000 (18:02 +0900)]
[Tizen] separate PIC and PIE to fix x86_64 build error
Woongsuk Cho [Thu, 12 Dec 2019 11:41:39 +0000 (20:41 +0900)]
[Tizen] add pie linker option to createdump
Swift Kim [Thu, 1 Aug 2019 06:10:49 +0000 (15:10 +0900)]
[Tizen] Add a config knob for importing ibc files
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]
```
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.
Yaroslav Yamshchikov [Thu, 18 Jul 2019 10:14:14 +0000 (13:14 +0300)]
[Tizen] add access(2) call before dlopening files
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.
Hyungju Lee [Wed, 13 Mar 2019 00:28:54 +0000 (09:28 +0900)]
[Tizen] Update .gitignore
Igor Kulaychuk [Wed, 25 Apr 2018 18:31:59 +0000 (21:31 +0300)]
[Tizen] Fix OOPStackUnwinderX86::Unwind crash when Eip is invalid
Igor Kulaychuk [Fri, 20 Apr 2018 20:52:57 +0000 (23:52 +0300)]
[Tizen] Fix EECodeManager::GetAmbientSP on x86/Linux
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
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)
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)
Gleb Balykov [Tue, 7 Dec 2021 09:12:31 +0000 (12:12 +0300)]
[Tizen] Hardcode LD_GNU for tizen
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.
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.
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.
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.
dotnet-bot [Fri, 19 Aug 2022 16:58:11 +0000 (16:58 +0000)]
Merge in 'release/6.0' changes
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)
dotnet-bot [Fri, 19 Aug 2022 14:35:59 +0000 (14:35 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Thu, 18 Aug 2022 21:13:45 +0000 (21:13 +0000)]
Merge in 'release/6.0' changes
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)
dotnet-bot [Tue, 16 Aug 2022 22:22:34 +0000 (22:22 +0000)]
Merge in 'release/6.0' changes
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)
dotnet-bot [Mon, 15 Aug 2022 23:53:12 +0000 (23:53 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Mon, 15 Aug 2022 20:06:19 +0000 (20:06 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Mon, 15 Aug 2022 19:53:41 +0000 (19:53 +0000)]
Merge in 'release/6.0' changes
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>
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)
dotnet-bot [Mon, 15 Aug 2022 17:38:25 +0000 (17:38 +0000)]
Merge in 'release/6.0' changes
Larry Ewing [Mon, 15 Aug 2022 17:24:34 +0000 (12:24 -0500)]
Rework pack version update logic (#72147)
dotnet-bot [Sun, 14 Aug 2022 01:12:08 +0000 (01:12 +0000)]
Merge in 'release/6.0' changes
Marc Paine [Sun, 14 Aug 2022 00:59:20 +0000 (17:59 -0700)]
Fix runtime pack aliasing (#73885)
dotnet-bot [Sat, 13 Aug 2022 00:09:33 +0000 (00:09 +0000)]
Merge in 'release/6.0' changes
Juan Hoyos [Fri, 12 Aug 2022 23:56:07 +0000 (16:56 -0700)]
Add ManifestMsiVersion to CreateVisualStudioWorkload call (#73877)
dotnet-bot [Fri, 12 Aug 2022 22:03:56 +0000 (22:03 +0000)]
Merge in 'release/6.0' changes
Juan Hoyos [Fri, 12 Aug 2022 21:50:37 +0000 (14:50 -0700)]
Update internal tool service connection (#73869)
dotnet-bot [Fri, 12 Aug 2022 20:26:46 +0000 (20:26 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Fri, 12 Aug 2022 19:49:59 +0000 (19:49 +0000)]
Merge in 'release/6.0' changes
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
dotnet-bot [Fri, 12 Aug 2022 19:12:58 +0000 (19:12 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Fri, 12 Aug 2022 17:09:41 +0000 (17:09 +0000)]
Merge in 'release/6.0' changes
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)
dotnet-bot [Fri, 12 Aug 2022 06:37:52 +0000 (06:37 +0000)]
Merge in 'release/6.0' changes
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
dotnet-bot [Fri, 12 Aug 2022 01:47:17 +0000 (01:47 +0000)]
Merge in 'release/6.0' changes
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)
dotnet-bot [Thu, 11 Aug 2022 21:02:27 +0000 (21:02 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Thu, 11 Aug 2022 20:48:02 +0000 (20:48 +0000)]
Merge in 'release/6.0' changes
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
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>
dotnet-bot [Thu, 11 Aug 2022 20:38:23 +0000 (20:38 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Thu, 11 Aug 2022 20:30:43 +0000 (20:30 +0000)]
Merge in 'release/6.0' changes
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>
Thays Grazia [Thu, 11 Aug 2022 20:26:43 +0000 (17:26 -0300)]
Backport 58806 (#73010)
dotnet-bot [Thu, 11 Aug 2022 20:24:54 +0000 (20:24 +0000)]
Merge in 'release/6.0' changes
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
dotnet-bot [Thu, 11 Aug 2022 20:19:33 +0000 (20:19 +0000)]
Merge in 'release/6.0' changes
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.
dotnet-bot [Thu, 11 Aug 2022 20:11:36 +0000 (20:11 +0000)]
Merge in 'release/6.0' changes
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
dotnet-bot [Thu, 11 Aug 2022 20:03:51 +0000 (20:03 +0000)]
Merge in 'release/6.0' changes
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>
Mike McLaughlin [Thu, 11 Aug 2022 19:55:48 +0000 (12:55 -0700)]
Azure ML Watson bucketing for Linux coredumps is broken because the ELF unwind isn't fully present. Everything evens up in one big bucket. (#72417)
Properly calculate the ELF unwind info section size
Uses the same method that windbg does to calculate the eh_frame section size by partial decoding the FDE/CIE's enough to figure out the total size. We can't use the .eh_frame section because ELF module sections are not in-memory.
Change the ReadMemoryAdapter passed to the new PAL_GetUnwindInfoSize function to read memory directly and not add it to the memory region list
Local testing. More TBD.
Low risk. Affects only createdump.
github-actions[bot] [Thu, 11 Aug 2022 19:48:52 +0000 (12:48 -0700)]
[release/6.0] [Android] Port getifaddrs implementation from Xamarin.Android (#72097)
* Port getifaddrs implementation from monodroid
* Fix usage of TARGET_ANDROID
* Disable debug logs by default
* Fix checking for debug
* Fix build error related to __VA_ARGS__
* Fix automatic backport
Co-authored-by: Simon Rozsival <simon@rozsival.com>
dotnet-bot [Thu, 11 Aug 2022 17:59:05 +0000 (17:59 +0000)]
Merge in 'release/6.0' changes
ws77.cho [Thu, 11 Aug 2022 17:53:57 +0000 (02:53 +0900)]
Re-create profile data on profile-use-only mode (#71754)
Activate multicorejit recorder to re-create the profile data
when the multicorejit player cannot be executed due to BADIMAGEFORMAT error on profile-use-only mode
github-actions[bot] [Thu, 11 Aug 2022 17:52:06 +0000 (10:52 -0700)]
[mono] Ensure exception_message points to a string (#72002)
Co-authored-by: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
github-actions[bot] [Thu, 11 Aug 2022 17:49:33 +0000 (10:49 -0700)]
[release/6.0] Work around for UriFormatException caused by \\?\ prefix in the path (#71452)
* Work around for UriFormatException caused by \?\ prefix in the path
* Apply feedback
* Move try catch
* Fix ConfigurationManager when BaseDirectory starts with \\?" (#58627)
* Add servicing version to the project
Co-authored-by: Buyaa Namnan <bunamnan@microsoft.com>
Co-authored-by: Krzysztof Wicher <kwicher@microsoft.com>
github-actions[bot] [Thu, 11 Aug 2022 17:45:50 +0000 (10:45 -0700)]
Console.Unix: fix missing terminal configuration on SIGINT/SIGQUIT/SIGCONT. (#64985)
The introduction of the managed API for signal handling (PosixSignal)
inadvertently caused terminal configuration to no longer be performed
when no managed handlers are registered.
This adds back the unconditional registration for SIGINT/SIGQUIT/SIGCONT.
The missing registrations can cause the terminal to stop echoing when an
application terminates on Ctrl-C.
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
dotnet-bot [Tue, 9 Aug 2022 22:37:09 +0000 (22:37 +0000)]
Merge in 'release/6.0' changes
Carlos Sanchez [Tue, 9 Aug 2022 22:23:03 +0000 (15:23 -0700)]
Merge pull request #73640 from vseanreesermsft/internal-merge-6.0-2022-08-09-1111
Merging internal commits for release/6.0
Sean Reeser [Tue, 9 Aug 2022 18:11:43 +0000 (11:11 -0700)]
Merge commit '
55fb7ef977e7d120dc12f0960edcff0739d7ee0e' into internal-merge-6.0-2022-08-09-1111
dotnet-bot [Mon, 8 Aug 2022 15:55:09 +0000 (15:55 +0000)]
Merge in 'release/6.0' changes
Jacques Eloff [Mon, 8 Aug 2022 15:42:49 +0000 (08:42 -0700)]
Fix aka.ms links in build promotion for VSDROP (#73483)
dotnet-bot [Fri, 5 Aug 2022 12:40:58 +0000 (12:40 +0000)]
Merge in 'release/6.0' changes
Larry Ewing [Fri, 5 Aug 2022 12:27:08 +0000 (07:27 -0500)]
[release/6.0][mono] add 400 band workloads (#72379)
This is to work around the broken sdk workload band install logic that has since been fixed.
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
dotnet-bot [Fri, 5 Aug 2022 01:15:12 +0000 (01:15 +0000)]
Merge in 'release/6.0' changes
Jacques Eloff [Fri, 5 Aug 2022 01:02:17 +0000 (18:02 -0700)]
Update Arcade + Workloads (#72947)
Update Arcade and the workloads project to leverage the new build tasks.
This also fixes the publishing issues we previously saw in the blob artifacts because of duplicate files. Instead, we'll create unique zip files per SDK featurebands for the workloads that will be used for creating the VSDROPs in dotnet-stage.
dotnet-bot [Wed, 3 Aug 2022 08:13:58 +0000 (08:13 +0000)]
Merge in 'release/6.0' changes
vseanreesermsft [Wed, 3 Aug 2022 08:01:27 +0000 (01:01 -0700)]
Update branding to 6.0.9 (#73270)
dotnet-bot [Wed, 27 Jul 2022 21:15:53 +0000 (21:15 +0000)]
Merge in 'release/6.0' changes
Matt Galbraith [Wed, 27 Jul 2022 20:58:35 +0000 (13:58 -0700)]
Update windows.10.amd64.server20h2 to windows.amd64.server2022 (#72868)
* Update windows.10.amd64.server20h2 to windows.amd64.server2022, as 20H2 is end-of-life this month
dotnet-bot [Wed, 13 Jul 2022 16:56:12 +0000 (16:56 +0000)]
Merge in 'release/6.0' changes
Omair Majid [Wed, 13 Jul 2022 16:40:52 +0000 (11:40 -0500)]
Fix building with clang 14 (#69990)
Under clang 14, building runtime on Linux with a simple ./build.sh
fails with hundreds of errors that all look like this:
runtime/src/libraries/Native/Unix/System.Native/pal_networking.c(2610,9):
error GD58BE485: mixing declarations and code is incompatible with
standards before C99 [-Wdeclaration-after-statement]
[runtime/src/libraries/Native/build-native.proj]
This issue is not present in the main branch. It appears to have been
fixed by https://github.com/dotnet/runtime/pull/66410/ which turned off
that warning.
Tested with:
$ clang --version
clang version 14.0.0 (Fedora 14.0.0-1.fc36)
Target: x86_64-redhat-linux-gnu
Thread model: posix
InstalledDir: /usr/bin