From 0050d5f2f451d881acc5fa025f9f07d58966ec81 Mon Sep 17 00:00:00 2001 From: Volker Schlecht <47375452+VlkrS@users.noreply.github.com> Date: Thu, 26 Jun 2025 20:19:21 +0200 Subject: [PATCH] Support read-only section for curve25519_x25519base_byte.S The attached patch permits the read-only section to be enabled. Tested via aws-lc-sys -> deno on OpenBSD 7.7-current. --- arm/curve25519/curve25519_x25519base_byte.S | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/arm/curve25519/curve25519_x25519base_byte.S b/arm/curve25519/curve25519_x25519base_byte.S index 6188d3916..fa90b9c7c 100644 --- a/arm/curve25519/curve25519_x25519base_byte.S +++ b/arm/curve25519/curve25519_x25519base_byte.S @@ -594,8 +594,10 @@ S2N_BN_SYMBOL(curve25519_x25519base_byte): ldr x0, [scalar] ands xzr, x0, #8 - adr x10, curve25519_x25519base_byte_edwards25519_0g - adr x11, curve25519_x25519base_byte_edwards25519_8g + adrp x10, curve25519_x25519base_byte_edwards25519_0g + add x10, x10, :lo12:curve25519_x25519base_byte_edwards25519_0g + adrp x11, curve25519_x25519base_byte_edwards25519_8g + add x11, x11, :lo12:curve25519_x25519base_byte_edwards25519_8g ldp x0, x1, [x10] ldp x2, x3, [x11] csel x0, x0, x2, eq @@ -651,7 +653,8 @@ S2N_BN_SYMBOL(curve25519_x25519base_byte): // l >= 9 case cannot arise on the last iteration. mov i, 4 - adr tab, curve25519_x25519base_byte_edwards25519_gtable + adrp tab, curve25519_x25519base_byte_edwards25519_gtable + add tab, tab, :lo12:curve25519_x25519base_byte_edwards25519_gtable mov bias, xzr // Start of the main loop, repeated 63 times for i = 4, 8, ..., 252