serenity/Toolchain/Patches/gcc/0005-i386-Disable-math-errno-for-SerenityOS.patch

28 lines
1.1 KiB
Diff
Raw Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Bertalan <dani@danielbertalan.dev>
Date: Mon, 16 May 2022 15:04:33 +0200
Subject: [PATCH] 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 c72644cb7db37b18cb22cf1ff02a972a18509d01..cce666b274cd6129796efc81870428dc17a6f229 100644
--- a/gcc/common/config/i386/i386-common.cc
+++ b/gcc/common/config/i386/i386-common.cc
@@ -1854,6 +1854,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;
}