summaryrefslogtreecommitdiff
path: root/source/l/mozjs52/patches/tests-snans-be.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/mozjs52/patches/tests-snans-be.patch')
-rw-r--r--source/l/mozjs52/patches/tests-snans-be.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/source/l/mozjs52/patches/tests-snans-be.patch b/source/l/mozjs52/patches/tests-snans-be.patch
new file mode 100644
index 00000000..4e65cd91
--- /dev/null
+++ b/source/l/mozjs52/patches/tests-snans-be.patch
@@ -0,0 +1,29 @@
+Description: Fix sort_snans.js test on big endian
+Author: Adrian Bunk <bunk@debian.org>
+Bug-Debian: https://bugs.debian.org/878285
+
+--- mozjs52-52.3.1.orig/js/src/tests/ecma_6/TypedArray/sort_snans.js
++++ mozjs52-52.3.1/js/src/tests/ecma_6/TypedArray/sort_snans.js
+@@ -34,8 +34,20 @@ function testFloat32NaNRanges(start, end
+ // and startHi, startLow and endHi, endLow should be 32-bit integers which,
+ // when combined (Hi + Low), form Float64 NaNs.
+ function testFloat64NaNRanges(startHi, startLow, endHi, endLow) {
+- let skipN = 10e6;
+
++ // Swap on big endian platforms
++ if ((new Uint32Array((new Uint8Array([1,2,3,4])).buffer))[0] === 0x01020304) {
++ let tmp = startHi;
++ startHi = startLow;
++ startLow = tmp;
++
++ tmp = endHi;
++ endHi = endLow;
++ endLow = tmp;
++ }
++
++ let skipN = 10e6;
++
+ let sampleSizeHi = Math.floor((endHi - startHi)/skipN);
+ let sampleSizeLow = Math.floor((endLow - startLow)/skipN);
+
+