icecat: update to 38.3.0

This commit is contained in:
Jürgen Buchmüller 2015-10-26 03:05:46 +01:00
parent 125e2b96af
commit 39056a7839
24 changed files with 291 additions and 647 deletions

View file

@ -0,0 +1,17 @@
--- xpcom/ds/nsMathUtils.h.orig
+++ xpcom/ds/nsMathUtils.h
@@ -104,12 +104,12 @@
#ifdef WIN32
// NOTE: '!!' casts an int to bool without spamming MSVC warning C4800.
return !!_finite(aNum);
-#elif defined(XP_DARWIN)
+#elif defined(XP_DARWIN) || defined(_GLIBCXX_CMATH)
// Darwin has deprecated |finite| and recommends |isfinite|. The former is
// not present in the iOS SDK.
return std::isfinite(aNum);
#else
- return finite(aNum);
+ return isfinite(aNum);
#endif
}

View file

@ -0,0 +1,17 @@
--- config/baseconfig.mk.orig 2014-04-28 23:05:04.491525412 +0200
+++ config/baseconfig.mk 2014-04-28 23:05:39.922751247 +0200
@@ -2,10 +2,10 @@
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
# whether a normal build is happening or whether the check is running.
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+includedir := $(includedir)/$(MOZ_APP_NAME)
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)
+installdir = $(libdir)/$(MOZ_APP_NAME)
+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
ifndef TOP_DIST
TOP_DIST = dist
endif

View file

@ -1,17 +0,0 @@
--- tools/profiler/LulElf.cpp 2015-07-14 00:10:06.000000000 +0200
+++ tools/profiler/LulElf.cpp 2015-08-21 14:49:06.100695125 +0200
@@ -579,10 +579,10 @@
// 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);
+ // basename's behavior is less than ideal so avoid it
+ const char *c_filename = filename.c_str();
+ const char *p = strrchr(c_filename, '/');
+ string base = p ? p + 1 : c_filename;
return base;
}

View file

