From 239282d5e26156e8e5d3ef53b1bb595ea726be6f Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Apr 2020 22:30:51 +0200 Subject: [PATCH 1/8] Use CMAKE_SHARED_LINKER_FLAGS to pass MSVC linker option target_link_libraries does not work here according to issue 2472 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 20cf741c4..c2b9ae7ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,7 +240,7 @@ if (BUILD_SHARED_LIBS AND BUILD_RELAPACK) if (NOT MSVC) target_link_libraries(${OpenBLAS_LIBNAME} "-Wl,-allow-multiple-definition") else() - target_link_libraries(${OpenBLAS_LIBNAME} "/FORCE:MULTIPLE") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /FORCE:MULTIPLE") endif() endif() From f5c4c28b989ee3b10c2ba89b7a5179cbfce38001 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 21 Apr 2020 17:17:17 +0200 Subject: [PATCH 2/8] Work around POWER8BE bugs on FreeBSD (ELFv2) for #2299 --- kernel/power/KERNEL.POWER8 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/power/KERNEL.POWER8 b/kernel/power/KERNEL.POWER8 index c7867012b..03a4d90b8 100644 --- a/kernel/power/KERNEL.POWER8 +++ b/kernel/power/KERNEL.POWER8 @@ -232,3 +232,11 @@ QCABS_KERNEL = ../generic/cabs.c #Dump kernel CGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c ZGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c + +ifeq ($(__BYTE_ORDER__),__ORDER_BIG_ENDIAN__) +IDAMAXKERNEL = ../arm/iamax.c +IDAMINKERNEL = ../arm/iamin.c +IZAMAXKERNEL = ../arm/izamax.c +IZAMINKERNEL = ../arm/izamin.c +endif + From 2db5178e2d3c6f010df51d1a7a4e62c2bd7b407f Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 22 Apr 2020 11:01:28 +0200 Subject: [PATCH 3/8] enable cblas interfaces to GEMM3M in CMAKE builds --- interface/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 5ea39f864..7a8fc6698 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -115,7 +115,7 @@ foreach (float_type ${FLOAT_TYPES}) GenerateNamedObjects("syr2k.c" "HEMM" "her2k" ${CBLAS_FLAG} "" "" false ${float_type}) if (USE_GEMM3M) - GenerateNamedObjects("gemm.c" "GEMM3M" "gemm3m" false "" "" false ${float_type}) + GenerateNamedObjects("gemm.c" "GEMM3M" "gemm3m" ${CBLAS_FLAG} "" "" false ${float_type}) endif() endif () if (${float_type} STREQUAL "COMPLEX") From 6275b43918e54fc19294860f990cec6002de5816 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 22 Apr 2020 14:12:27 +0200 Subject: [PATCH 4/8] Avoid duplicate printout of byte order and report ELF_VERSION --- getarch.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/getarch.c b/getarch.c index e739d2de9..c173d58b8 100644 --- a/getarch.c +++ b/getarch.c @@ -1362,10 +1362,12 @@ int main(int argc, char *argv[]){ #if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ printf("__BYTE_ORDER__=__ORDER_BIG_ENDIAN__\n"); -#endif -#if defined(__BIG_ENDIAN__) && __BIG_ENDIAN__ > 0 +#elif defined(__BIG_ENDIAN__) && __BIG_ENDIAN__ > 0 printf("__BYTE_ORDER__=__ORDER_BIG_ENDIAN__\n"); #endif +#if defined(_CALL_ELF) && (_CALL_ELF == 2) +printf("ELF_VERSION=2\n"); +#endif #ifdef MAKE_NB_JOBS #if MAKE_NB_JOBS > 0 From c90b28dee64244ee5038620a5889ef993bd8bea8 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 22 Apr 2020 14:14:20 +0200 Subject: [PATCH 5/8] Export ELF_VERSION for use in powerpc kernel configurations --- Makefile.system | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.system b/Makefile.system index 51bd1c4bd..ce071133d 100644 --- a/Makefile.system +++ b/Makefile.system @@ -1349,6 +1349,7 @@ export ARCH export CORE export LIBCORE export __BYTE_ORDER__ +export ELF_VERSION export PGCPATH export CONFIG export CC From 06208c8d015d2429645b26c19e74909a861fbfd2 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 22 Apr 2020 14:16:40 +0200 Subject: [PATCH 6/8] Limit this fix to ELFv2 builds --- kernel/power/KERNEL.POWER8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/power/KERNEL.POWER8 b/kernel/power/KERNEL.POWER8 index 03a4d90b8..b2a43d4c4 100644 --- a/kernel/power/KERNEL.POWER8 +++ b/kernel/power/KERNEL.POWER8 @@ -233,7 +233,7 @@ QCABS_KERNEL = ../generic/cabs.c CGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c ZGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c -ifeq ($(__BYTE_ORDER__),__ORDER_BIG_ENDIAN__) +ifeq ($(__BYTE_ORDER__)$(ELF_VERSION),__ORDER_BIG_ENDIAN__2) IDAMAXKERNEL = ../arm/iamax.c IDAMINKERNEL = ../arm/iamin.c IZAMAXKERNEL = ../arm/izamax.c From 4412ee1754161ea98c91ee81c261abf16129e156 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 23 Apr 2020 10:54:46 +0200 Subject: [PATCH 7/8] Switch homebrew build env to new xcode 11.4 default 11.3.1 in the github image is causing brew to fail with "outdated xcode" message --- .github/workflows/nightly-Homebrew-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/nightly-Homebrew-build.yml b/.github/workflows/nightly-Homebrew-build.yml index f55e73d23..ed00f87c3 100644 --- a/.github/workflows/nightly-Homebrew-build.yml +++ b/.github/workflows/nightly-Homebrew-build.yml @@ -21,6 +21,7 @@ jobs: build-OpenBLAS-with-Homebrew: runs-on: macos-latest env: + DEVELOPER_DIR: /Applications/Xcode_11.4.app/Contents/Developer HOMEBREW_DEVELOPER: "ON" HOMEBREW_DISPLAY_INSTALL_TIMES: "ON" HOMEBREW_NO_ANALYTICS: "ON" From f80dd2151ebde13d024efa0ee333d3e15dbc046c Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 23 Apr 2020 14:31:09 +0200 Subject: [PATCH 8/8] xcode 11.4.1 for homebrew ? --- .github/workflows/nightly-Homebrew-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-Homebrew-build.yml b/.github/workflows/nightly-Homebrew-build.yml index ed00f87c3..8d7cfea2d 100644 --- a/.github/workflows/nightly-Homebrew-build.yml +++ b/.github/workflows/nightly-Homebrew-build.yml @@ -21,7 +21,7 @@ jobs: build-OpenBLAS-with-Homebrew: runs-on: macos-latest env: - DEVELOPER_DIR: /Applications/Xcode_11.4.app/Contents/Developer + DEVELOPER_DIR: /Applications/Xcode_11.4.1.app/Contents/Developer HOMEBREW_DEVELOPER: "ON" HOMEBREW_DISPLAY_INSTALL_TIMES: "ON" HOMEBREW_NO_ANALYTICS: "ON"