From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id EDD64139085 for ; Tue, 17 Jan 2017 17:30:14 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4850321C080; Tue, 17 Jan 2017 17:30:14 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 1629821C080 for ; Tue, 17 Jan 2017 17:30:14 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B7EC93411D7 for ; Tue, 17 Jan 2017 17:30:12 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 53912265F for ; Tue, 17 Jan 2017 17:30:11 +0000 (UTC) From: "Jory Pratt" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jory Pratt" Message-ID: <1484674204.f304767c2a2ff4d9e761174475e13dea6ce3b4e9.anarchy@gentoo> Subject: [gentoo-commits] proj/mozilla:master commit in: www-client/firefox/files/, www-client/firefox/ X-VCS-Repository: proj/mozilla X-VCS-Files: www-client/firefox/Manifest www-client/firefox/files/arm64-1-define-ARCH_CPU_ARM64.patch www-client/firefox/files/arm64-2-import-crbug-for-aarch64.patch www-client/firefox/files/arm64-3-set-WEBRTC_DETECT_ARM_NEON-when-optional.patch www-client/firefox/files/arm64-4-link-chromium-mutex-based-atomics.patch www-client/firefox/files/arm64-5-mozjemalloc-no-static-page-sizes.patch www-client/firefox/files/crossdev-nss.m4.pkg-config.patch www-client/firefox/files/firefox-47.0-crashreporter.patch www-client/firefox/files/firefox-47.0-define-HUNSPELL_STATIC-conditionally.patch www-client/firefox/files/firefox-48.0-pgo.patch www-client/firefox/firefox-51.0_beta14.ebuild X-VCS-Directories: www-client/firefox/ www-client/firefox/files/ X-VCS-Committer: anarchy X-VCS-Committer-Name: Jory Pratt X-VCS-Revision: f304767c2a2ff4d9e761174475e13dea6ce3b4e9 X-VCS-Branch: master Date: Tue, 17 Jan 2017 17:30:11 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 57f662a3-17b5-4e24-b558-1281763e8adc X-Archives-Hash: 4f101fca4f29306ceec9ec6928c4a14c commit: f304767c2a2ff4d9e761174475e13dea6ce3b4e9 Author: Jory A. Pratt gentoo org> AuthorDate: Tue Jan 17 17:29:27 2017 +0000 Commit: Jory Pratt gentoo org> CommitDate: Tue Jan 17 17:30:04 2017 +0000 URL: https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=f304767c www-client/firefox: Add pgo patch into patchset, clean up filesdir www-client/firefox/Manifest | 2 +- .../files/arm64-1-define-ARCH_CPU_ARM64.patch | 26 -- .../files/arm64-2-import-crbug-for-aarch64.patch | 407 --------------------- ...-set-WEBRTC_DETECT_ARM_NEON-when-optional.patch | 22 -- ...arm64-4-link-chromium-mutex-based-atomics.patch | 59 --- .../arm64-5-mozjemalloc-no-static-page-sizes.patch | 22 -- .../firefox/files/crossdev-nss.m4.pkg-config.patch | 33 -- .../firefox/files/firefox-47.0-crashreporter.patch | 27 -- ...47.0-define-HUNSPELL_STATIC-conditionally.patch | 8 - www-client/firefox/files/firefox-48.0-pgo.patch | 12 - www-client/firefox/firefox-51.0_beta14.ebuild | 5 +- 11 files changed, 3 insertions(+), 620 deletions(-) diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 1d076dc..3cabed9 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -85,5 +85,5 @@ DIST firefox-45.6.0esr-xh.xpi 432919 SHA256 bc0c472e5aea467a22f4db2216f9c25b11c9 DIST firefox-45.6.0esr-zh-CN.xpi 475797 SHA256 b92849fc289e03139a075cb916efcc1363ed82e2d13a97519c8523efe66244dd SHA512 94d0b8f03ab08c4e54a4a67c88f415c565c04b57b87e4cf3503e5036602e9ca14441b76b393cef2b45b2d5f8c81faf1bfa07e17a15b63a50b3e236c433007baf WHIRLPOOL e1ef7d413c531cb075762113ada8ed1c4f0d98245dbf3aa81871ef761df90c5428a0e76a53158ff251bcbe280e538152156d252be154d717493fef39c9a8b06c DIST firefox-45.6.0esr-zh-TW.xpi 466529 SHA256 80f55f03daa55e6b081f46a5badde962da433c54de5e4eb1a39c203a4a3b7dee SHA512 8f6362b5fdfa30b6f004ad6cf93c9a0e7126c6b0d6ba14f69ced345c9a956313ecf640a07d13771b71302598452772c04652ed376bbc1c9560d9d6aeb630714e WHIRLPOOL 67d3b99333d3baeb0ef6cd7e3395c805df0897ca70c6d76c29164733903d26791f949b78c64b8e02c21bbb2f4b263cfdea82ef144adb9e13f0d2838a3fa7f768 DIST firefox-45.6.0esr.source.tar.xz 183076768 SHA256 c1e7ddf6efb0f54c8071131b6395f4942a422c2ab70f2e9a81b588373d6fbf5b SHA512 b96c71aeed8a1185a085512f33d454a1735237cd9ddf37c8caa9cc91892eafab0615fc0ca6035f282ca8101489fa84c0de1087d1963c05b64df32b0c86446610 WHIRLPOOL ac66683bcef20152f076a27ad93687de8e5d4635f908387414ef3195b84a078ca71b2eebe61f038dcd953f974fa38c9501c6e87fb79f1425c9a35302b67ec16e -DIST firefox-51.0-patches-04.tar.xz 8716 SHA256 7fc6b5ac5af8a4725c6817832056a658e9841674624a7a7e1296bf4de4ce3b7a SHA512 1855a9d2f2d8c410ca7b14c5e63afb64dc0de79ca3247eb7648616eb73e817e0ff302ce7ca29d42a6c8fdd7d91d2fe3e2666fad35cfee12f6c340075c53b3017 WHIRLPOOL 7fb53a7cb9a1e40a52710b9243ca0146644eb541db0b59b48a435b79504c996315d47049133a1173659d65603cccb19ab0e1df0cc6da4257022b34d78069e193 +DIST firefox-51.0-patches-05.tar.xz 9076 SHA256 6ad0c376575c19cb126eeb263a7acbccb874a891c1b2c1172dac756bb2da8c90 SHA512 f9d3344983b89206071aa2a77ccc479028e75ba754f27c9740b753acbf85082cbaad69c296104ad45315a4200764948cb1cf3dbdb1f27b1a585fdc7be70b2d7a WHIRLPOOL f14842f31092079021ac18ea277f266ca7a00518d261698a41f3abc3af4701f31056360ad2b86c0f7f0cce8e8cef07b44636d04372d908294b4dca50329fafe2 DIST firefox-51.0b14.source.tar.xz 201882436 SHA256 7d554f238f9f01ffee7abd01badc35e15b7d65cd06b77fa48494be6cdad0b97f SHA512 0a07debbc4126ef232824aca6306fe3902c3e795b4f169d8e109a5f17f474ab6c734a04c77b9dbbe1ff8de7ff0a6fbca0c0279bed8d2abe6c170d73daf176b37 WHIRLPOOL 82d73397d0a5320b46235a5fcb190597289f96d5113f2aaa8e92dbfb4a3594595be444ddf67044a3299a081be1c17bc3ee11ea8da01941be7e7e963480b9a4c6 diff --git a/www-client/firefox/files/arm64-1-define-ARCH_CPU_ARM64.patch b/www-client/firefox/files/arm64-1-define-ARCH_CPU_ARM64.patch deleted file mode 100644 index e47aafa..0000000 --- a/www-client/firefox/files/arm64-1-define-ARCH_CPU_ARM64.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Makoto Kato -Date: Sun, 28 Feb 2016 19:26:18 +0900 -Subject: Bug 1250403 - Part 1. Define ARCH_CPU_ARM64 instead of - ARCH_CPU_AARCH64. r=billm - -Chromium defines ARCH_CPU_ARM64 and ARCH_CPU_ARM_FAMILY for aarch64. So we should use it instead. Because webrtc and sandbox already define it - -MozReview-Commit-ID: C7GYnpRryhA ---- - ipc/chromium/src/build/build_config.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h -index 7a4938e..dcec00d 100644 ---- a/ipc/chromium/src/build/build_config.h -+++ b/ipc/chromium/src/build/build_config.h -@@ -109,7 +109,8 @@ - #define ARCH_CPU_ALPHA 1 - #define ARCH_CPU_64_BITS 1 - #elif defined(__aarch64__) --#define ARCH_CPU_AARCH64 1 -+#define ARCH_CPU_ARM_FAMILY 1 -+#define ARCH_CPU_ARM64 1 - #define ARCH_CPU_64_BITS 1 - #else - #error Please add support for your architecture in build/build_config.h diff --git a/www-client/firefox/files/arm64-2-import-crbug-for-aarch64.patch b/www-client/firefox/files/arm64-2-import-crbug-for-aarch64.patch deleted file mode 100644 index 1e3d7f3..0000000 --- a/www-client/firefox/files/arm64-2-import-crbug-for-aarch64.patch +++ /dev/null @@ -1,407 +0,0 @@ -From: Makoto Kato -Date: Sun, 28 Feb 2016 19:11:09 +0900 -Subject: Bug 1250403 - Part 2. Import crbug #354405 for aarch64. r=billm - -MozReview-Commit-ID: A3sArb6IE6m ---- - ipc/chromium/moz.build | 2 +- - ipc/chromium/src/base/atomicops.h | 4 +- - .../src/base/atomicops_internals_arm64_gcc.h | 360 +++++++++++++++++++++ - 3 files changed, 364 insertions(+), 2 deletions(-) - create mode 100644 ipc/chromium/src/base/atomicops_internals_arm64_gcc.h - -diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build -index 8b8e4cc..88aaafe 100644 ---- a/ipc/chromium/moz.build -+++ b/ipc/chromium/moz.build -@@ -162,7 +162,7 @@ if os_bsd or os_linux: - ] - - ost = CONFIG['OS_TEST'] --if '86' not in ost and 'arm' not in ost and 'mips' not in ost: -+if '86' not in ost and 'arm' not in ost and 'aarch64' != ost and 'mips' not in ost: - SOURCES += [ - 'src/base/atomicops_internals_mutex.cc', - ] -diff --git a/ipc/chromium/src/base/atomicops.h b/ipc/chromium/src/base/atomicops.h -index a167541..f9ad55b 100644 ---- a/ipc/chromium/src/base/atomicops.h -+++ b/ipc/chromium/src/base/atomicops.h -@@ -138,8 +138,10 @@ Atomic64 Release_Load(volatile const Atomic64* ptr); - #include "base/atomicops_internals_x86_macosx.h" - #elif defined(COMPILER_GCC) && defined(ARCH_CPU_X86_FAMILY) - #include "base/atomicops_internals_x86_gcc.h" --#elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARM_FAMILY) -+#elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARMEL) - #include "base/atomicops_internals_arm_gcc.h" -+#elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARM64) -+#include "base/atomicops_internals_arm64_gcc.h" - #elif defined(COMPILER_GCC) && defined(ARCH_CPU_MIPS) - #include "base/atomicops_internals_mips_gcc.h" - #else -diff --git a/ipc/chromium/src/base/atomicops_internals_arm64_gcc.h b/ipc/chromium/src/base/atomicops_internals_arm64_gcc.h -new file mode 100644 -index 0000000..a2b0abc ---- /dev/null -+++ b/ipc/chromium/src/base/atomicops_internals_arm64_gcc.h -@@ -0,0 +1,360 @@ -+// Copyright 2014 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+// This file is an internal atomic implementation, use base/atomicops.h instead. -+ -+// TODO(rmcilroy): Investigate whether we can use __sync__ intrinsics instead of -+// the hand coded assembly without introducing perf regressions. -+// TODO(rmcilroy): Investigate whether we can use acquire / release versions of -+// exclusive load / store assembly instructions and do away with -+// the barriers. -+ -+#ifndef BASE_ATOMICOPS_INTERNALS_ARM64_GCC_H_ -+#define BASE_ATOMICOPS_INTERNALS_ARM64_GCC_H_ -+ -+#if defined(OS_QNX) -+#include -+#endif -+ -+namespace base { -+namespace subtle { -+ -+inline void MemoryBarrier() { -+ __asm__ __volatile__ ( // NOLINT -+ "dmb ish \n\t" // Data memory barrier. -+ ::: "memory" -+ ); // NOLINT -+} -+ -+ -+inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ Atomic32 prev; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %w[prev], %[ptr] \n\t" // Load the previous value. -+ "cmp %w[prev], %w[old_value] \n\t" -+ "bne 1f \n\t" -+ "stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value. -+ "cbnz %w[temp], 0b \n\t" // Retry if it did not work. -+ "1: \n\t" -+ "clrex \n\t" // In case we didn't swap. -+ : [prev]"=&r" (prev), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [old_value]"r" (old_value), -+ [new_value]"r" (new_value) -+ : "memory", "cc" -+ ); // NOLINT -+ -+ return prev; -+} -+ -+inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, -+ Atomic32 new_value) { -+ Atomic32 result; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %w[result], %[ptr] \n\t" // Load the previous value. -+ "stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value. -+ "cbnz %w[temp], 0b \n\t" // Retry if it did not work. -+ : [result]"=&r" (result), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [new_value]"r" (new_value) -+ : "memory" -+ ); // NOLINT -+ -+ return result; -+} -+ -+inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ Atomic32 result; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %w[result], %[ptr] \n\t" // Load the previous value. -+ "add %w[result], %w[result], %w[increment]\n\t" -+ "stxr %w[temp], %w[result], %[ptr] \n\t" // Try to store the result. -+ "cbnz %w[temp], 0b \n\t" // Retry on failure. -+ : [result]"=&r" (result), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [increment]"r" (increment) -+ : "memory" -+ ); // NOLINT -+ -+ return result; -+} -+ -+inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ MemoryBarrier(); -+ Atomic32 result = NoBarrier_AtomicIncrement(ptr, increment); -+ MemoryBarrier(); -+ -+ return result; -+} -+ -+inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ Atomic32 prev; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %w[prev], %[ptr] \n\t" // Load the previous value. -+ "cmp %w[prev], %w[old_value] \n\t" -+ "bne 1f \n\t" -+ "stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value. -+ "cbnz %w[temp], 0b \n\t" // Retry if it did not work. -+ "dmb ish \n\t" // Data memory barrier. -+ "1: \n\t" -+ // If the compare failed the 'dmb' is unnecessary, but we still need a -+ // 'clrex'. -+ "clrex \n\t" -+ : [prev]"=&r" (prev), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [old_value]"r" (old_value), -+ [new_value]"r" (new_value) -+ : "memory", "cc" -+ ); // NOLINT -+ -+ return prev; -+} -+ -+inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ Atomic32 prev; -+ int32_t temp; -+ -+ MemoryBarrier(); -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %w[prev], %[ptr] \n\t" // Load the previous value. -+ "cmp %w[prev], %w[old_value] \n\t" -+ "bne 1f \n\t" -+ "stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value. -+ "cbnz %w[temp], 0b \n\t" // Retry if it did not work. -+ "1: \n\t" -+ // If the compare failed the we still need a 'clrex'. -+ "clrex \n\t" -+ : [prev]"=&r" (prev), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [old_value]"r" (old_value), -+ [new_value]"r" (new_value) -+ : "memory", "cc" -+ ); // NOLINT -+ -+ return prev; -+} -+ -+inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { -+ *ptr = value; -+} -+ -+inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { -+ *ptr = value; -+ MemoryBarrier(); -+} -+ -+inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { -+ MemoryBarrier(); -+ *ptr = value; -+} -+ -+inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { -+ return *ptr; -+} -+ -+inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { -+ Atomic32 value = *ptr; -+ MemoryBarrier(); -+ return value; -+} -+ -+inline Atomic32 Release_Load(volatile const Atomic32* ptr) { -+ MemoryBarrier(); -+ return *ptr; -+} -+ -+// 64-bit versions of the operations. -+// See the 32-bit versions for comments. -+ -+inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, -+ Atomic64 old_value, -+ Atomic64 new_value) { -+ Atomic64 prev; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %[prev], %[ptr] \n\t" -+ "cmp %[prev], %[old_value] \n\t" -+ "bne 1f \n\t" -+ "stxr %w[temp], %[new_value], %[ptr] \n\t" -+ "cbnz %w[temp], 0b \n\t" -+ "1: \n\t" -+ "clrex \n\t" -+ : [prev]"=&r" (prev), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [old_value]"r" (old_value), -+ [new_value]"r" (new_value) -+ : "memory", "cc" -+ ); // NOLINT -+ -+ return prev; -+} -+ -+inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, -+ Atomic64 new_value) { -+ Atomic64 result; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %[result], %[ptr] \n\t" -+ "stxr %w[temp], %[new_value], %[ptr] \n\t" -+ "cbnz %w[temp], 0b \n\t" -+ : [result]"=&r" (result), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [new_value]"r" (new_value) -+ : "memory" -+ ); // NOLINT -+ -+ return result; -+} -+ -+inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, -+ Atomic64 increment) { -+ Atomic64 result; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %[result], %[ptr] \n\t" -+ "add %[result], %[result], %[increment] \n\t" -+ "stxr %w[temp], %[result], %[ptr] \n\t" -+ "cbnz %w[temp], 0b \n\t" -+ : [result]"=&r" (result), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [increment]"r" (increment) -+ : "memory" -+ ); // NOLINT -+ -+ return result; -+} -+ -+inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, -+ Atomic64 increment) { -+ MemoryBarrier(); -+ Atomic64 result = NoBarrier_AtomicIncrement(ptr, increment); -+ MemoryBarrier(); -+ -+ return result; -+} -+ -+inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, -+ Atomic64 old_value, -+ Atomic64 new_value) { -+ Atomic64 prev; -+ int32_t temp; -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %[prev], %[ptr] \n\t" -+ "cmp %[prev], %[old_value] \n\t" -+ "bne 1f \n\t" -+ "stxr %w[temp], %[new_value], %[ptr] \n\t" -+ "cbnz %w[temp], 0b \n\t" -+ "dmb ish \n\t" -+ "1: \n\t" -+ "clrex \n\t" -+ : [prev]"=&r" (prev), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [old_value]"r" (old_value), -+ [new_value]"r" (new_value) -+ : "memory", "cc" -+ ); // NOLINT -+ -+ return prev; -+} -+ -+inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, -+ Atomic64 old_value, -+ Atomic64 new_value) { -+ Atomic64 prev; -+ int32_t temp; -+ -+ MemoryBarrier(); -+ -+ __asm__ __volatile__ ( // NOLINT -+ "0: \n\t" -+ "ldxr %[prev], %[ptr] \n\t" -+ "cmp %[prev], %[old_value] \n\t" -+ "bne 1f \n\t" -+ "stxr %w[temp], %[new_value], %[ptr] \n\t" -+ "cbnz %w[temp], 0b \n\t" -+ "1: \n\t" -+ "clrex \n\t" -+ : [prev]"=&r" (prev), -+ [temp]"=&r" (temp), -+ [ptr]"+Q" (*ptr) -+ : [old_value]"r" (old_value), -+ [new_value]"r" (new_value) -+ : "memory", "cc" -+ ); // NOLINT -+ -+ return prev; -+} -+ -+inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { -+ *ptr = value; -+} -+ -+inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { -+ *ptr = value; -+ MemoryBarrier(); -+} -+ -+inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { -+ MemoryBarrier(); -+ *ptr = value; -+} -+ -+inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { -+ return *ptr; -+} -+ -+inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { -+ Atomic64 value = *ptr; -+ MemoryBarrier(); -+ return value; -+} -+ -+inline Atomic64 Release_Load(volatile const Atomic64* ptr) { -+ MemoryBarrier(); -+ return *ptr; -+} -+ -+} // namespace base::subtle -+} // namespace base -+ -+#endif // BASE_ATOMICOPS_INTERNALS_ARM64_GCC_H_ diff --git a/www-client/firefox/files/arm64-3-set-WEBRTC_DETECT_ARM_NEON-when-optional.patch b/www-client/firefox/files/arm64-3-set-WEBRTC_DETECT_ARM_NEON-when-optional.patch deleted file mode 100644 index 21c3bf6..0000000 --- a/www-client/firefox/files/arm64-3-set-WEBRTC_DETECT_ARM_NEON-when-optional.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Mike Hommey -Date: Wed, 2 Mar 2016 10:01:15 +0900 -Subject: Bug 1252699 - Set WEBRTC_DETECT_ARM_NEON when optional neon is - requested. r=jesup - ---- - media/webrtc/trunk/webrtc/build/common.gypi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/media/webrtc/trunk/webrtc/build/common.gypi b/media/webrtc/trunk/webrtc/build/common.gypi -index 4e46b60..02aae44 100644 ---- a/media/webrtc/trunk/webrtc/build/common.gypi -+++ b/media/webrtc/trunk/webrtc/build/common.gypi -@@ -320,7 +320,7 @@ - ['arm_neon==1', { - 'defines': ['WEBRTC_ARCH_ARM_NEON',], - }], -- ['arm_neon==0 and (OS=="android" or moz_widget_toolkit_gonk==1)', { -+ ['arm_neon==0 and arm_neon_optional==1', { - 'defines': ['WEBRTC_DETECT_ARM_NEON',], - }], - ], diff --git a/www-client/firefox/files/arm64-4-link-chromium-mutex-based-atomics.patch b/www-client/firefox/files/arm64-4-link-chromium-mutex-based-atomics.patch deleted file mode 100644 index 53bbdc1..0000000 --- a/www-client/firefox/files/arm64-4-link-chromium-mutex-based-atomics.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Mike Hommey -Date: Sat, 19 Mar 2016 01:24:21 +0900 -Subject: Bug 1257888 - Link chromium mutex-based atomics implementation to - webrtc signaling tests - ---- - ipc/chromium/atomics/moz.build | 17 +++++++++++++++++ - ipc/chromium/moz.build | 4 ++++ - media/webrtc/signaling/test/common.build | 1 + - 3 files changed, 22 insertions(+) - create mode 100644 ipc/chromium/atomics/moz.build - -diff --git a/ipc/chromium/atomics/moz.build b/ipc/chromium/atomics/moz.build -new file mode 100644 -index 0000000..6e0a9e4 ---- /dev/null -+++ b/ipc/chromium/atomics/moz.build -@@ -0,0 +1,17 @@ -+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -+# vim: set filetype=python: -+# 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/. -+ -+include('/ipc/chromium/chromium-config.mozbuild') -+ -+Library('chromium_atomics') -+ -+# This test is copied from ../moz.build for atomicops_internals_mutex.cc -+ost = CONFIG['OS_TEST'] -+if '86' not in ost and 'arm' not in ost and 'aarch64' != ost and 'mips' not in ost: -+ SOURCES += [ -+ '../src/base/atomicops_internals_mutex.cc', -+ '../src/base/lock_impl_posix.cc', -+ ] -diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build -index 88aaafe..52b6282 100644 ---- a/ipc/chromium/moz.build -+++ b/ipc/chromium/moz.build -@@ -172,3 +172,7 @@ CXXFLAGS += CONFIG['TK_CFLAGS'] - include('/ipc/chromium/chromium-config.mozbuild') - - FINAL_LIBRARY = 'xul' -+ -+DIRS += [ -+ 'atomics', -+] -diff --git a/media/webrtc/signaling/test/common.build b/media/webrtc/signaling/test/common.build -index c0a624f..21adad5 100644 ---- a/media/webrtc/signaling/test/common.build -+++ b/media/webrtc/signaling/test/common.build -@@ -79,6 +79,7 @@ if CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'): - - USE_LIBS += [ - '/media/webrtc/trunk/testing/gtest_gtest/gtest', -+ 'chromium_atomics', - 'gkmedias', - 'nksrtp_s', - 'nss', diff --git a/www-client/firefox/files/arm64-5-mozjemalloc-no-static-page-sizes.patch b/www-client/firefox/files/arm64-5-mozjemalloc-no-static-page-sizes.patch deleted file mode 100644 index 1c8cd9a..0000000 --- a/www-client/firefox/files/arm64-5-mozjemalloc-no-static-page-sizes.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Mike Hommey -Date: Wed, 25 Feb 2015 10:41:37 +0900 -Subject: Make powerpc not use static page sizes in mozjemalloc - -Closes: #763900 ---- - memory/mozjemalloc/jemalloc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c -index ee9e288..2e27e69 100644 ---- a/memory/mozjemalloc/jemalloc.c -+++ b/memory/mozjemalloc/jemalloc.c -@@ -1089,7 +1089,7 @@ static const bool config_recycle = false; - * controlling the malloc behavior are defined as compile-time constants - * for best performance and cannot be altered at runtime. - */ --#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) -+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__powerpc__) - #define MALLOC_STATIC_SIZES 1 - #endif - diff --git a/www-client/firefox/files/crossdev-nss.m4.pkg-config.patch b/www-client/firefox/files/crossdev-nss.m4.pkg-config.patch deleted file mode 100644 index e3ac8f8..0000000 --- a/www-client/firefox/files/crossdev-nss.m4.pkg-config.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/build/autoconf/nss.m4 2015-11-20 15:37:26.951993242 -0500 -+++ b/build/autoconf/nss.m4 2015-11-20 15:37:19.431992752 -0500 -@@ -8,6 +8,8 @@ - AC_DEFUN([AM_PATH_NSS], - [dnl - -+PKG_CHECK_MODULES([NSS],[nss >= $1],[ifelse([$2], , :, [$2])],[ -+ - AC_ARG_WITH(nss-prefix, - [ --with-nss-prefix=PFX Prefix where NSS is installed], - nss_config_prefix="$withval", -@@ -84,8 +86,9 @@ - ifelse([$3], , :, [$3]) - fi - -+ ]) - -- AC_SUBST(NSS_CFLAGS) -+ AC_SUBST_LIST(NSS_CFLAGS) - AC_SUBST_LIST(NSS_LIBS) - - ]) ---- a/configure.in 2015-11-20 15:40:57.401762087 -0500 -+++ b/configure.in 2015-11-20 15:50:10.080854755 -0500 -@@ -8775,7 +8775,7 @@ - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(MOZ_NATIVE_NSPR) - --AC_SUBST(NSS_CFLAGS) -+AC_SUBST_LIST(NSS_CFLAGS) - AC_SUBST(MOZ_NATIVE_NSS) - AC_SUBST(NSS_DISABLE_DBM) - diff --git a/www-client/firefox/files/firefox-47.0-crashreporter.patch b/www-client/firefox/files/firefox-47.0-crashreporter.patch deleted file mode 100644 index 7b3bf3d..0000000 --- a/www-client/firefox/files/firefox-47.0-crashreporter.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc -+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc -@@ -920,10 +920,9 @@ string FormatIdentifier(unsigned char identifier[16]) { - // Return the non-directory portion of FILENAME: the portion after the - // last slash, or the whole filename if there are no slashes. - string BaseFileName(const string &filename) { -- // Lots of copies! basename's behavior is less than ideal. -- char* c_filename = strdup(filename.c_str()); -- string base = basename(c_filename); -- free(c_filename); -+ const char *c_filename = filename.c_str(); -+ const char *p = strrchr(c_filename, '/'); -+ string base = p ? p+1 : c_filename; - return base; - } - ---- a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h -+++ b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h -@@ -3851,7 +3851,7 @@ struct kernel_statfs { - return -1; - } - } -- #if defined(__x86_64__) -+ #if defined(__x86_64__) && defined(__ILP32__) - /* Need to make sure loff_t isn't truncated to 32-bits under x32. */ - LSS_INLINE ssize_t LSS_NAME(pread64)(int f, void *b, size_t c, loff_t o) { - LSS_BODY(4, ssize_t, pread64, LSS_SYSCALL_ARG(f), LSS_SYSCALL_ARG(b), diff --git a/www-client/firefox/files/firefox-47.0-define-HUNSPELL_STATIC-conditionally.patch b/www-client/firefox/files/firefox-47.0-define-HUNSPELL_STATIC-conditionally.patch deleted file mode 100644 index f7fb3b3..0000000 --- a/www-client/firefox/files/firefox-47.0-define-HUNSPELL_STATIC-conditionally.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/extensions/spellcheck/hunspell/glue/moz.build -+++ b/extensions/spellcheck/hunspell/glue/moz.build -@@ -38,4 +38,4 @@ if CONFIG['GNU_CXX']: - - # This variable is referenced in configure.in. Make sure to change that file - # too if you need to change this variable. --DEFINES['HUNSPELL_STATIC'] = True -+DEFINES['HUNSPELL_STATIC'] = not CONFIG['MOZ_NATIVE_HUNSPELL'] diff --git a/www-client/firefox/files/firefox-48.0-pgo.patch b/www-client/firefox/files/firefox-48.0-pgo.patch deleted file mode 100644 index 645c008..0000000 --- a/www-client/firefox/files/firefox-48.0-pgo.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- firefox-47.0.1/Makefile.in.orig 2016-06-01 07:11:37.000000000 +0300 -+++ firefox-47.0.1/Makefile.in 2016-08-06 16:45:14.442699244 +0300 -@@ -55,6 +55,9 @@ - endif - endif - -+pgo-profile-run: -+ $(PYTHON) $(topsrcdir)/build/pgo/profileserver.py $(EXTRA_TEST_ARGS) -+ - ifdef JS_STANDALONE - .PHONY: CLOBBER - CLOBBER: diff --git a/www-client/firefox/firefox-51.0_beta14.ebuild b/www-client/firefox/firefox-51.0_beta14.ebuild index e109a7f..cd0a894 100644 --- a/www-client/firefox/firefox-51.0_beta14.ebuild +++ b/www-client/firefox/firefox-51.0_beta14.ebuild @@ -25,7 +25,7 @@ if [[ ${MOZ_ESR} == 1 ]]; then fi # Patch version -PATCH="${PN}-51.0-patches-04" +PATCH="${PN}-51.0-patches-05" MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases" MOZCONFIG_OPTIONAL_GTK2ONLY=1 @@ -120,8 +120,7 @@ src_unpack() { src_prepare() { # Apply our patches - eapply "${WORKDIR}/firefox" \ - "${FILESDIR}"/${PN}-48.0-pgo.patch + eapply "${WORKDIR}/firefox" # Enable gnomebreakpad if use debug ; then