diff options
author | L. E. Segovia <amy@centricular.com> | 2024-10-29 22:08:48 +0000 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2024-10-31 14:52:35 +0000 |
commit | 15dcc225e3442e04bf6ebc72298d1276a1c0b526 (patch) | |
tree | 21ad7843b7e2668fac2aa88759163084a00ecb56 | |
parent | 8004785a8e84b1feab089f8958872593532c9374 (diff) |
openssl: Fix armv7a compilation
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1615>
-rw-r--r-- | recipes/openssl.recipe | 4 | ||||
-rw-r--r-- | recipes/openssl/0004-Android-fix-relocation-of-OPENSSL_armcap_P.patch | 120 |
2 files changed, 123 insertions, 1 deletions
diff --git a/recipes/openssl.recipe b/recipes/openssl.recipe index 7c98c4be..92bc7f97 100644 --- a/recipes/openssl.recipe +++ b/recipes/openssl.recipe @@ -149,7 +149,6 @@ class Recipe(recipe.Recipe): self.make += ['build_libs', 'openssl.pc', 'libssl.pc', 'libcrypto.pc'] self.make_install = ['make', 'install_dev', 'RANLIB=' + ranlib] - if self.config.platform == Platform.WINDOWS: # Ensure that our Perl's File/Spec.pm uses backward slashes when # building for MSVC and forward-slashes when building for MinGW. @@ -179,6 +178,9 @@ class Recipe(recipe.Recipe): if self.config.target_platform == Platform.IOS: self.library_type = LibraryType.STATIC if self.config.target_platform == Platform.ANDROID: + self.patches += [ + 'openssl/0004-Android-fix-relocation-of-OPENSSL_armcap_P.patch', + ] self.prepend_env('PATH', self.get_env('ANDROID_NDK_TOOLCHAIN_BIN'), sep=os.pathsep) self.set_env('ANDROID_NDK_ROOT', self.get_env('ANDROID_NDK_HOME')) diff --git a/recipes/openssl/0004-Android-fix-relocation-of-OPENSSL_armcap_P.patch b/recipes/openssl/0004-Android-fix-relocation-of-OPENSSL_armcap_P.patch new file mode 100644 index 00000000..2539078d --- /dev/null +++ b/recipes/openssl/0004-Android-fix-relocation-of-OPENSSL_armcap_P.patch @@ -0,0 +1,120 @@ +From 422ceb22ee2ef1b07548cb02bc2394c244c11a7c Mon Sep 17 00:00:00 2001 +From: "L. E. Segovia" <amy@centricular.com> +Date: Tue, 29 Oct 2024 22:01:59 +0000 +Subject: [PATCH 4/4] Android: fix relocation of OPENSSL_armcap_P + +Caused by https://github.com/openssl/openssl/commit/7b508cd1e18f04d509af4df6c2ab4709c4389d19. + +See https://github.com/sfackler/rust-openssl/issues/2154 + +Fixes #25601 +--- + crypto/armv4cpuid.pl | 1 + + crypto/bn/asm/armv4-gf2m.pl | 1 + + crypto/bn/asm/armv4-mont.pl | 1 + + crypto/chacha/asm/chacha-armv4.pl | 1 + + crypto/poly1305/asm/poly1305-armv4.pl | 1 + + crypto/sha/asm/sha1-armv4-large.pl | 1 + + crypto/sha/asm/sha256-armv4.pl | 1 + + crypto/sha/asm/sha512-armv4.pl | 1 + + 8 files changed, 8 insertions(+) + +diff --git a/crypto/armv4cpuid.pl b/crypto/armv4cpuid.pl +index 04b3425..9b933c7 100644 +--- a/crypto/armv4cpuid.pl ++++ b/crypto/armv4cpuid.pl +@@ -293,6 +293,7 @@ atomic_add_spinlock: + #endif + + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + ___ + + print $code; +diff --git a/crypto/bn/asm/armv4-gf2m.pl b/crypto/bn/asm/armv4-gf2m.pl +index 17af0e0..5733a01 100644 +--- a/crypto/bn/asm/armv4-gf2m.pl ++++ b/crypto/bn/asm/armv4-gf2m.pl +@@ -326,6 +326,7 @@ $code.=<<___; + + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/bn/asm/armv4-mont.pl b/crypto/bn/asm/armv4-mont.pl +index d85da92..6e839d8 100644 +--- a/crypto/bn/asm/armv4-mont.pl ++++ b/crypto/bn/asm/armv4-mont.pl +@@ -750,6 +750,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/chacha/asm/chacha-armv4.pl b/crypto/chacha/asm/chacha-armv4.pl +index ac32d5b..bb48b6e 100755 +--- a/crypto/chacha/asm/chacha-armv4.pl ++++ b/crypto/chacha/asm/chacha-armv4.pl +@@ -1155,6 +1155,7 @@ $code.=<<___; + ldmia sp!,{r4-r11,pc} + .size ChaCha20_neon,.-ChaCha20_neon + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + }}} +diff --git a/crypto/poly1305/asm/poly1305-armv4.pl b/crypto/poly1305/asm/poly1305-armv4.pl +index b98beef..673ea62 100755 +--- a/crypto/poly1305/asm/poly1305-armv4.pl ++++ b/crypto/poly1305/asm/poly1305-armv4.pl +@@ -1240,6 +1240,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/sha/asm/sha1-armv4-large.pl b/crypto/sha/asm/sha1-armv4-large.pl +index 2832c5b..b3a8ec6 100644 +--- a/crypto/sha/asm/sha1-armv4-large.pl ++++ b/crypto/sha/asm/sha1-armv4-large.pl +@@ -708,6 +708,7 @@ ___ + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/sha/asm/sha256-armv4.pl b/crypto/sha/asm/sha256-armv4.pl +index 8bac84b..feb1f26 100644 +--- a/crypto/sha/asm/sha256-armv4.pl ++++ b/crypto/sha/asm/sha256-armv4.pl +@@ -694,6 +694,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/sha/asm/sha512-armv4.pl b/crypto/sha/asm/sha512-armv4.pl +index c8b8110..9aa310f 100644 +--- a/crypto/sha/asm/sha512-armv4.pl ++++ b/crypto/sha/asm/sha512-armv4.pl +@@ -661,6 +661,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +-- +2.46.0 + |