diff --git a/coreconf/Linux.mk b/coreconf/Linux.mk
--- a/coreconf/Linux.mk
+++ b/coreconf/Linux.mk
@@ -186,10 +186,18 @@
 FREEBL_LOWHASH = 1
 endif
 endif
 endif
 
+# Test toolchain for endianness and set LITTLE_ENDIAN variable accordingly
+ENDIANNESS := $(shell echo | $(CC) -dM -E - | grep __BYTE_ORDER__)
+ifeq ($(findstring __ORDER_LITTLE_ENDIAN__,$(ENDIANNESS)),__ORDER_LITTLE_ENDIAN__)
+    LITTLE_ENDIAN := 1
+else
+    LITTLE_ENDIAN := 0
+endif
+
 USE_SYSTEM_ZLIB = 1
 ZLIB_LIBS = -lz
 
 # The -rpath '$$ORIGIN' linker option instructs this library to search for its
 # dependencies in the same directory where it resides.
diff '--color=auto' -Naur a/lib/freebl/Makefile b/lib/freebl/Makefile
--- a/lib/freebl/Makefile   2026-07-19 11:30:59.568272858 +0300
+++ b/lib/freebl/Makefile   2026-07-19 12:20:56.138305051 +0300
@@ -112,7 +112,10 @@
 # NSS_X64 means the target is a 64-bits 64 CPU architecture
 # NSS_X86_OR_X64 means the target is either x86 or x64
 ifeq (,$(filter-out i386 x386 x86 x86_64,$(CPU_ARCH)))
-        DEFINES += -DNSS_X86_OR_X64 -DHAVE_PLATFORM_GHASH
+        DEFINES += -DNSS_X86_OR_X64
+        ifeq ($(LITTLE_ENDIAN),1)
+            DEFINES += -DHAVE_PLATFORM_GHASH
+        endif
         EXTRA_SRCS += ghash-x86.c aes-x86.c
 $(OBJDIR)/ghash-x86.o: CFLAGS += -mpclmul -maes
 $(OBJDIR)/aes-x86.o: CFLAGS += -mpclmul -maes
@@ -138,7 +141,10 @@
 endif
 ifeq ($(CPU_ARCH),aarch64)
     ifdef CC_IS_CLANG
-        DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -DHAVE_PLATFORM_GHASH
+        DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
+        ifeq ($(LITTLE_ENDIAN),1)
+            DEFINES += -DHAVE_PLATFORM_GHASH
+        endif
         EXTRA_SRCS += aes-armv8.c ghash-aarch64.c sha1-armv8.c sha256-armv8.c
     else ifeq (1,$(CC_IS_GCC))
         # GCC versions older than 4.9 don't support ARM AES. The check
@@ -146,11 +152,17 @@
         # and then rejects any major versions prior to 5. Note that
         # there has been no GCC 4.10, as it was renamed to GCC 5.
         ifneq (,$(filter 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
-            DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -DHAVE_PLATFORM_GHASH
+            DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
+            ifeq ($(LITTLE_ENDIAN),1)
+                DEFINES += -DHAVE_PLATFORM_GHASH
+            endif
             EXTRA_SRCS += aes-armv8.c ghash-aarch64.c sha1-armv8.c sha256-armv8.c
         endif
         ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
-            DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -DHAVE_PLATFORM_GHASH
+            DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
+            ifeq ($(LITTLE_ENDIAN),1)
+                DEFINES += -DHAVE_PLATFORM_GHASH
+            endif
             EXTRA_SRCS += aes-armv8.c ghash-aarch64.c sha1-armv8.c sha256-armv8.c
         endif
     endif
@@ -183,7 +195,9 @@
 endif
 ifeq ($(CPU_ARCH),arm)
 ifndef NSS_DISABLE_ARM32_NEON
-    DEFINES += -DHAVE_PLATFORM_GHASH
+    ifeq ($(LITTLE_ENDIAN),1)
+        DEFINES += -DHAVE_PLATFORM_GHASH
+    endif
     EXTRA_SRCS += ghash-arm32-neon.c
 endif
     ifdef CC_IS_CLANG
@@ -316,7 +330,9 @@
     MPI_SRCS += mpi_arm.c
 endif
 ifeq ($(CPU_ARCH),ppc)
-    DEFINES += -DHAVE_PLATFORM_GHASH
+    ifeq ($(LITTLE_ENDIAN),1)
+        DEFINES += -DHAVE_PLATFORM_GHASH
+    endif
     EXTRA_SRCS += ghash-ppc.c
 ifdef USE_64
     DEFINES += -DNSS_NO_INIT_SUPPORT
