automatic version update by autodist [release 128.4.0-1mamba;Wed Oct 30 2024]

This commit is contained in:
Automatic Build System 2024-10-30 16:24:25 +01:00
parent b527a0c3e1
commit 0a9032d4ff
2 changed files with 4 additions and 101 deletions

View File

@ -1,96 +0,0 @@
--- firefox-115.7.0/modules/fdlibm/src/math_private.h.orig 2024-01-15 22:07:35.000000000 +0100
+++ firefox-115.7.0/modules/fdlibm/src/math_private.h 2024-02-15 16:17:40.794640534 +0100
@@ -30,7 +30,11 @@
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
*/
+#ifdef __LP64__
typedef double __double_t;
+#else
+typedef long double __double_t;
+#endif
typedef __double_t double_t;
typedef float __float_t;
@@ -626,6 +630,41 @@
return ((double)(x + 0x1.8p52) - 0x1.8p52);
}
+static inline float
+rnintf(__float_t x)
+{
+ /*
+ * As for rnint(), except we could just call that to handle the
+ * extra precision case, usually without losing efficiency.
+ */
+ return ((float)(x + 0x1.8p23F) - 0x1.8p23F);
+}
+
+#ifdef LDBL_MANT_DIG
+/*
+ * The complications for extra precision are smaller for rnintl() since it
+ * can safely assume that the rounding precision has been increased from
+ * its default to FP_PE on x86. We don't exploit that here to get small
+ * optimizations from limiting the rangle to double. We just need it for
+ * the magic number to work with long doubles. ld128 callers should use
+ * rnint() instead of this if possible. ld80 callers should prefer
+ * rnintl() since for amd64 this avoids swapping the register set, while
+ * for i386 it makes no difference (assuming FP_PE), and for other arches
+ * it makes little difference.
+ */
+static inline long double
+rnintl(long double x)
+{
+#if (LDBL_MANT_DIG == 64)
+ return (x + __CONCAT(0x1.8p, 64) / 2 -
+ __CONCAT(0x1.8p, 64) / 2);
+#else
+ return (x + __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2 -
+ __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2);
+#endif
+}
+#endif /* LDBL_MANT_DIG */
+
/*
* irint() and i64rint() give the same result as casting to their integer
* return type provided their arg is a floating point integer. They can
@@ -668,6 +707,39 @@
static __inline int
irintl(long double x)
{
+ int n;
+
+ __asm("fistl %0" : "=m" (n) : "t" (x));
+ return (n);
+}
+#endif
+
+#define i64rint(x) ((int64_t)(x)) /* only needed for ld128 so not opt. */
+
+#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
+
+#if (defined(__amd64__) || defined(__i386__)) && defined(__GNUCLIKE_ASM)
+static __inline int
+irintl(long double x)
+{
int n;
__asm("fistl %0" : "=m" (n) : "t" (x));

View File

@ -1,7 +1,7 @@
%define MAJver %(echo %version | cut -d. -f1)
%define majver %(echo %version | cut -d. -f1-2)
Name: mozjs128
Version: 128.3.1
Version: 128.4.0
Release: 1mamba
Summary: Mozilla stand-alone library implementing JavaScript 24
Group: System/Libraries
@ -23,7 +23,6 @@ Patch9: mozjs-91.8.0-tests-Use-native-TemporaryDirectory.patch
Patch10: mozjs-91.8.0-init_patch.patch
Patch11: mozjs-91.8.0-remove-sloppy-m4-detection-from-bundled-autoconf.patch
Patch12: mozjs-91.8.0-spidermonkey_checks_disable.patch
Patch13: mozjs115-115.7.0-x86-double_t-fix.patch
# Only GPL because linking to readline
License: GPL
#License: MPL, GPL, LGPL
@ -75,9 +74,6 @@ cd firefox-%{version}
%patch 10 -p1 -b .init_patch
%patch 11 -p1 -b .remove-sloppy-m4-detection-from-bundled-autoconf
%patch 12 -p1 -b .spidermonkey_checks_disable
%ifarch %{ix86} arm
%patch 13 -p1 -b .x86-double_t-fix
%endif
%build
cd firefox-%{version}/js/src
@ -170,6 +166,9 @@ ln -s libmozjs-%{MAJver}.so.0 %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so
%{_libdir}/pkgconfig/mozjs-%{MAJver}.pc
%changelog
* Wed Oct 30 2024 Automatic Build System <autodist@openmamba.org> 128.4.0-1mamba
- automatic version update by autodist
* Thu Oct 10 2024 Automatic Build System <autodist@openmamba.org> 128.3.1-1mamba
- automatic version update by autodist