{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifmcyfnyukkyq7qnrtnwabmnvmj2qmmp3ykeh6k525ymldgxpc4ke",
    "uri": "at://did:plc:hqad6xwuzg7oqfmwylfkvqfm/app.bsky.feed.post/3mp6x4koizuv2"
  },
  "path": "/viewtopic.php?t=33559&p=275976#p275976",
  "publishedAt": "2026-06-25T19:38:21.000Z",
  "site": "http://forum.palemoon.org",
  "textContent": "Hi.\n\nThe problem: Cloning the git repository and building Pale Moon on older PPC970, Power5, Power6 and most probably Power7 hardware results in a binary that contains vector instructions for power cpus like Power8 and newer. This binary is (of course) not executable on the older hardware.\n\nIn this post I will describe what needs to be done to get a working build.\n\n\nThe problem is located in the platform module.\n\nThe solution is to patch the following 3 files:\n\nCODE:\n\n\n     platform/security/nss/lib/freebl/freebl.gyp platform/security/nss/lib/freebl/gcm-ppc.c platform/security/nss/lib/freebl/ppc-crypto.h\n\n\nThe developers of the freebl code have some code to select the right CPU platform and version but it does not work as we need it.\nHowever by inserting/changing some really small patterns it works.\n\nThe following is a \"git diff\" output:\n\n\nCODE:\n\n\n    diff --git a/security/nss/lib/freebl/freebl.gyp b/security/nss/lib/freebl/freebl.gypindex 23940ef774..f9f5c6e575 100644--- a/security/nss/lib/freebl/freebl.gyp+++ b/security/nss/lib/freebl/freebl.gyp@@ -291,7 +291,6 @@ 'type': 'static_library', 'sources': [ 'gcm-ppc.c',- 'sha512-p8.s', ], 'dependencies': [ '<(DEPTH)/exports.gyp:nss_exports'@@ -415,16 +414,13 @@ 'conditions': [ [ 'disable_crypto_vsx==0', { 'cflags': [- '-mcrypto', '-maltivec',- '-mvsx', '-funroll-loops', '-fpeel-loops' ], 'cflags_mozilla': [ '-mcrypto', '-maltivec',- '-mvsx', '-funroll-loops', '-fpeel-loops' ],diff --git a/security/nss/lib/freebl/gcm-ppc.c b/security/nss/lib/freebl/gcm-ppc.cindex 9bd4f29569..327dec740c 100644--- a/security/nss/lib/freebl/gcm-ppc.c+++ b/security/nss/lib/freebl/gcm-ppc.c@@ -8,6 +8,10 @@ #include \"gcm.h\" #include \"secerr.h\" +#if defined(USE_PPC_CRYPTO)+#undef USE_PPC_CRYPTO+#endif+ #if defined(USE_PPC_CRYPTO) SECStatusdiff --git a/security/nss/lib/freebl/ppc-crypto.h b/security/nss/lib/freebl/ppc-crypto.hindex 4d283895f2..c3b45c3329 100644--- a/security/nss/lib/freebl/ppc-crypto.h+++ b/security/nss/lib/freebl/ppc-crypto.h@@ -23,7 +23,7 @@ */ #if (defined(__clang__) || (defined(__GNUC__) && __GNUC__ >= 8)) && \\ defined(IS_LITTLE_ENDIAN) && defined(__VSX__)-#define USE_PPC_CRYPTO+// #define USE_PPC_CRYPTO #endif #endif /* defined(__powerpc64__) && !defined(NSS_DISABLE_ALTIVEC) && defined(__ALTIVEC__) */\n\n\nHere are some **infos on the build environment** :\n\nhardware: PowerMac G5 with Debian Sid\ngcc version: 15.2.0-12\noptimization level: -O1\n\n**Quality of the build** : acceptable for every day use; will crash after some hours of use (but this is another problem...)\n\nI hope this may be usefull.\n\nBest regards.\n\n* * *",
  "title": "Browser Development • [PPPC64] Steps to successfully build Pale Moon 34.3.0.1 on Linux/PPC (BigEndian)",
  "updatedAt": "2026-06-25T19:38:21.000Z"
}