From nobody Mon Mar 30 17:15:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkyZ361SSz6X4yC for ; Mon, 30 Mar 2026 17:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkyZ33yPhz3TFj for ; Mon, 30 Mar 2026 17:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774890939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=irhnqA48VuUR3EypiJthEMdPASI1p8BVV8UKUVCw60g=; b=I9mdDuw4q9BVjZC8ghWuMFuJL+BlcnDg5wzjV1OqaYKjn8bnmRaNpA19fVua0HNuVr1TAm qT8Qftdzmy0GT7waawQcSdtO3Ql2ATdk38nTf7nC4k4awkabMvjrYamqzdOv7+hcNn8tle Yj7ewl6LUfsgYTAKzT91zWy79ugOxHYL2IC2oeLBJVyoElXWTR/JxsdVSi7OIZ2d1xpxki UJdDtY8vwsea0F69sNzp7xgB0XYYbxSlTuMwkqQTEcXs9E/ubinRGKD64lrhJ8ha6ZcSCU pA5CQ9ksoXZLdF91OHTa3rZfEsQsZEx0M/CLeTxWasX5bvhm/lmB7+y9BvoB2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774890939; a=rsa-sha256; cv=none; b=wji/bl2r+r7NzLtfL/HjrqLAxJT1zyYk4zFcPxHE5tBZIfoX6Fsm7BEEVq4qMHH50YcpbI gJkjcCFWDU66nDiX77v3qTjZowapUtfEgOzTOBL6xiWpEGnacfrOAd19a0YvZNULbVFDcH 5TcOHN6SC8gVBpHfvzvL+jfFbVYSEKSqL1UdDpcVprDI+pJI+f9WMhqlBcXoBg3vbDeOIC z1hZDyxsqxlPLUcePYog60ZR9OWAs06IrmPs92vvQR1KSn26aM4uQ4/v3SDcPPenhehQQ1 +RJtQWObFrCVafcoQQBa39uXzqYy12IG9xeB85BUOVtRieRu6pFkR2tbzZMMDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774890939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=irhnqA48VuUR3EypiJthEMdPASI1p8BVV8UKUVCw60g=; b=NWDHMZPd5YTJPQlnGOSn35sv4CBIClt/cCih23tUzuJzoXNMXnbcQxy9CauWsF8K7nn0yu LijARloW39x7cYJHCyTPpHcwPOS5PpSGITZdVr90JYAoamfqoZTzu86wplMiPC1NnHrohD TulrY4u3M7YsnEuGSJ9SzZDP07g9Q30aFzETkqPP6DQHXdm8jgNr7cHRLQuuwP95IFXlh3 xPx63/xqCqRJo03aoLn4lfV5DfWoNbFVsZw8iQ7Kp5HfBRHHBRMqXE7jJXyfqrAsA0Y7jN jwOpJi6y44RMOcBDdcmGbBujs3LaVhCjuH4gfp8fMjL4K0/mnbXKoXdkD77Dwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkyZ33R9FzsBN for ; Mon, 30 Mar 2026 17:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 408c4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 30 Mar 2026 17:15:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 3a01e1e1a50c - main - msun/aarch64: convert fenv functions to proper linkage List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a01e1e1a50cb9a9594aac2148dc920a6b295428 Auto-Submitted: auto-generated Date: Mon, 30 Mar 2026 17:15:39 +0000 Message-Id: <69caafbb.408c4.7b20a1e1@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3a01e1e1a50cb9a9594aac2148dc920a6b295428 commit 3a01e1e1a50cb9a9594aac2148dc920a6b295428 Author: Konstantin Belousov AuthorDate: 2026-03-28 23:13:44 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-30 16:57:00 +0000 msun/aarch64: convert fenv functions to proper linkage namely fegetexceptflag(3) fesetexceptflag(3) feraiseexcept(3) fetestexcept(3) fegetround(3) fesetround(3) fegetenv(3) feholdexcept(3) fesetenv(3) feupdateenv(3) feenableexcept(3) fedisableexcept(3) fegetexcept(3) PR: 277958 Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56139 --- lib/msun/aarch64/fenv.c | 72 ++++++++++++++++++++++++++++++++++++++++--------- lib/msun/aarch64/fenv.h | 41 +++++++++++++++++++++------- 2 files changed, 90 insertions(+), 23 deletions(-) diff --git a/lib/msun/aarch64/fenv.c b/lib/msun/aarch64/fenv.c index 4c54656be7d3..5d626f66516f 100644 --- a/lib/msun/aarch64/fenv.c +++ b/lib/msun/aarch64/fenv.c @@ -44,16 +44,62 @@ int return (__feclearexcept_int(excepts)); } -extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); -extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); -extern inline int feraiseexcept(int __excepts); -extern inline int fetestexcept(int __excepts); -extern inline int fegetround(void); -extern inline int fesetround(int __round); -extern inline int fegetenv(fenv_t *__envp); -extern inline int feholdexcept(fenv_t *__envp); -extern inline int fesetenv(const fenv_t *__envp); -extern inline int feupdateenv(const fenv_t *__envp); -extern inline int feenableexcept(int __mask); -extern inline int fedisableexcept(int __mask); -extern inline int fegetexcept(void); +int +(fegetexceptflag)(fexcept_t *flagp, int excepts) +{ + return (__fegetexceptflag_int(flagp, excepts)); +} + +int +(fesetexceptflag)(const fexcept_t *flagp, int excepts) +{ + return (__fesetexceptflag_int(flagp, excepts)); +} + +int +(feraiseexcept)(int excepts) +{ + return (__feraiseexcept_int(excepts)); +} + +int +(fetestexcept)(int excepts) +{ + return (__fetestexcept_int(excepts)); +} + +int +(fegetround)(void) +{ + return (__fegetround_int()); +} + +int +(fesetround)(int round) +{ + return (__fesetround_int(round)); +} + +int +(fegetenv)(fenv_t *envp) +{ + return (__fegetenv_int(envp)); +} + +int +(feholdexcept)(fenv_t *envp) +{ + return (__feholdexcept_int(envp)); +} + +int +(fesetenv)(const fenv_t *envp) +{ + return (__fesetenv_int(envp)); +} + +int +(feupdateenv)(const fenv_t *envp) +{ + return (__feupdateenv_int(envp)); +} diff --git a/lib/msun/aarch64/fenv.h b/lib/msun/aarch64/fenv.h index d125978b887b..32a03ee1eb49 100644 --- a/lib/msun/aarch64/fenv.h +++ b/lib/msun/aarch64/fenv.h @@ -82,7 +82,28 @@ extern const fenv_t __fe_dfl_env; #define __msr_fpsr(__r) __asm __volatile("msr fpsr, %0" : : "r" (__r)) int feclearexcept(int); +int fegetexceptflag(fexcept_t *, int); +int fesetexceptflag(const fexcept_t *, int); +int feraiseexcept(int); +int fetestexcept(int); +int fegetround(void); +int fesetround(int); +int fegetenv(fenv_t *); +int feholdexcept(fenv_t *); +int fesetenv(const fenv_t *); +int feupdateenv(const fenv_t *); + #define feclearexcept(a) __feclearexcept_int(a) +#define fegetexceptflag(e, a) __fegetexceptflag_int(e, a) +#define fesetexceptflag(e, a) __fesetexceptflag_int(e, a) +#define feraiseexcept(a) __feraiseexcept_int(a) +#define fetestexcept(a) __fetestexcept_int(a) +#define fegetround() __fegetround_int() +#define fesetround(a) __fesetround_int(a) +#define fegetenv(e) __fegetenv_int(e) +#define feholdexcept(e) __feholdexcept_int(e) +#define fesetenv(e) __fesetenv_int(e) +#define feupdateenv(e) __feupdateenv_int(e) __fenv_static inline int __feclearexcept_int(int __excepts) @@ -96,7 +117,7 @@ __feclearexcept_int(int __excepts) } __fenv_static inline int -fegetexceptflag(fexcept_t *__flagp, int __excepts) +__fegetexceptflag_int(fexcept_t *__flagp, int __excepts) { fexcept_t __r; @@ -106,7 +127,7 @@ fegetexceptflag(fexcept_t *__flagp, int __excepts) } __fenv_static inline int -fesetexceptflag(const fexcept_t *__flagp, int __excepts) +__fesetexceptflag_int(const fexcept_t *__flagp, int __excepts) { fexcept_t __r; @@ -118,7 +139,7 @@ fesetexceptflag(const fexcept_t *__flagp, int __excepts) } __fenv_static inline int -feraiseexcept(int __excepts) +__feraiseexcept_int(int __excepts) { fexcept_t __r; @@ -129,7 +150,7 @@ feraiseexcept(int __excepts) } __fenv_static inline int -fetestexcept(int __excepts) +__fetestexcept_int(int __excepts) { fexcept_t __r; @@ -138,7 +159,7 @@ fetestexcept(int __excepts) } __fenv_static inline int -fegetround(void) +__fegetround_int(void) { fenv_t __r; @@ -147,7 +168,7 @@ fegetround(void) } __fenv_static inline int -fesetround(int __round) +__fesetround_int(int __round) { fenv_t __r; @@ -161,7 +182,7 @@ fesetround(int __round) } __fenv_static inline int -fegetenv(fenv_t *__envp) +__fegetenv_int(fenv_t *__envp) { __uint64_t fpcr; __uint64_t fpsr; @@ -174,7 +195,7 @@ fegetenv(fenv_t *__envp) } __fenv_static inline int -feholdexcept(fenv_t *__envp) +__feholdexcept_int(fenv_t *__envp) { fenv_t __r; @@ -191,7 +212,7 @@ feholdexcept(fenv_t *__envp) } __fenv_static inline int -fesetenv(const fenv_t *__envp) +__fesetenv_int(const fenv_t *__envp) { __msr_fpcr((*__envp) >> 32); @@ -200,7 +221,7 @@ fesetenv(const fenv_t *__envp) } __fenv_static inline int -feupdateenv(const fenv_t *__envp) +__feupdateenv_int(const fenv_t *__envp) { fexcept_t __r;