@ -1,71 +0,0 @@
--- media/webrtc/signaling/src/sipcc/cpr/linux/cpr_linux_threads.c 2015-08-23 18:02:03.001781892 +0200
+++ media/webrtc/signaling/src/sipcc/cpr/linux/cpr_linux_threads.c 2015-08-23 18:11:53.961749937 +0200
@@ -2,16 +2,16 @@
* 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 <pthread.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/resource.h>
#include "cpr.h"
#include "cpr_stdlib.h"
#include "cpr_stdio.h"
#include "thread_monitor.h"
#include "prtypes.h"
#include "mozilla/Assertions.h"
-#include <pthread.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/resource.h>
#define LINUX_MIN_THREAD_PRIORITY (-20) /* tbd: check MV linux: current val from Larry port */
#define LINUX_MAX_THREAD_PRIORITY (+19) /* tbd: check MV linux. current val from Larry port */
@@ -92,7 +92,11 @@
* that an application does not attempt to create
* the same thread twice.
*/
+#if defined(__GLIBC__)
threadPtr->u.handleInt = threadId;
+#else
+ threadPtr->u.handlePtr = threadId;
+#endif
threadPtr->threadId = ++id;
CSFLogRegisterThread(threadPtr);
return (cprThread_t)threadPtr;
@@ -115,7 +119,11 @@
cprThreadPtr = (cpr_thread_t *) thread;
MOZ_ASSERT(cprThreadPtr);
+#if defined(__GLIBC__)
pthread_join(cprThreadPtr->u.handleInt, NULL);
+#else
+ pthread_join(cprThreadPtr->u.handlePtr, NULL);
+#endif
}
/**
@@ -143,7 +151,11 @@
/*
* Make sure thread is trying to destroy itself.
*/
+#if defined(__GLIBC__)
if ((pthread_t) cprThreadPtr->u.handleInt == pthread_self()) {
+#else
+ if (pthread_equal(cprThreadPtr->u.handlePtr, pthread_self())) {
+#endif
CPR_INFO("%s: Destroying Thread %d", __FUNCTION__, cprThreadPtr->threadId);
pthread_exit(NULL);
return CPR_SUCCESS;
@@ -210,7 +222,11 @@
cprGetThreadId (cprThread_t thread)
{
if (thread) {
+#if defined(__GLIBC__)
return ((cpr_thread_t *)thread)->u.handleInt;
+#else
+ return ((cpr_thread_t *)thread)->u.handlePtr;
+#endif
}
return 0;
}

View file

@ -0,0 +1,11 @@
--- media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
+++ media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
@@ -27,8 +27,5 @@
typedef int16_t int16;
typedef unsigned short ushort;
typedef unsigned long ulong;
-#ifndef __GNUC_STDC_INLINE__
-#define inline
-#endif
#endif /* _SDP_OS_DEFS_H_ */

View file

@ -0,0 +1,26 @@
--- configure.orig 2015-05-29 18:30:41.474423097 +0200
+++ configure 2015-05-29 18:30:53.451550589 +0200
@@ -10966,8 +10966,8 @@ ac_have_llvm_pr8927="no"
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_compile='${CC-cc} -c conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
--- js/src/configure.orig 2015-05-29 18:31:25.049874012 +0200
+++ js/src/configure 2015-05-29 18:31:36.898995291 +0200
@@ -9820,8 +9820,8 @@ ac_have_llvm_pr8927="no"
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_compile='${CC-cc} -c conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross

View file

@ -0,0 +1,10 @@
--- xpcom/io/nsLocalFileUnix.cpp.orig
+++ xpcom/io/nsLocalFileUnix.cpp
@@ -28,6 +28,7 @@
#define USE_LINUX_QUOTACTL
#include <sys/mount.h>
#include <sys/quota.h>
+#include <linux/fs.h>
#endif
#include "xpcom-private.h"

View file

@ -0,0 +1,10 @@
--- media.orig/mtransport/third_party/nICEr/src/stun/addrs.c
+++ media/mtransport/third_party/nICEr/src/stun/addrs.c
@@ -45,7 +45,6 @@
#include <sys/param.h>
#include <sys/socket.h>
#ifndef ANDROID
-#include <sys/sysctl.h>
#include <sys/syslog.h>
#else
#include <syslog.h>

View file

@ -1,64 +0,0 @@
# HG changeset patch
# User Simon Wilper <sxw@cpan.org>
# Date 1400002680 -43200
# Wed May 14 05:38:00 2014 +1200
# Node ID 1f10a80678532ff186f314bb98050fd81f22a7fe
# Parent a54ace627db8f12a9b2c5d3b60a675576887c445
Bug 999496 - Move AudioData::SizeOfIncludingThis to MediaData.cpp. r=kinetik
--- content/media/MediaData.cpp
+++ content/media/MediaData.cpp
@@ -33,16 +33,26 @@ AudioData::EnsureAudioBuffer()
AudioDataValue* data = static_cast<AudioDataValue*>(mAudioBuffer->Data());
for (uint32_t i = 0; i < mFrames; ++i) {
for (uint32_t j = 0; j < mChannels; ++j) {
data[j*mFrames + i] = mAudioData[i*mChannels + j];
}
}
}
+size_t
+AudioData::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
+{
+ size_t size = aMallocSizeOf(this) + aMallocSizeOf(mAudioData);
+ if (mAudioBuffer) {
+ size += mAudioBuffer->SizeOfIncludingThis(aMallocSizeOf);
+ }
+ return size;
+}
+
static bool
ValidatePlane(const VideoData::YCbCrBuffer::Plane& aPlane)
{
return aPlane.mWidth <= PlanarYCbCrImage::MAX_DIMENSION &&
aPlane.mHeight <= PlanarYCbCrImage::MAX_DIMENSION &&
aPlane.mWidth * aPlane.mHeight < MAX_VIDEO_WIDTH * MAX_VIDEO_HEIGHT &&
aPlane.mStride > 0;
}
--- content/media/MediaData.h
+++ content/media/MediaData.h
@@ -75,23 +75,17 @@ public:
MOZ_COUNT_CTOR(AudioData);
}
~AudioData()
{
MOZ_COUNT_DTOR(AudioData);
}
- size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const {
- size_t size = aMallocSizeOf(this) + aMallocSizeOf(mAudioData);
- if (mAudioBuffer) {
- size += mAudioBuffer->SizeOfIncludingThis(aMallocSizeOf);
- }
- return size;
- }
+ size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const;
// If mAudioBuffer is null, creates it from mAudioData.
void EnsureAudioBuffer();
const uint32_t mFrames;
const uint32_t mChannels;
// At least one of mAudioBuffer/mAudioData must be non-null.
// mChannels channels, each with mFrames frames

View file

