From 6ca898b63b81325559cbd2e925bf245f2a8ac999 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 8 Jun 2019 23:17:03 +0200 Subject: [PATCH 1/2] Add gfortran workaround for potential ABI violation for #2154 --- cmake/fc.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/fc.cmake b/cmake/fc.cmake index adec28a91..9d8a5713c 100644 --- a/cmake/fc.cmake +++ b/cmake/fc.cmake @@ -44,7 +44,10 @@ endif () if (${F_COMPILER} STREQUAL "GFORTRAN") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_GFORT") + # ensure reentrancy of lapack codes set(FCOMMON_OPT "${FCOMMON_OPT} -Wall -frecursive") + # work around ABI violation in passing string arguments from C + set(FCOMMON_OPT "$(FCOMMON_OPT) -fno-optimize-sibling-calls") #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc if (NOT NO_LAPACK) set(EXTRALIB "{EXTRALIB} -lgfortran") From e674e1c73515fab38e263d121429a1a5da494a45 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 9 Jun 2019 09:31:13 +0200 Subject: [PATCH 2/2] Update fc.cmake --- cmake/fc.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/fc.cmake b/cmake/fc.cmake index 9d8a5713c..f54c989d4 100644 --- a/cmake/fc.cmake +++ b/cmake/fc.cmake @@ -47,7 +47,7 @@ if (${F_COMPILER} STREQUAL "GFORTRAN") # ensure reentrancy of lapack codes set(FCOMMON_OPT "${FCOMMON_OPT} -Wall -frecursive") # work around ABI violation in passing string arguments from C - set(FCOMMON_OPT "$(FCOMMON_OPT) -fno-optimize-sibling-calls") + set(FCOMMON_OPT "${FCOMMON_OPT} -fno-optimize-sibling-calls") #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc if (NOT NO_LAPACK) set(EXTRALIB "{EXTRALIB} -lgfortran")