git: 7bf8b65e5079 - 2025Q1 - math/octave: fix build on armv7

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Tue, 28 Jan 2025 14:31:08 UTC
The branch 2025Q1 has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7bf8b65e5079f7629f08a3054cadfed32762b8e5

commit 7bf8b65e5079f7629f08a3054cadfed32762b8e5
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-01-22 19:07:01 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-01-28 14:30:54 +0000

    math/octave: fix build on armv7
    
    Restore a patch due to mikael@ that was mangled in a previous update.
    
    Fixes:          6473aac25b6dc63be299faa4fc1ed9cde77f1957
    Approved by:    portmgr (build fix blanket)
    MFH:            2025Q1
    PR:             223277
    
    (cherry picked from commit 6db8884be4287fe981d15bda1414417cc0c6b181)
---
 math/octave/files/patch-libinterp_corefcn_sysdep.cc | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/math/octave/files/patch-libinterp_corefcn_sysdep.cc b/math/octave/files/patch-libinterp_corefcn_sysdep.cc
index 2dd96ec87294..11e2c73c3375 100644
--- a/math/octave/files/patch-libinterp_corefcn_sysdep.cc
+++ b/math/octave/files/patch-libinterp_corefcn_sysdep.cc
@@ -1,4 +1,4 @@
---- libinterp/corefcn/sysdep.cc.orig	2020-11-26 18:20:44 UTC
+--- libinterp/corefcn/sysdep.cc.orig	2024-12-12 11:30:00 UTC
 +++ libinterp/corefcn/sysdep.cc
 @@ -61,6 +61,10 @@
  #  include <omp.h>
@@ -11,3 +11,21 @@
  #include "cmd-edit.h"
  #include "file-ops.h"
  #include "lo-mappers.h"
+@@ -110,6 +114,9 @@ BSD_init ()
+ static void
+ BSD_init ()
+ {
++#if defined(__FreeBSD__) && defined(__arm__)
++  fedisableexcept(FE_ALL_EXCEPT);
++#else /* !defined(__FreeBSD__) || !defined(__arm__) */
+ #  if defined (HAVE_FLOATINGPOINT_H)
+   // Disable trapping on common exceptions.
+ #    if ! defined (FP_X_DNML)
+@@ -117,6 +124,7 @@ BSD_init ()
+ #    endif
+   fpsetmask (~(FP_X_OFL|FP_X_INV|FP_X_DZ|FP_X_DNML|FP_X_UFL|FP_X_IMP));
+ #  endif
++#endif
+ }
+ 
+ #endif