mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-08 08:30:47 -09:00
package/foot: support soft-float architecture
Architecture using soft float don't support the math FE_* exceptions.
This commit adds a patch to conditionnally build the FE_* exception
handling.
Fixes:
https://autobuild.buildroot.org/results/88d/88d764dd12bdbdbe633ebc703c461ebe95b75693/
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
fefb6a6785
commit
ac83fdcb29
@@ -0,0 +1,42 @@
|
||||
From 9443ac7e2937bb4f26cf44c73bb8150860c5df45 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
|
||||
Date: Tue, 4 Feb 2025 09:48:13 +0100
|
||||
Subject: [PATCH] box-drawings: handle architecture with soft-float
|
||||
|
||||
Currently, architecture using soft-floats doesn't support instructions
|
||||
FE_INVALID, FE_DIVBYZERO, FE_OVERFLOW and FE_UNDERFLOW and so building
|
||||
on those architectures results with a build error.
|
||||
As the sqrt math function should set errno to EDOM if an error occurs,
|
||||
fetestexcept shouldn't be mandatory.
|
||||
|
||||
This commit removes the float environment error handling.
|
||||
|
||||
Upstream: https://codeberg.org/dnkl/foot/commit/9443ac7e2937bb4f26cf44c73bb8150860c5df45
|
||||
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
|
||||
---
|
||||
box-drawing.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/box-drawing.c b/box-drawing.c
|
||||
index 1c613051..421ff54d 100644
|
||||
--- a/box-drawing.c
|
||||
+++ b/box-drawing.c
|
||||
@@ -1462,14 +1462,12 @@ draw_box_drawings_light_arc(struct buf *buf, char32_t wc)
|
||||
*/
|
||||
for (double i = y_min*16; i <= y_max*16; i++) {
|
||||
errno = 0;
|
||||
- feclearexcept(FE_ALL_EXCEPT);
|
||||
|
||||
double y = i / 16.;
|
||||
double x = circle_hemisphere * sqrt(c_r2 - (y - c_y) * (y - c_y)) + c_x;
|
||||
|
||||
/* See math_error(7) */
|
||||
- if (errno != 0 ||
|
||||
- fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW))
|
||||
+ if (errno != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
--
|
||||
2.48.1
|
||||
|
||||
Reference in New Issue
Block a user