git: 2a8218e9dbbe - main - lang/spidermonkey91: Fix build on i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 16 Apr 2022 01:53:34 UTC
The branch main has been updated by nc: URL: https://cgit.FreeBSD.org/ports/commit/?id=2a8218e9dbbeb207291b8604fcf34825ea9492b4 commit 2a8218e9dbbeb207291b8604fcf34825ea9492b4 Author: Neel Chauhan <nc@FreeBSD.org> AuthorDate: 2022-04-16 01:53:31 +0000 Commit: Neel Chauhan <nc@FreeBSD.org> CommitDate: 2022-04-16 01:53:31 +0000 lang/spidermonkey91: Fix build on i386 --- .../files/patch-modules_fdlibm_src_math__private.h | 37 ++++++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/lang/spidermonkey91/files/patch-modules_fdlibm_src_math__private.h b/lang/spidermonkey91/files/patch-modules_fdlibm_src_math__private.h index db521fc65645..9294fa86f804 100644 --- a/lang/spidermonkey91/files/patch-modules_fdlibm_src_math__private.h +++ b/lang/spidermonkey91/files/patch-modules_fdlibm_src_math__private.h @@ -1,15 +1,38 @@ Index: modules/fdlibm/src/math_private.h ---- modules/fdlibm/src/math_private.h.orig 2022-03-30 19:25:49 UTC +--- modules/fdlibm/src/math_private.h.orig 2022-04-16 01:44:07 UTC +++ modules/fdlibm/src/math_private.h -@@ -30,7 +30,11 @@ - * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t - */ +@@ -634,6 +634,34 @@ rnint(__double_t x) + return ((double)(x + 0x1.8p52) - 0x1.8p52); + } +#ifdef __i386__ +typedef long double __double_t; +#else - typedef double __double_t; ++typedef double __double_t; +#endif - typedef __double_t double_t; - ++typedef __double_t double_t; ++ ++/* This is needed on FreeBSD i386. */ ++#if defined(__i386__) && defined(__GNUCLIKE_ASM) ++static __inline int ++irintf(float x) ++{ ++ int n; ++ ++ __asm("fistl %0" : "=m" (n) : "t" (x)); ++ return (n); ++} ++ ++static __inline int ++irintd(double x) ++{ ++ int n; ++ ++ __asm("fistl %0" : "=m" (n) : "t" (x)); ++ return (n); ++} ++#endif ++ /* + * irint() and i64rint() give the same result as casting to their integer + * return type provided their arg is a floating point integer. They can