summaryrefslogtreecommitdiffstats
path: root/crypto/poly1305/asm/poly1305-armv4.pl
diff options
context:
space:
mode:
authorRahul Chaudhry <rahulchaudhry@google.com>2018-04-13 19:42:13 +0200
committerAndy Polyakov <appro@openssl.org>2018-04-18 19:47:53 +0200
commit5bb1cd2292b388263a0cc05392bb99141212aa53 (patch)
tree5ab6b928c5b5642f42a97476588a47d5cac584e1 /crypto/poly1305/asm/poly1305-armv4.pl
parentStyle: ssl.h (diff)
downloadopenssl-5bb1cd2292b388263a0cc05392bb99141212aa53.tar.xz
openssl-5bb1cd2292b388263a0cc05392bb99141212aa53.zip
poly1305/asm/poly1305-armv4.pl: remove unintentional relocation.
Branch to global symbol results in reference to PLT, and when compiling for THUMB-2 - in a R_ARM_THM_JUMP19 relocation. Some linkers don't support this relocation (ld.gold), while others can end up truncating the relocation to fit (ld.bfd). Convert this branch through PLT into a direct branch that the assembler can resolve locally. See https://github.com/android-ndk/ndk/issues/337 for background. The current workaround is to disable poly1305 optimization assembly, which is not optimal and can be reverted after this patch: https://github.com/freedesktop/gstreamer-cerbero/commit/beab607d2b1ff23c41b7e01aa9c64be5e247d1e6 CLA: trivial Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5949)
Diffstat (limited to '')
-rwxr-xr-xcrypto/poly1305/asm/poly1305-armv4.pl3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/poly1305/asm/poly1305-armv4.pl b/crypto/poly1305/asm/poly1305-armv4.pl
index fc899ced86..699021f201 100755
--- a/crypto/poly1305/asm/poly1305-armv4.pl
+++ b/crypto/poly1305/asm/poly1305-armv4.pl
@@ -186,6 +186,7 @@ $code.=<<___;
.type poly1305_blocks,%function
.align 5
poly1305_blocks:
+.Lpoly1305_blocks:
stmdb sp!,{r3-r11,lr}
ands $len,$len,#-16
@@ -677,7 +678,7 @@ poly1305_blocks_neon:
cmp $len,#64
bhs .Lenter_neon
tst ip,ip @ is_base2_26?
- beq poly1305_blocks
+ beq .Lpoly1305_blocks
.Lenter_neon:
stmdb sp!,{r4-r7}