[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Package libnss3_3.60-1_ppc64.deb requires Power-7 hardware



For all who still want to run Debian 64bit on a G5, the newest libnss3-Package breaks some prominent applications like firefox or thunderbird on that machine.

The reason is that in one makefile the compiler options "-mcrypto" and "-mvsx" were turned. Hence, there are Power-7 instructions now in libfreeblpriv3.so:

carsten@Huilin-Hus-Computer:~/Sources/libnss3/nss-3.60$ for i in $(find -type f -name \*.o); do if { objdump --disassemble ${i} | grep lfiwzx; }; then echo ${i}; fi; done
 1c8:    7c 00 56 ee     lfiwzx  f0,0,r10
./nss/lib/freebl/OBJS/Linux_SINGLE_SHLIB/gcm.o
 444:    7c 00 56 ee     lfiwzx  f0,0,r10
./nss/lib/freebl/OBJS/Linux_SINGLE_SHLIB/rijndael.o

With the newest libnss3 package updated firefox, thunderbird or also linphone will die very quickly with "SIGILL". I've attached a patch that disables the Power-7 instructions in that package (that's why I'm able to write this mail at all, thunderbird is also my mail program).

Does anybody know why the two compiler options were turned on? Is that something that was already decided upstream in the original project?

Regards,

Carsten Jacobi

--- ./nss/lib/freebl/Makefile.orig	2020-12-11 16:32:40.000000000 +0100
+++ ./nss/lib/freebl/Makefile	2021-01-15 23:04:21.000000000 +0100
@@ -757,10 +757,10 @@
 
 ifeq ($(CPU_ARCH),ppc)
 ifndef NSS_DISABLE_ALTIVEC
-$(OBJDIR)/$(PROG_PREFIX)gcm-ppc$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx
-$(OBJDIR)/$(PROG_PREFIX)gcm$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx
-$(OBJDIR)/$(PROG_PREFIX)rijndael$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx
-$(OBJDIR)/$(PROG_PREFIX)sha512$(OBJ_SUFFIX): CFLAGS += -mcrypto -maltivec -mvsx \
+$(OBJDIR)/$(PROG_PREFIX)gcm-ppc$(OBJ_SUFFIX): CFLAGS += -maltivec
+$(OBJDIR)/$(PROG_PREFIX)gcm$(OBJ_SUFFIX): CFLAGS += -maltivec
+$(OBJDIR)/$(PROG_PREFIX)rijndael$(OBJ_SUFFIX): CFLAGS += -maltivec
+$(OBJDIR)/$(PROG_PREFIX)sha512$(OBJ_SUFFIX): CFLAGS += -maltivec \
 					-funroll-loops -fpeel-loops
 endif
 endif


Reply to: