aports/community/dotnet6-build/runtime_detect-armv8.patch
2022-04-08 09:53:43 +00:00

60 lines
2.7 KiB
Diff

From 79ddbec165071d8f8e51fd7c06600be466972758 Mon Sep 17 00:00:00 2001
Patch-Source: https://github.com/dotnet/runtime/pull/66438
From: Antoine Martin <dev@ayakael.net>
Date: Mon, 21 Feb 2022 06:03:34 +0000
Subject: [PATCH 1/1] Add armv8l detection logics for virtualized 32-bit ARM
Alpine pipeline emulates 32bit arm on aarch64 hardware, which is named
armv8l. Thus arm detection logics don't know to read armv8l as arm.
Patch adds those logics in.
---
eng/native/configureplatform.cmake | 2 +-
eng/native/configuretools.cmake | 3 ++-
eng/native/init-os-and-arch.sh | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/eng/native/configureplatform.cmake b/eng/native/configureplatform.cmake
index f5c8abe6699..6d580324362 100644
--- a/eng/native/configureplatform.cmake
+++ b/eng/native/configureplatform.cmake
@@ -36,7 +36,7 @@ if(CLR_CMAKE_HOST_OS STREQUAL Linux)
# "amd64" string. Accept either of the two here.
if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64)
set(CLR_CMAKE_HOST_UNIX_AMD64 1)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv8l)
set(CLR_CMAKE_HOST_UNIX_ARM 1)
set(CLR_CMAKE_HOST_UNIX_ARMV7L 1)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL arm OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7-a)
diff --git a/eng/native/configuretools.cmake b/eng/native/configuretools.cmake
index 136cd67925d..2113153aac0 100644
--- a/eng/native/configuretools.cmake
+++ b/eng/native/configuretools.cmake
@@ -53,7 +53,8 @@ if(NOT WIN32 AND NOT CLR_CMAKE_TARGET_BROWSER)
if(CLR_CMAKE_TARGET_ANDROID)
set(TOOLSET_PREFIX ${ANDROID_TOOLCHAIN_PREFIX})
elseif(CMAKE_CROSSCOMPILING AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD AND (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR
- CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL arm OR CMAKE_SYSTEM_PROCESSOR STREQUAL s390x))
+ CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL arm OR CMAKE_SYSTEM_PROCESSOR STREQUAL s390x OR
+ CMAKE_SYSTEM_PROCESSOR STREQUAL armv8l))
set(TOOLSET_PREFIX "${TOOLCHAIN}-")
else()
set(TOOLSET_PREFIX "")
diff --git a/eng/native/init-os-and-arch.sh b/eng/native/init-os-and-arch.sh
index fc4078fa3a9..9ba5b3c227a 100644
--- a/eng/native/init-os-and-arch.sh
+++ b/eng/native/init-os-and-arch.sh
@@ -41,7 +41,7 @@ case "$CPUName" in
arch=x64
;;
- armv7l)
+ armv7l|armv8l)
if (NAME=""; . /etc/os-release; test "$NAME" = "Tizen"); then
arch=armel
else
--
2.31.1