From 4ed6414c17a9d194e8f93e5a3f1796879c49d9a9 Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Fri, 28 Jul 2023 04:53:27 +0300 Subject: [PATCH 1/2] Fix 64-bit fortran options for riscv64 64-bit builds are currently broken without this flag. Makefiles have done this already: https://github.com/xianyi/OpenBLAS/blob/5720fa02c58562c7d3e6a3e97b053598548e98d9/Makefile.system#L831 --- cmake/fc.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/fc.cmake b/cmake/fc.cmake index a67760885..2f7ee3371 100644 --- a/cmake/fc.cmake +++ b/cmake/fc.cmake @@ -63,6 +63,11 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95") set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp32") endif () endif () + if (RISCV64) + if (BINARY64) + set(FCOMMON_OPT "${FCOMMON_OPT} -fdefault-integer-8") + endif () + endif () else () if (BINARY64) set(FCOMMON_OPT "${FCOMMON_OPT} -m64") From f5506b002cac8226be51d9ccdc45cf37f94d1d42 Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Fri, 28 Jul 2023 16:19:14 +0300 Subject: [PATCH 2/2] Add 64-bit flag on INTERFACE64 only --- cmake/fc.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/fc.cmake b/cmake/fc.cmake index 2f7ee3371..7400cb3e6 100644 --- a/cmake/fc.cmake +++ b/cmake/fc.cmake @@ -65,7 +65,9 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95") endif () if (RISCV64) if (BINARY64) - set(FCOMMON_OPT "${FCOMMON_OPT} -fdefault-integer-8") + if (INTERFACE64) + set(FCOMMON_OPT "${FCOMMON_OPT} -fdefault-integer-8") + endif () endif () endif () else ()