From 090ab98efa7ec120b075eebf4e2d9568049371d9 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 1 May 2024 11:12:39 -0700 Subject: [PATCH 01/10] Provide MSBuild properties to use the new libc++ configuration we plan on using in our builds. --- eng/Subsets.props | 13 +++++++++++-- eng/pipelines/common/global-build-job.yml | 9 +++++---- .../common/templates/global-build-step.yml | 3 ++- src/coreclr/runtime.proj | 12 ++++++++++++ src/native/corehost/corehost.proj | 14 ++++++++++++++ 5 files changed, 44 insertions(+), 7 deletions(-) diff --git a/eng/Subsets.props b/eng/Subsets.props index 0a51b12649d1e..788f9dd43bb78 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -127,6 +127,15 @@ true + + CxxStandardLibrary=libc++;CxxStandardLibraryStatic=true + + $(UseContainerLibcxxProperties);CxxAbiLibrary=libstdc++ + + @@ -265,7 +274,7 @@ @@ -455,7 +464,7 @@ - + diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 8273417557052..1c69ec829c20f 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -99,10 +99,11 @@ jobs: - name: crossArg value: '-cross' - - ${{ if ne(parameters.jobParameters.crossrootfsDir, '') }}: - # This is only required for cross builds. - - name: ROOTFS_DIR - value: ${{ parameters.jobParameters.crossrootfsDir }} + - name: UseContainerLibcxxArg + value: '' + - ${{ if eq(parameters.useContainerLibcxx, true) }}: + - name: UseContainerLibcxxArg + value: /p:UseContainerLibcxx=true - name: _officialBuildParameter ${{ if eq(parameters.isOfficialBuild, true) }}: diff --git a/eng/pipelines/common/templates/global-build-step.yml b/eng/pipelines/common/templates/global-build-step.yml index b88207c516c19..a163103cdb227 100644 --- a/eng/pipelines/common/templates/global-build-step.yml +++ b/eng/pipelines/common/templates/global-build-step.yml @@ -4,12 +4,13 @@ parameters: shouldContinueOnError: false archParameter: $(_archParameter) crossArg: $(crossArg) + useContainerLibcxxArg: $(useContainerLibcxxArg) displayName: Build product container: '' condition: succeeded() steps: - - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci ${{ parameters.archParameter }} $(_osParameter) ${{ parameters.crossArg }} ${{ parameters.buildArgs }} $(_officialBuildParameter) $(_buildDarwinFrameworksParameter) $(_overrideTestScriptWindowsCmdParameter) + - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci ${{ parameters.archParameter }} $(_osParameter) ${{ parameters.crossArg }} ${{ parameters.buildArgs }} ${{ parameters.useContainerLibcxxArg }} $(_officialBuildParameter) $(_buildDarwinFrameworksParameter) $(_overrideTestScriptWindowsCmdParameter) displayName: ${{ parameters.displayName }} ${{ if eq(parameters.useContinueOnErrorDuringBuild, true) }}: continueOnError: ${{ parameters.shouldContinueOnError }} diff --git a/src/coreclr/runtime.proj b/src/coreclr/runtime.proj index 814d4dba29f70..5bb70551666a6 100644 --- a/src/coreclr/runtime.proj +++ b/src/coreclr/runtime.proj @@ -54,6 +54,18 @@ <_CoreClrBuildArg Include="-cmakeargs "-DCDAC_BUILD_TOOL_BINARY_PATH=$(RuntimeBinDir)cdac-build-tool\cdac-build-tool.dll"" /> + + <_CoreClrBuildArg Include="-cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY=libc++" /> + + + + <_CoreClrBuildArg Include="-cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY_STATIC=ON" /> + + + + <_CoreClrBuildArg Include="-cmakeargs -DCLR_CMAKE_CXX_ABI_LIBRARY=$(CxxAbiLibrary)" /> + + <_CoreClrBuildArg Condition="'$(ClrHostsSubset)' == 'true'" Include="-component hosts" /> <_CoreClrBuildArg Condition="'$(ClrRuntimeSubset)' == 'true'" Include="-component runtime" /> diff --git a/src/native/corehost/corehost.proj b/src/native/corehost/corehost.proj index 026cff6928567..fcc05117635bf 100644 --- a/src/native/corehost/corehost.proj +++ b/src/native/corehost/corehost.proj @@ -78,6 +78,20 @@ <_CoreHostUnixTargetOS Condition="'$(TargetsLinuxBionic)' == 'true'">linux-bionic $(Configuration) $(TargetArchitecture) -commithash "$([MSBuild]::ValueOrDefault('$(SourceRevisionId)', 'N/A'))" -os $(_CoreHostUnixTargetOS) $(BuildArgs) -cmakeargs "-DVERSION_FILE_PATH=$(NativeVersionFile)" + + + $(BuildArgs) -cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY=libc++ + + + + $(BuildArgs) -cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY_STATIC=ON + + + + $(BuildArgs) -cmakeargs -DCLR_CMAKE_CXX_ABI_LIBRARY=$(CxxAbiLibrary) + + + $(BuildArgs) -configureonly $(BuildArgs) -portablebuild=false $(BuildArgs) -keepnativesymbols From b6b953b6def54396a39362e3eeb0515adc8b3b94 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 1 May 2024 11:15:01 -0700 Subject: [PATCH 02/10] Wire up the properties to use libc++ in our pipelines for the containers that we've migrated to azurelinux-3.0-based containers. --- eng/pipelines/common/platform-matrix.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 2dc00a29da5d3..338b78a7e2f10 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -43,6 +43,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true + useContainerLibcxx: true ${{ insert }}: ${{ parameters.jobParameters }} # Linux armv6 @@ -112,6 +113,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true + useContainerLibcxx: true ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm @@ -134,6 +136,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true + useContainerLibcxx: true ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm64 @@ -156,6 +159,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true + useContainerLibcxx: true ${{ insert }}: ${{ parameters.jobParameters }} # Linux Bionic arm @@ -251,6 +255,8 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true + ${{ if eq(parameters.container, '') }}: + useContainerLibcxx: true ${{ insert }}: ${{ parameters.jobParameters }} # Linux x86 @@ -272,6 +278,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true + useContainerLibcxx: true ${{ insert }}: ${{ parameters.jobParameters }} # Runtime-dev-innerloop build From e3fdaa0ed91eab8ed4a54911ce9cb551470ff292 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Thu, 2 May 2024 13:04:53 -0700 Subject: [PATCH 03/10] Apply suggestions from code review Co-authored-by: Sven Boemer --- src/coreclr/runtime.proj | 2 +- src/native/corehost/corehost.proj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coreclr/runtime.proj b/src/coreclr/runtime.proj index 5bb70551666a6..109554ffe9a52 100644 --- a/src/coreclr/runtime.proj +++ b/src/coreclr/runtime.proj @@ -55,7 +55,7 @@ - <_CoreClrBuildArg Include="-cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY=libc++" /> + <_CoreClrBuildArg Include="-cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY=$(CxxStandardLibrary)" /> diff --git a/src/native/corehost/corehost.proj b/src/native/corehost/corehost.proj index fcc05117635bf..99a1bb9f5c5bb 100644 --- a/src/native/corehost/corehost.proj +++ b/src/native/corehost/corehost.proj @@ -80,10 +80,10 @@ $(BuildArgs) -cmakeargs "-DVERSION_FILE_PATH=$(NativeVersionFile)" - $(BuildArgs) -cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY=libc++ + $(BuildArgs) -cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY=$(CxxStandardLibrary) - + $(BuildArgs) -cmakeargs -DCLR_CMAKE_CXX_STANDARD_LIBRARY_STATIC=ON From 618e92c5df1ae96115e801f6b9dbe100a7fd2b1e Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Fri, 3 May 2024 22:39:17 +0000 Subject: [PATCH 04/10] Split the properties in the YAML and make them configurable (and change the entry-point ones to be different so MSBuild global property behavior doesn't break things). --- Directory.Build.props | 2 +- eng/Subsets.props | 16 ++++++------- eng/pipelines/common/global-build-job.yml | 23 ++++++++++++++---- eng/pipelines/common/platform-matrix.yml | 24 ++++++++++++++----- .../common/templates/global-build-step.yml | 4 ++-- 5 files changed, 47 insertions(+), 22 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index c6bae2a825b1b..b374f83f816ea 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -323,7 +323,7 @@ true - ClrFullNativeBuild;ClrRuntimeSubset;ClrJitSubset;ClrPalTestsSubset;ClrAllJitsSubset;ClrILToolsSubset;ClrNativeAotSubset;ClrSpmiSubset;ClrCrossComponentsSubset;ClrDebugSubset;HostArchitecture;PgoInstrument;NativeOptimizationDataSupported;CMakeArgs + ClrFullNativeBuild;ClrRuntimeSubset;ClrJitSubset;ClrPalTestsSubset;ClrAllJitsSubset;ClrILToolsSubset;ClrNativeAotSubset;ClrSpmiSubset;ClrCrossComponentsSubset;ClrDebugSubset;HostArchitecture;PgoInstrument;NativeOptimizationDataSupported;CMakeArgs;CxxStandardLibrary;CxxStandardLibraryStatic;CxxAbiLibrary diff --git a/eng/Subsets.props b/eng/Subsets.props index 788f9dd43bb78..57463c01be35d 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -127,13 +127,11 @@ true - - CxxStandardLibrary=libc++;CxxStandardLibraryStatic=true - - $(UseContainerLibcxxProperties);CxxAbiLibrary=libstdc++ + + + CxxStandardLibrary=$(TargetCxxStandardLibrary) + $(TargetCxxLibraryProperties);CxxStandardLibraryStatic=$(TargetCxxStandardLibraryStatic) + $(TargetCxxLibraryProperties);CxxAbiLibrary=$(CxxAbiLibrary) @@ -274,7 +272,7 @@ @@ -464,7 +462,7 @@ - + diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 1c69ec829c20f..f69990e9c9615 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -99,11 +99,26 @@ jobs: - name: crossArg value: '-cross' - - name: UseContainerLibcxxArg + - name: CxxStandardLibraryArg value: '' - - ${{ if eq(parameters.useContainerLibcxx, true) }}: - - name: UseContainerLibcxxArg - value: /p:UseContainerLibcxx=true + - ${{ if ne(parameters.cxxStandardLibrary, '') }}: + - name: CxxStandardLibraryArg + value: /p:TargetCxxStandardLibrary=${{ parameters.cxxStandardLibrary }} + + - name: CxxStandardLibraryStaticArg + value: '' + - ${{ if ne(parameters.cxxStandardLibraryStatic, '') }}: + - name: CxxStandardLibraryStaticArg + value: /p:TargetCxxStandardLibraryStatic=${{ parameters.cxxStandardLibraryStatic }} + + - name: CxxAbiLibraryArg + value: '' + - ${{ if ne(parameters.cxxAbiLibrary, '') }}: + - name: CxxAbiLibraryArg + value: /p:TargetCxxAbiLibraryArg=${{ parameters.cxxAbiLibrary }} + + - name: TargetCxxLibraryConfigurationArgs + value: $(CxxStandardLibraryArg) $(CxxStandardLibraryStaticArg) $(CxxAbiLibraryArg) - name: _officialBuildParameter ${{ if eq(parameters.isOfficialBuild, true) }}: diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 338b78a7e2f10..d004ad6318f36 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -43,7 +43,9 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - useContainerLibcxx: true + cxxStandardLibrary: libc++ + cxxStandardLibraryStatic: true + cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux armv6 @@ -113,7 +115,9 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - useContainerLibcxx: true + cxxStandardLibrary: libc++ + cxxStandardLibraryStatic: true + cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm @@ -136,7 +140,9 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - useContainerLibcxx: true + cxxStandardLibrary: libc++ + cxxStandardLibraryStatic: true + cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm64 @@ -159,7 +165,9 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - useContainerLibcxx: true + cxxStandardLibrary: libc++ + cxxStandardLibraryStatic: true + cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux Bionic arm @@ -256,7 +264,9 @@ jobs: helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true ${{ if eq(parameters.container, '') }}: - useContainerLibcxx: true + cxxStandardLibrary: libc++ + cxxStandardLibraryStatic: true + cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux x86 @@ -278,7 +288,9 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - useContainerLibcxx: true + cxxStandardLibrary: libc++ + cxxStandardLibraryStatic: true + cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Runtime-dev-innerloop build diff --git a/eng/pipelines/common/templates/global-build-step.yml b/eng/pipelines/common/templates/global-build-step.yml index a163103cdb227..2a2262d9a4ead 100644 --- a/eng/pipelines/common/templates/global-build-step.yml +++ b/eng/pipelines/common/templates/global-build-step.yml @@ -4,13 +4,13 @@ parameters: shouldContinueOnError: false archParameter: $(_archParameter) crossArg: $(crossArg) - useContainerLibcxxArg: $(useContainerLibcxxArg) + targetCxxLibraryConfigurationArgs: $(TargetCxxLibraryConfigurationArgs) displayName: Build product container: '' condition: succeeded() steps: - - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci ${{ parameters.archParameter }} $(_osParameter) ${{ parameters.crossArg }} ${{ parameters.buildArgs }} ${{ parameters.useContainerLibcxxArg }} $(_officialBuildParameter) $(_buildDarwinFrameworksParameter) $(_overrideTestScriptWindowsCmdParameter) + - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -ci ${{ parameters.archParameter }} $(_osParameter) ${{ parameters.crossArg }} ${{ parameters.buildArgs }} ${{ parameters.targetCxxLibraryConfigurationArgs }} $(_officialBuildParameter) $(_buildDarwinFrameworksParameter) $(_overrideTestScriptWindowsCmdParameter) displayName: ${{ parameters.displayName }} ${{ if eq(parameters.useContinueOnErrorDuringBuild, true) }}: continueOnError: ${{ parameters.shouldContinueOnError }} From af89781b630f0d14a98900395955b4a445742102 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 6 May 2024 10:19:25 -0700 Subject: [PATCH 05/10] Apply suggestions from code review Co-authored-by: Sven Boemer --- eng/Subsets.props | 2 +- eng/pipelines/common/global-build-job.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Subsets.props b/eng/Subsets.props index 57463c01be35d..41f63f11bbd79 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -131,7 +131,7 @@ CxxStandardLibrary=$(TargetCxxStandardLibrary) $(TargetCxxLibraryProperties);CxxStandardLibraryStatic=$(TargetCxxStandardLibraryStatic) - $(TargetCxxLibraryProperties);CxxAbiLibrary=$(CxxAbiLibrary) + $(TargetCxxLibraryProperties);CxxAbiLibrary=$(TargetCxxAbiLibrary) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index f69990e9c9615..13da1c03fbaf4 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -115,7 +115,7 @@ jobs: value: '' - ${{ if ne(parameters.cxxAbiLibrary, '') }}: - name: CxxAbiLibraryArg - value: /p:TargetCxxAbiLibraryArg=${{ parameters.cxxAbiLibrary }} + value: /p:TargetCxxAbiLibrary=${{ parameters.cxxAbiLibrary }} - name: TargetCxxLibraryConfigurationArgs value: $(CxxStandardLibraryArg) $(CxxStandardLibraryStaticArg) $(CxxAbiLibraryArg) From 10d7368313c9c40c2827f62139204c20c20a199f Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 6 May 2024 15:01:10 -0700 Subject: [PATCH 06/10] Use the ASAN image for the ASAN builds --- eng/pipelines/common/platform-matrix.yml | 21 +++++++++++++++++++ .../templates/pipeline-with-resources.yml | 5 +++++ eng/pipelines/runtime-sanitized.yml | 6 +++--- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index d004ad6318f36..8695573f9b550 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -269,6 +269,27 @@ jobs: cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if or(containsValue(parameters.platforms, 'linux_x64_asan'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), in(parameters.platformGroup, 'all', 'gcstress')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + variables: ${{ parameters.variables }} + osGroup: linux + archType: x64 + targetRid: linux-x64 + platform: linux_x64 + shouldContinueOnError: ${{ parameters.shouldContinueOnError }} + container: linux_x64_asan + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + buildConfig: ${{ parameters.buildConfig }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + crossBuild: true + cxxStandardLibrary: libc++ + cxxStandardLibraryStatic: true + ${{ insert }}: ${{ parameters.jobParameters }} + # Linux x86 - ${{ if containsValue(parameters.platforms, 'linux_x86') }}: diff --git a/eng/pipelines/common/templates/pipeline-with-resources.yml b/eng/pipelines/common/templates/pipeline-with-resources.yml index 62f8434f8335c..c762c47d89ec5 100644 --- a/eng/pipelines/common/templates/pipeline-with-resources.yml +++ b/eng/pipelines/common/templates/pipeline-with-resources.yml @@ -71,6 +71,11 @@ extends: linux_musl_x64_dev_innerloop: image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode + linux_x64_asan: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-amd64-net9.0-asan + env: + ROOTFS_DIR: /crossrootfs/x64 + # We use a CentOS Stream 8 image here to test building from source on CentOS Stream 8. SourceBuild_centos_x64: image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 diff --git a/eng/pipelines/runtime-sanitized.yml b/eng/pipelines/runtime-sanitized.yml index df461c03b7a70..6651508dccf8f 100644 --- a/eng/pipelines/runtime-sanitized.yml +++ b/eng/pipelines/runtime-sanitized.yml @@ -28,7 +28,7 @@ extends: buildConfig: Checked runtimeFlavor: coreclr platforms: - - linux_x64 + - linux_x64_asan - osx_x64 - windows_x64 variables: @@ -63,7 +63,7 @@ extends: buildConfig: Debug runtimeFlavor: coreclr platforms: - - linux_x64 + - linux_x64_asan - osx_x64 variables: - name: _nativeSanitizersArg @@ -123,7 +123,7 @@ extends: helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml buildConfig: release platforms: - - linux_x64 + - linux_x64_asan - osx_x64 - windows_x64 variables: From d45f8a9e48d9d388299f5cf69f2b459f8928218c Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 6 May 2024 15:03:32 -0700 Subject: [PATCH 07/10] Fix platform condition --- eng/pipelines/common/platform-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 8695573f9b550..5e4d7ed3d938b 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -269,7 +269,7 @@ jobs: cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} -- ${{ if or(containsValue(parameters.platforms, 'linux_x64_asan'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), in(parameters.platformGroup, 'all', 'gcstress')) }}: +- ${{ if containsValue(parameters.platforms, 'linux_x64_asan') }}: - template: xplat-setup.yml parameters: jobTemplate: ${{ parameters.jobTemplate }} From f8975576c1ab7d9dc6c42bfb9bb93472d48b6730 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 6 May 2024 15:27:52 -0700 Subject: [PATCH 08/10] Remove opt-in for current images to use new standard library --- eng/pipelines/common/platform-matrix.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 5e4d7ed3d938b..2c785958e5c1c 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -43,9 +43,6 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - cxxStandardLibrary: libc++ - cxxStandardLibraryStatic: true - cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux armv6 @@ -115,9 +112,6 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - cxxStandardLibrary: libc++ - cxxStandardLibraryStatic: true - cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm @@ -140,9 +134,6 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - cxxStandardLibrary: libc++ - cxxStandardLibraryStatic: true - cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm64 @@ -165,9 +156,6 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - cxxStandardLibrary: libc++ - cxxStandardLibraryStatic: true - cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux Bionic arm @@ -263,10 +251,6 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - ${{ if eq(parameters.container, '') }}: - cxxStandardLibrary: libc++ - cxxStandardLibraryStatic: true - cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} - ${{ if containsValue(parameters.platforms, 'linux_x64_asan') }}: From 322241ec5ba1e3184290fb5a5e4c7caaf785d860 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 8 May 2024 13:21:27 -0700 Subject: [PATCH 09/10] Rename sanitizer stuff based on new images in the new PR --- eng/pipelines/common/platform-matrix.yml | 5 +++-- eng/pipelines/common/templates/pipeline-with-resources.yml | 4 ++-- eng/pipelines/runtime-sanitized.yml | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 2c785958e5c1c..929b5597b39c2 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -253,7 +253,7 @@ jobs: crossBuild: true ${{ insert }}: ${{ parameters.jobParameters }} -- ${{ if containsValue(parameters.platforms, 'linux_x64_asan') }}: +- ${{ if containsValue(parameters.platforms, 'linux_x64_sanitizer') }}: - template: xplat-setup.yml parameters: jobTemplate: ${{ parameters.jobTemplate }} @@ -264,7 +264,7 @@ jobs: targetRid: linux-x64 platform: linux_x64 shouldContinueOnError: ${{ parameters.shouldContinueOnError }} - container: linux_x64_asan + container: linux_x64_sanitizer jobParameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} buildConfig: ${{ parameters.buildConfig }} @@ -272,6 +272,7 @@ jobs: crossBuild: true cxxStandardLibrary: libc++ cxxStandardLibraryStatic: true + cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Linux x86 diff --git a/eng/pipelines/common/templates/pipeline-with-resources.yml b/eng/pipelines/common/templates/pipeline-with-resources.yml index c762c47d89ec5..19aca2390d28a 100644 --- a/eng/pipelines/common/templates/pipeline-with-resources.yml +++ b/eng/pipelines/common/templates/pipeline-with-resources.yml @@ -71,8 +71,8 @@ extends: linux_musl_x64_dev_innerloop: image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode - linux_x64_asan: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-amd64-net9.0-asan + linux_x64_sanitizer: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-amd64-net9.0-sanitizer env: ROOTFS_DIR: /crossrootfs/x64 diff --git a/eng/pipelines/runtime-sanitized.yml b/eng/pipelines/runtime-sanitized.yml index 6651508dccf8f..329f9b9af9cde 100644 --- a/eng/pipelines/runtime-sanitized.yml +++ b/eng/pipelines/runtime-sanitized.yml @@ -28,7 +28,7 @@ extends: buildConfig: Checked runtimeFlavor: coreclr platforms: - - linux_x64_asan + - linux_x64_sanitizer - osx_x64 - windows_x64 variables: @@ -63,7 +63,7 @@ extends: buildConfig: Debug runtimeFlavor: coreclr platforms: - - linux_x64_asan + - linux_x64_sanitizer - osx_x64 variables: - name: _nativeSanitizersArg @@ -123,7 +123,7 @@ extends: helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml buildConfig: release platforms: - - linux_x64_asan + - linux_x64_sanitizer - osx_x64 - windows_x64 variables: From bfe8a5fb23fe73d86c8b1be8fac571eede7f8d95 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Tue, 14 May 2024 09:51:46 -0700 Subject: [PATCH 10/10] Remove changes for linux-x86 --- eng/pipelines/common/platform-matrix.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 929b5597b39c2..55a5a8e778e08 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -294,9 +294,6 @@ jobs: buildConfig: ${{ parameters.buildConfig }} helixQueueGroup: ${{ parameters.helixQueueGroup }} crossBuild: true - cxxStandardLibrary: libc++ - cxxStandardLibraryStatic: true - cxxAbiLibrary: libstdc++ ${{ insert }}: ${{ parameters.jobParameters }} # Runtime-dev-innerloop build