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 {