Open cyborgyn opened 2 years ago
--- palemoon-31.2.0.1/platform/python/mozbuild/mozbuild/configure/constants.py.old 2022-09-14 14:11:27.144895727 +0200
+++ palemoon-31.2.0.1/platform/python/mozbuild/mozbuild/configure/constants.py 2022-09-14 14:11:39.944983623 +0200
@@ -41,7 +41,7 @@
CPU_bitness = {
'aarch64': 64,
- 'Alpha': 32,
+ 'Alpha': 64,
'arm': 32,
'hppa': 32,
'ia64': 64,
For some reason this didn't solve the issue, thus it needed the above CFLAGS hack:
--- palemoon-31.2.0.1/platform/security/nss/coreconf/config.gypi.old 2022-09-14 21:51:04.246159520 +0200
+++ palemoon-31.2.0.1/platform/security/nss/coreconf/config.gypi 2022-09-14 21:52:16.054649046 +0200
@@ -203,7 +203,7 @@
},
},
}],
- [ 'target_arch=="arm64" or target_arch=="aarch64" or target_arch=="sparc64" or target_arch=="ppc64" or target_arch=="ppc64le" or target_arch=="s390x" or target_arch=="mips64"', {
+ [ 'target_arch=="arm64" or target_arch=="aarch64" or target_arch=="sparc64" or target_arch=="ppc64" or target_arch=="ppc64le" or target_arch=="s390x" or target_arch=="mips64" or target_arch=="alpha"', {
'defines': [
'NSS_USE_64',
],
--- palemoon-31.2.0.1/platform/security/nss/coreconf/config.mk.old 2022-09-15 10:11:26.028775469 +0200
+++ palemoon-31.2.0.1/platform/security/nss/coreconf/config.mk 2022-09-15 10:12:26.084178924 +0200
@@ -219,6 +219,10 @@
DEFINES += -DNSS_DISABLE_ALTIVEC
endif
+ifdef NSS_USE_64
+DEFINES += -DNSS_USE_64
+endif
+
# This allows all library and tools code to use the util function
# implementations directly from libnssutil3, rather than the wrappers
# in libnss3 which are present for binary compatibility only
An other patch is also needed for jemalloc, for not to compile static page sizes, as it will not work with alpha:
--- palemoon-31.2.0.1/platform/memory/mozjemalloc/jemalloc.c.old 2022-09-17 13:29:51.086653752 +0200
+++ palemoon-31.2.0.1/platform/memory/mozjemalloc/jemalloc.c 2022-09-17 13:30:50.726051146 +0200
@@ -897,7 +897,7 @@
* controlling the malloc behavior are defined as compile-time constants
* for best performance and cannot be altered at runtime.
*/
-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !defined(__alpha__)
#define MALLOC_STATIC_SIZES 1
#endif
Hello, I think it would be best to ask for this upstream on forums.
Since Alpha architecture is missing newer compilers, like LLVM, clang, rust and others are not available for it, thus most if not all modern browsers are non-compilable on that architecture. PaleMoon can be made to compile on Alpha with some fixes / hacks. So here are my findings: