1
0

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:
Wolfgang Rosenauer 2018-10-29 08:28:50 +00:00 committed by Git OBS Bridge
parent 234d7a115c
commit 9bb3d7bcac
4 changed files with 152 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -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
View 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