I'm not very familiar with ARM ASM myself, but I think I tracked
down the offending instruction. With the following change, the
library reference works:
=======================
diff --git a/work/libgcrypt-1.7.1/cipher/poly1305-armv7-neon.S b/work/libgcrypt-1.7.1/cipher/poly1305-armv7-neon.S
index 1134e85..e2727bd 100644
--- a/work/libgcrypt-1.7.1/cipher/poly1305-armv7-neon.S
+++ b/work/libgcrypt-1.7.1/cipher/poly1305-armv7-neon.S
@@ -52,7 +52,7 @@ _gcry_poly1305_armv7_neon_init_ext:
and r2, r2, r2
moveq r14, #-1
ldmia r1!, {r2-r5}
- ldr r7, =.Lpoly1305_init_constants_neon
+ adr r7, .Lpoly1305_init_constants_neon
mov r6, r2
mov r8, r2, lsr #26
mov r9, r3, lsr #20