Bug#596138: iceweasel: FTBFS on sparc64
Aurelien Jarno
aurel32 at debian.org
Wed Sep 8 20:28:31 UTC 2010
Package: iceweasel
Version: 3.5.11-1
Severity: normal
Tags: patch
User: debian-sparc at lists.debian.org
Usertags: sparc64
iceweasel FTBFS on sparc64 as it tries to enable nanojit on this
architecture, while only sparc32 is supported. The fix is a small
tweak of js/src/configure.in.
When it builds, it then abort with a SIGBUS. The patch is a bit more
complex, but is already upstream.
Both of the patches are available below. Could you please apply them in
the next upload? Thanks in advance.
diff -Nru iceweasel-3.5.11/debian/patches/porting/Disable-nanojit-on-sparc64.patch iceweasel-3.5.11/debian/patches/porting/Disable-nanojit-on-sparc64.patch
--- iceweasel-3.5.11/debian/patches/porting/Disable-nanojit-on-sparc64.patch 1970-01-01 01:00:00.000000000 +0100
+++ iceweasel-3.5.11/debian/patches/porting/Disable-nanojit-on-sparc64.patch 2010-09-07 12:01:41.000000000 +0200
@@ -0,0 +1,26 @@
+do not even try to let configure.in pick up nanojit on sparc64.
+sparc* also matches sparc64; however, native asm code is missing
+for jit on sparc64.
+
+--- a/js/src/configure.in
++++ b/js/src/configure.in
+@@ -2466,7 +2466,7 @@ arm*-*)
+ ENABLE_JIT=1
+ NANOJIT_ARCH=ARM
+ ;;
+-sparc*-*)
++sparc-*)
+ ENABLE_JIT=1
+ NANOJIT_ARCH=Sparc
+ ;;
+--- a/js/src/configure
++++ b/js/src/configure
+@@ -6922,7 +6922,7 @@
+ ENABLE_JIT=1
+ NANOJIT_ARCH=ARM
+ ;;
+-sparc*-*)
++sparc-*)
+ ENABLE_JIT=1
+ NANOJIT_ARCH=Sparc
+ ;;
diff -Nru iceweasel-3.5.11/debian/patches/porting/Fix-alignment-on-sparc64.patch iceweasel-3.5.11/debian/patches/porting/Fix-alignment-on-sparc64.patch
--- iceweasel-3.5.11/debian/patches/porting/Fix-alignment-on-sparc64.patch 1970-01-01 01:00:00.000000000 +0100
+++ iceweasel-3.5.11/debian/patches/porting/Fix-alignment-on-sparc64.patch 2010-09-07 12:06:18.000000000 +0200
@@ -0,0 +1,36 @@
+Fix alignment issues on sparc64
+https://bugzilla.mozilla.org/show_bug.cgi?id=514645
+http://hg.mozilla.org/mozilla-central/rev/4c38883a0438
+
+--- a/js/src/jsscript.cpp
++++ b/js/src/jsscript.cpp
+@@ -1430,14 +1430,6 @@ js_NewScript(JSContext *cx, uint32 length, uint32 nsrc
+ cursor += vectorSize;
+ }
+
+- if (nupvars != 0) {
+- JS_SCRIPT_UPVARS(script)->length = nupvars;
+- JS_SCRIPT_UPVARS(script)->vector = (uint32 *)cursor;
+- vectorSize = nupvars * sizeof(JS_SCRIPT_UPVARS(script)->vector[0]);
+- memset(cursor, 0, vectorSize);
+- cursor += vectorSize;
+- }
+-
+ if (nregexps != 0) {
+ JS_SCRIPT_REGEXPS(script)->length = nregexps;
+ JS_SCRIPT_REGEXPS(script)->vector = (JSObject **)cursor;
+@@ -1453,6 +1445,14 @@ js_NewScript(JSContext *cx, uint32 length, uint32 nsrc
+ #ifdef DEBUG
+ memset(cursor, 0, vectorSize);
+ #endif
++ cursor += vectorSize;
++ }
++
++ if (nupvars != 0) {
++ JS_SCRIPT_UPVARS(script)->length = nupvars;
++ JS_SCRIPT_UPVARS(script)->vector = (uint32 *)cursor;
++ vectorSize = nupvars * sizeof(JS_SCRIPT_UPVARS(script)->vector[0]);
++ memset(cursor, 0, vectorSize);
+ cursor += vectorSize;
+ }
+
diff -Nru iceweasel-3.5.11/debian/patches/series iceweasel-3.5.11/debian/patches/series
--- iceweasel-3.5.11/debian/patches/series 2010-08-17 16:59:57.000000000 +0200
+++ iceweasel-3.5.11/debian/patches/series 2010-09-07 13:59:16.000000000 +0200
@@ -55,6 +55,8 @@
porting/Force-better-nsAutoT-Ptr-Array-buffer-alignment.patch
porting/Add-xptcall-support-for-SH4-processors.patch
porting/xpcom-PowerPC-lnx-add-support-for-soft-float.patch
+porting/Disable-nanojit-on-sparc64.patch
+porting/Fix-alignment-on-sparc64.patch
prefs/Remove-general.useragent.locale-prefs-from-firefox-..patch
prefs/Enable-intl.locale.matchOS-and-report-the-locale-cor.patch
prefs/Set-javascript.options.showInConsole.patch
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: sparc64
Kernel: 2.6.32-bpo.5-sparc64-smp (SMP w/32 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
More information about the pkg-mozilla-maintainers
mailing list