summaryrefslogtreecommitdiff
path: root/media-libs/ilmbase/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
commit3cf7c3ef441822c889356fd1812ebf2944a59851 (patch)
treec513fe68548b40365c1c2ebfe35c58ad431cdd77 /media-libs/ilmbase/files
parent05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff)
gentoo resync : 25.08.2020
Diffstat (limited to 'media-libs/ilmbase/files')
-rw-r--r--media-libs/ilmbase/files/ilmbase-2.5.2-musl.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/media-libs/ilmbase/files/ilmbase-2.5.2-musl.patch b/media-libs/ilmbase/files/ilmbase-2.5.2-musl.patch
new file mode 100644
index 000000000000..80f11e44c12e
--- /dev/null
+++ b/media-libs/ilmbase/files/ilmbase-2.5.2-musl.patch
@@ -0,0 +1,50 @@
+From c7af102e6bce6638add2f38576ffe9c6741ba768 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
+Date: Thu, 30 Jul 2020 02:21:07 +0200
+Subject: [PATCH] IexMathFpu.cpp: Fix build on non-glibc (e.g. musl libc).
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Originally from:
+https://github.com/void-linux/void-packages/blob/80bbc168faa25448bd3399f4df331b836e74b85c/srcpkgs/ilmbase/patches/musl-_fpstate.patch
+
+Fixes error:
+
+ IlmBase/IexMath/IexMathFpu.cpp: In function ‘void Iex_2_4::FpuControl::restoreControlRegs(const ucontext_t&, bool)’:
+ IlmBase/IexMath/IexMathFpu.cpp:284:38: error: ‘struct _fpstate’ has no member named ‘cw’; did you mean ‘cwd’?
+ 284 | setCw ((ucon.uc_mcontext.fpregs->cw & cwRestoreMask) | cwRestoreVal);
+ | ^~
+ | cwd
+ IlmBase/IexMath/IexMathFpu.cpp:287:20: error: ‘struct Iex_2_4::FpuControl::_fpstate_64’ has no member named ‘magic’
+ 287 | setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions);
+ | ^~~~~
+
+Signed-off-by: Niklas Hambüchen <mail@nh2.me>
+---
+ IlmBase/IexMath/IexMathFpu.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/IlmBase/IexMath/IexMathFpu.cpp b/IlmBase/IexMath/IexMathFpu.cpp
+index ceed658e0..439329e50 100644
+--- a/IexMath/IexMathFpu.cpp
++++ b/IexMath/IexMathFpu.cpp
+@@ -281,10 +281,18 @@ restoreControlRegs (const ucontext_t & ucon, bool clearExceptions)
+ inline void
+ restoreControlRegs (const ucontext_t & ucon, bool clearExceptions)
+ {
++#if defined(__GLIBC__) || defined(__i386__)
+ setCw ((ucon.uc_mcontext.fpregs->cw & cwRestoreMask) | cwRestoreVal);
++#else
++ setCw ((ucon.uc_mcontext.fpregs->cwd & cwRestoreMask) | cwRestoreVal);
++#endif
+
+ _fpstate * kfp = reinterpret_cast<_fpstate *> (ucon.uc_mcontext.fpregs);
++#if defined(__GLIBC__) || defined(__i386__)
+ setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions);
++#else
++ setMxcsr (kfp->mxcsr, clearExceptions);
++#endif
+ }
+
+ #endif