[oe-commits] org.oe.dev firefox_2.0.0.1.bb : add new version of firefox with a couple of patches

xora commit openembedded-commits at lists.openembedded.org
Mon Feb 12 21:54:55 UTC 2007


firefox_2.0.0.1.bb : add new version of firefox with a couple of patches
that make it actually run further than before. If now segfaults after
running at 100% cpu for a while. But I cant get arm gdb to give me sensible debugging at the segfault.

Author: xora at openembedded.org
Branch: org.openembedded.dev
Revision: 26eef9824538dbeb602a9de19e679d9024dabece
ViewMTN: http://monotone.openembedded.org/revision.psp?id=26eef9824538dbeb602a9de19e679d9024dabece
Files:
1
packages/mozilla/firefox-2.0.0.1
packages/mozilla/firefox-2.0.0.1/arm
packages/mozilla/firefox-2.0.0.1/powerpc
packages/mozilla/firefox-2.0.0.1/arm/jsautocfg.h
packages/mozilla/firefox-2.0.0.1/jsautocfg-dontoverwrite.patch
packages/mozilla/firefox-2.0.0.1/jsdtoa-float-type.patch
packages/mozilla/firefox-2.0.0.1/mozconfig
packages/mozilla/firefox-2.0.0.1/mult-crash-fix.patch
packages/mozilla/firefox-2.0.0.1/powerpc/jsautocfg.h
packages/mozilla/firefox-2.0.0.1/security-cross.patch
packages/mozilla/firefox-2.0.0.1/xptcinvoke-arm.patch
packages/mozilla/firefox-2.0.0.1/xptcstubs.patch
packages/mozilla/firefox_2.0.0.1.bb
Diffs:

