firefox-56.0.2:ver.bump

This commit is contained in:
sss
2017-11-14 12:12:38 +03:00
parent 7a3456be52
commit 44cd8517dd
8 changed files with 575 additions and 7 deletions
@@ -0,0 +1,117 @@
From 2874ecd82e9671f774bdfda41fe0857fcb916c13 Mon Sep 17 00:00:00 2001
Message-Id: <2874ecd82e9671f774bdfda41fe0857fcb916c13.1506634385.git.jan.steffens@gmail.com>
From: Mike Hommey <mh+mozilla@glandium.org>
Date: Wed, 16 Aug 2017 13:16:16 +0900
Subject: [PATCH] Bug 1384062 - Make SystemResourceMonitor.stop more resilient
to errors. r=ahal,gps
The poll() call in SystemResourceMonitor.stop might fail even though
there is something to read from the pipe, in some corner cases, and
python won't let us know about it. In that case, an exception is thrown,
leaving the SystemResourceMonitor (and its callers) in a weird state. In
practice, this leads BuildMonitor.__exit__ to recall stop, which then
fails.
So when poll() throws an exception, we pretend there's still something
to read, and we try to read anyways. If there is something to read,
recv() will return it, otherwise, it will throw an exception of its own,
which we catch, pretending we're done.
Furthermore, when there is nothing to read from the pipe, poll() simply
returns False, and our loop never sets `done` to True, and we then hit
an assert, which doesn't have its place here, so we remove it.
Finally, the other end of the pipe might have died at any time, making
sending over the pipe fail, so we also protect against that.
With all these changes, it feels like the reason to backout bug 1239939
in bug 1272782 should have been dealt with, and we can drop the timeout
again.
--HG--
extra : rebase_source : ac72dd5b2602cf3ffddfb429f95e02380f939893
---
.../mozsystemmonitor/resourcemonitor.py | 38 +++++++++++++++-------
1 file changed, 26 insertions(+), 12 deletions(-)
diff --git a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
index 8f2ac95cbe505540..38f9bc986ac2a120 100644
--- a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
+++ b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
@@ -289,47 +289,61 @@ class SystemResourceMonitor(object):
assert self._running
assert not self._stopped
- self._pipe.send(('terminate',))
+ try:
+ self._pipe.send(('terminate',))
+ except Exception:
+ pass
self._running = False
self._stopped = True
self.measurements = []
- done = False
-
# The child process will send each data sample over the pipe
# as a separate data structure. When it has finished sending
# samples, it sends a special "done" message to indicate it
# is finished.
- while self._pipe.poll(1.0):
- start_time, end_time, io_diff, cpu_diff, cpu_percent, virt_mem, \
- swap_mem = self._pipe.recv()
+
+ # multiprocessing.Pipe is not actually a pipe on at least Linux. that
+ # has an effect on the expected outcome of reading from it when the
+ # other end of the pipe dies, leading to possibly hanging on revc()
+ # below. So we must poll().
+ def poll():
+ try:
+ return self._pipe.poll(0.1)
+ except Exception:
+ # Poll might throw an exception even though there's still
+ # data to read. That happens when the underlying system call
+ # returns both POLLERR and POLLIN, but python doesn't tell us
+ # about it. So assume there is something to read, and we'll
+ # get an exception when trying to read the data.
+ return True
+ while poll():
+ try:
+ start_time, end_time, io_diff, cpu_diff, cpu_percent, virt_mem, \
+ swap_mem = self._pipe.recv()
+ except Exception:
+ # Let's assume we're done here
+ break
# There should be nothing after the "done" message so
# terminate.
if start_time == 'done':
- done = True
break
io = self._io_type(*io_diff)
virt = self._virt_type(*virt_mem)
swap = self._swap_type(*swap_mem)
cpu_times = [self._cpu_times_type(*v) for v in cpu_diff]
self.measurements.append(SystemResourceUsage(start_time, end_time,
cpu_times, cpu_percent, io, virt, swap))
# We establish a timeout so we don't hang forever if the child
# process has crashed.
self._process.join(10)
if self._process.is_alive():
self._process.terminate()
self._process.join(10)
- else:
- # We should have received a "done" message from the
- # child indicating it shut down properly. This only
- # happens if the child shuts down cleanly.
- assert done
if len(self.measurements):
self.start_time = self.measurements[0].start
--
2.14.2
@@ -0,0 +1,258 @@
From 6a0b7c8ecf0734ba1bcdccf8e0ee97e721fd5420 Mon Sep 17 00:00:00 2001
Message-Id: <6a0b7c8ecf0734ba1bcdccf8e0ee97e721fd5420.1505113337.git.jan.steffens@gmail.com>
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= <emilio@crisal.io>
Date: Sat, 19 Aug 2017 20:14:25 +0200
Subject: [PATCH] Fix use of struct ucontext (squash 2 commits)
Needed for building with glibc 2.26.
Bug 1385667: Use ucontext_t consistently in breakpad-client. r=ted
MozReview-Commit-ID: AJhzJdNXP0f
Bug 1394149: Fix remaining uses of ucontext in breakpad-client. r=ted
MozReview-Commit-ID: 5tP7fXsI7dQ
---
.../linux/dump_writer_common/ucontext_reader.cc | 30 +++++++++++-----------
.../linux/dump_writer_common/ucontext_reader.h | 10 ++++----
.../linux/handler/exception_handler.cc | 10 ++++----
.../linux/handler/exception_handler.h | 2 +-
.../linux/microdump_writer/microdump_writer.cc | 2 +-
.../linux/minidump_writer/minidump_writer.cc | 2 +-
6 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
index 999960912e459e1b..303c0ebd32b663c4 100644
--- a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
@@ -40,15 +40,15 @@ namespace google_breakpad {
#if defined(__i386__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_ESP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_EIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp) {
const greg_t* regs = uc->uc_mcontext.gregs;
@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
#elif defined(__x86_64)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RSP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fpregs) {
const greg_t* regs = uc->uc_mcontext.gregs;
@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
#elif defined(__ARM_EABI__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
out->context_flags = MD_CONTEXT_ARM_FULL;
out->iregs[0] = uc->uc_mcontext.arm_r0;
@@ -184,41 +184,41 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
#elif defined(__aarch64__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs) {
out->context_flags = MD_CONTEXT_ARM64_FULL;
out->cpsr = static_cast<uint32_t>(uc->uc_mcontext.pstate);
for (int i = 0; i < MD_CONTEXT_ARM64_REG_SP; ++i)
out->iregs[i] = uc->uc_mcontext.regs[i];
out->iregs[MD_CONTEXT_ARM64_REG_SP] = uc->uc_mcontext.sp;
out->iregs[MD_CONTEXT_ARM64_REG_PC] = uc->uc_mcontext.pc;
out->float_save.fpsr = fpregs->fpsr;
out->float_save.fpcr = fpregs->fpcr;
my_memcpy(&out->float_save.regs, &fpregs->vregs,
MD_FLOATINGSAVEAREA_ARM64_FPR_COUNT * 16);
}
#elif defined(__mips__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
#if _MIPS_SIM == _ABI64
out->context_flags = MD_CONTEXT_MIPS64_FULL;
#elif _MIPS_SIM == _ABIO32
diff --git a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
index c533e28ba7441e83..039752a2dfb6e589 100644
--- a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
+++ b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
@@ -41,21 +41,21 @@ namespace google_breakpad {
// Wraps platform-dependent implementations of accessors to ucontext structs.
struct UContextReader {
- static uintptr_t GetStackPointer(const struct ucontext* uc);
+ static uintptr_t GetStackPointer(const ucontext_t* uc);
- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
+ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
// Juggle a arch-specific ucontext into a minidump format
// out: the minidump structure
// info: the collection of register structures.
#if defined(__i386__) || defined(__x86_64)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp);
#elif defined(__aarch64__)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs);
#else
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
#endif
};
diff --git a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
index 71a51a763938e39d..12df9bc96ec45fea 100644
--- a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
@@ -439,44 +439,44 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
// Fill in all the holes in the struct to make Valgrind happy.
memset(&g_crash_context_, 0, sizeof(g_crash_context_));
memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
#if defined(__aarch64__)
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
struct fpsimd_context* fp_ptr =
(struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
if (fp_ptr->head.magic == FPSIMD_MAGIC) {
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));
}
#elif !defined(__ARM_EABI__) && !defined(__mips__)
// FP state is not part of user ABI on ARM Linux.
- // In case of MIPS Linux FP state is already part of struct ucontext
+ // In case of MIPS Linux FP state is already part of ucontext_t
// and 'float_state' is not a member of CrashContext.
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
if (uc_ptr->uc_mcontext.fpregs) {
memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
sizeof(g_crash_context_.float_state));
}
#endif
g_crash_context_.tid = syscall(__NR_gettid);
if (crash_handler_ != NULL) {
if (crash_handler_(&g_crash_context_, sizeof(g_crash_context_),
callback_context_)) {
return true;
}
}
return GenerateDump(&g_crash_context_);
}
// This is a public interface to HandleSignal that allows the client to
// generate a crash dump. This function may run in a compromised context.
bool ExceptionHandler::SimulateSignalDelivery(int sig) {
siginfo_t siginfo = {};
// Mimic a trusted signal to allow tracing the process (see
// ExceptionHandler::HandleSignal().
siginfo.si_code = SI_USER;
siginfo.si_pid = getpid();
- struct ucontext context;
+ ucontext_t context;
getcontext(&context);
return HandleSignal(sig, &siginfo, &context);
}
diff --git a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
index 711586fec7ddae59..be1880170e2826b0 100644
--- a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
+++ b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
@@ -191,7 +191,7 @@ class ExceptionHandler {
struct CrashContext {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
- struct ucontext context;
+ ucontext_t context;
#if !defined(__ARM_EABI__) && !defined(__mips__)
// #ifdef this out because FP state is not part of user ABI for Linux ARM.
// In case of MIPS Linux FP state is already part of struct
diff --git a/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc b/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
index ff20bf36584c876b..a0b90e08fc5f0cff 100644
--- a/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
@@ -571,7 +571,7 @@ class MicrodumpWriter {
void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
- const struct ucontext* const ucontext_;
+ const ucontext_t* const ucontext_;
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_;
#endif
diff --git a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
index 0650bb95c179464a..6b5304bcd605ca3a 100644
--- a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
@@ -1247,7 +1247,7 @@ class MinidumpWriter {
const int fd_; // File descriptor where the minidum should be written.
const char* path_; // Path to the file where the minidum should be written.
- const struct ucontext* const ucontext_; // also from the signal handler
+ const ucontext_t* const ucontext_; // also from the signal handler
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
--
2.14.1
+60
View File
@@ -0,0 +1,60 @@
diff -Nuar a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
--- a/build/autoconf/icu.m4 2017-09-14 23:15:53.000000000 +0300
+++ b/build/autoconf/icu.m4 2017-11-13 11:43:54.054556747 +0300
@@ -15,7 +15,7 @@
MOZ_SYSTEM_ICU=1)
if test -n "$MOZ_SYSTEM_ICU"; then
- PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 59.1)
+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 58.2)
CFLAGS="$CFLAGS $MOZ_ICU_CFLAGS"
CXXFLAGS="$CXXFLAGS $MOZ_ICU_CFLAGS"
fi
diff -Nuar a/old-configure b/old-configure
--- a/old-configure 2017-09-27 00:09:17.000000000 +0300
+++ b/old-configure 2017-11-13 11:42:42.974561876 +0300
@@ -17775,29 +17775,29 @@
else
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
- echo $ac_n "checking for icu-i18n >= 59.1""... $ac_c" 1>&6
-echo "configure:17780: checking for icu-i18n >= 59.1" >&5
+ echo $ac_n "checking for icu-i18n >= 58.2""... $ac_c" 1>&6
+echo "configure:17780: checking for icu-i18n >= 58.2" >&5
- if $PKG_CONFIG --exists "icu-i18n >= 59.1" ; then
+ if $PKG_CONFIG --exists "icu-i18n >= 58.2" ; then
echo "$ac_t""yes" 1>&6
succeeded=yes
echo $ac_n "checking MOZ_ICU_CFLAGS""... $ac_c" 1>&6
echo "configure:17787: checking MOZ_ICU_CFLAGS" >&5
- MOZ_ICU_CFLAGS=`$PKG_CONFIG --cflags "icu-i18n >= 59.1"`
+ MOZ_ICU_CFLAGS=`$PKG_CONFIG --cflags "icu-i18n >= 58.2"`
echo "$ac_t""$MOZ_ICU_CFLAGS" 1>&6
echo $ac_n "checking MOZ_ICU_LIBS""... $ac_c" 1>&6
echo "configure:17792: checking MOZ_ICU_LIBS" >&5
## Remove evil flags like -Wl,--export-dynamic
- MOZ_ICU_LIBS="`$PKG_CONFIG --libs \"icu-i18n >= 59.1\" |sed s/-Wl,--export-dynamic//g`"
+ MOZ_ICU_LIBS="`$PKG_CONFIG --libs \"icu-i18n >= 58.2\" |sed s/-Wl,--export-dynamic//g`"
echo "$ac_t""$MOZ_ICU_LIBS" 1>&6
else
MOZ_ICU_CFLAGS=""
MOZ_ICU_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
- MOZ_ICU_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "icu-i18n >= 59.1"`
+ MOZ_ICU_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "icu-i18n >= 58.2"`
echo $MOZ_ICU_PKG_ERRORS
fi
@@ -17813,7 +17813,7 @@
:
else
if test "$COMPILE_ENVIRONMENT"; then
- { echo "configure: error: Library requirements (icu-i18n >= 59.1) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." 1>&2; echo "configure: error: Library requirements (icu-i18n >= 59.1) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." 1>&5; exit 1; }
+ { echo "configure: error: Library requirements (icu-i18n >= 58.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." 1>&2; echo "configure: error: Library requirements (icu-i18n >= 58.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." 1>&5; exit 1; }
fi
fi
@@ -0,0 +1,21 @@
diff -Nuar a/toolkit/moz.configure b/toolkit/moz.configure
--- a/toolkit/moz.configure 2017-09-14 23:16:01.000000000 +0300
+++ b/toolkit/moz.configure 2017-11-13 11:29:08.953620612 +0300
@@ -649,6 +649,8 @@
'llvm-config40',
'llvm-config-3.9',
'llvm-config39',
+ 'llvm-config-3.8',
+ 'llvm-config38',
'llvm-config',
]
@@ -699,7 +701,7 @@
@imports(_from='textwrap', _import='dedent')
def check_minimum_llvm_config_version(llvm_config):
version = Version(invoke_llvm_config(llvm_config, '--version'))
- min_version = Version('3.9.0')
+ min_version = Version('3.8.0')
if version < min_version:
die(dedent('''\
llvm installation {} is incompatible with Stylo bindgen.
+7 -5
View File
@@ -7,24 +7,26 @@ ac_add_options --enable-release
ac_add_options --enable-official-branding
# System libraries
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu
#ac_add_options --with-system-nspr
#ac_add_options --with-system-nss
#ac_add_options --with-system-icu
#ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-libevent
#ac_add_options --with-system-libevent
#ac_add_options --with-system-libvpx
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
#ac_add_options --enable-system-pixman
ac_add_options --enable-system-sqlite
#ac_add_options --enable-gstreamer=1.0
#ac_add_options --disable-elf-hack
# Features
ac_add_options --enable-startup-notification
ac_add_options --disable-updater
ac_add_options --disable-crashreporter
ac_add_options --disable-stylo
# New MP4, etc
#ac_add_options --disable-rust
+48
View File
@@ -0,0 +1,48 @@
diff --git i/security/nss/lib/freebl/mpi/mpi_x86.s w/security/nss/lib/freebl/mpi/mpi_x86.s
index 8f7e2130c3264754..b3ca1ce5b41b3771 100644
--- i/security/nss/lib/freebl/mpi/mpi_x86.s
+++ w/security/nss/lib/freebl/mpi/mpi_x86.s
@@ -22,22 +22,41 @@ is_sse: .long -1
#
.ifndef NO_PIC
.macro GET var,reg
- movl \var@GOTOFF(%ebx),\reg
+ call thunk.ax
+ addl $_GLOBAL_OFFSET_TABLE_, %eax
+ movl \var@GOTOFF(%eax),\reg
.endm
.macro PUT reg,var
- movl \reg,\var@GOTOFF(%ebx)
+ call thunk.dx
+ addl $_GLOBAL_OFFSET_TABLE_, %edx
+ movl \reg,\var@GOTOFF(%edx)
.endm
.else
.macro GET var,reg
movl \var,\reg
.endm
.macro PUT reg,var
movl \reg,\var
.endm
.endif
.text
+.ifndef NO_PIC
+.globl thunk.ax
+.hidden thunk.ax
+.type thunk.ax, @function
+thunk.ax:
+ movl (%esp),%eax
+ ret
+
+.globl thunk.dx
+.hidden thunk.dx
+.type thunk.dx, @function
+thunk.dx:
+ movl (%esp),%edx
+ ret
+.endif
# ebp - 36: caller's esi
# ebp - 32: caller's edi
@@ -0,0 +1,50 @@
# HG changeset patch
# User Jan Steffens <jan.steffens@gmail.com>
# Date 1505475854 -7200
# Node ID 3cd2263687293a229277037090add3bea2531057
# Parent 70f5f23a429f3d621e44307c191fa84c77fb2f61
Bug 1400175 - Stub gdk_screen_get_monitor_workarea in mozgtk2; r?karlt
MozReview-Commit-ID: 72K6U17JuoK
diff --git a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c
--- a/widget/gtk/mozgtk/mozgtk.c
+++ b/widget/gtk/mozgtk/mozgtk.c
@@ -56,17 +56,16 @@
STUB(gdk_screen_get_default)
STUB(gdk_screen_get_display)
STUB(gdk_screen_get_font_options)
STUB(gdk_screen_get_height)
STUB(gdk_screen_get_height_mm)
STUB(gdk_screen_get_n_monitors)
STUB(gdk_screen_get_monitor_at_window)
STUB(gdk_screen_get_monitor_geometry)
-STUB(gdk_screen_get_monitor_workarea)
STUB(gdk_screen_get_monitor_height_mm)
STUB(gdk_screen_get_number)
STUB(gdk_screen_get_resolution)
STUB(gdk_screen_get_rgba_visual)
STUB(gdk_screen_get_root_window)
STUB(gdk_screen_get_system_visual)
STUB(gdk_screen_get_width)
STUB(gdk_screen_height)
@@ -514,16 +513,17 @@
#ifdef GTK3_SYMBOLS
STUB(gdk_device_get_source)
STUB(gdk_device_manager_get_client_pointer)
STUB(gdk_disable_multidevice)
STUB(gdk_device_manager_list_devices)
STUB(gdk_display_get_device_manager)
STUB(gdk_error_trap_pop_ignored)
STUB(gdk_event_get_source_device)
+STUB(gdk_screen_get_monitor_workarea)
STUB(gdk_window_get_type)
STUB(gdk_window_get_window_type)
STUB(gdk_x11_window_get_xid)
STUB(gdk_x11_display_get_type)
STUB(gdk_wayland_display_get_type)
STUB(gtk_box_new)
STUB(gtk_cairo_should_draw_window)
STUB(gtk_cairo_transform_to_window)
+14 -2
View File
@@ -15,7 +15,7 @@
<IsA>app:gui</IsA>
<Summary>Firefox Web Browser</Summary>
<Description>It is more secure and faster to browse the web with Firefox web browser. You can personalize your web browser with many specifications that is not enough to explain in two sentences.</Description>
<Archive sha1sum="8d9b0861ad71845d4b0e668f1981ec99e617ff36" type="tarxz">https://ftp.mozilla.org/pub/firefox/releases/55.0.3/source/firefox-55.0.3.source.tar.xz</Archive>
<Archive sha1sum="1b7310adea833a7c74498505f1207416690c9748" type="tarxz">https://ftp.mozilla.org/pub/firefox/releases/56.0.2/source/firefox-56.0.2.source.tar.xz</Archive>
<AdditionalFiles>
<!--Our main configure script. Configure paramters are stored here.-->
<AdditionalFile target=".mozconfig" permission="0644">mozconfig</AdditionalFile>
@@ -55,7 +55,12 @@
</BuildDependencies>
<Patches>
<Patch level="1">firefox-install-dir.patch</Patch>
<!--Patch level="1">0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch</Patch-->
<Patch level="1">llvmversyon.patch</Patch>
<Patch level="1">icu58.patch</Patch>
<Patch level="1">0001-Bug-1384062-Make-SystemResourceMonitor.stop-more-res.patch</Patch>
<Patch level="1">no-plt.diff</Patch>
<Patch level="1">plugin-crash.diff</Patch>
<Patch level="1">glibc-2.26-fix.diff</Patch>
</Patches>
</Source>
@@ -537,6 +542,13 @@
</Package>
<History>
<Update release="8">
<Date>2017-11-12</Date>
<Version>56.0.2</Version>
<Comment>Version Bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="7">
<Date>2017-09-30</Date>
<Version>55.0.3</Version>