icecat: update to 38.3.0
This commit is contained in:
parent
125e2b96af
commit
39056a7839
24 changed files with 291 additions and 647 deletions
17
srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch
Normal file
17
srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch
Normal 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
|
||||
}
|
||||
|
17
srcpkgs/icecat/patches/firefox-install-dir.patch
Normal file
17
srcpkgs/icecat/patches/firefox-install-dir.patch
Normal 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
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
11
srcpkgs/icecat/patches/fix-fortify-inline.patch
Normal file
11
srcpkgs/icecat/patches/fix-fortify-inline.patch
Normal 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_ */
|
26
srcpkgs/icecat/patches/fix-gcc-tests.patch
Normal file
26
srcpkgs/icecat/patches/fix-gcc-tests.patch
Normal 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
|
||||
|
||||
|
10
srcpkgs/icecat/patches/fix-linux-include.patch
Normal file
10
srcpkgs/icecat/patches/fix-linux-include.patch
Normal 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"
|
10
srcpkgs/icecat/patches/fix-media.patch
Normal file
10
srcpkgs/icecat/patches/fix-media.patch
Normal 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>
|
|
@ -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
|
37
srcpkgs/icecat/patches/fix-netwerk.patch
Normal file
37
srcpkgs/icecat/patches/fix-netwerk.patch
Normal 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
|
||||
/*
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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"
|
||||
|
|
@ -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
|
||||
|
|
65
srcpkgs/icecat/patches/fix-tools.patch
Normal file
65
srcpkgs/icecat/patches/fix-tools.patch
Normal 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)
|
|
@ -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;
|
|
@ -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>
|
|
@ -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;
|
|
@ -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>
|
|
@ -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;
|
|
@ -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,
|
|
@ -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
|
25
srcpkgs/icecat/patches/stat.patch
Normal file
25
srcpkgs/icecat/patches/stat.patch
Normal 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") {
|
|
@ -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
2
srcpkgs/icecat/update
Normal file
|
@ -0,0 +1,2 @@
|
|||
site=https://ftp.gnu.org/gnu/gnuzilla/
|
||||
pattern="\K[\d]+\.[\d]+\.[\d]+"
|
Loading…
Reference in a new issue