The package rpms/mozjs45.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/mozjs45.git/commit/?id=1c76714cca....
Change:
-%ifarch %{arm} aarch64 ppc ppc64 ppc64le
Thanks.
Full change:
============
commit 1c76714cca2c5880b714c05abb82551cf9e0ecbd
Author: Marek Skalick <mskalick(a)redhat.com>
Date: Tue Sep 4 08:19:40 2018 +0200
Firefox 45 is more than 1 year EOLed. Nothing requires mozjs45 in Fedora and newer
version of mozjs is available in Fedora.
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 67baa85..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/firefox-45.1.1esr.source.tar.xz
-/firefox-45.3.0esr.source.tar.xz
-/firefox-45.4.0esr.source.tar.xz
-/firefox-45.5.1esr.source.tar.xz
-/firefox-45.6.0esr.source.tar.xz
-/firefox-45.7.0esr.source.tar.xz
-/firefox-45.8.0esr.source.tar.xz
-/firefox-45.9.0esr.source.tar.xz
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 14e2f77..0000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,373 +0,0 @@
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
- means each individual or legal entity that creates, contributes to
- the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
- means the combination of the Contributions of others (if any) used
- by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
- means Source Code Form to which the initial Contributor has attached
- the notice in Exhibit A, the Executable Form of such Source Code
- Form, and Modifications of such Source Code Form, in each case
- including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- (a) that the initial Contributor has attached the notice described
- in Exhibit B to the Covered Software; or
-
- (b) that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the
- terms of a Secondary License.
-
-1.6. "Executable Form"
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
- means a work that combines Covered Software with other material, in
- a separate file or files, that is not Covered Software.
-
-1.8. "License"
- means this document.
-
-1.9. "Licensable"
- means having the right to grant, to the maximum extent possible,
- whether at the time of the initial grant or subsequently, any and
- all of the rights conveyed by this License.
-
-1.10. "Modifications"
- means any of the following:
-
- (a) any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered
- Software; or
-
- (b) any new file in Source Code Form that contains any Covered
- Software.
-
-1.11. "Patent Claims" of a Contributor
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the
- License, by the making, using, selling, offering for sale, having
- made, import, or transfer of either its Contributions or its
- Contributor Version.
-
-1.12. "Secondary License"
- means either the GNU General Public License, Version 2.0, the GNU
- Lesser General Public License, Version 2.1, the GNU Affero General
- Public License, Version 3.0, or any later versions of those
- licenses.
-
-1.13. "Source Code Form"
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
- for sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
- or
-
-(b) for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
- Form, as described in Section 3.1, and You must inform recipients of
- the Executable Form how they can obtain a copy of such Source Code
- Form by reasonable means in a timely manner, at a charge no more
- than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter
- the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-* *
-* 6. Disclaimer of Warranty *
-* ------------------------- *
-* *
-* Covered Software is provided under this License on an "as is" *
-* basis, without warranty of any kind, either expressed, implied, or *
-* statutory, including, without limitation, warranties that the *
-* Covered Software is free of defects, merchantable, fit for a *
-* particular purpose or non-infringing. The entire risk as to the *
-* quality and performance of the Covered Software is with You. *
-* Should any Covered Software prove defective in any respect, You *
-* (not any Contributor) assume the cost of any necessary servicing, *
-* repair, or correction. This disclaimer of warranty constitutes an *
-* essential part of this License. No use of any Covered Software is *
-* authorized under this License except under this disclaimer. *
-* *
-************************************************************************
-
-************************************************************************
-* *
-* 7. Limitation of Liability *
-* -------------------------- *
-* *
-* Under no circumstances and under no legal theory, whether tort *
-* (including negligence), contract, or otherwise, shall any *
-* Contributor, or anyone who distributes Covered Software as *
-* permitted above, be liable to You for any direct, indirect, *
-* special, incidental, or consequential damages of any character *
-* including, without limitation, damages for lost profits, loss of *
-* goodwill, work stoppage, computer failure or malfunction, or any *
-* and all other commercial damages or losses, even if such party *
-* shall have been informed of the possibility of such damages. This *
-* limitation of liability shall not apply to liability for death or *
-* personal injury resulting from such party's negligence to the *
-* extent applicable law prohibits such limitation. Some *
-* jurisdictions do not allow the exclusion or limitation of *
-* incidental or consequential damages, so this exclusion and *
-* limitation may not apply to You. *
-* *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at
http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
----------------------------------------------------------
-
- This Source Code Form is "Incompatible With Secondary Licenses", as
- defined by the Mozilla Public License, v. 2.0.
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..7dd3b2f
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+Firefox 45 is more than 1 year EOLed. Nothing requires mozjs45 in Fedora and newer
version of mozjs is available in Fedora.
diff --git a/fix-64bit-archs.patch b/fix-64bit-archs.patch
deleted file mode 100644
index 6e80002..0000000
--- a/fix-64bit-archs.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/tests/js1_5/Array/regress-157652.js b/tests/js1_5/Array/regress-157652.js
-index 0bdba8f..9d77802 100644
---- a/tests/js1_5/Array/regress-157652.js
-+++ b/tests/js1_5/Array/regress-157652.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
-+// |reftest|
skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No
test results
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
-diff --git a/tests/js1_5/Array/regress-330812.js b/tests/js1_5/Array/regress-330812.js
-index 3a39297..c48f4c8 100644
---- a/tests/js1_5/Array/regress-330812.js
-+++ b/tests/js1_5/Array/regress-330812.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
-+// |reftest|
skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No
test results
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
-diff --git a/tests/js1_5/Regress/regress-422348.js
b/tests/js1_5/Regress/regress-422348.js
-index f2443c2..7ae83f4 100644
---- a/tests/js1_5/Regress/regress-422348.js
-+++ b/tests/js1_5/Regress/regress-422348.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)) -- On 64-bit, takes forever
rather than throwing
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) --
On 64-bit, takes forever rather than throwing
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
diff --git a/fix-atomicoperatios.patch b/fix-atomicoperatios.patch
deleted file mode 100644
index 1039c92..0000000
--- a/fix-atomicoperatios.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fix choosing of AtomicOperations implementation for ARM platforms with
-disabled ION.
-
-ARM and PPC AtomicOperations implementations are almost same. PPC one includes
-also implementation for compatibility with older gcc. Including ARM ones
-result in build failure (dependend source file also includes
-jit/none/AtomicOperations-none.h - so duplicate definitions of functions).
-
-diff --git a/jit/AtomicOperations.h b/jit/AtomicOperations.h
-index 8606a18..60af775 100644
---- a/jit/AtomicOperations.h
-+++ b/jit/AtomicOperations.h
-@@ -302,7 +302,9 @@ AtomicOperations::isLockfree(int32_t size)
- # include "jit/mips-shared/AtomicOperations-mips-shared.h"
- #elif defined(__ppc64__) || defined(__PPC64_) \
- || defined(__ppc64le__) || defined(__PPC64LE__) \
-- || defined(__ppc__) || defined(__PPC__)
-+ || defined(__ppc__) || defined(__PPC__) \
-+ || defined(__aarch64__) || defined(__arm__) \
-+ || defined(__s390x__) || defined(__mips__)
- # include "jit/none/AtomicOperations-ppc.h"
- #elif defined(JS_CODEGEN_NONE)
- # include "jit/none/AtomicOperations-none.h"
diff --git a/functions-visibility.patch b/functions-visibility.patch
deleted file mode 100644
index 35736e9..0000000
--- a/functions-visibility.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/js/public/CharacterEncoding.h b/js/public/CharacterEncoding.h
-index 4763816..85afe3c 100644
---- a/js/public/CharacterEncoding.h
-+++ b/js/public/CharacterEncoding.h
-@@ -187,7 +187,7 @@ Utf8ToOneUcs4Char(const uint8_t* utf8Buffer, int utf8Length);
- * - On success, returns a malloc'd TwoByteCharsZ, and updates |outlen| to hold
- * its length; the length value excludes the trailing null.
- */
--extern TwoByteCharsZ
-+extern JS_PUBLIC_API(TwoByteCharsZ)
- UTF8CharsToNewTwoByteCharsZ(JSContext* cx, const UTF8Chars utf8, size_t* outlen);
-
- /*
-@@ -195,7 +195,7 @@ UTF8CharsToNewTwoByteCharsZ(JSContext* cx, const UTF8Chars utf8,
size_t* outlen)
- * will be replaced by \uFFFD. No exception will be thrown for malformed UTF-8
- * input.
- */
--extern TwoByteCharsZ
-+extern JS_PUBLIC_API(TwoByteCharsZ)
- LossyUTF8CharsToNewTwoByteCharsZ(JSContext* cx, const UTF8Chars utf8, size_t* outlen);
-
- /*
-diff --git a/js/src/jsalloc.h b/js/src/jsalloc.h
-index b9ae519..6660b71 100644
---- a/js/src/jsalloc.h
-+++ b/js/src/jsalloc.h
-@@ -49,7 +49,7 @@ class SystemAllocPolicy
- };
-
- class ExclusiveContext;
--void ReportOutOfMemory(ExclusiveContext* cxArg);
-+JS_PUBLIC_API(void) ReportOutOfMemory(ExclusiveContext* cxArg);
-
- /*
- * Allocation policy that calls the system memory functions and reports errors
-diff --git a/js/src/vm/Runtime.h b/js/src/vm/Runtime.h
-index 9df5308..3821304 100644
---- a/js/src/vm/Runtime.h
-+++ b/js/src/vm/Runtime.h
-@@ -489,7 +489,7 @@ CanUseExtraThreads()
- return gCanUseExtraThreads;
- }
-
--void DisableExtraThreads();
-+JS_PUBLIC_API(void) DisableExtraThreads();
-
- /*
- * Encapsulates portions of the runtime/context that are tied to a
diff --git a/mozbz-1143022+1277742.patch b/mozbz-1143022+1277742.patch
deleted file mode 100644
index fb52168..0000000
--- a/mozbz-1143022+1277742.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-
-# HG changeset patch
-# User Zheng Xu <zheng.xu(a)linaro.org>
-# Date 1464657720 -7200
-# Node ID dfaafbaaa2919a033c4c0abdd5830f4ea413bed6
-# Parent 499f16ca85ec48d1896a1633730715f32bd62140
-Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits are clear. r=ehoogeveen
-
-There might be 48-bit VA on arm64 depending on kernel configuration.
-Manually mmap heap memory to align with the assumption made by JS engine.
-
-EDIT mskalick: Added fix for mozbz-1277742 (below) which fixes this bug
-
-# HG changeset patch
-# User Makoto Kato <m_kato(a)ga2.so-net.ne.jp>
-# Date 1464948660 -32400
-# Node ID 58137ecd12edb7ae1a57c80da811676bc66fd03c
-# Parent d02ab40ae319910659cf19114f41e7aa7ce68e4d
-Bug 1277742 - Use correct namespace for ChunkSize on aarch64. r=ehoogeveen
-
-MozReview-Commit-ID: FqXkZaOG6SK
-
-diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
---- a/js/src/gc/Memory.cpp
-+++ b/js/src/gc/Memory.cpp
-@@ -430,17 +430,17 @@ InitMemorySubsystem()
- if (pageSize == 0)
- pageSize = allocGranularity = size_t(sysconf(_SC_PAGESIZE));
- }
-
- static inline void*
- MapMemoryAt(void* desired, size_t length, int prot = PROT_READ | PROT_WRITE,
- int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0)
- {
--#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) ||
defined(__aarch64__)
- MOZ_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
- #endif
- void* region = mmap(desired, length, prot, flags, fd, offset);
- if (region == MAP_FAILED)
- return nullptr;
- /*
- * mmap treats the given address as a hint unless the MAP_FIXED flag is
- * used (which isn't usually what you want, as this overrides existing
-@@ -480,16 +480,51 @@ MapMemory(size_t length, int prot = PROT
- * as out of memory.
- */
- if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
- if (munmap(region, length))
- MOZ_ASSERT(errno == ENOMEM);
- return nullptr;
- }
- return region;
-+#elif defined(__aarch64__)
-+ /*
-+ * There might be similar virtual address issue on arm64 which depends on
-+ * hardware and kernel configurations. But the work around is slightly
-+ * different due to the different mmap behavior.
-+ *
-+ * TODO: Merge with the above code block if this implementation works for
-+ * ia64 and sparc64.
-+ */
-+ const uintptr_t start = UINT64_C(0x0000070000000000);
-+ const uintptr_t end = UINT64_C(0x0000800000000000);
-+ const uintptr_t step = js::gc::ChunkSize;
-+ /*
-+ * Optimization options if there are too many retries in practice:
-+ * 1. Examine /proc/self/maps to find an available address. This file is
-+ * not always available, however. In addition, even if we examine
-+ * /proc/self/maps, we may still need to retry several times due to
-+ * racing with other threads.
-+ * 2. Use a global/static variable with lock to track the addresses we have
-+ * allocated or tried.
-+ */
-+ uintptr_t hint;
-+ void* region = MAP_FAILED;
-+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint +=
step) {
-+ region = mmap((void*)hint, length, prot, flags, fd, offset);
-+ if (region != MAP_FAILED) {
-+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
-+ if (munmap(region, length)) {
-+ MOZ_ASSERT(errno == ENOMEM);
-+ }
-+ region = MAP_FAILED;
-+ }
-+ }
-+ }
-+ return region == MAP_FAILED ? nullptr : region;
- #else
- void* region = MozTaggedAnonymousMmap(nullptr, length, prot, flags, fd, offset,
"js-gc-heap");
- if (region == MAP_FAILED)
- return nullptr;
- return region;
- #endif
- }
-
-diff --git a/js/src/jsapi-tests/testGCAllocator.cpp
b/js/src/jsapi-tests/testGCAllocator.cpp
---- a/js/src/jsapi-tests/testGCAllocator.cpp
-+++ b/js/src/jsapi-tests/testGCAllocator.cpp
-@@ -307,48 +307,72 @@ void* mapMemoryAt(void* desired, size_t
- void* mapMemory(size_t length) { return nullptr; }
- void unmapPages(void* p, size_t size) { }
-
- #elif defined(XP_UNIX)
-
- void*
- mapMemoryAt(void* desired, size_t length)
- {
--#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) ||
defined(__aarch64__)
- MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) ==
0);
- #endif
- void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
-1, 0);
- if (region == MAP_FAILED)
- return nullptr;
- if (region != desired) {
- if (munmap(region, length))
- MOZ_RELEASE_ASSERT(errno == ENOMEM);
- return nullptr;
- }
- return region;
- }
-
- void*
- mapMemory(size_t length)
- {
-- void* hint = nullptr;
-+ int prot = PROT_READ | PROT_WRITE;
-+ int flags = MAP_PRIVATE | MAP_ANON;
-+ int fd = -1;
-+ off_t offset = 0;
-+ // The test code must be aligned with the implementation in gc/Memory.cpp.
- #if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-- hint = (void*)0x0000070000000000ULL;
--#endif
-- void* region = mmap(hint, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
-1, 0);
-+ void* region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset);
- if (region == MAP_FAILED)
- return nullptr;
--#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-- if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000ULL) {
-+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
- if (munmap(region, length))
- MOZ_RELEASE_ASSERT(errno == ENOMEM);
- return nullptr;
- }
-+ return region;
-+#elif defined(__aarch64__)
-+ const uintptr_t start = UINT64_C(0x0000070000000000);
-+ const uintptr_t end = UINT64_C(0x0000800000000000);
-+ const uintptr_t step = js::gc::ChunkSize;
-+ uintptr_t hint;
-+ void* region = MAP_FAILED;
-+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint +=
step) {
-+ region = mmap((void*)hint, length, prot, flags, fd, offset);
-+ if (region != MAP_FAILED) {
-+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
-+ if (munmap(region, length)) {
-+ MOZ_RELEASE_ASSERT(errno == ENOMEM);
-+ }
-+ region = MAP_FAILED;
-+ }
-+ }
-+ }
-+ return region == MAP_FAILED ? nullptr : region;
-+#else
-+ void* region = mmap(nullptr, length, prot, flags, fd, offset);
-+ if (region == MAP_FAILED)
-+ return nullptr;
-+ return region;
- #endif
-- return region;
- }
-
- void
- unmapPages(void* p, size_t size)
- {
- if (munmap(p, size))
- MOZ_RELEASE_ASSERT(errno == ENOMEM);
- }
-
diff --git a/mozjs45.spec b/mozjs45.spec
deleted file mode 100644
index f2cd243..0000000
--- a/mozjs45.spec
+++ /dev/null
@@ -1,238 +0,0 @@
-%global major 45
-
-Summary: JavaScript interpreter and libraries
-Name: mozjs%{major}
-Version: 45.9.0
-Release: 10%{?dist}
-License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2.1 and LGPLv2.1+ and
AFL and ASL 2.0
-URL:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Re...
-Source0:
https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox...
-Source1: LICENSE.txt
-
-# According to mozilla devs x86_64 is the only 64-bit architecture. I tend to not agree
with them.
-Patch0: fix-64bit-archs.patch
-# same issue on s390 as in XUL/FF -
https://bugzilla.redhat.com/show_bug.cgi?id=1219542
-Patch1: rhbz-1219542-s390-build.patch
-# Manually mmap on arm64 to ensure high 17 bits are clear
-Patch2: mozbz-1143022+1277742.patch
-# Fix AtomicOperations detection for disabled JIT
-Patch3: fix-atomicoperatios.patch
-# Make these functions visible in shared library (used by mongodb package):
-# JS::UTF8CharsToNewTwoByteCharsZ
-# JS::LossyUTF8CharsToNewTwoByteCharsZ
-# js::DisableExtraThreads()
-# js::ReportOutOfMemory()
-Patch4: functions-visibility.patch
-
-BuildRequires: pkgconfig(nspr)
-BuildRequires: pkgconfig(libffi)
-BuildRequires: pkgconfig(zlib)
-BuildRequires: readline-devel
-BuildRequires: /usr/bin/zip
-BuildRequires: python2-devel
-BuildRequires: perl-devel
-BuildRequires: gcc-c++
-
-# Firefox does not allow to build with system version of jemalloc
-Provides: bundled(jemalloc) = 4.0.0-12.ged4883285e111b426e5769b24dad164ebacaa5b9
-
-%description
-JavaScript is the Netscape-developed object scripting language used in millions
-of web pages and server applications worldwide. Netscape's JavaScript is a
-super set of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
-with only mild differences from the published standard.
-
-%package devel
-Summary: Header files, libraries and development documentation for %{name}
-Group: Development/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-
-%description devel
-This package contains the header files, static libraries and development
-documentation for %{name}. If you like to develop programs using %{name},
-you will need to install %{name}-devel.
-
-%prep
-%setup -q -n firefox-%{version}esr/js/src
-%patch0 -p1
-%ifarch s390
-%patch1 -p3 -b .rhbz-1219542-s390
-%endif
-%patch2 -p3
-%patch3 -p1
-pushd ../..
-%patch4 -p1
-popd
-
-%if 0%{?fedora} > 22
-# Correct failed to link tests due to hardened build
-sed -i 's|"-O2"|"-O2 -fPIC"|' configure
-%endif
-
-# Remove zlib directory (to be sure using system version)
-rm -rf ../../modules/zlib
-
-# Fix release number
-head -n -1 ../../config/milestone.txt > ../../config/milestone.txt
-echo "%{version}" >> ../../config/milestone.txt
-
-%build
-# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
-export CFLAGS="%{optflags} -fno-tree-vrp -fno-strict-aliasing
-fno-delete-null-pointer-checks"
-%ifarch ppc64le ppc64
-# Breaks tests/js1_5/extensions/regress-313763.js and
tests/js1_5/extensions/regress-341956-01.js
-export CFLAGS+=" -mcpu=power7 -mtune=power7"
-%endif
-export CXXFLAGS=$CFLAGS
-LINKFLAGS="%{?__global_ldflags}"
-export PYTHON=/usr/bin/python2
-
-%configure \
- --enable-optimize \
- --enable-pie \
- --enable-posix-nspr-emulation \
- --enable-readline \
- --enable-release \
- --enable-shared-js \
- --enable-system-ffi \
- --enable-xterm-updates \
- --with-pthreads \
- --without-system-icu \
- --with-system-zlib \
- --with-intl-api \
-%ifarch %{arm} aarch64 ppc ppc64 ppc64le
- --disable-ion
-%endif
-
-# Without adding these sources resulted library has weak symbols
-echo "CPPSRCS += \$(DEPTH)/mfbt/Unified_cpp_mfbt0.cpp
\$(DEPTH)/../../mfbt/Compression.cpp \$(DEPTH)/../../mfbt/decimal/Decimal.cpp"
>> js/src/backend.mk
-#echo "STATIC_LIBS += \$(DEPTH)/mfbt/libmfbt.a" >> js/src/backend.mk
-
-make %{?_smp_mflags}
-
-%install
-make install DESTDIR=%{buildroot}
-
-mv %{buildroot}%{_libdir}/pkgconfig/js.pc
%{buildroot}%{_libdir}/pkgconfig/mozjs-%{major}.pc
-chmod a-x %{buildroot}%{_libdir}/pkgconfig/*.pc
-
-# Do not install binaries or static libraries
-rm -f %{buildroot}%{_libdir}/*.a %{buildroot}%{_libdir}/*.ajs %{buildroot}%{_bindir}/js*
-
-# Install files, not symlinks to build directory
-pushd %{buildroot}%{_includedir}
- for link in `find . -type l`; do
- header=`readlink $link`
- rm -f $link
- cp -p $header $link
- done
-popd
-cp -p js/src/js-config.h %{buildroot}%{_includedir}/mozjs-%{major}
-
-# Install license file
-cp %{SOURCE1} .
-
-%check
-# Run SpiderMonkey tests
-tests/jstests.py -d -s -t 1800 --no-progress ../../js/src/js/src/shell/js
-
-# Run basic JIT tests
-jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/js/src/shell/js basic
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%license LICENSE.txt
-%doc ../../README.txt
-%{_libdir}/*.so
-
-%files devel
-%{_libdir}/pkgconfig/*.pc
-%{_includedir}/mozjs-%{major}
-
-%changelog
-* Tue Feb 27 2018 Marek Skalick <mskalick(a)redhat.com> - 45.9.0-10
-- Add missing BuildRequires: gcc/gcc-c++
-
-* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 45.9.0-9
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Mon Mar 19 2018 Iryna Shcherbina <ishcherb(a)redhat.com> - 45.9.0-8
-- Update Python 2 dependency declarations to new packaging standards
- (See
https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
-
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 45.9.0-7
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Thu Nov 30 2017 Pete Walter <pwalter(a)fedoraproject.org> - 45.9.0-6
-- Rebuild for ICU 60.1
-
-* Thu Oct 05 2017 Marek Skalick <mskalick(a)redhat.com> - 45.9.0-5
-- Disable power8 features for ppc64* - it breaks two tests with new gcc
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 45.9.0-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 45.9.0-3
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon May 15 2017 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
45.9.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
-
-* Thu May 04 2017 Marek Skalick <mskalick(a)redhat.com> - 45.9.0-1
-- Update to latest minor release
-
-* Tue Mar 07 2017 Fedora Release Monitoring <release-monitoring(a)fedoraproject.org>
- 45.8.0-1
-- Update to 45.8.0 (#1429732)
-
-* Tue Feb 21 2017 Marek Skalick <mskalick(a)redhat.com> - 45.7.0-3
-- Enable Internationalization api
-- Make more functions visible in shared library
-
-* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 45.7.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Feb 03 2017 Marek Skalick <mskalick(a)redhat.com> - 45.7.0-1
-- Update to latest minor release
-
-* Fri Dec 16 2016 Marek Skalick <mskalick(a)redhat.com> - 45.6.0-1
-- Update to latest minor release
-
-* Thu Dec 08 2016 Marek Skalick <mskalick(a)redhat.com> - 45.5.1-2
-- Allow using gcc buildin AtomicOperations also for s390x and MIPS
-
-* Mon Dec 05 2016 Marek Skalick <mskalick(a)redhat.com> - 45.5.1-1
-- Update to latest minor version 45.5.1
-
-* Mon Nov 21 2016 Marek Skalick <mskalick(a)redhat.com> - 45.5.0-2
-- Disable ION (JIT) for ARM and PPC architectures
-- Fixed producing weak symbols in libmozjs-45.so
-- Make tests passing on all architectures
-- Fixed platform detection of AtomicOperations with disabled ION
-- Update to 45.5.0
-
-* Thu Oct 06 2016 Marek Skalick <mskalick(a)redhat.com> - 45.4.0-1
-- Update to latest ESR release 45.4.0
-
-* Fri Sep 16 2016 Marek Skalick <mskalick(a)redhat.com> - 45.3.0-1
-- Update to latest ESR release
-
-* Tue Jul 5 2016 Peter Robinson <pbrobinson(a)fedoraproject.org> 45.1.1-6
-- Add upstream patches for aarch64 48-bit VA
-
-* Mon May 30 2016 Marek Skalick <mskalick(a)redhat.com> - 45.1.1-5
-- Disable tests for arm
-
-* Mon May 30 2016 Dan Hork <dan[at]danny.cz> - 45.1.1-4
-- Fix build on s390 by refreshing the build patch
-
-* Tue May 24 2016 Marek Skalicky <mskalick(a)redhat.com> - 45.1.1-3
-- Fixed license handling
-
-* Mon May 23 2016 Marek Skalicky <mskalick(a)redhat.com> - 45.1.1-2
-- Fixed some errors from package review
-
-* Tue May 17 2016 Marek Skalicky <mskalick(a)redhat.com> - 45.1.1-1
-- Initial packaging of mozjs 45
diff --git a/rhbz-1219542-s390-build.patch b/rhbz-1219542-s390-build.patch
deleted file mode 100644
index 54c13e6..0000000
--- a/rhbz-1219542-s390-build.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -up firefox-45.1.1esr/js/src/configure.in.rhbz-1219542-s390
firefox-45.1.1esr/js/src/configure.in
---- firefox-45.1.1esr/js/src/configure.in.rhbz-1219542-s390 2016-05-03 01:11:59.000000000
+0200
-+++ firefox-45.1.1esr/js/src/configure.in 2016-05-30 11:35:13.000000000 +0200
-@@ -1467,7 +1467,7 @@ case "$host" in
-
- *-linux*|*-kfreebsd*-gnu|*-gnu*)
- HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
-- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
-+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}"
- ;;
-
- *)
-@@ -1650,8 +1650,8 @@ ia64*-hpux*)
- # while; Intel recommends against using it.
- MOZ_OPTIMIZE_FLAGS="-O2"
- elif test "$GNU_CC" -o "$GNU_CXX"; then
-- MOZ_PGO_OPTIMIZE_FLAGS="-O3"
-- MOZ_OPTIMIZE_FLAGS="-O3"
-+ MOZ_PGO_OPTIMIZE_FLAGS="-O1"
-+ MOZ_OPTIMIZE_FLAGS="-O1"
- if test -z "$CLANG_CC"; then
- MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
- fi
-diff -up firefox-45.1.1esr/js/src/configure.rhbz-1219542-s390
firefox-45.1.1esr/js/src/configure
---- firefox-45.1.1esr/js/src/configure.rhbz-1219542-s390 2016-05-03 01:12:46.000000000
+0200
-+++ firefox-45.1.1esr/js/src/configure 2016-05-30 11:35:13.000000000 +0200
-@@ -8029,7 +8029,7 @@ case "$host" in
-
- *-linux*|*-kfreebsd*-gnu|*-gnu*)
- HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
-- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
-+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}"
- ;;
-
- *)
-@@ -8366,8 +8366,8 @@ EOF
- # while; Intel recommends against using it.
- MOZ_OPTIMIZE_FLAGS="-O2"
- elif test "$GNU_CC" -o "$GNU_CXX"; then
-- MOZ_PGO_OPTIMIZE_FLAGS="-O3"
-- MOZ_OPTIMIZE_FLAGS="-O3"
-+ MOZ_PGO_OPTIMIZE_FLAGS="-O1"
-+ MOZ_OPTIMIZE_FLAGS="-O1"
- if test -z "$CLANG_CC"; then
- MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
- fi
diff --git a/sources b/sources
deleted file mode 100644
index 799823c..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (firefox-45.9.0esr.source.tar.xz) =
2e4c1f8bca0c59ac93ab918b996e3b6cf25e7279ad5800de256aa220e670c6aaab2036c3ead4020b80e2a0e8cda3ae5fe9b270106646c625ce4fd6ecfd66d9ca
commit b8adcb8ed2c194a372dad95307300192b052dfa0
Author: Marek Skalick <mskalick(a)redhat.com>
Date: Tue Feb 27 12:24:12 2018 +0100
Add missing BuildRequires: gcc/gcc-c++
diff --git a/mozjs45.spec b/mozjs45.spec
index ef1f4be..f2cd243 100644
--- a/mozjs45.spec
+++ b/mozjs45.spec
@@ -3,7 +3,7 @@
Summary: JavaScript interpreter and libraries
Name: mozjs%{major}
Version: 45.9.0
-Release: 9%{?dist}
+Release: 10%{?dist}
License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2.1 and LGPLv2.1+ and
AFL and ASL 2.0
URL:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Re...
Source0:
https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox...
@@ -31,6 +31,7 @@ BuildRequires: readline-devel
BuildRequires: /usr/bin/zip
BuildRequires: python2-devel
BuildRequires: perl-devel
+BuildRequires: gcc-c++
# Firefox does not allow to build with system version of jemalloc
Provides: bundled(jemalloc) = 4.0.0-12.ged4883285e111b426e5769b24dad164ebacaa5b9
@@ -152,6 +153,9 @@ jit-test/jit_test.py -s -t 1800 --no-progress
../../js/src/js/src/shell/js basic
%{_includedir}/mozjs-%{major}
%changelog
+* Tue Feb 27 2018 Marek Skalick <mskalick(a)redhat.com> - 45.9.0-10
+- Add missing BuildRequires: gcc/gcc-c++
+
* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 45.9.0-9
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild