Skip to content

Commit b09773d

Browse files
[main] Source code updates from dotnet/runtime (#1520)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
1 parent 96021de commit b09773d

File tree

161 files changed

+4861
-2996
lines changed

Some content is hidden

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

161 files changed

+4861
-2996
lines changed

src/runtime/docs/workflow/requirements/macos-requirements.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ To build the runtime repo, you will also need to install the following dependenc
1818

1919
- `CMake` 3.20 or newer
2020
- `icu4c`
21-
- `openssl@1.1` or `openssl@3`
2221
- `pkg-config`
2322
- `python3`
2423
- `ninja` (This one is optional. It is an alternative tool to `make` for building native code)

src/runtime/eng/native/build-commons.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ build_native()
7070
# Let users provide additional compiler/linker flags via EXTRA_CFLAGS/EXTRA_CXXFLAGS/EXTRA_LDFLAGS.
7171
# If users directly override CFLAG/CXXFLAGS/LDFLAGS, that may lead to some configure tests working incorrectly.
7272
# See https://github.com/dotnet/runtime/issues/35727 for more information.
73-
#
73+
#
7474
# These flags MUST be exported before gen-buildsys.sh runs or cmake will ignore them
7575
#
7676
export CFLAGS="${CFLAGS} ${EXTRA_CFLAGS}"
@@ -547,6 +547,9 @@ elif [[ "$__TargetOS" == ios || "$__TargetOS" == iossimulator ]]; then
547547
elif [[ "$__TargetOS" == tvos || "$__TargetOS" == tvossimulator ]]; then
548548
# nothing to do here
549549
true
550+
elif [[ "$__TargetOS" == osx || "$__TargetOS" == maccatalyst ]]; then
551+
# nothing to do here
552+
true
550553
elif [[ "$__TargetOS" == android ]]; then
551554
# nothing to do here
552555
true

src/runtime/eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
nameSuffix: AllSubsets_Mono
7777
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
7878
buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:EnableAdditionalTimezoneChecks=true
79-
timeoutInMinutes: 480
79+
timeoutInMinutes: 240
8080
# extra steps, run tests
8181
postBuildSteps:
8282
- template: /eng/pipelines/libraries/helix.yml
@@ -107,7 +107,7 @@ jobs:
107107
nameSuffix: AllSubsets_CoreCLR
108108
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
109109
buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg)
110-
timeoutInMinutes: 480
110+
timeoutInMinutes: 240
111111
# extra steps, run tests
112112
postBuildSteps:
113113
- template: /eng/pipelines/libraries/helix.yml

src/runtime/eng/pipelines/extra-platforms/runtime-extra-platforms-androidemulator.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ jobs:
111111
nameSuffix: AllSubsets_Mono
112112
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
113113
buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg)
114-
timeoutInMinutes: 180
114+
timeoutInMinutes: 240
115115
# extra steps, run tests
116116
postBuildSteps:
117117
- template: /eng/pipelines/libraries/helix.yml

src/runtime/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=false
4343
${{ else }}:
4444
buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=true
45-
timeoutInMinutes: 480
45+
timeoutInMinutes: 240
4646
# extra steps, run tests
4747
postBuildSteps:
4848
- template: /eng/pipelines/libraries/helix.yml
@@ -81,7 +81,7 @@ jobs:
8181
testGroup: innerloop
8282
nameSuffix: AllSubsets_Mono_RuntimeTests
8383
buildArgs: -s mono+libs -c $(_BuildConfig)
84-
timeoutInMinutes: 480
84+
timeoutInMinutes: 240
8585
# extra steps, run tests
8686
extraVariablesTemplates:
8787
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml
@@ -152,7 +152,7 @@ jobs:
152152
jobParameters:
153153
testGroup: innerloop
154154
nameSuffix: AllSubsets_NativeAOT_RuntimeTests
155-
timeoutInMinutes: 480
155+
timeoutInMinutes: 240
156156
buildArgs: --cross -s clr.alljits+clr.tools+clr.nativeaotruntime+clr.nativeaotlibs+libs -c $(_BuildConfig)
157157
# extra steps, run tests
158158
extraVariablesTemplates:

