Use the v3 of upstream submitted patch Signed-off-by: Khem Raj <[email protected]> --- ...ck-for-deducing-32bit-or-64bit-RISCV.patch | 71 +++++++++---------- 1 file changed, 35 insertions(+), 36 deletions(-)
diff --git a/meta-oe/recipes-extended/highway/highway/0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch b/meta-oe/recipes-extended/highway/highway/0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch index bafe218f0d..ecc9c441c5 100644 --- a/meta-oe/recipes-extended/highway/highway/0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch +++ b/meta-oe/recipes-extended/highway/highway/0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch @@ -1,4 +1,4 @@ -From 5d40c0c49f9acde83ba71b6f59094cdbd12e1b78 Mon Sep 17 00:00:00 2001 +From b06541a75043c9a8213187fca942a0270783bd0e Mon Sep 17 00:00:00 2001 From: Khem Raj <[email protected]> Date: Tue, 17 Sep 2024 18:22:36 +0000 Subject: [PATCH] Add cmake check for deducing 32bit or 64bit RISCV @@ -7,52 +7,49 @@ Currently its only compilable for RV64 when RVV is enabled, this will extend it to build for RV32 with RVV as well -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/google/highway/pull/2330] Signed-off-by: Khem Raj <[email protected]> --- - CMakeLists.txt | 36 ++++++++++++++++++++++++++++++++++-- - 1 file changed, 34 insertions(+), 2 deletions(-) + CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++--- + 1 file changed, 35 insertions(+), 3 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ea8b330c..cd824787 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -65,6 +65,34 @@ if (NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE RelWithDebInfo) +@@ -59,6 +59,33 @@ if(CHECK_PIE_SUPPORTED) + endif() endif() -+include(CheckCSourceCompiles) ++if (CMAKE_CXX_COMPILER_ARCHITECTURE_ID MATCHES "RISCV32|RISCV64|RISCV128" OR CMAKE_SYSTEM_PROCESSOR MATCHES "riscv32|riscv64|riscv128") ++ include(CheckCSourceCompiles) ++ check_c_source_compiles(" ++ #if __riscv_xlen == 64 ++ int main() { return 0; } ++ #else ++ #error Not RISCV-64 ++ #endif ++ " IS_RISCV_XLEN_64) + -+check_c_source_compiles(" -+#if __riscv_xlen == 64 -+int main() { return 0; } -+#else -+#error Not RISCV-64 -+#endif -+" IS_RISCV_XLEN_64) ++ check_c_source_compiles(" ++ #if __riscv_xlen == 32 ++ int main() { return 0; } ++ #else ++ #error Not RISCV-32 ++ #endif ++ " IS_RISCV_XLEN_32) + -+check_c_source_compiles(" -+#if __riscv_xlen == 32 -+int main() { return 0; } -+#else -+#error Not RISCV-32 -+#endif -+" IS_RISCV_XLEN_32) -+ -+if(IS_RISCV_XLEN_32) -+ set(RISCV_XLEN 32) -+elseif(IS_RISCV_XLEN_64) -+ set(RISCV_XLEN 64) -+else() -+ message(WARNING "Unable to determine RISC-V XLEN") ++ if(IS_RISCV_XLEN_32) ++ set(RISCV_XLEN 32) ++ elseif(IS_RISCV_XLEN_64) ++ set(RISCV_XLEN 64) ++ else() ++ message(WARNING "Unable to determine RISC-V XLEN") ++ endif() +endif() + -+message(STATUS "RISC-V XLEN: ${RISCV_XLEN}") -+ - # The following is only required with GCC < 6.1.0 or CLANG < 16.0 - set(HWY_CMAKE_ARM7 OFF CACHE BOOL "Set copts for Armv7 with NEON (requires vfpv4)?") + include(GNUInstallDirs) -@@ -72,7 +100,7 @@ set(HWY_CMAKE_ARM7 OFF CACHE BOOL "Set copts for Armv7 with NEON (requires vfpv4 + if (NOT CMAKE_BUILD_TYPE) +@@ -72,7 +99,7 @@ set(HWY_CMAKE_ARM7 OFF CACHE BOOL "Set c # skipped. For GCC 13.1+, you can also build with -fexcess-precision=standard. set(HWY_CMAKE_SSE2 OFF CACHE BOOL "Set SSE2 as baseline for 32-bit x86?") @@ -61,15 +58,17 @@ index ea8b330c..cd824787 100644 set(HWY_CMAKE_RVV ON CACHE BOOL "Set copts for RISCV with RVV?") # Unconditionally adding -Werror risks breaking the build when new warnings -@@ -378,7 +406,11 @@ else() +@@ -378,7 +405,13 @@ else() # we add the gcv compiler flag, which then requires the CPU (now when using # either compiler) to support V. if(HWY_CMAKE_RVV) - list(APPEND HWY_FLAGS -march=rv64gcv1p0) + if(RISCV_XLEN EQUAL 64) + list(APPEND HWY_FLAGS -march=rv64gcv1p0) ++ add_link_options(-march=rv64gcv1p0) + elseif(RISCV_XLEN EQUAL 32) + list(APPEND HWY_FLAGS -march=rv32gcv1p0) ++ add_link_options(-march=rv32gcv1p0) + endif() if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") list(APPEND HWY_FLAGS -menable-experimental-extensions)
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#112672): https://lists.openembedded.org/g/openembedded-devel/message/112672 Mute This Topic: https://lists.openembedded.org/mt/108831489/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
