diff -ur mozjs-60.1.0/build/moz.configure/init.configure mozjs-60.1.0-x32/build/moz.configure/init.configure --- mozjs-60.1.0/build/moz.configure/init.configure 2018-06-19 00:23:55.000000000 +0200 +++ mozjs-60.1.0-x32/build/moz.configure/init.configure 2019-03-31 10:40:40.743730317 +0200 @@ -630,6 +630,8 @@ endianness = 'little' elif cpu in ('x86_64', 'ia64'): canonical_cpu = cpu + if os.endswith('gnux32'): + canonical_cpu = 'x32' endianness = 'little' elif cpu in ('s390', 's390x'): canonical_cpu = cpu --- firefox-60.7.0/mfbt/RandomNum.cpp.orig 2019-05-24 22:04:38.196451155 +0200 +++ firefox-60.7.0/mfbt/RandomNum.cpp 2019-05-24 22:10:43.717804289 +0200 @@ -58,7 +58,9 @@ // Older glibc versions don't define SYS_getrandom, so we define it here if // it's not available. See bug 995069. -# if defined(__x86_64__) +# if defined(__x86_64__) && defined(__ILP32__) +# define GETRANDOM_NR (__X32_SYSCALL_BIT + 318) +# elif defined(__x86_64__) # define GETRANDOM_NR 318 # elif defined(__i386__) # define GETRANDOM_NR 355 diff -ur mozjs-60.1.0/python/mozbuild/mozbuild/configure/constants.py mozjs-60.1.0-x32/python/mozbuild/mozbuild/configure/constants.py --- mozjs-60.1.0/python/mozbuild/mozbuild/configure/constants.py 2018-06-19 00:24:03.000000000 +0200 +++ mozjs-60.1.0-x32/python/mozbuild/mozbuild/configure/constants.py 2019-03-31 10:39:21.792681467 +0200 @@ -57,6 +57,7 @@ 'sparc64': 64, 'x86': 32, 'x86_64': 64, + 'x32': 32, } CPU = EnumString.subclass(*CPU_bitness.keys()) @@ -73,6 +74,7 @@ # The order of those checks matter CPU_preprocessor_checks = OrderedDict(( + ('x32', '__x86_64__ && __ILP32__'), ('x86', '__i386__ || _M_IX86'), ('x86_64', '__x86_64__ || _M_X64'), ('arm', '__arm__ || _M_ARM'),