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