diff --git a/security/nss/TAG-INFO b/security/nss/TAG-INFO index e82e70d7ff87..2a418e7dd13d 100644 --- a/security/nss/TAG-INFO +++ b/security/nss/TAG-INFO @@ -1 +1 @@ -NSS_3_16_1_BETA2 +NSS_3_16_1_BETA3 diff --git a/security/nss/coreconf/coreconf.dep b/security/nss/coreconf/coreconf.dep index 5182f75552c8..590d1bfaeee3 100644 --- a/security/nss/coreconf/coreconf.dep +++ b/security/nss/coreconf/coreconf.dep @@ -10,3 +10,4 @@ */ #error "Do not include this header file." + diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile index dbf386200606..2a51501bb41a 100644 --- a/security/nss/lib/freebl/Makefile +++ b/security/nss/lib/freebl/Makefile @@ -135,9 +135,9 @@ else ifdef BUILD_OPT OPTIMIZER += -Ox # maximum optimization for freebl endif - # The Intel AES assembly code requires Visual C++ 2010 (10.0). The _xgetbv - # compiler intrinsic function requires Visual C++ 2010 (10.0) SP1. - ifeq ($(_MSC_VER_GE_10SP1),1) + # The Intel AES assembly code requires Visual C++ 2010. + # if $(_MSC_VER) >= 1600 (Visual C++ 2010) + ifeq ($(firstword $(sort $(_MSC_VER) 1600)),1600) DEFINES += -DUSE_HW_AES -DINTEL_GCM ASFILES += intel-aes-x86-masm.asm intel-gcm-x86-masm.asm EXTRA_SRCS += intel-gcm-wrap.c diff --git a/security/nss/lib/freebl/blapi.h b/security/nss/lib/freebl/blapi.h index f73d1a2753e8..2e88d769eadf 100644 --- a/security/nss/lib/freebl/blapi.h +++ b/security/nss/lib/freebl/blapi.h @@ -1,5 +1,5 @@ /* - * blapi.h - public prototypes for the crypto library + * blapi.h - public prototypes for the freebl library * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/security/nss/lib/freebl/blapii.h b/security/nss/lib/freebl/blapii.h index 3ba7b7c22c07..4840fc79daea 100644 --- a/security/nss/lib/freebl/blapii.h +++ b/security/nss/lib/freebl/blapii.h @@ -1,5 +1,5 @@ /* - * blapii.h - private data structures and prototypes for the crypto library + * blapii.h - private data structures and prototypes for the freebl library * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/security/nss/lib/freebl/blapit.h b/security/nss/lib/freebl/blapit.h index b533743b30c3..8e172d424ef0 100644 --- a/security/nss/lib/freebl/blapit.h +++ b/security/nss/lib/freebl/blapit.h @@ -1,5 +1,5 @@ /* - * blapit.h - public data structures for the crypto library + * blapit.h - public data structures for the freebl library * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/security/nss/lib/freebl/rijndael.c b/security/nss/lib/freebl/rijndael.c index 67057c701bce..4e4be79fdf10 100644 --- a/security/nss/lib/freebl/rijndael.c +++ b/security/nss/lib/freebl/rijndael.c @@ -972,13 +972,24 @@ AESContext * AES_AllocateContext(void) /* * Adapted from the example code in "How to detect New Instruction support in * the 4th generation Intel Core processor family" by Max Locktyukhin. + * + * XGETBV: + * Reads an extended control register (XCR) specified by ECX into EDX:EAX. */ static PRBool check_xcr0_ymm() { PRUint32 xcr0; #if defined(_MSC_VER) +#if defined(_M_IX86) + __asm { + mov ecx, 0 + xgetbv + mov xcr0, eax + } +#else xcr0 = (PRUint32)_xgetbv(0); /* Requires VS2010 SP1 or later. */ +#endif #else __asm__ ("xgetbv" : "=a" (xcr0) : "c" (0) : "%edx"); #endif diff --git a/security/nss/lib/util/secdig.h b/security/nss/lib/util/secdig.h index 8a2f092def23..6f218ec340e8 100644 --- a/security/nss/lib/util/secdig.h +++ b/security/nss/lib/util/secdig.h @@ -1,5 +1,5 @@ /* - * secdig.h - public prototypes for digestinfos from the util lib + * secdig.h - public prototypes for digest-info functions * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/security/nss/lib/util/secdigt.h b/security/nss/lib/util/secdigt.h index 65ca22f7441f..2414d79fedda 100644 --- a/security/nss/lib/util/secdigt.h +++ b/security/nss/lib/util/secdigt.h @@ -1,5 +1,5 @@ /* - * secdigt.h - public data structures for digestinfos from the util lib. + * secdigt.h - public data structures for digest-info objects * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -23,6 +23,4 @@ struct SGNDigestInfoStr { }; typedef struct SGNDigestInfoStr SGNDigestInfo; - - #endif /* _SECDIGT_H_ */