summaryrefslogtreecommitdiff
path: root/Toolchain/Patches/gcc/0005-i386-Disable-math-errno-for-SerenityOS.patch
blob: 404eeecbbe1a2220451cc0a82061ee7f355d1ce4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From 7cb91a236863aa5c582d25a920ffbb7408c10e2f Mon Sep 17 00:00:00 2001
From: Daniel Bertalan <dani@danielbertalan.dev>
Date: Mon, 16 May 2022 15:04:33 +0200
Subject: [PATCH 5/6] i386: Disable math errno for SerenityOS

SerenityOS uses exceptions for math error handling, which allows the
compiler to do more optimizations on calls to math functions. This patch
has the effect of setting -fno-math-errno by default.
---
 gcc/common/config/i386/i386-common.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/common/config/i386/i386-common.cc b/gcc/common/config/i386/i386-common.cc
index 07fdd045f..6e2419563 100644
--- a/gcc/common/config/i386/i386-common.cc
+++ b/gcc/common/config/i386/i386-common.cc
@@ -1707,6 +1707,10 @@ ix86_option_init_struct (struct gcc_options *opts)
        avoid calling them when that's the only reason we would.  */
     opts->x_flag_errno_math = 0;
 
+#ifdef TARGET_SERENITY
+  opts->x_flag_errno_math = 0;
+#endif
+
   opts->x_flag_pcc_struct_return = 2;
   opts->x_flag_asynchronous_unwind_tables = 2;
 }
-- 
2.36.1