summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@4ff67af0-8c30-449e-8e8b-ad334ec8d88c>2013-06-01 01:06:54 +0000
committerwtc@chromium.org <wtc@chromium.org@4ff67af0-8c30-449e-8e8b-ad334ec8d88c>2013-06-01 01:06:54 +0000
commit39898464beeee474c11348ba7171637a4825e1a1 (patch)
treefe833298f2e48c3b4880ae351dd748f76692b1cc
parenta32986f363afaf19de1ed6957901964217a72f2f (diff)
downloadopenssl-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.chromium4
-rw-r--r--openssl.gyp8
-rw-r--r--openssl.gypi2
-rw-r--r--openssl/Crypto-config.mk2
-rw-r--r--openssl/openssl.config2
-rw-r--r--patches.chromium/x86_64_source_excludes.patch14
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="\