[PATCH v2] newlib: change static to __fenv_static for fe{enable,disable,get}except
Radek Barton <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <DB9PR83MB0923A4C79F18C02E48E95E049243A@DB9PR83MB0923.EURPRD83.prod.outlook.com> |
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?= <[email protected]> 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ň <[email protected]> --- 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
v2-0001-newlib-change-static-to-__fenv_static-for-fe-enable-disable-get-except.patch
(application/octet-stream, 1.8 KB)
From 5c708ec741b4c4dd7676b7030451bc08607ce352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radek=20Barto=C5=88?= <[email protected]> Date: Thu, 3 Jul 2025 12:00:22 +0200 Subject: [PATCH v2] SENT 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ň <[email protected]> --- 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