[PATCH v2] newlib: change static to __fenv_static for fe{enable,disable,get}except
Radek Barton
radek.barton@microsoft.com
Thu Jul 3 18:59:23 GMT 2025
Hello.
Sending the version with the __cygwin_fenv_static suggestion applied.
Radek
---
>From 5c708ec741b4c4dd7676b7030451bc08607ce352 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Radek=20Barto=C5=88?= <radek.barton@microsoft.com>
Date: Thu, 3 Jul 2025 12:00:22 +0200
Subject: [PATCH v2] newlib: change static to __fenv_static for
fe{enable,disable,get}except
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes undefined references to those functions when building cygwin1.dll for AArch64.
Signed-off-by: Radek Bartoň <radek.barton@microsoft.com>
---
newlib/libc/machine/aarch64/sys/fenv.h | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/newlib/libc/machine/aarch64/sys/fenv.h b/newlib/libc/machine/aarch64/sys/fenv.h
index 6b0879269..1f97791a7 100644
--- a/newlib/libc/machine/aarch64/sys/fenv.h
+++ b/newlib/libc/machine/aarch64/sys/fenv.h
@@ -80,9 +80,17 @@ extern const fenv_t *_fe_dfl_env;
#if __BSD_VISIBLE
-/* We currently provide no external definitions of the functions below. */
+/* We currently provide no external definitions of the functions below
+ except of for Cygwin where those functions are exported by
+ winsup/cygwin/cygwin.din. */
+
+#ifdef __CYGWIN__
+#define __cygwin_fenv_static __fenv_static
+#else
+#define __cygwin_fenv_static static
+#endif
-static inline int
+__cygwin_fenv_static inline int
feenableexcept(int __mask)
{
fenv_t __old_r, __new_r;
@@ -93,7 +101,7 @@ feenableexcept(int __mask)
return ((__old_r >> _FPUSW_SHIFT) & FE_ALL_EXCEPT);
}
-static inline int
+__cygwin_fenv_static inline int
fedisableexcept(int __mask)
{
fenv_t __old_r, __new_r;
@@ -104,7 +112,7 @@ fedisableexcept(int __mask)
return ((__old_r >> _FPUSW_SHIFT) & FE_ALL_EXCEPT);
}
-static inline int
+__cygwin_fenv_static inline int
fegetexcept(void)
{
fenv_t __r;
--
2.49.0.vfs.0.4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0001-newlib-change-static-to-__fenv_static-for-fe-enable-disable-get-except.patch
Type: application/octet-stream
Size: 1831 bytes
Desc: v2-0001-newlib-change-static-to-__fenv_static-for-fe-enable-disable-get-except.patch
URL: <https://sourceware.org/pipermail/newlib/attachments/20250703/fd077ad8/attachment.obj>
More information about the Newlib
mailing list