[PATCH ARM] Compile on Raspberry Pi
Francis Booth
boothf at boothlabs.me
Wed Aug 29 00:22:00 CEST 2018
Attempting to build Wireguard on a Raspberry Pi will result in an
assembly error
Error: immediate expression requires a # prefix -- `moveq r5,1'
(the full build error log can be found here: https://pastebin.com/CKTXwGyG)
Appending # to the values and telling ARM to treat them as literals
solves the issue.
I was able to test this patch out on my own Raspberry Pi 3B+ and can
confirm the resulting build is successfully able to build, create the
wg0 interface, generate a private key, connect to a peer, and send
encrypted messages back and forth.
justw and revel assisted in providing the fix via the Wireguard irc channel.
curve25519: arm: Compile on Raspi
diff --git a/src/crypto/curve25519-arm.S b/src/crypto/curve25519-arm.S
index cb40c24..f9d50e9 100644
--- a/src/crypto/curve25519-arm.S
+++ b/src/crypto/curve25519-arm.S
@@ -1554,35 +1554,35 @@ ENTRY(curve25519_neon)
movw r4, 0
movw r5, 2
cmp r1, #1
- moveq r5, 1
+ moveq r5, #1
addeq r2, r3, #336
addeq r4, r3, #48
cmp r1, #2
- moveq r5, 1
+ moveq r5, #1
addeq r2, r3, #48
cmp r1, #3
- moveq r5, 5
+ moveq r5, #5
addeq r4, r3, #336
cmp r1, #4
- moveq r5, 10
+ moveq r5, #10
cmp r1, #5
- moveq r5, 20
+ moveq r5, #20
cmp r1, #6
- moveq r5, 10
+ moveq r5, #10
addeq r2, r3, #336
addeq r4, r3, #336
cmp r1, #7
- moveq r5, 50
+ moveq r5, #50
cmp r1, #8
- moveq r5, 100
+ moveq r5, #100
cmp r1, #9
- moveq r5, 50
+ moveq r5, #50
addeq r2, r3, #336
cmp r1, #10
- moveq r5, 5
+ moveq r5, #5
addeq r2, r3, #48
cmp r1, #11
- moveq r5, 0
+ moveq r5, #0
addeq r2, r3, #96
add r6, r3, #144
add r7, r3, #288
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zx2c4.com/pipermail/wireguard/attachments/20180828/af0b4941/attachment.html>
More information about the WireGuard
mailing list