From 1a32f82807ae01813f14bdf12fed75eb32799e18 Mon Sep 17 00:00:00 2001 From: Cheng Shao <terrorjack@type.dance> Date: Tue, 7 May 2024 20:45:32 +0000 Subject: [PATCH] hadrian: disable in-tree gmp fft code path for wasm32 This patch disables in-tree GMP FFT code paths for wasm32 target in order to give up some performance of multiplying very large operands in exchange for reduced code size. --- hadrian/src/Settings/Builders/Configure.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hadrian/src/Settings/Builders/Configure.hs b/hadrian/src/Settings/Builders/Configure.hs index 83d60306728d..fadeed02331a 100644 --- a/hadrian/src/Settings/Builders/Configure.hs +++ b/hadrian/src/Settings/Builders/Configure.hs @@ -17,6 +17,10 @@ configureBuilderArgs = do pure $ [ "--enable-shared=no" , "--host=" ++ targetPlatform -- GMP's host is our target , "--build=" ++ buildPlatform ] + -- Disable FFT logic on wasm32, sacrifice + -- performance of multiplying very large operands + -- to save code size + <> [ "--disable-fft" | targetArch == "wasm32" ] -- Disable GMP's alloca usage on wasm32, it may -- cause stack overflow (#22602) due to the -- rather small 64KB default stack size. See -- GitLab