Accepting request 835547 from home:badshah400:branches:science
(Needed to fix builds for insighttoolkit on aarch64) Add eigen3-CastXML-support-for-aarch64.patch to support CastXML on aarch64 [https://gitlab.com/libeigen/eigen/-/issues/1979]; patch taken from upstream commit and rebased to apply without fuzz. OBS-URL: https://build.opensuse.org/request/show/835547 OBS-URL: https://build.opensuse.org/package/show/science/eigen3?expand=0&rev=29
This commit is contained in:
parent
89516775f4
commit
af13f5e779
54
eigen3-CastXML-support-for-aarch64.patch
Normal file
54
eigen3-CastXML-support-for-aarch64.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From 880fa43b2ba9c25f45ae3ad4871a6aabe558329f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brad King <brad.king@kitware.com>
|
||||||
|
Date: Wed, 16 Sep 2020 13:37:27 -0400
|
||||||
|
Subject: [PATCH] Add support for CastXML on ARM aarch64
|
||||||
|
|
||||||
|
CastXML simulates the preprocessors of other compilers, but actually
|
||||||
|
parses the translation unit with an internal Clang compiler.
|
||||||
|
Use the same `vld1q_u64` workaround that we do for Clang.
|
||||||
|
|
||||||
|
Fixes: #1979
|
||||||
|
---
|
||||||
|
Eigen/src/Core/arch/NEON/Complex.h | 4 ++--
|
||||||
|
Eigen/src/Core/util/Macros.h | 6 ++++++
|
||||||
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: eigen-eigen-323c052e1731/Eigen/src/Core/arch/NEON/Complex.h
|
||||||
|
===================================================================
|
||||||
|
--- eigen-eigen-323c052e1731.orig/Eigen/src/Core/arch/NEON/Complex.h
|
||||||
|
+++ eigen-eigen-323c052e1731/Eigen/src/Core/arch/NEON/Complex.h
|
||||||
|
@@ -17,7 +17,7 @@ namespace internal {
|
||||||
|
|
||||||
|
inline uint32x4_t p4ui_CONJ_XOR() {
|
||||||
|
// See bug 1325, clang fails to call vld1q_u64.
|
||||||
|
-#if EIGEN_COMP_CLANG
|
||||||
|
+#if EIGEN_COMP_CLANG || EIGEN_COMP_CASTXML
|
||||||
|
uint32x4_t ret = { 0x00000000, 0x80000000, 0x00000000, 0x80000000 };
|
||||||
|
return ret;
|
||||||
|
#else
|
||||||
|
@@ -291,7 +291,7 @@ ptranspose(PacketBlock<Packet2cf,2>& ker
|
||||||
|
#if EIGEN_ARCH_ARM64 && !EIGEN_APPLE_DOUBLE_NEON_BUG
|
||||||
|
|
||||||
|
// See bug 1325, clang fails to call vld1q_u64.
|
||||||
|
-#if EIGEN_COMP_CLANG
|
||||||
|
+#if EIGEN_COMP_CLANG || EIGEN_COMP_CASTXML
|
||||||
|
static uint64x2_t p2ul_CONJ_XOR = {0x0, 0x8000000000000000};
|
||||||
|
#else
|
||||||
|
const uint64_t p2ul_conj_XOR_DATA[] = { 0x0, 0x8000000000000000 };
|
||||||
|
Index: eigen-eigen-323c052e1731/Eigen/src/Core/util/Macros.h
|
||||||
|
===================================================================
|
||||||
|
--- eigen-eigen-323c052e1731.orig/Eigen/src/Core/util/Macros.h
|
||||||
|
+++ eigen-eigen-323c052e1731/Eigen/src/Core/util/Macros.h
|
||||||
|
@@ -35,6 +35,12 @@
|
||||||
|
#define EIGEN_COMP_CLANG 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/// \internal EIGEN_COMP_CASTXML set to 1 if being preprocessed by CastXML
|
||||||
|
+#if defined(__castxml__)
|
||||||
|
+ #define EIGEN_COMP_CASTXML 1
|
||||||
|
+#else
|
||||||
|
+ #define EIGEN_COMP_CASTXML 0
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/// \internal EIGEN_COMP_LLVM set to 1 if the compiler backend is llvm
|
||||||
|
#if defined(__llvm__)
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 17 12:23:42 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Add eigen3-CastXML-support-for-aarch64.patch to support CastXML
|
||||||
|
on aarch64 [https://gitlab.com/libeigen/eigen/-/issues/1979];
|
||||||
|
patch taken from upstream commit and rebased to apply without
|
||||||
|
fuzz.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Aug 5 23:28:16 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
Mon Aug 5 23:28:16 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package eigen3
|
# spec file for package eigen3
|
||||||
#
|
#
|
||||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2020 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -31,7 +31,7 @@ Release: 0
|
|||||||
Summary: C++ Template Library for Linear Algebra
|
Summary: C++ Template Library for Linear Algebra
|
||||||
License: MPL-2.0 AND LGPL-2.1-only AND LGPL-2.1-or-later AND BSD-3-Clause
|
License: MPL-2.0 AND LGPL-2.1-only AND LGPL-2.1-or-later AND BSD-3-Clause
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Url: http://eigen.tuxfamily.org/
|
URL: http://eigen.tuxfamily.org/
|
||||||
Source0: https://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2#/%{pkgname}-%{version}.tar.bz2
|
Source0: https://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2#/%{pkgname}-%{version}.tar.bz2
|
||||||
Patch0: 0001-Disable-Altivec-for-ppc64le.patch
|
Patch0: 0001-Disable-Altivec-for-ppc64le.patch
|
||||||
Patch1: 0001-Do-stack-allignment-on-ppc.patch
|
Patch1: 0001-Do-stack-allignment-on-ppc.patch
|
||||||
@ -41,6 +41,8 @@ Patch2: eigen_pkgconfig.patch
|
|||||||
Patch3: 01_install_FindEigen3.patch
|
Patch3: 01_install_FindEigen3.patch
|
||||||
# PATCH-FIX-OPENSUSE eigen3-3.3.1-fixcmake.patch -- Fix double {prefix} as we use INCLUDE_INSTALL_DIR with {_includedir}
|
# PATCH-FIX-OPENSUSE eigen3-3.3.1-fixcmake.patch -- Fix double {prefix} as we use INCLUDE_INSTALL_DIR with {_includedir}
|
||||||
Patch4: eigen3-3.3.1-fixcmake.patch
|
Patch4: eigen3-3.3.1-fixcmake.patch
|
||||||
|
# PATCH-FIX-UPSTREAM eigen3-CastXML-support-for-aarch64.patch badshah400@gmail.com -- Add CastXML support for ARM aarch64 [https://gitlab.com/libeigen/eigen/-/issues/1979]
|
||||||
|
Patch5: eigen3-CastXML-support-for-aarch64.patch
|
||||||
BuildRequires: adolc-devel
|
BuildRequires: adolc-devel
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: fftw3-devel
|
BuildRequires: fftw3-devel
|
||||||
@ -102,6 +104,7 @@ for Linear Algebra
|
|||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
|
||||||
# Fix rpmlint warning "wrong-file-end-of-line-encoding"
|
# Fix rpmlint warning "wrong-file-end-of-line-encoding"
|
||||||
sed -i 's/\r$//' COPYING.MINPACK
|
sed -i 's/\r$//' COPYING.MINPACK
|
||||||
|
Loading…
Reference in New Issue
Block a user