Hello community, here is the log from the commit of package mozjs60 for openSUSE:Factory checked in at 2019-02-08 13:45:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mozjs60 (Old) and /work/SRC/openSUSE:Factory/.mozjs60.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mozjs60" Fri Feb 8 13:45:24 2019 rev:4 rq:670912 version:60.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/mozjs60/mozjs60.changes 2018-11-06 14:09:43.727032587 +0100 +++ /work/SRC/openSUSE:Factory/.mozjs60.new.28833/mozjs60.changes 2019-02-08 13:45:31.846832730 +0100 @@ -1,0 +2,15 @@ +Sun Feb 3 13:05:49 UTC 2019 - [email protected] + +- update to ESR codebase (60.4.0) +- rebased riscv-support.patch + +------------------------------------------------------------------- +Sat Feb 2 13:17:21 UTC 2019 - [email protected] + +- mozjs60-mozilla-s390-bigendian.patch: rediff and apply on more big + endian archs +- mozjs60-xulrunner-24.0-s390-inlines.patch: remove +- Replace icudt58b.dat.xz by icudt60b.dat.xz +- riscv-support.patch: add basic support for riscv64 + +------------------------------------------------------------------- Old: ---- firefox-60.2.2esr.source.tar.xz icudt58b.dat.xz mozjs60-xulrunner-24.0-s390-inlines.patch New: ---- firefox-60.4.0esr.source.tar.xz icudt60b.dat.xz riscv-support.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mozjs60.spec ++++++ --- /var/tmp/diff_new_pack.bHSusm/_old 2019-02-08 13:45:37.378831024 +0100 +++ /var/tmp/diff_new_pack.bHSusm/_new 2019-02-08 13:45:37.382831023 +0100 @@ -1,7 +1,7 @@ # # spec file for package mozjs60 # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 Luciano Santos <[email protected]>. # # All modifications and additions to the file contributed by third parties @@ -19,7 +19,7 @@ %global major 60 Name: mozjs%{major} -Version: 60.2.2 +Version: 60.4.0 Release: 0 Summary: MozJS, or SpiderMonkey, is Mozilla's JavaScript engine written in C and C++ License: MPL-2.0 @@ -29,10 +29,10 @@ Source1: LICENSE.txt # This should be removed when bmo#1322212 and bmo#1264836 are resolved: # Missing ICU big-endian data file in firefox source: -Source2: icudt58b.dat.xz +Source2: icudt60b.dat.xz Patch0: mozjs60-fix-armv6-build.patch Patch1: mozjs60-mozilla-s390-bigendian.patch -Patch2: mozjs60-xulrunner-24.0-s390-inlines.patch +Patch2: riscv-support.patch BuildRequires: autoconf213 BuildRequires: gcc-c++ BuildRequires: memory-constraints @@ -81,10 +81,10 @@ %prep %setup -q -n firefox-%{version} %patch0 -p1 -%ifarch s390x ppc64 +%ifarch s390 s390x ppc ppc64 m68k %patch1 -p1 -%patch2 -p1 %endif +%patch2 -p1 # Remove zlib directory to make sure the use of zlib from distro: rm -rf modules/zlib ++++++ firefox-60.2.2esr.source.tar.xz -> firefox-60.4.0esr.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/mozjs60/firefox-60.2.2esr.source.tar.xz /work/SRC/openSUSE:Factory/.mozjs60.new.28833/firefox-60.4.0esr.source.tar.xz differ: char 15, line 1 ++++++ mozjs60-mozilla-s390-bigendian.patch ++++++ --- /var/tmp/diff_new_pack.bHSusm/_old 2019-02-08 13:45:37.606830953 +0100 +++ /var/tmp/diff_new_pack.bHSusm/_new 2019-02-08 13:45:37.614830951 +0100 @@ -16,10 +16,10 @@ - ICU_DATA_FILE="icudt${version}l.dat" + ICU_DATA_FILE="icudt${version}b.dat" - dnl We won't build ICU data as a separate file when building - dnl JS standalone so that embedders don't have to deal with it. - dnl We also don't do it on Windows because sometimes the file goes - dnl missing -- possibly due to overzealous antivirus software? -- - dnl which prevents the browser from starting up :( - if test -z "$JS_STANDALONE" -a -z "$MOZ_SYSTEM_ICU" -a "$OS_TARGET" != WINNT -a "$MOZ_WIDGET_TOOLKIT" != "android"; then - MOZ_ICU_DATA_ARCHIVE=1 + MOZ_ICU_DATA_ARCHIVE= + fi + + AC_SUBST(MOZ_ICU_VERSION) + AC_SUBST(ENABLE_INTL_API) + AC_SUBST(USE_ICU) + AC_SUBST(ICU_DATA_FILE) ++++++ riscv-support.patch ++++++ diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure index 83b8d70..e5f3182 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure @@ -676,6 +676,9 @@ def split_triplet(triplet, allow_unknown=False): elif cpu == 'sh4': canonical_cpu = 'sh4' endianness = 'little' + elif cpu == 'riskv64': + canonical_cpu = 'riscv64' + endianness = 'little' elif allow_unknown: canonical_cpu = cpu endianness = 'unknown' diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h index a8970b0..41503c8 100644 --- a/js/src/jit/AtomicOperations.h +++ b/js/src/jit/AtomicOperations.h @@ -387,6 +387,8 @@ AtomicOperations::isLockfreeJS(int32_t size) # include "jit/none/AtomicOperations-feeling-lucky.h" #elif defined(__s390__) || defined(__s390x__) # include "jit/none/AtomicOperations-feeling-lucky.h" +#elif defined(__riscv) +# include "jit/none/AtomicOperations-feeling-lucky.h" #else # error "No AtomicOperations support provided for this platform" #endif diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h index da57228..5167e82 100644 --- a/js/src/jit/none/AtomicOperations-feeling-lucky.h +++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h @@ -79,6 +79,14 @@ # define GNUC_COMPATIBLE #endif +#ifdef __riscv +# define GNUC_COMPATIBLE +# if __riscv_xlen == 64 +# define HAS_64BIT_ATOMICS +# define HAS_64BIT_LOCKFREE +# endif +#endif + // The default implementation tactic for gcc/clang is to use the newer // __atomic intrinsics added for use in C++11 <atomic>. Where that // isn't available, we use GCC's older __sync functions instead. diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp index 06c24ed..fba9263 100644 --- a/mfbt/tests/TestPoisonArea.cpp +++ b/mfbt/tests/TestPoisonArea.cpp @@ -168,6 +168,9 @@ static const ia64_instr _return_instr = #define RETURN_INSTR _return_instr #define RETURN_INSTR_TYPE ia64_instr +#elif defined __riscv +#define RETURN_INSTR 0x80828082 /* ret; ret */ + #else #error "Need return instruction for this architecture" #endif diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py index 33ae5a4..b7be8ce 100644 --- a/python/mozbuild/mozbuild/configure/constants.py +++ b/python/mozbuild/mozbuild/configure/constants.py @@ -50,6 +50,7 @@ CPU_bitness = { 'mips64': 64, 'ppc': 32, 'ppc64': 64, + 'riscv64': 64, 's390': 32, 's390x': 64, 'sh4': 32, @@ -89,6 +90,7 @@ CPU_preprocessor_checks = OrderedDict(( ('mips64', '__mips64'), ('mips32', '__mips__'), ('sh4', '__sh__'), + ('riscv64', '__riscv && __riscv_xlen == 64'), )) assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES)
