Skip to content

Commit 4d281c7

Browse files
authored
Merge pull request #1670 from mikem8361/release/stable
Merge latest master into release/stable for 5.0.0 release
2 parents 3f46098 + 0eb8bce commit 4d281c7

File tree

251 files changed

+11055
-4420
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

251 files changed

+11055
-4420
lines changed

.github/CODEOWNERS

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Users referenced in this file will automatically be requested as reviewers for PRs that modify the given paths.
2+
# See https://help.github.com/articles/about-code-owners/
3+
4+
# We should just make everything require review of at least one team member.
5+
# However, we need /eng/ and global.json excluded for automatic updates
6+
# but there's no include syntax. At least make sure source and documentation
7+
# have proper ownership.
8+
/src/ @dotnet/dotnet-diag
9+
/documentation/ @dotnet/dotnet-diag
+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: 'bug'
6+
assignees: ''
7+
8+
---
9+
10+
<!--This is just a template - feel free to delete any and all of it and replace as appropriate.-->
11+
12+
### Description
13+
14+
<!--
15+
* Please share a clear and concise description of the problem.
16+
* Include minimal steps to reproduce the problem if possible. E.g.: the smallest possible code snippet; or a small repo to clone, with steps to run it.
17+
* What behavior are you seeing, and what behavior would you expect?
18+
-->
19+
20+
### Configuration
21+
22+
<!--
23+
* Is this related to a specific tool?
24+
* What OS and version, and what distro if applicable?
25+
* What is the architecture (x64, x86, ARM, ARM64)?
26+
* Do you know whether it is specific to that configuration?
27+
* Are you running in any particular type of environment? (e.g. Containers, a cloud scenario, app you are trying to target is a different user)
28+
* Is it a self-contained published application?
29+
* What's the output of `dotnet info`
30+
-->
31+
32+
### Regression?
33+
34+
<!--
35+
* Did this work in a previous build or release - either of the tool or of the .NET runtime being used?
36+
-->
37+
38+
### Other information
39+
40+
<!--
41+
* Please include any relevant stack traces or error messages. If possible please include text as text rather than images (so it shows up in searches).
42+
* If you have an idea where the problem might lie, let us know that here. Please include any pointers to code, relevant changes, or related issues you know of.
43+
* Do you know of any workarounds?
44+
-->
45+
46+
<!-- Thanks for taking the time to report this! -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Feature request
3+
about: Propose a change to enhance our diagnostic experience
4+
title: ''
5+
labels: 'enhancement'
6+
assignees: ''
7+
---
8+
9+
<!--This is just a template - feel free to delete any and all of it and replace as appropriate.-->
10+
11+
## Background and Motivation
12+
13+
<!--
14+
We welcome ideas that might make our tools and workflows more productive for our customers! This template will help us gather the information we need to start the design of new experiences. It will also ensure we are helping as many customers as possible when working on them.
15+
-->
16+
17+
## Proposed Feature
18+
19+
<!--
20+
Please explain the problem you are facing and any features you think would help you solve it. This could be examples of how the scenario is causing you pain, or possible solutions/features we could integrate.
21+
-->
22+
23+
## Usage Examples
24+
25+
<!--
26+
Please provide examples of a situation where the proposed feature would help you. Are you aware of an alternative way to get the information or experience you need to solve problems? In case there is, how can you make your overall experience better?
27+
-->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Documentation request
3+
about: Request documentation
4+
title: ''
5+
labels: 'documentation'
6+
assignees: ''
7+
---
8+
9+
### Documentation Request
10+
11+
<!-- What scenario or tool do you feel is missing documentation? Any particular characteristic of the feature that you believe deserves to be explained further?-->
12+
13+
### Previous documentation
14+
15+
<!-- Is there any documentation that already exists for this? If so, please provide links so we can update those sources. -->
16+
17+
<!-- Thanks for taking the time to report this! -->
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: Blank issue
3+
about: Something that doesn't fit the other categories
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---

.github/ISSUE_TEMPLATE/config.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Issue with the .NET Runtime
4+
url: https://github.com/dotnet/runtime/issues/new/choose
5+
about: Please open issues relating to .NET Runtime behavior
6+
- name: Issue with ASP.NET Core
7+
url: https://github.com/dotnet/aspnetcore/issues/new/choose
8+
about: Please open issues relating to ASP.NET Core in dotnet/aspnetcore.
9+
- name: Issue with .NET SDK
10+
url: https://github.com/dotnet/sdk/issues/new/choose
11+
about: Please open issues relating to the .NET SDK in dotnet/sdk.
12+
- name: Issue with Roslyn compiler
13+
url: https://github.com/dotnet/roslyn/issues/new/choose
14+
about: Please open issues relating to the Roslyn .NET compiler in dotnet/roslyn.
15+
- name: Issue with Windows Forms
16+
url: https://github.com/dotnet/winforms/issues/new/choose
17+
about: Please open issues relating to Windows Forms in dotnet/winforms.
18+
- name: Issue with WPF
19+
url: https://github.com/dotnet/wpf/issues/new/choose
20+
about: Please open issues relating to WPF in dotnet/wpf.

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
[Pp]ackages/
1818
x64/
1919
.dotnet/
20+
.dotnet-test/
2021
.packages/
2122
.tools/
2223

CMakeLists.txt

+34-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ else (WIN32)
113113

114114
# Ensure that objcopy is present
115115
if (CLR_UNIX_CROSS_BUILD AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)
116-
if (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL arm)
116+
if (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL arm OR CMAKE_SYSTEM_PROCESSOR STREQUAL mips64)
117117
find_program(OBJCOPY ${TOOLCHAIN}-objcopy)
118118
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686)
119119
find_program(OBJCOPY objcopy)
@@ -164,6 +164,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL Linux)
164164
set(CLR_CMAKE_PLATFORM_UNIX_ARM 1)
165165
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
166166
set(CLR_CMAKE_PLATFORM_UNIX_ARM64 1)
167+
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL mips64)
168+
set(CLR_CMAKE_PLATFORM_UNIX_MIPS64 1)
167169
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686)
168170
set(CLR_CMAKE_PLATFORM_UNIX_X86 1)
169171
else()
@@ -189,7 +191,14 @@ endif(CMAKE_SYSTEM_NAME STREQUAL Linux)
189191