#
# mt diff -r73565b933f3ebafee6a4ae23b7c47ef794c47dc8 -r26eef9824538dbeb602a9de19e679d9024dabece
#
# 
# 
# add_dir "packages/mozilla/firefox-2.0.0.1"
# 
# add_dir "packages/mozilla/firefox-2.0.0.1/arm"
# 
# add_dir "packages/mozilla/firefox-2.0.0.1/powerpc"
# 
# add_file "packages/mozilla/firefox-2.0.0.1/arm/jsautocfg.h"
#  content [c86f85dd78f606df691421418b868a21a32f1add]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/jsautocfg-dontoverwrite.patch"
#  content [8f2732cf8a7aff7b068849db230a84c7aba2cd44]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/jsdtoa-float-type.patch"
#  content [c7a34639b34fb5518e90e875dde2148450c71831]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/mozconfig"
#  content [035d9834d662d15a37cc3f7aa65c0111e433b3b9]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/mult-crash-fix.patch"
#  content [0c947c1dc1029090b1100e233b9eb57b6e3d466b]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/powerpc/jsautocfg.h"
#  content [20025ade210f2aa6386fd6cbe375333ff1262432]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/security-cross.patch"
#  content [d414420652c62ebdb6b1d7c5967ad1366aa98d84]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/xptcinvoke-arm.patch"
#  content [d587b86b254876598f610652663d7ce5bbe4b345]
# 
# add_file "packages/mozilla/firefox-2.0.0.1/xptcstubs.patch"
#  content [13e4a3dafbf39f38d55702938a4ada29d15ac5de]
# 
# add_file "packages/mozilla/firefox_2.0.0.1.bb"
#  content [c8106ddbf12bbc628cd870838e8d0675c736e034]
# 
============================================================
--- packages/mozilla/firefox-2.0.0.1/arm/jsautocfg.h	c86f85dd78f606df691421418b868a21a32f1add
+++ packages/mozilla/firefox-2.0.0.1/arm/jsautocfg.h	c86f85dd78f606df691421418b868a21a32f1add
@@ -0,0 +1,52 @@
+#ifndef js_cpucfg___
+#define js_cpucfg___
+
+/* Lovingly crafted by hand avoiding Mozilla stupidity */
+
+#define IS_LITTLE_ENDIAN 1
+#undef  IS_BIG_ENDIAN
+
+#define JS_BYTES_PER_BYTE   1L
+#define JS_BYTES_PER_SHORT  2L
+#define JS_BYTES_PER_INT    4L
+#define JS_BYTES_PER_INT64  8L
+#define JS_BYTES_PER_LONG   4L
+#define JS_BYTES_PER_FLOAT  4L
+#define JS_BYTES_PER_DOUBLE 8L
+#define JS_BYTES_PER_WORD   4L
+#define JS_BYTES_PER_DWORD  8L
+
+#define JS_BITS_PER_BYTE    8L
+#define JS_BITS_PER_SHORT   16L
+#define JS_BITS_PER_INT     32L
+#define JS_BITS_PER_INT64   64L
+#define JS_BITS_PER_LONG    32L
+#define JS_BITS_PER_FLOAT   32L
+#define JS_BITS_PER_DOUBLE  64L
+#define JS_BITS_PER_WORD    32L
+
+#define JS_BITS_PER_BYTE_LOG2   3L
+#define JS_BITS_PER_SHORT_LOG2  4L
+#define JS_BITS_PER_INT_LOG2    5L
+#define JS_BITS_PER_INT64_LOG2  6L
+#define JS_BITS_PER_LONG_LOG2   5L
+#define JS_BITS_PER_FLOAT_LOG2  5L
+#define JS_BITS_PER_DOUBLE_LOG2 6L
+#define JS_BITS_PER_WORD_LOG2   5L
+
+#define JS_ALIGN_OF_SHORT   2L
+#define JS_ALIGN_OF_INT     4L
+#define JS_ALIGN_OF_LONG    4L
+#define JS_ALIGN_OF_INT64   8L
+#define JS_ALIGN_OF_FLOAT   4L
+#define JS_ALIGN_OF_DOUBLE  8L
+#define JS_ALIGN_OF_POINTER 4L
+#define JS_ALIGN_OF_WORD    4L
+
+#define JS_BYTES_PER_WORD_LOG2   1L
+#define JS_BYTES_PER_DWORD_LOG2  3L
+#define JS_WORDS_PER_DWORD_LOG2  2L
+
+#define JS_STACK_GROWTH_DIRECTION (-1)
+
+#endif /* js_cpucfg___ */
============================================================
--- packages/mozilla/firefox-2.0.0.1/jsautocfg-dontoverwrite.patch	8f2732cf8a7aff7b068849db230a84c7aba2cd44
+++ packages/mozilla/firefox-2.0.0.1/jsautocfg-dontoverwrite.patch	8f2732cf8a7aff7b068849db230a84c7aba2cd44
@@ -0,0 +1,23 @@
+--- mozilla/js/src/Makefile.in.orig	2006-12-12 11:46:02.000000000 +0000
++++ mozilla/js/src/Makefile.in	2006-12-12 11:46:27.000000000 +0000
+@@ -319,20 +319,8 @@
+ 
+ jsopcode.h jsopcode.c: jsopcode.tbl
+ 
+-ifeq (,$(CROSS_COMPILE)$(filter-out WINNT,$(OS_ARCH)))
+ jsautocfg.h:
+ 	touch $@
+-else
+-ifeq ($(OS_ARCH),WINCE)
+-jsautocfg.h:
+-	touch $@
+-else
+-jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX)
+-	@rm -f $@ jsautocfg.tmp
+-	./jscpucfg > jsautocfg.tmp
+-	mv jsautocfg.tmp $@
+-endif
+-endif
+ 
+ # jscpucfg is a strange target
+ # Needs to be built with the host compiler but needs to include
============================================================
--- packages/mozilla/firefox-2.0.0.1/jsdtoa-float-type.patch	c7a34639b34fb5518e90e875dde2148450c71831
+++ packages/mozilla/firefox-2.0.0.1/jsdtoa-float-type.patch	c7a34639b34fb5518e90e875dde2148450c71831
@@ -0,0 +1,13 @@
+Index: mozilla/js/src/jsdtoa.c
+===================================================================
+--- mozilla.orig/js/src/jsdtoa.c
++++ mozilla/js/src/jsdtoa.c
+@@ -175,7 +175,7 @@
+  * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that
+  *  avoids underflows on inputs whose result does not underflow.
+  */
+-#ifdef IS_LITTLE_ENDIAN
++#if defined(IS_LITTLE_ENDIAN) && (!defined(__arm__) || defined(__VFP_FP__))
+ #define IEEE_8087
+ #else
+ #define IEEE_MC68k
============================================================
--- packages/mozilla/firefox-2.0.0.1/mozconfig	035d9834d662d15a37cc3f7aa65c0111e433b3b9
+++ packages/mozilla/firefox-2.0.0.1/mozconfig	035d9834d662d15a37cc3f7aa65c0111e433b3b9
@@ -0,0 +1,57 @@
+. $topsrcdir/browser/config/mozconfig
+
+# use GTK+-2 widget set with XFT font rendering
+ac_add_options --enable-default-toolkit=gtk2
+ac_add_options --enable-xft
+ac_add_options --disable-freetype2
+
+# enable minimal profile support
+ac_add_options --disable-profilesharing
+ac_add_options --disable-profilelocking
+ac_add_options --enable-single-profile
+
+ac_add_options --with-system-zlib
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-png
+
+ac_add_options --disable-accessibility
+ac_add_options --disable-composer
+#ac_add_options --enable-plaintext-editor-only
+ac_add_options --disable-mailnews
+ac_add_options --disable-ldap	
+#ac_add_options --disable-postscript
+ac_add_options --disable-mathml
+ac_add_options --disable-jsd
+ac_add_options --disable-installer
+ac_add_options --disable-xprint
+ac_add_options --disable-necko-disk-cache
+
+# configure necko to allocate smaller network buffers
+ac_add_options --enable-necko-small-buffers
+
+# disable debug logging and tests
+#ac_add_options --disable-dtd-debug
+ac_add_options --disable-logging
+ac_add_options --enable-debug=-ggdb
+ac_add_options --disable-gtktest
+ac_add_options --disable-tests
+ac_add_options --disable-printing
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-gnomeui
+
+# build crypto module (PSM + NSS)
+ac_add_options --enable-crypto
+
+# build minimal set of protocol handlers
+ac_add_options --enable-necko-protocols=http,file,res,jar,ftp,about,viewsource
+
+# build minimal set of image decoders
+ac_add_options --enable-image-decoders=png,gif,jpeg
+
+#ac_add_options --enable-reorder
+#ac_add_options --enable-elf-dynstr-gc
+
+# enable static build
+#ac_add_options --disable-shared
+#ac_add_options --enable-static
+ac_add_options --enable-optimize=-O1
============================================================
--- packages/mozilla/firefox-2.0.0.1/mult-crash-fix.patch	0c947c1dc1029090b1100e233b9eb57b6e3d466b
+++ packages/mozilla/firefox-2.0.0.1/mult-crash-fix.patch	0c947c1dc1029090b1100e233b9eb57b6e3d466b
@@ -0,0 +1,14 @@
+$OpenBSD: patch-nsprpub_pr_src_misc_prdtoa_c,v 1.1 2005/11/03 00:59:43 pvalchev Exp $
+Index: mozilla/nsprpub/pr/src/misc/prdtoa.c
+===================================================================
+--- mozilla.orig/nsprpub/pr/src/misc/prdtoa.c
++++ mozilla/nsprpub/pr/src/misc/prdtoa.c
+@@ -855,7 +855,7 @@ mult
+ 	wc = wa + wb;
+ 	if (wc > a->maxwds)
+ 		k++;
+-	c = Balloc(k);
++	c = Balloc(k*2);
+ 	for(x = c->x, xa = x + wc; x < xa; x++)
+ 		*x = 0;
+ 	xa = a->x;
============================================================
--- packages/mozilla/firefox-2.0.0.1/powerpc/jsautocfg.h	20025ade210f2aa6386fd6cbe375333ff1262432
+++ packages/mozilla/firefox-2.0.0.1/powerpc/jsautocfg.h	20025ade210f2aa6386fd6cbe375333ff1262432
@@ -0,0 +1,52 @@
+#ifndef js_cpucfg___
+#define js_cpucfg___
+
+/* AUTOMATICALLY GENERATED - DO NOT EDIT */
+
+#undef  IS_LITTLE_ENDIAN
+#define IS_BIG_ENDIAN 1
+
+#define JS_BYTES_PER_BYTE   1L
+#define JS_BYTES_PER_SHORT  2L
+#define JS_BYTES_PER_INT    4L
+#define JS_BYTES_PER_INT64  8L
+#define JS_BYTES_PER_LONG   4L
+#define JS_BYTES_PER_FLOAT  4L
+#define JS_BYTES_PER_DOUBLE 8L
+#define JS_BYTES_PER_WORD   4L
+#define JS_BYTES_PER_DWORD  8L
+
+#define JS_BITS_PER_BYTE    8L
+#define JS_BITS_PER_SHORT   16L
+#define JS_BITS_PER_INT     32L
+#define JS_BITS_PER_INT64   64L
+#define JS_BITS_PER_LONG    32L
+#define JS_BITS_PER_FLOAT   32L
+#define JS_BITS_PER_DOUBLE  64L
+#define JS_BITS_PER_WORD    32L
+
+#define JS_BITS_PER_BYTE_LOG2   3L
+#define JS_BITS_PER_SHORT_LOG2  4L
+#define JS_BITS_PER_INT_LOG2    5L
+#define JS_BITS_PER_INT64_LOG2  6L
+#define JS_BITS_PER_LONG_LOG2   5L
+#define JS_BITS_PER_FLOAT_LOG2  5L
+#define JS_BITS_PER_DOUBLE_LOG2 6L
+#define JS_BITS_PER_WORD_LOG2   5L
+
+#define JS_ALIGN_OF_SHORT   2L
+#define JS_ALIGN_OF_INT     4L
+#define JS_ALIGN_OF_LONG    4L
+#define JS_ALIGN_OF_INT64   8L
+#define JS_ALIGN_OF_FLOAT   4L
+#define JS_ALIGN_OF_DOUBLE  8L
+#define JS_ALIGN_OF_POINTER 4L
+#define JS_ALIGN_OF_WORD    4L
+
+#define JS_BYTES_PER_WORD_LOG2   2L
+#define JS_BYTES_PER_DWORD_LOG2  3L
+#define JS_WORDS_PER_DWORD_LOG2  1L
+
+#define JS_STACK_GROWTH_DIRECTION (-1)
+
+#endif /* js_cpucfg___ */
============================================================
--- packages/mozilla/firefox-2.0.0.1/security-cross.patch	d414420652c62ebdb6b1d7c5967ad1366aa98d84
+++ packages/mozilla/firefox-2.0.0.1/security-cross.patch	d414420652c62ebdb6b1d7c5967ad1366aa98d84
@@ -0,0 +1,93 @@
+--- mozilla/security/coreconf/Linux.mk.orig	2006-12-12 10:53:12.000000000 +0000
++++ mozilla/security/coreconf/Linux.mk	2006-12-12 10:54:13.000000000 +0000
+@@ -52,88 +52,8 @@
+ 
+ DEFAULT_COMPILER = gcc
+ 
+-ifeq ($(OS_TEST),m68k)
+-	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH	= m68k
+-else
+-ifeq ($(OS_TEST),ppc64)
+-	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH	= ppc
+-ifeq ($(USE_64),1)
+-	ARCHFLAG	= -m64
+-endif
+-else
+-ifeq ($(OS_TEST),ppc)
+-	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH	= ppc
+-else
+-ifeq ($(OS_TEST),alpha)
+-        OS_REL_CFLAGS   = -D_ALPHA_ -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH	= alpha
+-else
+-ifeq ($(OS_TEST),ia64)
+-	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH	= ia64
+-else
+-ifeq ($(OS_TEST),x86_64)
+-ifeq ($(USE_64),1)
+-	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH	= x86_64
+-else
+-	OS_REL_CFLAGS	= -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
+-	CPU_ARCH	= x86
+-	ARCHFLAG	= -m32
+-endif
+-else
+-ifeq ($(OS_TEST),sparc)
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = sparc
+-else
+-ifeq ($(OS_TEST),sparc64)
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = sparc
+-else
+-ifeq (,$(filter-out arm% sa110,$(OS_TEST)))
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = arm
+-else
+-ifeq ($(OS_TEST),parisc)
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = hppa
+-else
+-ifeq ($(OS_TEST),parisc64)
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = hppa
+-else
+-ifeq ($(OS_TEST),s390)
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = s390
+-else
+-ifeq ($(OS_TEST),s390x)
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = s390x
+-else
+-ifeq ($(OS_TEST),mips)
+-	OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-	CPU_ARCH        = mips
+-else
+-	OS_REL_CFLAGS	= -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
+-	CPU_ARCH	= x86
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-
++OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
++CPU_ARCH =
+ 
+ LIBC_TAG		= _glibc
+ 
============================================================
--- packages/mozilla/firefox-2.0.0.1/xptcinvoke-arm.patch	d587b86b254876598f610652663d7ce5bbe4b345
+++ packages/mozilla/firefox-2.0.0.1/xptcinvoke-arm.patch	d587b86b254876598f610652663d7ce5bbe4b345
@@ -0,0 +1,11 @@
+--- iceweasel-2.0.0.1+dfsg.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
++++ iceweasel-2.0.0.1+dfsg/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
+@@ -212,7 +212,7 @@
+     "add	sp, sp, r4	\n\t"	/* restore stack pointer		*/
+     "mov	%0, r0		\n\t"	/* the result...			*/
+     : "=r" (result)
+-    : "r" (&my_params)
++    : "r" (&my_params), "m" (my_params)
+     : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "sp"
+     );
+
============================================================
--- packages/mozilla/firefox-2.0.0.1/xptcstubs.patch	13e4a3dafbf39f38d55702938a4ada29d15ac5de
+++ packages/mozilla/firefox-2.0.0.1/xptcstubs.patch	13e4a3dafbf39f38d55702938a4ada29d15ac5de
@@ -0,0 +1,13 @@
+--- iceweasel-2.0.0.1+dfsg.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp
++++ iceweasel-2.0.0.1+dfsg/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp
+@@ -45,7 +45,8 @@
+ #endif
+ 
+ /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol.  */
+-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
++static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch")
++__attribute__((used));
+ 
+ static nsresult
+ PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)
+
============================================================
--- packages/mozilla/firefox_2.0.0.1.bb	c8106ddbf12bbc628cd870838e8d0675c736e034
+++ packages/mozilla/firefox_2.0.0.1.bb	c8106ddbf12bbc628cd870838e8d0675c736e034
@@ -0,0 +1,37 @@
+PR = "r1"
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}-source.tar.bz2 \
+	file://xptcstubs.patch;patch=1 \
+	file://no-xmb.patch;patch=1 \
+	file://jsautocfg.h \
+	file://extensions-hack.patch;patch=1 \
+    file://security-cross.patch;patch=1 \
+    file://jsautocfg-dontoverwrite.patch;patch=1 \
+    file://xptcinvoke-arm.patch;patch=1 \
+    file://jsdtoa-float-type.patch;patch=1 \
+    "
+S = "${WORKDIR}/mozilla"
+DEFAULT_PREFERENCE = "-1"
+
+inherit mozilla
+
+require firefox.inc
+
+do_compile_prepend() {
+	cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
+
+	sed -i "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" security/coreconf/Linux.mk
+}
+
+do_stage() {
+
+        install -d ${STAGING_INCDIR}/${P}
+        cd dist/sdk/include
+        headers=`find . -name "*.h"`
+        for f in $headers
+        do
+                install -D -m 0644 $f ${STAGING_INCDIR}/${P}/$f
+        done
+        # removes 2 lines that call absent headers
+        sed -e '178,179d' ${STAGING_INCDIR}/${P}/nsIServiceManager.h
+}
+






More information about the Openembedded-commits mailing list