summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--security/nss/lib/freebl/Makefile9
-rw-r--r--security/nss/lib/freebl/win_rand.c4
2 files changed, 8 insertions, 5 deletions
diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile
index 82014a961..19d959111 100644
--- a/security/nss/lib/freebl/Makefile
+++ b/security/nss/lib/freebl/Makefile
@@ -77,13 +77,12 @@ endif
ifdef FREEBL_NO_DEPEND
DEFINES += -DFREEBL_NO_DEPEND
endif
-# some code wants _X86_ defined for intel CPUs.
-# coreconf does this for windows, but not for Linux, FreeBSD, etc.
-ifeq (,$(filter-out x86 x86_64,$(CPU_ARCH)))
-ifneq (,$(filter-out WIN%,$(OS_TARGET)))
+# some freebl code wants _X86_ defined for Intel CPUs, both 32 and 64 bits.
+# coreconf does not do this consistently between platforms. It does for
+# Win32, but not for Win64, Solaris x64, FreeBSD, etc.
+ifeq (,$(filter-out x386 x86 x86_64,$(CPU_ARCH)))
DEFINES += -D_X86_
endif
-endif
ifeq ($(OS_TARGET),OSF1)
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_NO_MP_WORD
diff --git a/security/nss/lib/freebl/win_rand.c b/security/nss/lib/freebl/win_rand.c
index f53796947..763a7938c 100644
--- a/security/nss/lib/freebl/win_rand.c
+++ b/security/nss/lib/freebl/win_rand.c
@@ -34,6 +34,10 @@
*
* ***** END LICENSE BLOCK ***** */
+#if defined(_WIN32) && defined(NSS_USE_64)
+#undef _X86_
+#endif
+
#include "secrng.h"
#include "secerr.h"