@ -0,0 +1,37 @@
--- netwerk.orig/sctp/src/netinet/sctp_os_userspace.h
+++ netwerk/sctp/src/netinet/sctp_os_userspace.h
@@ -400,11 +400,8 @@
};
#else /* !defined(Userspace_os_Windows) */
-#include <sys/cdefs.h> /* needed? added from old __FreeBSD__ */
#include <sys/socket.h>
-#if defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_Linux) || defined(__Userspace_os_NetBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID)
#include <pthread.h>
-#endif
typedef pthread_mutex_t userland_mutex_t;
typedef pthread_cond_t userland_cond_t;
typedef pthread_t userland_thread_t;
--- netwerk.orig/sctp/src/netinet/sctp_pcb.c
+++ netwerk/sctp/src/netinet/sctp_pcb.c
@@ -30,6 +30,9 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+#define _BSD_SOURCE /* for IPPORT_RESERVED */
+#include <netdb.h>
+
#ifdef __FreeBSD__
#include <sys/cdefs.h>
__FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $");
--- netwerk.orig/sctp/src/user_queue.h
+++ netwerk/sctp/src/user_queue.h
@@ -31,7 +31,7 @@
#ifndef _USER_QUEUE_H_
#define _USER_QUEUE_H_
-#if !defined (__Userspace_os_Windows)
+#if defined(__Userspace_os_FreeBSD)
#include <sys/cdefs.h>
#endif
/*

View file

@ -1,177 +0,0 @@
Patch taken from Arch Linux
https://aur.archlinux.org/cgit/aur.git/plain/fixing_nullptr_31.7.0.patch?h=icecat
--- js/src/builtin/TypedObject.cpp 2015-06-03 22:48:47.000000000 +0200
+++ js/src/builtin/TypedObject.cpp 2015-06-08 16:45:30.918154529 +0200
@@ -710,12 +710,12 @@
contents.append(")");
RootedAtom stringRepr(cx, contents.finishAtom());
if (!stringRepr)
- return nullptr;
+ return false;
// Extract ArrayType.prototype
RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal));
if (!arrayTypePrototype)
- return nullptr;
+ return false;
// Create the instance of ArrayType
Rooted<UnsizedArrayTypeDescr*> obj(cx);
@@ -728,7 +728,7 @@
if (!JSObject::defineProperty(cx, obj, cx->names().length,
UndefinedHandleValue, nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
args.rval().setObject(*obj);
return true;
@@ -762,7 +762,7 @@
if (!size.isValid()) {
JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr,
JSMSG_TYPEDOBJECT_TOO_BIG);
- return nullptr;
+ return false;
}
// Construct a canonical string `new ArrayType(<elementType>).dimension(N)`:
@@ -775,7 +775,7 @@
contents.append(")");
RootedAtom stringRepr(cx, contents.finishAtom());
if (!stringRepr)
- return nullptr;
+ return false;
// Create the sized type object.
Rooted<SizedArrayTypeDescr*> obj(cx);
@@ -793,7 +793,7 @@
if (!JSObject::defineProperty(cx, obj, cx->names().length,
lengthVal, nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
// Add `unsized` property, which is a link from the sized
// array to the unsized array.
@@ -801,7 +801,7 @@
if (!JSObject::defineProperty(cx, obj, cx->names().unsized,
unsizedTypeDescrValue, nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
args.rval().setObject(*obj);
return true;
@@ -1253,7 +1253,7 @@
Rooted<TypedProto*> proto(cx);
proto = NewObjectWithProto<TypedProto>(cx, objProto, nullptr, TenuredObject);
if (!proto)
- return nullptr;
+ return false;
proto->initTypeDescrSlot(*descr);
descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto));
@@ -1358,14 +1358,14 @@
#define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \
if (!DefineSimpleTypeDescr<ScalarTypeDescr>(cx, global, module, constant_, \
cx->names().name_)) \
- return nullptr;
+ return false;
JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE)
#undef BINARYDATA_SCALAR_DEFINE
#define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \
if (!DefineSimpleTypeDescr<ReferenceTypeDescr>(cx, global, module, constant_, \
cx->names().name_)) \
- return nullptr;
+ return false;
JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE)
#undef BINARYDATA_REFERENCE_DEFINE
@@ -1375,14 +1375,14 @@
arrayType = DefineMetaTypeDescr<ArrayMetaTypeDescr>(
cx, global, module, TypedObjectModuleObject::ArrayTypePrototype);
if (!arrayType)
- return nullptr;
+ return false;
RootedValue arrayTypeValue(cx, ObjectValue(*arrayType));
if (!JSObject::defineProperty(cx, module, cx->names().ArrayType,
arrayTypeValue,
nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
// StructType.
@@ -1390,14 +1390,14 @@
structType = DefineMetaTypeDescr<StructMetaTypeDescr>(
cx, global, module, TypedObjectModuleObject::StructTypePrototype);
if (!structType)
- return nullptr;
+ return false;
RootedValue structTypeValue(cx, ObjectValue(*structType));
if (!JSObject::defineProperty(cx, module, cx->names().StructType,
structTypeValue,
nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
// Everything is setup, install module on the global object:
RootedValue moduleValue(cx, ObjectValue(*module));
@@ -1407,7 +1407,7 @@
nullptr, nullptr,
0))
{
- return nullptr;
+ return false;
}
return module;
@@ -2466,7 +2466,7 @@
if (length < 0) {
JS_ReportErrorNumber(cx, js_GetErrorMessage,
nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS);
- return nullptr;
+ return false;
}
Rooted<TypedObject*> obj(cx, createZeroed(cx, callee, length));
if (!obj)
--- js/src/frontend/BytecodeCompiler.cpp 2015-06-03 22:48:48.000000000 +0200
+++ js/src/frontend/BytecodeCompiler.cpp 2015-06-08 01:15:08.080302638 +0200
@@ -544,7 +544,7 @@
RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options));
if (!sourceObject)
- return nullptr;
+ return false;
ScriptSource* ss = sourceObject->source();
SourceCompressionTask sct(cx);
--- js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-03 22:48:45.000000000 +0200
+++ js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-08 01:15:35.672193557 +0200
@@ -351,7 +351,7 @@
{
JSAutoCompartment ac(cx, target);
if (!JS_GetClassPrototype(cx, key, protop))
- return nullptr;
+ return false;
}
return JS_WrapObject(cx, protop);
}
--- netwerk/ipc/NeckoParent.cpp 2015-06-03 22:46:41.000000000 +0200
+++ netwerk/ipc/NeckoParent.cpp 2015-06-08 01:16:10.200055747 +0200
@@ -359,7 +359,7 @@
RtspChannelParent* p = static_cast<RtspChannelParent*>(aActor);
return p->Init(aConnectArgs);
#else
- return nullptr;
+ return false;
#endif
}

View file

@ -1,10 +0,0 @@
--- security/sandbox/linux/SandboxFilter.cpp 2015-07-14 00:09:13.000000000 +0200
+++ security/sandbox/linux/SandboxFilter.cpp 2015-08-23 11:12:36.040110310 +0200
@@ -6,6 +6,7 @@
#include "SandboxFilter.h"
+#include <stdint.h>
#include "linux_seccomp.h"
#include "linux_syscalls.h"

View file

@ -1,4 +1,4 @@
--- toolkit.orig/google-breakpad/src/common/linux/dump_symbols.cc 2014-03-15 05:19:36.000000000 +0000
--- toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-03-15 05:19:36.000000000 +0000
+++ toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-04-17 10:24:33.793431933 +0000
@@ -45,6 +45,7 @@
#include <sys/mman.h>
@ -75,3 +75,70 @@
return rv;
}
--- toolkit.orig/xre/nsSigHandlers.cpp 2014-03-15 05:19:38.000000000 +0000
+++ toolkit/xre/nsSigHandlers.cpp 2014-04-17 10:24:33.796765327 +0000
@@ -15,6 +15,7 @@
#include <signal.h>
#include <stdio.h>
#include <string.h>
+#include <sys/types.h>
#include "prthread.h"
#include "plstr.h"
#include "prenv.h"
@@ -152,7 +153,7 @@
status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl =
status->__precis = status->__stkflt = status->__errsumm = 0;
- __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
+ u_int32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
*mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
*mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
#endif
@@ -172,13 +173,13 @@
*sw &= ~FPU_STATUS_FLAGS;
#endif
#if defined(__amd64__)
- __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
+ u_int16_t *cw = &uc->uc_mcontext.fpregs->cwd;
*cw |= FPU_EXCEPTION_MASK;
- __uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
+ u_int16_t *sw = &uc->uc_mcontext.fpregs->swd;
*sw &= ~FPU_STATUS_FLAGS;
- __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
+ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
*mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
*mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
#endif
@@ -187,24 +188,24 @@
ucontext_t *uc = (ucontext_t *)context;
#if defined(__i386)
- uint32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0];
+ u_int32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0];
*cw |= FPU_EXCEPTION_MASK;
- uint32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1];
+ u_int32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1];
*sw &= ~FPU_STATUS_FLAGS;
/* address of the instruction that caused the exception */
- uint32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3];
+ u_int32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3];
uc->uc_mcontext.gregs[REG_PC] = *ip;
#endif
#if defined(__amd64__)
- uint16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw;
+ u_int16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw;
*cw |= FPU_EXCEPTION_MASK;
- uint16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw;
+ u_int16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw;
*sw &= ~FPU_STATUS_FLAGS;
- uint32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr;
+ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr;
*mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
*mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
#endif

