--- nss-3.13.5.orig/mozilla/security/coreconf/Linux.mk 2012-06-20 10:52:05.376104148 +0000 +++ nss-3.13.5.orig/mozilla/security/coreconf/Linux.mk 2012-06-20 11:52:46.206281074 +0000 @@ -65,11 +65,18 @@ ifeq ($(OS_TEST),x86_64) ifeq ($(USE_64),1) CPU_ARCH = x86_64 + ARCHFLAG = -m64 +else +ifeq ($(USE_x32),1) + OS_REL_CFLAGS = -Di386 + CPU_ARCH = x86 + ARCHFLAG = -mx32 else OS_REL_CFLAGS = -Di386 CPU_ARCH = x86 ARCHFLAG = -m32 endif +endif else ifeq ($(OS_TEST),sparc64) CPU_ARCH = sparc --- nss-3.13.5.orig/mozilla/security/nss/lib/freebl/Makefile 2012-06-20 10:52:05.418104156 +0000 +++ nss-3.13.5.orig/mozilla/security/nss/lib/freebl/Makefile 2012-06-20 11:54:48.935287040 +0000 @@ -215,12 +215,16 @@ MPI_SRCS += mpi_amd64.c mp_comba.c endif ifeq ($(CPU_ARCH),x86) - ASFILES = mpi_x86.s - DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE - DEFINES += -DMP_ASSEMBLY_DIV_2DX1D - DEFINES += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN - # The floating point ECC code doesn't work on Linux x86 (bug 311432). - #ECL_USE_FP = 1 + ifeq ($(USE_x32),1) + DEFINES += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN + else + ASFILES = mpi_x86.s + DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE + DEFINES += -DMP_ASSEMBLY_DIV_2DX1D + DEFINES += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN + # The floating point ECC code doesn't work on Linux x86 (bug 311432). + #ECL_USE_FP = 1 + endif endif ifeq ($(CPU_ARCH),arm) DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE