[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Combined patch backported from upstream



Hi!

The attached patch was taken from Mozilla's upstream bug report 1326496
and contains the two fixes for both alpha and ia64.

Please drop the incomplete patch Alpha-architecture-is-64-bit.patch from
the package.

On ia64, we also need to lower the optimization level to make the package
build due to issues with the toolchain.

ia64 might also need more adjustments regarding the memory allocator as
it partially suffers from the same problems as arm64 and sparc64 due to
its extended address space. Thus, if mozjs segfaults on ia64, we need
to include ia64 in the list of changes in the sparc64-support.patch.

Adrian

> [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1326496

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Description: Build fixes for alpha and ia64
 Backported upstream build fixes for alpha and ia64,
 taken from Mozilla bug 1326496.
 See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326496
Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Bug-Debian: https://bugs.debian.org/878285
Last-Update: 2018-04-20

--- mozjs52-52.3.1.orig/python/mozbuild/mozbuild/configure/constants.py
+++ mozjs52-52.3.1/python/mozbuild/mozbuild/configure/constants.py
@@ -40,7 +40,7 @@ Kernel = EnumString.subclass(
 
 CPU_bitness = {
     'aarch64': 64,
-    'Alpha': 32,
+    'Alpha': 64,
     'arm': 32,
     'hppa': 32,
     'ia64': 64,
--- mozjs52-52.3.1.orig/testing/mozbase/mozinfo/mozinfo/mozinfo.py
+++ mozjs52-52.3.1/testing/mozbase/mozinfo/mozinfo/mozinfo.py
@@ -15,7 +15,7 @@ import platform
 import re
 import sys
 from .string_version import StringVersion
-
+from ctypes.util import find_library
 
 # keep a copy of the os module since updating globals overrides this
 _os = os
@@ -150,7 +150,7 @@ if info['os'] == 'linux':
     import errno
     PR_SET_SECCOMP = 22
     SECCOMP_MODE_FILTER = 2
-    ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
+    ctypes.CDLL(find_library("c"), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
     info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
 else:
     info['has_sandbox'] = True

Reply to: