mozilla-bmo531915.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Fri, 22 Mar 2024 10:02:25 +0100
branchfirefox123
changeset 1201 3a2c95022db2
parent 1181 ba646dddffef
permissions -rw-r--r--
Firefox 123.0.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
# User Wolfgang Rosenauer <wr@rosenauer.org>
1181
ba646dddffef 107.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
     3
# Parent  fa8a5832a374ccd7af5db927b992b5d9f15273ef
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
--- a/modules/fdlibm/src/math_private.h
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
+++ b/modules/fdlibm/src/math_private.h
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
     8
@@ -25,19 +25,24 @@
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
 
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    10
 #include "fdlibm.h"
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
 /*
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
  * Emulate FreeBSD internal double types.
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
  * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
  */
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
+#ifdef __i386__
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
+typedef long double __double_t;
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    19
+typedef long double __float_t;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
+#else
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
 typedef double      __double_t;
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    22
+typedef float       __float_t;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
+#endif
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
 typedef __double_t  double_t;
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    25
-typedef float       __float_t;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
 /*
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
  * The original fdlibm code used statements like:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
  *	n0 = ((*(int*)&one)>>29)^1;		* index of high word *
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
  *	ix0 = *(n0+(int*)&x);			* high word of x *
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
  *	ix1 = *((1-n0)+(int*)&x);		* low word of x *
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
  * to dig two 32 bit words out of the 64 bit IEEE floating point
1181
ba646dddffef 107.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
    33
  * value.  That is non-ANSI, and, moreover, the gcc instruction