[PATCH] rts: Fix invocation of __ieee_set_fp_control() on alpha-linux
authorJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Thu, 3 Oct 2024 12:30:23 +0000 (14:30 +0200)
committerGianfranco Costamagna <locutusofborg@debian.org>
Mon, 17 Feb 2025 08:44:23 +0000 (09:44 +0100)
Fixes the following error when building GHC on alpha-linux:

rts/posix/Signals.c: In function ‘initDefaultHandlers’:

rts/posix/Signals.c:709:5: error:
     error: implicit declaration of function ‘ieee_set_fp_control’ [-Wimplicit-function-declaration]
      709 |     ieee_set_fp_control(0);
          |     ^~~~~~~~~~~~~~~~~~~
    |
709 |     ieee_set_fp_control(0);
    |

Gbp-Pq: Name alpha-fix-ieee_set_fp_control-invocation.patch

rts/posix/Signals.c

index 1d96fcfdf526464ff3559afe49a7498f354f869a..06e3bac0de0194e9a77f42ad868d276018b4273b 100644 (file)
@@ -21,7 +21,7 @@
 
 #if defined(alpha_HOST_ARCH)
 # if defined(linux_HOST_OS)
-#  include <asm/fpu.h>
+#  include <fenv.h>
 # else
 #  include <machine/fpu.h>
 # endif
@@ -706,7 +706,11 @@ initDefaultHandlers(void)
 #endif
 
 #if defined(alpha_HOST_ARCH)
+# if defined(linux_HOST_OS)
+    __ieee_set_fp_control(0);
+# else
     ieee_set_fp_control(0);
+# endif
 #endif
 
     // ignore SIGPIPE; see #1619