1 diff -ur mozjs-60.1.0/build/moz.configure/init.configure mozjs-60.1.0-x32/build/moz.configure/init.configure
2 --- mozjs-60.1.0/build/moz.configure/init.configure 2018-06-19 00:23:55.000000000 +0200
3 +++ mozjs-60.1.0-x32/build/moz.configure/init.configure 2019-03-31 10:40:40.743730317 +0200
6 elif cpu in ('x86_64', 'ia64'):
8 + if os.endswith('gnux32'):
9 + canonical_cpu = 'x32'
11 elif cpu in ('s390', 's390x'):
13 --- firefox-60.7.0/mfbt/RandomNum.cpp.orig 2019-05-24 22:04:38.196451155 +0200
14 +++ firefox-60.7.0/mfbt/RandomNum.cpp 2019-05-24 22:10:43.717804289 +0200
17 // Older glibc versions don't define SYS_getrandom, so we define it here if
18 // it's not available. See bug 995069.
19 -# if defined(__x86_64__)
20 +# if defined(__x86_64__) && defined(__ILP32__)
21 +# define GETRANDOM_NR (__X32_SYSCALL_BIT + 318)
22 +# elif defined(__x86_64__)
23 # define GETRANDOM_NR 318
24 # elif defined(__i386__)
25 # define GETRANDOM_NR 355
26 diff -ur mozjs-60.1.0/python/mozbuild/mozbuild/configure/constants.py mozjs-60.1.0-x32/python/mozbuild/mozbuild/configure/constants.py
27 --- mozjs-60.1.0/python/mozbuild/mozbuild/configure/constants.py 2018-06-19 00:24:03.000000000 +0200
28 +++ mozjs-60.1.0-x32/python/mozbuild/mozbuild/configure/constants.py 2019-03-31 10:39:21.792681467 +0200
36 CPU = EnumString.subclass(*CPU_bitness.keys())
39 # The order of those checks matter
40 CPU_preprocessor_checks = OrderedDict((
41 + ('x32', '__x86_64__ && __ILP32__'),
42 ('x86', '__i386__ || _M_IX86'),
43 - ('x86_64', '__x86_64__ || _M_X64'),
44 + ('x86_64', '(__x86_64__ && __LP64__) || _M_X64'),
45 ('arm', '__arm__ || _M_ARM'),
46 --- firefox-68.7.0/js/src/vm/BigIntType.cpp~ 2020-04-03 21:29:59.000000000 +0200
47 +++ firefox-68.7.0/js/src/vm/BigIntType.cpp 2020-05-01 11:22:53.296439915 +0200
49 BigInt::Digit BigInt::digitDiv(Digit high, Digit low, Digit divisor,
51 MOZ_ASSERT(high < divisor, "division must not overflow");
52 -#if defined(__x86_64__)
53 +#if defined(__x86_64__) && !defined(__ILP32__)
56 __asm__("divq %[divisor]"
57 --- firefox-78.2.0/js/src/gc/GC.cpp.orig 2020-08-17 20:33:37.000000000 +0200
58 +++ firefox-78.2.0/js/src/gc/GC.cpp 2020-10-07 21:30:17.245896073 +0200
60 "CellFlagBitsReservedForGC should support LifoAlloc");
61 static_assert(CellAlignBytes >= MinFirstWordAlignment,
62 "CellFlagBitsReservedForGC should support gc::Cell");
63 +#ifndef JS_CODEGEN_NONE
64 static_assert(js::jit::CodeAlignment >= MinFirstWordAlignment,
65 "CellFlagBitsReservedForGC should support JIT code");
67 static_assert(js::gc::JSClassAlignBytes >= MinFirstWordAlignment,
68 "CellFlagBitsReservedForGC should support JSClass pointers");