diff options
author | David Benjamin <davidben@chromium.org> | 2014-09-12 03:11:15 +0400 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2014-09-12 04:10:53 +0400 |
commit | a70c75cfc0ca32a43985e3f24d737ca9cafcb910 (patch) | |
tree | 97fa841a4edd2b3a4dc831f34c0d33a704e8206c /crypto/cpu-intel.c | |
parent | 1195796045e1f8bbd1ed311b2cbd8b9d87f2074a (diff) |
Add a CRYPTO_library_init and static-initializer-less build option.
Chromium does not like static initializers, and the CPU logic uses one to
initialize CPU bits. However, the crypto library lacks an explicit
initialization function, which could complicate (no compile-time errors)
porting existing code which uses crypto/, but not ssl/.
Add an explicit CRYPTO_library_init function, but make it a no-op by default.
It only does anything (and is required) if building with
BORINGSSL_NO_STATIC_INITIALIZER.
Change-Id: I6933bdc3447fb382b1f87c788e5b8142d6f3fe39
Reviewed-on: https://boringssl-review.googlesource.com/1770
Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'crypto/cpu-intel.c')
-rw-r--r-- | crypto/cpu-intel.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/crypto/cpu-intel.c b/crypto/cpu-intel.c index bc3148f5..e2efb2c4 100644 --- a/crypto/cpu-intel.c +++ b/crypto/cpu-intel.c @@ -78,10 +78,6 @@ uint32_t OPENSSL_ia32cap_P[4] = {0}; /* OPENSSL_ia32_cpuid is defined in cpu-x86_64-asm.pl. */ extern uint64_t OPENSSL_ia32_cpuid(uint32_t*); -#if !defined(OPENSSL_WINDOWS) -void OPENSSL_cpuid_setup(void) __attribute__ ((constructor)); -#endif - /* handle_cpu_env applies the value from |in| to the CPUID values in |out[0]| * and |out[1]|. See the comment in |OPENSSL_cpuid_setup| about this. */ static void handle_cpu_env(uint32_t *out, const char *in) { @@ -101,14 +97,7 @@ static void handle_cpu_env(uint32_t *out, const char *in) { } } -#if defined(OPENSSL_WINDOWS) -#pragma section(".CRT$XCU", read) -void __cdecl OPENSSL_cpuid_setup(void); -__declspec(allocate(".CRT$XCU")) void(*cpuid_constructor)(void) = OPENSSL_cpuid_setup; -void __cdecl OPENSSL_cpuid_setup(void) { -#else void OPENSSL_cpuid_setup(void) { -#endif const char *env1, *env2; #if defined(OPENSSL_X86_64) |