Target lower glibc for Linux arm64 (#80939)
authorSven Boemer <sbomer@gmail.com>
Fri, 27 Jan 2023 20:31:02 +0000 (12:31 -0800)
committerGitHub <noreply@github.com>
Fri, 27 Jan 2023 20:31:02 +0000 (12:31 -0800)
This uses new cross-build images that target Ubuntu 16.04,
lowering the glibc requirements. The initial change is only for
Linux arm64, to match what we plan to do in .NET 7. The 8.0
change will let us validate the PGO instrumentation, which
happens in official builds, but not in PR jobs.

eng/pipelines/common/templates/pipeline-with-resources.yml
src/mono/mono.proj

index 7104841..c6e9c96 100644 (file)
@@ -15,9 +15,9 @@ resources:
         ROOTFS_DIR: /crossrootfs/armv6
 
     - container: linux_arm64
-      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm64
+      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-arm64
       env:
-        ROOTFS_DIR: /crossrootfs/arm64
+        ROOTFS_DIR: /crossrootfs
 
     - container: linux_musl_x64
       image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.13-WithNode
index 858659e..e9019b5 100644 (file)
       <MonoAotAbi>aarch64-linux-gnu</MonoAotAbi>
       <MonoAotOffsetsFile>$(MonoObjCrossDir)offsets-aarch-linux-gnu.h</MonoAotOffsetsFile>
       <MonoAotOffsetsPrefix>$(MonoCrossDir)/usr/lib/gcc/aarch64-linux-gnu/7</MonoAotOffsetsPrefix>
+      <MonoAotOffsetsPrefix Condition="'$(Platform)' == 'arm64'">$(MonoCrossDir)/usr/lib/gcc/aarch64-linux-gnu/5</MonoAotOffsetsPrefix>
     </PropertyGroup>
 
     <!-- macOS host specific options -->