diff options
author | wtc@chromium.org <wtc@chromium.org@4ff67af0-8c30-449e-8e8b-ad334ec8d88c> | 2013-06-01 01:06:54 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@4ff67af0-8c30-449e-8e8b-ad334ec8d88c> | 2013-06-01 01:06:54 +0000 |
commit | 39898464beeee474c11348ba7171637a4825e1a1 (patch) | |
tree | fe833298f2e48c3b4880ae351dd748f76692b1cc | |
parent | a32986f363afaf19de1ed6957901964217a72f2f (diff) | |
download | openssl-39898464beeee474c11348ba7171637a4825e1a1.tar.gz |
Fix the shared_library build on Linux.
Two source files need to be excluded for x86_64 because they are
replaced by openssl/crypto/bn/asm/x86_64-gcc.c and
openssl/crypto/rc4/asm/rc4-x86_64.S.
R=yfriedman@chromium.org,digit@chromium.org
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/16272007
git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/openssl@203545 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
-rw-r--r-- | README.chromium | 4 | ||||
-rw-r--r-- | openssl.gyp | 8 | ||||
-rw-r--r-- | openssl.gypi | 2 | ||||
-rw-r--r-- | openssl/Crypto-config.mk | 2 | ||||
-rw-r--r-- | openssl/openssl.config | 2 | ||||
-rw-r--r-- | patches.chromium/x86_64_source_excludes.patch | 14 |
6 files changed, 26 insertions, 6 deletions
diff --git a/README.chromium b/README.chromium index 71b4dfa..36b1480 100644 --- a/README.chromium +++ b/README.chromium @@ -172,6 +172,10 @@ located in patches.chromium/. Currently this consists of: Enable DTLSv1, which is disabled by default in the Android platform configuration. + x86_64_source_excludes.patch + Exclude the source files bn_asm.c and rc4_skey.c for x86_64 because + they are replaced by x86_64-gcc.c and rc4-x86_64.S. + ************************************************************************** Adding new Chromium patches: diff --git a/openssl.gyp b/openssl.gyp index 9c2cf34..8073326 100644 --- a/openssl.gyp +++ b/openssl.gyp @@ -6,7 +6,7 @@ 'targets': [ { 'target_name': 'openssl', - 'type': 'static_library', + 'type': '<(component)', 'includes': [ # Include the auto-generated gypi file. '../../third_party/openssl/openssl.gypi' @@ -72,11 +72,7 @@ 'openssl_include_dirs+': [ 'config/x64' ], }, }], - ['component == "shared_library" and OS=="android"', { - # On Android, build OpenSSL as a component. This is necessary as both - # crypto and net call into OpenSSL but it initializes some static - # state only once. However, this fails to compile on linux. - 'type': 'shared_library', + ['component == "shared_library"', { 'cflags!': ['-fvisibility=hidden'], }], ['clang==1', { diff --git a/openssl.gypi b/openssl.gypi index e55b6eb..8e01cd0 100644 --- a/openssl.gypi +++ b/openssl.gypi @@ -638,8 +638,10 @@ 'openssl_x86_64_source_excludes': [ 'openssl/crypto/aes/aes_cbc.c', 'openssl/crypto/aes/aes_core.c', + 'openssl/crypto/bn/bn_asm.c', 'openssl/crypto/mem_clr.c', 'openssl/crypto/rc4/rc4_enc.c', + 'openssl/crypto/rc4/rc4_skey.c', ], 'openssl_x86_64_sources': [ 'openssl/crypto/aes/asm/aes-x86_64.S', diff --git a/openssl/Crypto-config.mk b/openssl/Crypto-config.mk index d74a791..6c64f18 100644 --- a/openssl/Crypto-config.mk +++ b/openssl/Crypto-config.mk @@ -641,8 +641,10 @@ x86_64_src_files := \ x86_64_exclude_files := \ crypto/aes/aes_cbc.c \ crypto/aes/aes_core.c \ + crypto/bn/bn_asm.c \ crypto/mem_clr.c \ crypto/rc4/rc4_enc.c \ + crypto/rc4/rc4_skey.c \ mips_c_flags := \ -DAES_ASM \ diff --git a/openssl/openssl.config b/openssl/openssl.config index 369ac76..78dac05 100644 --- a/openssl/openssl.config +++ b/openssl/openssl.config @@ -865,8 +865,10 @@ crypto/x86_64cpuid.S \ OPENSSL_CRYPTO_SOURCES_EXCLUDES_x86_64="\ crypto/aes/aes_cbc.c \ crypto/aes/aes_core.c \ +crypto/bn/bn_asm.c \ crypto/mem_clr.c \ crypto/rc4/rc4_enc.c \ +crypto/rc4/rc4_skey.c \ " OPENSSL_SSL_INCLUDES="\ diff --git a/patches.chromium/x86_64_source_excludes.patch b/patches.chromium/x86_64_source_excludes.patch new file mode 100644 index 0000000..e9dfc78 --- /dev/null +++ b/patches.chromium/x86_64_source_excludes.patch @@ -0,0 +1,14 @@ +diff -burN android-openssl.1/openssl.config android-openssl/openssl.config +--- android-openssl.1/openssl.config 2013-03-25 11:20:39.208813510 +0100 ++++ android-openssl/openssl.config 2013-03-25 11:34:02.687462212 +0100 +@@ -865,8 +865,10 @@ + OPENSSL_CRYPTO_SOURCES_EXCLUDES_x86_64="\ + crypto/aes/aes_cbc.c \ + crypto/aes/aes_core.c \ ++crypto/bn/bn_asm.c \ + crypto/mem_clr.c \ + crypto/rc4/rc4_enc.c \ ++crypto/rc4/rc4_skey.c \ + " + + OPENSSL_SSL_INCLUDES="\ |