forked from pool/MozillaThunderbird
Accepting request 644807 from home:Guillaume_G:branches:mozilla:Factory
- Update _constraints for armv6/7 - Add patch to fix build on armv7: * mozilla-bmo1463035.patch - Add memory-constraints to avoid OOM errors OBS-URL: https://build.opensuse.org/request/show/644807 OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=436
This commit is contained in:
parent
234d7a115c
commit
9bb3d7bcac
@ -1,3 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 25 14:40:14 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Update _constraints for armv6/7
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 25 08:26:12 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Add patch to fix build on armv7:
|
||||
* mozilla-bmo1463035.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 25 08:25:52 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Add memory-constraints to avoid OOM errors
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 12 14:26:17 UTC 2018 - meissner@suse.com
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
@ -42,6 +42,7 @@ BuildRequires: libXcomposite-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libidl-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: memory-constraints
|
||||
BuildRequires: mozilla-nspr-devel >= 4.19
|
||||
BuildRequires: mozilla-nss-devel >= 3.36.4
|
||||
BuildRequires: python
|
||||
@ -119,6 +120,7 @@ Patch7: mozilla-bmo1375074.patch
|
||||
Patch8: mozilla-bmo1464766.patch
|
||||
Patch9: mozilla-i586-DecoderDoctorLogger.patch
|
||||
Patch10: mozilla-i586-domPrefs.patch
|
||||
Patch11: mozilla-bmo1463035.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: coreutils fileutils textutils /bin/sh
|
||||
Recommends: libcanberra0
|
||||
@ -202,6 +204,7 @@ symbols meant for upload to Mozilla's crash collector database.
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%endif
|
||||
%patch11 -p1
|
||||
|
||||
%build
|
||||
# no need to add build time to binaries
|
||||
@ -251,6 +254,8 @@ export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
||||
# is not forced into CFLAGS
|
||||
export MOZ_DEBUG_FLAGS="-pipe"
|
||||
#
|
||||
# Limit RAM usage to avoid OOM
|
||||
%limit_build -m 1500
|
||||
cat << EOF > $MOZCONFIG
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
|
@ -12,15 +12,6 @@
|
||||
<conditions>
|
||||
<arch>armv6l</arch>
|
||||
<arch>armv7l</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="M">2600</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
|
130
mozilla-bmo1463035.patch
Normal file
130
mozilla-bmo1463035.patch
Normal file
@ -0,0 +1,130 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Mike Hommey <mh+mozilla@glandium.org>
|
||||
# Date 1526871862 -32400
|
||||
# Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43
|
||||
# Parent 1800b8895c08bc0c60302775dc0a4b5ea4deb310
|
||||
Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
|
||||
|
||||
For some reason, GNU as is not happy with the assembly generated after
|
||||
bug 1238661 anymore on Debian armel.
|
||||
|
||||
OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
|
||||
workaround anymore, so let's just kill it.
|
||||
|
||||
|
||||
diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h
|
||||
deleted file mode 100644
|
||||
--- a/mfbt/LinuxSignal.h
|
||||
+++ /dev/null
|
||||
@@ -1,45 +0,0 @@
|
||||
-/* 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/. */
|
||||
-
|
||||
-#ifndef mozilla_LinuxSignal_h
|
||||
-#define mozilla_LinuxSignal_h
|
||||
-
|
||||
-namespace mozilla {
|
||||
-
|
||||
-#if defined(__arm__)
|
||||
-
|
||||
-// Some (old) Linux kernels on ARM have a bug where a signal handler
|
||||
-// can be called without clearing the IT bits in CPSR first. The result
|
||||
-// is that the first few instructions of the handler could be skipped,
|
||||
-// ultimately resulting in crashes. To workaround this bug, the handler
|
||||
-// on ARM is a trampoline that starts with enough NOP instructions, so
|
||||
-// that even if the IT bits are not cleared, only the NOP instructions
|
||||
-// will be skipped over.
|
||||
-
|
||||
-template <void (*H)(int, siginfo_t*, void*)>
|
||||
-__attribute__((naked)) void
|
||||
-SignalTrampoline(int aSignal, siginfo_t* aInfo, void* aContext)
|
||||
-{
|
||||
- asm volatile (
|
||||
- "nop; nop; nop; nop"
|
||||
- : : : "memory");
|
||||
-
|
||||
- asm volatile (
|
||||
- "b %0"
|
||||
- :
|
||||
- : "X"(H)
|
||||
- : "memory");
|
||||
-}
|
||||
-
|
||||
-# define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)
|
||||
-
|
||||
-#else // __arm__
|
||||
-
|
||||
-# define MOZ_SIGNAL_TRAMPOLINE(h) (h)
|
||||
-
|
||||
-#endif // __arm__
|
||||
-
|
||||
-} // namespace mozilla
|
||||
-
|
||||
-#endif // mozilla_LinuxSignal_h
|
||||
diff --git a/mfbt/moz.build b/mfbt/moz.build
|
||||
--- a/mfbt/moz.build
|
||||
+++ b/mfbt/moz.build
|
||||
@@ -117,20 +117,16 @@ EXPORTS["double-conversion"] = [
|
||||
LOCAL_INCLUDES += [
|
||||
'/mfbt/double-conversion',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
EXPORTS.mozilla += [
|
||||
'WindowsVersion.h',
|
||||
]
|
||||
-elif CONFIG['OS_ARCH'] == 'Linux':
|
||||
- EXPORTS.mozilla += [
|
||||
- 'LinuxSignal.h',
|
||||
- ]
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
'Assertions.cpp',
|
||||
'ChaosMode.cpp',
|
||||
'double-conversion/double-conversion/bignum-dtoa.cc',
|
||||
'double-conversion/double-conversion/bignum.cc',
|
||||
'double-conversion/double-conversion/cached-powers.cc',
|
||||
'double-conversion/double-conversion/diy-fp.cc',
|
||||
diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
|
||||
--- a/tools/profiler/core/platform-linux-android.cpp
|
||||
+++ b/tools/profiler/core/platform-linux-android.cpp
|
||||
@@ -55,17 +55,16 @@
|
||||
#ifdef __GLIBC__
|
||||
#include <execinfo.h> // backtrace, backtrace_symbols
|
||||
#endif // def __GLIBC__
|
||||
#include <strings.h> // index
|
||||
#include <errno.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "prenv.h"
|
||||
-#include "mozilla/LinuxSignal.h"
|
||||
#include "mozilla/PodOperations.h"
|
||||
#include "mozilla/DebugOnly.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <list>
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
@@ -272,17 +271,17 @@ Sampler::Sampler(PSLockRef aLock)
|
||||
|
||||
// NOTE: We don't initialize LUL here, instead initializing it in
|
||||
// SamplerThread's constructor. This is because with the
|
||||
// profiler_suspend_and_sample_thread entry point, we want to be able to
|
||||
// sample without waiting for LUL to be initialized.
|
||||
|
||||
// Request profiling signals.
|
||||
struct sigaction sa;
|
||||
- sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
|
||||
+ sa.sa_sigaction = SigprofHandler;
|
||||
sigemptyset(&sa.sa_mask);
|
||||
sa.sa_flags = SA_RESTART | SA_SIGINFO;
|
||||
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
|
||||
MOZ_CRASH("Error installing SIGPROF handler in the profiler");
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user