190192
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
191193
set(CLR_CMAKE_PLATFORM_UNIX 1)
192-
set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1)
194+
if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
195+
set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1)
196+
elseif(CMAKE_OSX_ARCHITECTURES MATCHES "arm64")
197+
set(CLR_CMAKE_PLATFORM_UNIX_ARM64 1)
198+
else()
199+
message(FATAL_ERROR "CMAKE_OSX_ARCHITECTURES:'${CMAKE_OSX_ARCHITECTURES}'")
200+
clr_unknown_arch()
201+
endif()
193202
set(CLR_CMAKE_PLATFORM_DARWIN 1)
194203
if(CMAKE_VERSION VERSION_LESS "3.4.0")
195204
set(CMAKE_ASM_COMPILE_OBJECT "${CMAKE_C_COMPILER} <FLAGS> <DEFINES> -o <OBJECT> -c <SOURCE>")
@@ -254,6 +263,9 @@ elseif(CLR_CMAKE_PLATFORM_UNIX_AMD64)
254263
elseif(CLR_CMAKE_PLATFORM_UNIX_X86)
255264
set(CLR_CMAKE_PLATFORM_ARCH_I386 1)
256265
set(CLR_CMAKE_HOST_ARCH "x86")
266+
elseif(CLR_CMAKE_PLATFORM_UNIX_MIPS64)
267+
set(CLR_CMAKE_PLATFORM_ARCH_MIPS64 1)
268+
set(CLR_CMAKE_HOST_ARCH "mips64")
257269
elseif(WIN32)
258270
# CLR_CMAKE_HOST_ARCH is passed in as param to cmake
259271
if (CLR_CMAKE_HOST_ARCH STREQUAL x64)
@@ -285,6 +297,8 @@ if (CLR_CMAKE_TARGET_ARCH STREQUAL x64)
285297
set(CLR_CMAKE_TARGET_ARCH_ARM64 1)
286298
elseif(CLR_CMAKE_TARGET_ARCH STREQUAL arm)
287299
set(CLR_CMAKE_TARGET_ARCH_ARM 1)
300+
elseif(CLR_CMAKE_TARGET_ARCH STREQUAL mips64)
301+
set(CLR_CMAKE_TARGET_ARCH_MIPS64 1)
288302
else()
289303
clr_unknown_arch()
290304
endif()
@@ -481,6 +495,11 @@ elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64)
481495
add_definitions(-DARM64)
482496
add_definitions(-D_WIN64)
483497
add_definitions(-DBIT64=1)
498+
elseif (CLR_CMAKE_PLATFORM_ARCH_MIPS64)
499+
add_definitions(-D_MIPS64_)
500+
add_definitions(-DMIPS64)
501+
add_definitions(-D_WIN64)
502+
add_definitions(-DBIT64=1)
484503
else ()
485504
clr_unknown_arch()
486505
endif ()
@@ -499,6 +518,9 @@ if (CLR_CMAKE_PLATFORM_UNIX)
499518
elseif(CLR_CMAKE_PLATFORM_UNIX_X86)
500519
message("Detected Linux i686")
501520
add_definitions(-DLINUX32)
521+
elseif(CLR_CMAKE_PLATFORM_UNIX_MIPS64)
522+
message("Detected Linux MIPS64")
523+
add_definitions(-DLINUX64)
502524
else()
503525
clr_unknown_arch()
504526
endif()
@@ -537,6 +559,8 @@ elseif (CLR_CMAKE_TARGET_ARCH_ARM)
537559
set(ARCH_SOURCES_DIR arm)
538560
elseif (CLR_CMAKE_TARGET_ARCH_I386)
539561
set(ARCH_SOURCES_DIR i386)
562+
elseif (CLR_CMAKE_TARGET_ARCH_MIPS64)
563+
set(ARCH_SOURCES_DIR mips64)
540564
else ()
541565
clr_unknown_arch()
542566
endif ()
@@ -575,6 +599,14 @@ elseif (CLR_CMAKE_TARGET_ARCH_I386)
575599
add_definitions(-D_TARGET_X86_=1)
576600
add_definitions(-DDBG_TARGET_32BIT=1)
577601
add_definitions(-DDBG_TARGET_X86=1)
602+
elseif (CLR_CMAKE_TARGET_ARCH_MIPS64)
603+
add_definitions(-DDBG_TARGET_MIPS64_UNIX)
604+
add_definitions(-D_TARGET_MIPS64_=1)
605+
add_definitions(-D_TARGET_64BIT_=1)
606+
add_definitions(-DDBG_TARGET_64BIT=1)
607+
add_definitions(-DDBG_TARGET_MIPS64=1)
608+
add_definitions(-DDBG_TARGET_WIN64=1)
609+
add_definitions(-DFEATURE_MULTIREG_RETURN)
578610
else ()
579611
clr_unknown_arch()
580612
endif (CLR_CMAKE_TARGET_ARCH_AMD64)

NuGet.config

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
</solution>
66
<packageSources>
77
<clear />
8+
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
9+
<add key="darc-pub-dotnet-runtime-25c7409" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-25c7409c/nuget/v3/index.json" />
10+
<add key="darc-pub-dotnet-aspnetcore-c7d42cf" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-aspnetcore-c7d42cf3/nuget/v3/index.json" />
11+
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
812
<!-- Feeds used in Maestro/Arcade publishing -->
913
<add key="dotnet5" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet5/nuget/v3/index.json" />
1014
<add key="dotnet5-transport" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet5-transport/nuget/v3/index.json" />

THIRD-PARTY-NOTICES.TXT

+29-1
Original file line numberDiff line numberDiff line change
@@ -296,4 +296,32 @@ This set of code is covered by the following license:
296296
distributed under the License is distributed on an "AS IS" BASIS,
297297
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
298298
See the License for the specific language governing permissions and
299-
limitations under the License.
299+
limitations under the License.
300+
301+
License notice for ParallelStacks.Runtime
302+
-----------------------------------------
303+
304+
Source found at https://github.com/chrisnas/DebuggingExtensions
305+
306+
MIT License
307+
308+
Copyright (c) 2016-2019 Nasarre Christophe
309+
310+
Permission is hereby granted, free of charge, to any person obtaining a copy
311+
of this software and associated documentation files (the "Software"), to deal
312+
in the Software without restriction, including without limitation the rights
313+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
314+
copies of the Software, and to permit persons to whom the Software is
315+
furnished to do so, subject to the following conditions:
316+
317+
The above copyright notice and this permission notice shall be included in all
318+
copies or substantial portions of the Software.
319+
320+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
321+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
322+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
323+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
324+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
325+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
326+
SOFTWARE.
327+

compileoptions.cmake

+7
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ if (CLR_CMAKE_PLATFORM_UNIX)
1717
if(CLR_CMAKE_PLATFORM_DARWIN)
1818
# We cannot enable "stack-protector-strong" on OS X due to a bug in clang compiler (current version 7.0.2)
1919
add_compile_options(-fstack-protector)
20+
if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
21+
add_compile_options(-arch x86_64)
22+
elseif(CMAKE_OSX_ARCHITECTURES MATCHES "arm64")
23+
add_compile_options(-arch arm64)
24+
else()
25+
clr_unknown_arch()
26+
endif()
2027
else()
2128
add_compile_options(-fstack-protector-strong)
2229
endif(CLR_CMAKE_PLATFORM_DARWIN)

diagnostics.yml

+37-8
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,21 @@ stages:
157157
_BuildConfig: Debug
158158
_BuildArch: x64
159159

160+
- template: /eng/build.yml
161+
parameters:
162+
name: MacOS_cross
163+
osGroup: MacOS_cross
164+
strategy:
165+
matrix:
166+
Build_Release:
167+
_BuildConfig: Release
168+
_BuildArch: arm64
169+
_PublishArtifacts: bin/OSX.arm64.Release
170+
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
171+
Build_Debug:
172+
_BuildConfig: Debug
173+
_BuildArch: arm64
174+
160175
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
161176
- template: /eng/build.yml
162177
parameters:
@@ -310,6 +325,7 @@ stages:
310325
- CentOS_7
311326
- Alpine3_6
312327
- MacOS
328+
- MacOS_cross
313329
- Linux_cross
314330
- Linux_cross64
315331
- Alpine3_6_cross64
@@ -415,15 +431,19 @@ stages:
415431
targetPath: '$(Build.SourcesDirectory)/artifacts/bin/OSX.x64.Release'
416432
condition: succeeded()
417433

434+
# MacOS arm64 download
435+
436+
- task: DownloadPipelineArtifact@2
437+
displayName: Download MacOS arm64 Artifacts
438+
inputs:
439+
artifactName: MacOS_cross_arm64_Release
440+
targetPath: '$(Build.SourcesDirectory)/artifacts/bin/OSX.arm64.Release'
441+
condition: succeeded()
442+
418443
# Create nuget packages, sign binaries and publish to blob feed
419-
420-
- script: $(Build.SourcesDirectory)\eng\cipack.cmd
421-
-configuration Release
422-
-prepareMachine
423-
-verbosity normal
424-
$(_InternalBuildArgs)
425-
displayName: Sign / Package
426-
continueOnError: true
444+
- script: $(Build.SourcesDirectory)\eng\ci-prepare-artifacts.cmd $(_InternalBuildArgs)
445+
displayName: Package, Sign, and Publish
446+
continueOnError: false
427447
condition: succeeded()
428448

429449
# Publish package and log build artifacts
@@ -437,6 +457,15 @@ stages:
437457
continueOnError: true
438458
condition: always()
439459

460+
- task: PublishBuildArtifacts@1
461+
displayName: Publish Bundled Tools
462+
inputs:
463+
publishLocation: Container
464+
pathtoPublish: '$(Build.SourcesDirectory)/artifacts/bundledtools'
465+
artifactName: BundledTools
466+
continueOnError: true
467+
condition: always()
468+
440469
- template: /eng/common/templates/job/publish-build-assets.yml
441470
parameters:
442471
configuration: Release

0 commit comments

Comments
 (0)