The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=96a685c229f2ce440591f98d33d36776e56dd55c
commit 96a685c229f2ce440591f98d33d36776e56dd55c Author: Konstantin Belousov <[email protected]> AuthorDate: 2026-04-06 16:41:23 +0000 Commit: Konstantin Belousov <[email protected]> CommitDate: 2026-04-08 14:32:00 +0000 lib/msun/aarch64: provide export file for arch-specific fenv methods Reported and tested by: fluffy Reviewed by: emaste Fixes: 3a01e1e1a50cb9a9594aac2148dc920a6b295428 Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56283 --- lib/msun/aarch64/Symbol.map | 10 ++++++++++ lib/msun/aarch64/fenv.c | 18 ++++++++++++++++++ lib/msun/aarch64/fenv.h | 14 +++++++++----- 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/lib/msun/aarch64/Symbol.map b/lib/msun/aarch64/Symbol.map new file mode 100644 index 000000000000..b468c814ff06 --- /dev/null +++ b/lib/msun/aarch64/Symbol.map @@ -0,0 +1,10 @@ +FBSD_1.9 { + fesetexceptflag; + feraiseexcept; + fegetenv; + feholdexcept; + feupdateenv; + feenableexcept; + fedisableexcept; + fegetexcept; +}; diff --git a/lib/msun/aarch64/fenv.c b/lib/msun/aarch64/fenv.c index a428a9d8a271..3d7e467880c7 100644 --- a/lib/msun/aarch64/fenv.c +++ b/lib/msun/aarch64/fenv.c @@ -98,3 +98,21 @@ int { return (__feupdateenv_int(envp)); } + +int +(feenableexcept)(int mask) +{ + return (__feenableexcept_int(mask)); +} + +int +(fedisableexcept)(int mask) +{ + return (__fedisableexcept_int(mask)); +} + +int +(fegetexcept)(void) +{ + return (__fegetexcept_int()); +} diff --git a/lib/msun/aarch64/fenv.h b/lib/msun/aarch64/fenv.h index 32a03ee1eb49..5d47940cf9eb 100644 --- a/lib/msun/aarch64/fenv.h +++ b/lib/msun/aarch64/fenv.h @@ -92,6 +92,9 @@ int fegetenv(fenv_t *); int feholdexcept(fenv_t *); int fesetenv(const fenv_t *); int feupdateenv(const fenv_t *); +int feenableexcept(int); +int fedisableexcept(int); +int fegetexcept(void); #define feclearexcept(a) __feclearexcept_int(a) #define fegetexceptflag(e, a) __fegetexceptflag_int(e, a) @@ -104,6 +107,9 @@ int feupdateenv(const fenv_t *); #define feholdexcept(e) __feholdexcept_int(e) #define fesetenv(e) __fesetenv_int(e) #define feupdateenv(e) __feupdateenv_int(e) +#define feenableexcept(a) __feenableexcept_int(a) +#define fedisableexcept(a) __fedisableexcept_int(a) +#define fegetexcept() __fegetexcept_int() __fenv_static inline int __feclearexcept_int(int __excepts) @@ -233,10 +239,8 @@ __feupdateenv_int(const fenv_t *__envp) #if __BSD_VISIBLE -/* We currently provide no external definitions of the functions below. */ - static inline int -feenableexcept(int __mask) +__feenableexcept_int(int __mask) { fenv_t __old_r, __new_r; @@ -247,7 +251,7 @@ feenableexcept(int __mask) } static inline int -fedisableexcept(int __mask) +__fedisableexcept_int(int __mask) { fenv_t __old_r, __new_r; @@ -258,7 +262,7 @@ fedisableexcept(int __mask) } static inline int -fegetexcept(void) +__fegetexcept_int(void) { fenv_t __r;