src/runtime/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
testGroup: innerloop
3737
nameSuffix: AllSubsets_Mono
3838
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:RunAOTCompilation=true /p:MonoForceInterpreter=true
39-
timeoutInMinutes: 180
39+
timeoutInMinutes: 240
4040
# extra steps, run tests
4141
postBuildSteps:
4242
- template: /eng/pipelines/libraries/helix.yml
@@ -119,7 +119,7 @@ jobs:
119119
jobParameters:
120120
testGroup: innerloop
121121
nameSuffix: AllSubsets_NativeAOT_RuntimeTests
122-
timeoutInMinutes: 240
122+
timeoutInMinutes: 180
123123
buildArgs: --cross -s clr.alljits+clr.tools+clr.nativeaotruntime+clr.nativeaotlibs+libs -c $(_BuildConfig)
124124
# extra steps, run tests
125125
extraVariablesTemplates:

src/runtime/eng/pipelines/runtime.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -931,7 +931,7 @@ extends:
931931
testGroup: innerloop
932932
nameSuffix: AllSubsets_Mono
933933
buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:EnableAdditionalTimezoneChecks=true
934-
timeoutInMinutes: 480
934+
timeoutInMinutes: 120
935935
condition: >-
936936
or(
937937
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
@@ -961,7 +961,8 @@ extends:
961961
buildConfig: Release
962962
runtimeFlavor: coreclr
963963
platforms:
964-
- android_x64
964+
# Tracking issue: https://github.com/dotnet/dnceng/issues/5909
965+
# - android_x64
965966
- android_arm64
966967
variables:
967968
# map dependencies variables to local variables
@@ -973,7 +974,7 @@ extends:
973974
testGroup: innerloop
974975
nameSuffix: AllSubsets_CoreCLR
975976
buildArgs: -s clr.runtime+clr.alljits+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true
976-
timeoutInMinutes: 480
977+
timeoutInMinutes: 120
977978
condition: >-
978979
or(
979980
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
@@ -1017,7 +1018,7 @@ extends:
10171018
testGroup: innerloop
10181019
nameSuffix: AllSubsets_Mono
10191020
buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:EnableAggressiveTrimming=true
1020-
timeoutInMinutes: 480
1021+
timeoutInMinutes: 120
10211022
condition: >-
10221023
or(
10231024
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),

src/runtime/src/coreclr/debug/daccess/dacdbiimpl.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4963,9 +4963,21 @@ void DacDbiInterfaceImpl::Hijack(
49634963
// Setup context for hijack
49644964
//
49654965
T_CONTEXT ctx;
4966+
#if !defined(CROSS_COMPILE) && !defined(TARGET_WINDOWS) && (defined(DTCONTEXT_IS_AMD64) || defined(DTCONTEXT_IS_ARM64))
4967+
// If the host or target is not Windows, then we can assume that the DT_CONTEXT
4968+
// is the same as the T_CONTEXT, except for the XSTATE registers.
4969+
static_assert(sizeof(DT_CONTEXT) == offsetof(T_CONTEXT, XStateFeaturesMask), "DT_CONTEXT does not include the XSTATE registers");
4970+
#else
4971+
// Since Dac + DBI are tightly coupled, context sizes should be the same.
4972+
static_assert(sizeof(DT_CONTEXT) == sizeof(T_CONTEXT), "DT_CONTEXT size must equal the T_CONTEXT size");
4973+
#endif
49664974
HRESULT hr = m_pTarget->GetThreadContext(
49674975
dwThreadId,
4968-
CONTEXT_FULL,
4976+
CONTEXT_FULL | CONTEXT_FLOATING_POINT
4977+
#ifdef CONTEXT_EXTENDED_REGISTERS
4978+
| CONTEXT_EXTENDED_REGISTERS
4979+
#endif
4980+
,
49694981
sizeof(DT_CONTEXT),
49704982
(BYTE*) &ctx);
49714983
IfFailThrow(hr);

src/runtime/src/coreclr/debug/daccess/stdafx.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#include <common.h>
4343
#include <codeman.h>
4444
#include <debugger.h>
45+
#include <walker.h>
4546
#include <controller.h>
4647
#include <eedbginterfaceimpl.h>
4748
#include <methoditer.h>

src/runtime/src/coreclr/debug/di/process.cpp

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5061,6 +5061,23 @@ void CordbProcess::RawDispatchEvent(
50615061

50625062
case DB_IPCE_LOAD_MODULE:
50635063
{
5064+
LOG((LF_CORDB, LL_INFO100,
5065+
"RCET::HRCE: load module (includes assembly loading) on thread %#x Asm:0x%08x AD:0x%08x \n",
5066+
dwVolatileThreadId,
5067+
VmPtrToCookie(pEvent->LoadModuleData.vmDomainAssembly),
5068+
VmPtrToCookie(pEvent->vmAppDomain)));
5069+
5070+
_ASSERTE (pAppDomain != NULL);
5071+
5072+
// Determine if this Assembly is cached.
5073+
CordbAssembly * pAssembly = pAppDomain->LookupOrCreateAssembly(pEvent->LoadModuleData.vmDomainAssembly);
5074+
_ASSERTE(pAssembly != NULL); // throws on error
5075+
5076+
// If created, or have, an Assembly, notify callback.
5077+
{
5078+
PUBLIC_CALLBACK_IN_THIS_SCOPE(this, pLockHolder, pEvent);
5079+
hr = pCallback1->LoadAssembly(pAppDomain, pAssembly);
5080+
}
50645081
_ASSERTE (pAppDomain != NULL);
50655082
CordbModule * pModule = pAppDomain->LookupOrCreateModule(pEvent->LoadModuleData.vmDomainAssembly);
50665083

@@ -5375,29 +5392,6 @@ void CordbProcess::RawDispatchEvent(
53755392

53765393
break;
53775394

5378-
case DB_IPCE_LOAD_ASSEMBLY:
5379-
{
5380-
LOG((LF_CORDB, LL_INFO100,
5381-
"RCET::HRCE: load assembly on thread %#x Asm:0x%08x AD:0x%08x \n",
5382-
dwVolatileThreadId,
5383-
VmPtrToCookie(pEvent->AssemblyData.vmDomainAssembly),
5384-
VmPtrToCookie(pEvent->vmAppDomain)));
5385-
5386-
_ASSERTE (pAppDomain != NULL);
5387-
5388-
// Determine if this Assembly is cached.
5389-
CordbAssembly * pAssembly = pAppDomain->LookupOrCreateAssembly(pEvent->AssemblyData.vmDomainAssembly);
5390-
_ASSERTE(pAssembly != NULL); // throws on error
5391-
5392-
// If created, or have, an Assembly, notify callback.
5393-
{
5394-
PUBLIC_CALLBACK_IN_THIS_SCOPE(this, pLockHolder, pEvent);
5395-
hr = pCallback1->LoadAssembly(pAppDomain, pAssembly);
5396-
}
5397-
}
5398-
5399-
break;
5400-
54015395
case DB_IPCE_UNLOAD_ASSEMBLY:
54025396
{
54035397
LOG((LF_CORDB, LL_INFO100, "RCET::DRCE: unload assembly on thread %#x Asm:0x%x AD:0x%x\n",
@@ -13281,9 +13275,9 @@ void CordbProcess::HandleDebugEventForInteropDebugging(const DEBUG_EVENT * pEven
1328113275
LOG((LF_CORDB, LL_INFO100000, "W32ET::W32EL: hijack complete will restore context...\n"));
1328213276
DT_CONTEXT tempContext = { 0 };
1328313277
#if defined(DT_CONTEXT_EXTENDED_REGISTERS)
13284-
tempContext.ContextFlags = DT_CONTEXT_FULL | DT_CONTEXT_EXTENDED_REGISTERS;
13278+
tempContext.ContextFlags = DT_CONTEXT_FULL | DT_CONTEXT_FLOATING_POINT | DT_CONTEXT_EXTENDED_REGISTERS;
1328513279
#else
13286-
tempContext.ContextFlags = DT_CONTEXT_FULL;
13280+
tempContext.ContextFlags = DT_CONTEXT_FULL | DT_CONTEXT_FLOATING_POINT;
1328713281
#endif
1328813282
HRESULT hr = pUnmanagedThread->GetThreadContext(&tempContext);
1328913283
_ASSERTE(SUCCEEDED(hr));

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy