The fixes to iceweasel to build on alpha listed in this bug report are no
longer relevant due to a much newer iceweasel in unstable.  I list here
fixes required to get iceweasel 24.2.0esr-1 to build on Alpha.

The patches attached are:

update-debian-rules-for-alpha.patch:   Don't use -Wl,--no-keep-memory in
LDFLAGS to avoid crash in linker (I have filed a bug in binutils upstream
regarding that).  Build with -O1 which fixes a crash that looks just like
bug #717416 reported for sparc but unfortunately the fix for sparc does not
work for alpha.

alpha-use-mmap-syscalls.diff:  The six argument bug in syscall() on alpha
is now fixed so the special alpha code can be removed.

alpha-hardcode-pagesize.diff:  Page size on alpha is 8k.

add-libc6-1-to-libc-candidates.patch:  The version of libc is hardcoded in
one of the js modules, but Alpha uses libc6.1.  Add that to the list of
versions.

Cheers
Michael.
--- iceweasel-24.2.0esr/debian/rules	2013-12-15 19:21:56.000000000 +1300
+++ iceweasel-24.2.0esr.new/debian/rules	2014-01-29 13:13:42.000000000 +1300
@@ -74,7 +74,7 @@ endif
 # spend an immense amount of time swapping.
 LDFLAGS += -Wl,--reduce-memory-overheads
 # Somehow, this breaks the build on ia64.
-ifeq (,$(filter ia64,$(DEB_BUILD_ARCH)))
+ifeq (,$(filter alpha ia64,$(DEB_BUILD_ARCH)))
 LDFLAGS += -Wl,--no-keep-memory
 endif
 # Also add execution time and memory usage stats in the logs
@@ -102,6 +102,10 @@ ifneq (,$(filter ia64,$(DEB_BUILD_ARCH))
 	CONFIGURE_FLAGS += --enable-optimize=-O2
 endif
 
+ifneq (,$(filter alpha,$(DEB_BUILD_ARCH)))
+        CONFIGURE_FLAGS += --enable-optimize=-O1
+endif
+
 ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS)))
 	CONFIGURE_FLAGS += --enable-debug
 endif
--- iceweasel-24.2.0esr/memory/mozjemalloc/jemalloc.c	2013-12-06 15:21:24.000000000 +1300
+++ iceweasel-24.2.0esr.new/memory/mozjemalloc/jemalloc.c	2014-01-22 21:45:29.127351998 +1300
@@ -400,12 +400,8 @@
  * We do that for Linux systems and kfreebsd with GNU userland.
  * Note sanity checks are not done (alignment of offset, ...) because
  * the uses of mmap are pretty limited, in jemalloc.
- *
- * On Alpha, glibc has a bug that prevents syscall() to work for system
- * calls with 6 arguments
  */
-#if (defined(MOZ_MEMORY_LINUX) && !defined(__alpha__)) || \
-    (defined(MOZ_MEMORY_BSD) && defined(__GLIBC__))
+#if defined(MOZ_MEMORY_LINUX) || (defined(MOZ_MEMORY_BSD) && defined(__GLIBC__))
 #include <sys/syscall.h>
 #if defined(SYS_mmap) || defined(SYS_mmap2)
 static inline
--- iceweasel-24.2.0esr/memory/mozjemalloc/jemalloc.c	2014-01-22 21:53:11.711887166 +1300
+++ iceweasel-24.2.0esr.new/memory/mozjemalloc/jemalloc.c	2014-01-23 08:44:38.957672634 +1300
@@ -1116,6 +1116,8 @@
 #define pagesize_2pow			((size_t) 13)
 #elif defined(__powerpc64__)
 #define pagesize_2pow			((size_t) 16)
+#elif defined(__alpha__)
+#define pagesize_2pow			((size_t) 13)
 #else
 #define pagesize_2pow			((size_t) 12)
 #endif
Index: iceweasel-24.2.0esr/toolkit/components/osfile/osfile_unix_allthreads.jsm
===================================================================
--- iceweasel-24.2.0esr.orig/toolkit/components/osfile/osfile_unix_allthreads.jsm	2014-01-29 13:16:31.471220280 +1300
+++ iceweasel-24.2.0esr/toolkit/components/osfile/osfile_unix_allthreads.jsm	2014-01-29 13:16:31.462430684 +1300
@@ -41,6 +41,7 @@
   let libc;
   let libc_candidates =  [ "libSystem.B.dylib",
                            "libc.so.6",
+                           "libc.so.6.1",
                            "libc.so" ];
   for (let i = 0; i < libc_candidates.length; ++i) {
     try {

Reply via email to