View file

@ -0,0 +1,65 @@
--- tools/profiler/local_debug_info_symbolizer.cc
+++ tools/profiler/local_debug_info_symbolizer.cc
@@ -3,6 +3,7 @@
* 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 <sys/types.h>
#include "PlatformMacros.h"
#include "nsAutoPtr.h"
--- tools/profiler/platform-linux.cc
+++ tools/profiler/platform-linux.cc
@@ -84,7 +84,7 @@
#define SIGNAL_SAVE_PROFILE SIGUSR2
-#if defined(__GLIBC__)
+#if 1
// glibc doesn't implement gettid(2).
#include <sys/syscall.h>
pid_t gettid()
--- tools/profiler/platform.h
+++ tools/profiler/platform.h
@@ -29,6 +29,8 @@
#ifndef TOOLS_PLATFORM_H_
#define TOOLS_PLATFORM_H_
+#include <sys/types.h>
+
#ifdef ANDROID
#include <android/log.h>
#else
--- tools/profiler/LulElf.cpp
+++ tools/profiler/LulElf.cpp
@@ -579,10 +579,10 @@
// 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);
+ // basename's behavior is less than ideal so avoid it
+ const char *c_filename = filename.c_str();
+ const char *p = strrchr(c_filename, '/');
+ string base = p ? p+1 : c_filename;
return base;
}
--- tools/profiler/platform-linux.cc.orig 2015-06-11 18:39:35.689739054 +0200
+++ tools/profiler/platform-linux.cc 2015-06-11 18:40:04.479706749 +0200
@@ -651,11 +651,13 @@ void OS::Startup() {
void TickSample::PopulateContext(void* aContext)
{
MOZ_ASSERT(aContext);
+#if defined(__GLIBC__)
ucontext_t* pContext = reinterpret_cast<ucontext_t*>(aContext);
if (!getcontext(pContext)) {
context = pContext;
SetSampleContext(this, aContext);
}
+#endif
}
void OS::SleepMicro(int microseconds)

View file

@ -1,93 +0,0 @@
Need to include vpx_image to define the values for
VPX_IMAGE_FMT_I420, VPX_PLANE_Y, VPX_PLANE_X and VPX_PLANE_V
--- media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc 2015-07-14 00:06:45.000000000 +0200
+++ media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc 2015-08-21 12:41:27.575008456 +0200
@@ -20,6 +20,7 @@
#include "vpx/vpx_encoder.h"
#include "vpx/vpx_decoder.h"
+#include "vpx/vpx_image.h"
#include "vpx/vp8cx.h"
#include "vpx/vp8dx.h"
@@ -180,7 +181,7 @@
// Creating a wrapper to the image - setting image data to NULL. Actual
// pointer will be set in encode. Setting align to 1, as it is meaningless
// (actual memory is not allocated).
- raw_ = vpx_img_wrap(NULL, IMG_FMT_I420, codec_.width, codec_.height,
+ raw_ = vpx_img_wrap(NULL, VPX_IMG_FMT_I420, codec_.width, codec_.height,
1, NULL);
// populate encoder configuration with default values
if (vpx_codec_enc_config_default(vpx_codec_vp8_cx(), config_, 0)) {
@@ -349,9 +350,9 @@
}
// Image in vpx_image_t format.
// Input image is const. VP8's raw image is not defined as const.
- raw_->planes[PLANE_Y] = const_cast<uint8_t*>(input_image.buffer(kYPlane));
- raw_->planes[PLANE_U] = const_cast<uint8_t*>(input_image.buffer(kUPlane));
- raw_->planes[PLANE_V] = const_cast<uint8_t*>(input_image.buffer(kVPlane));
+ raw_->planes[VPX_PLANE_Y] = const_cast<uint8_t*>(input_image.buffer(kYPlane));
+ raw_->planes[VPX_PLANE_U] = const_cast<uint8_t*>(input_image.buffer(kUPlane));
+ raw_->planes[VPX_PLANE_V] = const_cast<uint8_t*>(input_image.buffer(kVPlane));
// TODO(mikhal): Stride should be set in initialization.
raw_->stride[VPX_PLANE_Y] = input_image.stride(kYPlane);
raw_->stride[VPX_PLANE_U] = input_image.stride(kUPlane);
--- content/media/encoder/VP8TrackEncoder.cpp 2015-07-14 00:07:06.000000000 +0200
+++ content/media/encoder/VP8TrackEncoder.cpp 2015-08-21 13:14:09.852184395 +0200
@@ -6,6 +6,7 @@
#include "VP8TrackEncoder.h"
#include "vpx/vp8cx.h"
#include "vpx/vpx_encoder.h"
+#include "vpx/vpx_image.h"
#include "VideoUtils.h"
#include "prsystem.h"
#include "WebMWriter.h"
@@ -84,7 +85,7 @@
// Creating a wrapper to the image - setting image data to NULL. Actual
// pointer will be set in encode. Setting align to 1, as it is meaningless
// (actual memory is not allocated).
- vpx_img_wrap(mVPXImageWrapper, IMG_FMT_I420,
+ vpx_img_wrap(mVPXImageWrapper, VPX_IMG_FMT_I420,
mFrameWidth, mFrameHeight, 1, nullptr);
config.g_w = mFrameWidth;
@@ -239,9 +240,9 @@
uint8_t *cb = mMuteFrame.Elements() + yPlaneSize;
uint8_t *cr = mMuteFrame.Elements() + yPlaneSize + uvPlaneSize;
- mVPXImageWrapper->planes[PLANE_Y] = y;
- mVPXImageWrapper->planes[PLANE_U] = cb;
- mVPXImageWrapper->planes[PLANE_V] = cr;
+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y;
+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb;
+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr;
mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth;
mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth;
mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth;
@@ -297,9 +298,9 @@
const PlanarYCbCrImage::Data *data = yuv->GetData();
if (isYUV420(data) && !data->mCbSkip) { // 420 planar
- mVPXImageWrapper->planes[PLANE_Y] = data->mYChannel;
- mVPXImageWrapper->planes[PLANE_U] = data->mCbChannel;
- mVPXImageWrapper->planes[PLANE_V] = data->mCrChannel;
+ mVPXImageWrapper->planes[VPX_PLANE_Y] = data->mYChannel;
+ mVPXImageWrapper->planes[VPX_PLANE_U] = data->mCbChannel;
+ mVPXImageWrapper->planes[VPX_PLANE_V] = data->mCrChannel;
mVPXImageWrapper->stride[VPX_PLANE_Y] = data->mYStride;
mVPXImageWrapper->stride[VPX_PLANE_U] = data->mCbCrStride;
mVPXImageWrapper->stride[VPX_PLANE_V] = data->mCbCrStride;
@@ -355,9 +356,9 @@
return NS_ERROR_NOT_IMPLEMENTED;
}
- mVPXImageWrapper->planes[PLANE_Y] = y;
- mVPXImageWrapper->planes[PLANE_U] = cb;
- mVPXImageWrapper->planes[PLANE_V] = cr;
+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y;
+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb;
+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr;
mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth;
mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth;
mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth;

View file

@ -1,13 +0,0 @@
There is no <execinfo.h> in musl libc.
--- ipc/chromium/src/base/debug_util_posix.cc 2015-07-14 00:07:38.000000000 +0200
+++ ipc/chromium/src/base/debug_util_posix.cc 2015-08-21 10:33:48.949321779 +0200
@@ -5,7 +5,7 @@
#include "build/build_config.h"
#include "base/debug_util.h"
-#define MOZ_HAVE_EXECINFO_H (defined(OS_LINUX) && !defined(ANDROID))
+#define MOZ_HAVE_EXECINFO_H (defined(OS_LINUX) && defined(__GLIBC__) && !defined(ANDROID))
#include <errno.h>
#include <fcntl.h>

View file

@ -1,47 +0,0 @@
Avoid double definition of struct ifmap, struct ifconf,
etc. with musl libc.
--- media/mtransport/third_party/nICEr/src/stun/addrs.c 2015-07-14 00:06:51.000000000 +0200
+++ media/mtransport/third_party/nICEr/src/stun/addrs.c 2015-08-21 13:08:44.161155194 +0200
@@ -44,7 +44,7 @@
#else /* UNIX */
#include <sys/param.h>
#include <sys/socket.h>
-#ifndef ANDROID
+#if !defined(ANDROID) && defined(__GLIBC__)
#include <sys/sysctl.h>
#include <sys/syslog.h>
#else
@@ -62,11 +62,13 @@
#include <net/if_types.h>
#include <sys/sockio.h>
#else
+#if defined(__GLIBC__)
#include <linux/sockios.h>
#include <linux/if.h>
+#endif
#include <linux/kernel.h>
+#if !defined(ANDROID) && defined(__GLIBC__)
#include <linux/wireless.h>
-#ifndef ANDROID
#include <linux/ethtool.h>
#endif
#endif
@@ -616,7 +618,7 @@
#ifdef LINUX
int si = sizeof(struct ifreq);
-#ifndef ANDROID
+#if !defined(ANDROID) && defined(__GLIBC__)
struct ethtool_cmd ecmd;
struct iwreq wrq;
#endif
@@ -642,7 +644,7 @@
else {
addrs[n].interface.type = NR_INTERFACE_TYPE_UNKNOWN;
addrs[n].interface.estimated_speed = 0;
-#if defined(LINUX) && !defined(ANDROID)
+#if defined(LINUX) && defined(__GLIBC__) && !defined(ANDROID)
/* TODO (Bug 896851): interface property for Android */
/* Getting ethtool for ethernet information. */
ecmd.cmd = ETHTOOL_GSET;

View file

@ -1,12 +0,0 @@
Include <netdb.h> to define IPPORT_RESERVED for musl libc
--- netwerk/sctp/src/netinet/sctp_pcb.c 2015-07-14 00:06:57.000000000 +0200
+++ netwerk/sctp/src/netinet/sctp_pcb.c 2015-08-21 10:13:21.509211726 +0200
@@ -35,6 +35,7 @@
__FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $");
#endif
+#include <netdb.h>
#include <netinet/sctp_os.h>
#ifdef __FreeBSD__
#include <sys/proc.h>

View file

@ -1,23 +0,0 @@
Disable fpehandler() for musl libc as it requires access
to the internals of ucontext_t which are not available.
--- toolkit/xre/nsSigHandlers.cpp 2015-07-14 00:08:05.000000000 +0200
+++ toolkit/sre/nsSigHandlers.cpp 2015-08-23 13:04:47.979746292 +0200
@@ -132,7 +132,7 @@
#endif
-#ifdef SA_SIGINFO
+#if defined(SA_SIGINFO) && defined(__GLIBC__)
static void fpehandler(int signum, siginfo_t *si, void *context)
{
/* Integer divide by zero or integer overflow. */
@@ -237,7 +237,7 @@
}
#endif // CRAWL_STACK_ON_SIGSEGV
-#ifdef SA_SIGINFO
+#if defined(SA_SIGINFO) && defined(__GLIBC__)
/* Install a handler for floating point exceptions and disable them if they occur. */
struct sigaction sa, osa;
sa.sa_flags = SA_ONSTACK | SA_RESTART | SA_SIGINFO;

View file

@ -1,61 +0,0 @@
In musl libc headers there is no u_int64_t defined,
thus use the <stdint.h> type uint64_t instead.
--- tools/profiler/local_debug_info_symbolizer.cc 2015-07-14 00:10:06.000000000 +0200
+++ tools/profiler/local_debug_info_symbolizer.cc 2015-08-21 13:35:17.690298070 +0200
@@ -222,7 +222,7 @@
debug_info_module = it->second;
}
- u_int64_t address = frame->instruction - frame->module->base_address();
+ uint64_t address = frame->instruction - frame->module->base_address();
Module::Function* function =
debug_info_module->FindFunctionByAddress(address);
if (function) {
@@ -282,7 +282,7 @@
if (it == symbols_.end()) return NULL;
Module* module = it->second;
- u_int64_t address = frame->instruction - frame->module->base_address();
+ uint64_t address = frame->instruction - frame->module->base_address();
Module::StackFrameEntry* entry =
module->FindStackFrameEntryByAddress(address);
if (!entry)
--- tools/profiler/UnwinderThread2.cpp 2015-07-14 00:10:06.000000000 +0200
+++ tools/profiler/UnwinderThread2.cpp 2015-08-21 15:38:53.699962995 +0200
@@ -456,7 +456,7 @@
//////////////////////////////////////////////////////////
// This is the interface to LUL.
-typedef struct { u_int64_t pc; u_int64_t sp; } PCandSP;
+typedef struct { uint64_t pc; uint64_t sp; } PCandSP;
// Forward declaration. Implementation is below.
static
@@ -1318,7 +1318,7 @@
else {
// We have at least one N and one P entry available.
// Scan forwards to find the SP of the current P entry
- u_int64_t sp_cur_P = 0;
+ uint64_t sp_cur_P = 0;
unsigned int m = next_P + 1;
while (1) {
/* This assertion should hold because in a well formed
@@ -1329,7 +1329,7 @@
if (ent.is_ent_hint('Q'))
break;
if (ent.is_ent('S')) {
- sp_cur_P = reinterpret_cast<u_int64_t>(ent.get_tagPtr());
+ sp_cur_P = reinterpret_cast<uint64_t>(ent.get_tagPtr());
break;
}
m++;
@@ -1338,7 +1338,7 @@
if (0) LOG(" P <= last_was_P && sp_cur_P == 0");
use_P = true;
} else {
- u_int64_t sp_cur_N = pairs[next_N].sp;
+ uint64_t sp_cur_N = pairs[next_N].sp;
use_P = (sp_cur_P > sp_cur_N);
if (0) LOGF(" %s <= sps P %p N %p",
use_P ? "P" : "N", (void*)(intptr_t)sp_cur_P,

View file

@ -1,55 +0,0 @@
Musl libc doesn't expose the ucontext_t internals, but
just an opaque struct __ucontext, thus disable code which
tries to access the members.
Define gettid(2) for musl libc as well.
--- tools/profiler/platform-linux.cc 2015-07-14 00:10:07.000000000 +0200
+++ tools/profiler/platform-linux.cc 2015-08-21 13:52:40.411391562 +0200
@@ -87,14 +87,13 @@
#define SIGNAL_SAVE_PROFILE SIGUSR2
-#if defined(__GLIBC__)
-// glibc doesn't implement gettid(2).
+// We need a definition of gettid(2), but neither glibc nor
+// musl libc provide a wrapper for it.
#include <sys/syscall.h>
pid_t gettid()
{
return (pid_t) syscall(SYS_gettid);
}
-#endif
/* static */ Thread::tid_t
Thread::GetCurrentId()
@@ -164,6 +163,7 @@
static void SetSampleContext(TickSample* sample, void* context)
{
+#if defined(__GLIBC__)
// Extracting the sample from the context is extremely machine dependent.
ucontext_t* ucontext = reinterpret_cast<ucontext_t*>(context);
mcontext_t& mcontext = ucontext->uc_mcontext;
@@ -196,6 +196,7 @@
// Implement this on MIPS.
UNIMPLEMENTED();
#endif
+#endif
}
#ifdef ANDROID
@@ -590,11 +594,13 @@
void TickSample::PopulateContext(void* aContext)
{
MOZ_ASSERT(aContext);
+#if defined(__GLIBC__)
ucontext_t* pContext = reinterpret_cast<ucontext_t*>(aContext);
if (!getcontext(pContext)) {
context = pContext;
SetSampleContext(this, aContext);
}
+#endif
}
// WARNING: Works with values up to 1 second

View file

@ -0,0 +1,25 @@
--- dom/system/OSFileConstants.cpp.orig 2013-04-17 06:17:29.798371189 +0000
+++ dom/system/OSFileConstants.cpp 2013-04-17 06:30:30.032285977 +0000
@@ -509,6 +509,11 @@
INT_CONSTANT(_STAT_VER),
#endif // defined(_STAT_VER)
+ // glibc's stat/lstat/fstat are macros while uclibc's are not
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
+ { "OSFILE_STAT_MACROS", INT_TO_JSVAL(1) },
+#endif // defined(stat)
+
PROP_END
};
--- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-04-03 13:08:26.686409787 +0000
+++ toolkit/components/osfile/modules/osfile_unix_back.jsm 2014-04-03 13:34:14.101716259 +0000
@@ -512,7 +512,7 @@
/*path*/ Type.fd,
/*buf*/ Type.stat.out_ptr
);
- } else if (Const._STAT_VER != undefined) {
+ } else if (Const.OSFILE_STAT_MACROS != undefined) {
const ver = Const._STAT_VER;
let xstat_name, lxstat_name, fxstat_name;
if (OS.Constants.Sys.Name == "SunOS") {

View file

@ -1,13 +1,13 @@
# Template build file for 'icecat'.
pkgname=icecat
version=31.8.0
revision=2
version=38.3.0
revision=1
short_desc="GNU version of the Firefox browser"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
homepage="https://www.gnu.org/software/${pkgname}/"
license="MPL-1.1, GPL-2, LGPL-2.1"
distfiles="${GNU_SITE}/${pkgname}/${version}/${pkgname}-${version}-gnu1.tar.bz2"
checksum="370087d0adadf8b1c1e6a9920e26488a8902b9dc461d305f258fddb26a129d87"
checksum="08fe9724a84aef2182265b230c68fa37a36a5d93ffd5118ec0739718dc71a66e"
lib32disabled=yes

2
srcpkgs/icecat/update Normal file
View file

@ -0,0 +1,2 @@
site=https://ftp.gnu.org/gnu/gnuzilla/
pattern="\K[\d]+\.[\d]+\.[\d]+"