NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
lib/58337: logl() crashes on arm64
>Number: 58337
>Category: lib
>Synopsis: logl() crashes on arm64
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: lib-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jun 11 21:50:00 +0000 2024
>Originator: matthew green
>Release: -current
>Organization:
bozotic softwar foundation
>Environment:
arm64, cortex a-72
>Description:
pkgsrc/audio/fluidsynth build crashes in logl(). Taylor tracked it down
to the EXTRACT_LDBL128_WORDS() macro switching the high/low portions.
swapping the extu_fracl/extu_frach parts makes it work again.
>How-To-Repeat:
build pkgsrc/audio/fluidsynth on arm64.
>Fix:
Index: src/math_private.h
===================================================================
RCS file: /cvsroot/src/lib/libm/src/math_private.h,v
retrieving revision 1.32
diff -p -u -r1.32 math_private.h
--- src/math_private.h 3 Apr 2024 04:40:23 -0000 1.32
+++ src/math_private.h 11 Jun 2024 21:45:39 -0000
@@ -264,8 +264,8 @@ do { \
union ieee_ext_u ew_u; \
ew_u.extu_ld = (d); \
(ix0) = GET_EXPSIGN(&ew_u); \
- (ix1) = ew_u.extu_fracl; \
- (ix2) = ew_u.extu_frach; \
+ (ix1) = ew_u.extu_frach; \
+ (ix2) = ew_u.extu_fracl; \
} while (0)
/* Get expsign as a 16 bit int from a long double. */
Home |
Main Index |
Thread Index |
Old Index