diff options
-rw-r--r-- | coreconf/check_cc.py (renamed from coreconf/check_cc_clang.py) | 9 | ||||
-rw-r--r-- | coreconf/config.gypi | 8 | ||||
-rw-r--r-- | gtests/freebl_gtest/freebl_gtest.gyp | 7 | ||||
-rw-r--r-- | gtests/freebl_gtest/mpi_unittest.cc | 14 | ||||
-rw-r--r-- | gtests/freebl_gtest/rsa_unittest.cc | 1 | ||||
-rw-r--r-- | nss.gyp | 1 |
6 files changed, 29 insertions, 11 deletions
diff --git a/coreconf/check_cc_clang.py b/coreconf/check_cc.py index 4b9541195..6d7e38096 100644 --- a/coreconf/check_cc_clang.py +++ b/coreconf/check_cc.py @@ -5,17 +5,18 @@ import subprocess import sys def main(): - if sys.platform == 'win32': + if sys.platform == 'win32' or len(sys.argv) < 2: print(0) else: cc = os.environ.get('CC', 'cc') try: - cc_is_clang = 'clang' in subprocess.check_output( + cc_is_arg = sys.argv[1] in subprocess.check_output( [cc, '--version'], universal_newlines=True) except OSError: # We probably just don't have CC/cc. - cc_is_clang = False - print(int(cc_is_clang)) + cc_is_arg = False + print(int(cc_is_arg)) if __name__ == '__main__': main() + diff --git a/coreconf/config.gypi b/coreconf/config.gypi index 1dde15fe3..a0d381f0c 100644 --- a/coreconf/config.gypi +++ b/coreconf/config.gypi @@ -64,10 +64,15 @@ ], }], ['"<(GENERATOR)"=="ninja"', { - 'cc_is_clang%': '<!(<(python) <(DEPTH)/coreconf/check_cc_clang.py)', + 'cc_is_clang%': '<!(<(python) <(DEPTH)/coreconf/check_cc.py clang)', }, { 'cc_is_clang%': '0', }], + ['"<(GENERATOR)"=="ninja"', { + 'cc_is_gcc%': '<!(<(python) <(DEPTH)/coreconf/check_cc.py gcc)', + }, { + 'cc_is_gcc%': '0', + }], ], }, # Copy conditionally-set variables out one scope. @@ -86,6 +91,7 @@ 'dll_suffix': '<(dll_suffix)', 'freebl_name': '<(freebl_name)', 'cc_is_clang%': '<(cc_is_clang)', + 'cc_is_gcc%': '<(cc_is_gcc)', 'cc_use_gnu_ld%': '<(cc_use_gnu_ld)', # Some defaults 'disable_tests%': 0, diff --git a/gtests/freebl_gtest/freebl_gtest.gyp b/gtests/freebl_gtest/freebl_gtest.gyp index 21a87c557..bc9bd9584 100644 --- a/gtests/freebl_gtest/freebl_gtest.gyp +++ b/gtests/freebl_gtest/freebl_gtest.gyp @@ -40,6 +40,13 @@ 'freebl_gtest_deps', '<(DEPTH)/exports.gyp:nss_exports', ], + 'conditions': [ + [ 'cc_is_gcc==1 and (target_arch=="ia32" or target_arch=="x64")', { + 'cflags_cc': [ + '-msse2', + ], + }], + ], }, { 'target_name': 'prng_gtest', diff --git a/gtests/freebl_gtest/mpi_unittest.cc b/gtests/freebl_gtest/mpi_unittest.cc index 2ccb8c351..b0944975e 100644 --- a/gtests/freebl_gtest/mpi_unittest.cc +++ b/gtests/freebl_gtest/mpi_unittest.cc @@ -6,6 +6,7 @@ #include <stdint.h> #include <string.h> +#include <memory> #ifdef __MACH__ #include <mach/clock.h> @@ -27,7 +28,7 @@ void gettime(struct timespec* tp) { tp->tv_sec = mts.tv_sec; tp->tv_nsec = mts.tv_nsec; #else - clock_gettime(CLOCK_MONOTONIC, tp); + ASSERT_NE(0, timespec_get(tp, TIME_UTC)); #endif } @@ -84,8 +85,9 @@ class MPITest : public ::testing::Test { mp_int a; ASSERT_EQ(MP_OKAY, mp_init(&a)); ASSERT_EQ(MP_OKAY, mp_read_unsigned_octets(&a, ref.data(), ref.size())); - uint8_t buf[len]; - ASSERT_EQ(MP_OKAY, mp_to_fixlen_octets(&a, buf, len)); + std::unique_ptr<uint8_t[]> buf(new uint8_t[len]); + ASSERT_NE(buf, nullptr); + ASSERT_EQ(MP_OKAY, mp_to_fixlen_octets(&a, buf.get(), len)); size_t compare; if (len > ref.size()) { for (size_t i = 0; i < len - ref.size(); ++i) { @@ -96,9 +98,9 @@ class MPITest : public ::testing::Test { compare = len; } dump("value", ref.data(), ref.size()); - dump("output", buf, len); - ASSERT_EQ(0, memcmp(buf + len - compare, ref.data() + ref.size() - compare, - compare)) + dump("output", buf.get(), len); + ASSERT_EQ(0, memcmp(buf.get() + len - compare, + ref.data() + ref.size() - compare, compare)) << "comparing " << compare << " octets"; mp_clear(&a); } diff --git a/gtests/freebl_gtest/rsa_unittest.cc b/gtests/freebl_gtest/rsa_unittest.cc index a1453168f..9a6a9c11f 100644 --- a/gtests/freebl_gtest/rsa_unittest.cc +++ b/gtests/freebl_gtest/rsa_unittest.cc @@ -5,6 +5,7 @@ #include "gtest/gtest.h" #include <stdint.h> +#include <memory> #include "blapi.h" #include "secitem.h" @@ -198,6 +198,7 @@ 'gtests/certdb_gtest/certdb_gtest.gyp:certdb_gtest', 'gtests/freebl_gtest/freebl_gtest.gyp:prng_gtest', 'gtests/freebl_gtest/freebl_gtest.gyp:blake2b_gtest', + 'gtests/freebl_gtest/freebl_gtest.gyp:freebl_gtest', 'gtests/mozpkix_gtest/mozpkix_gtest.gyp:mozpkix_gtest', 'gtests/nss_bogo_shim/nss_bogo_shim.gyp:nss_bogo_shim', 'gtests/pk11_gtest/pk11_gtest.gyp:pk11_gtest', |