[NFCI] Move Keccak rhotates tables to rodata

rhotates tables are placed to .text section which confuses tools such as
BOLT. Move them to rodata to unbreak and avoid polluting icache/iTLB
with data.

1. Update patch file using the steps in scripts/copy_from_xkcp/README
2. Apply the updated patch with scripts/copy_from_xkcp/package.sh

Sync with XKCP upstream: https://github.com/XKCP/XKCP/pull/137
Similar fix in OpenSSL: https://github.com/openssl/openssl/pull/21440
Redo of https://github.com/open-quantum-safe/liboqs/pull/1508

Signed-off-by: Amir Ayupov <aaupov@fb.com>
This commit is contained in:
Amir Ayupov 2024-03-27 01:59:47 +00:00 committed by Douglas Stebila
parent 36be57445d
commit 3dd478e157
2 changed files with 7 additions and 1 deletions

View File

@ -374,7 +374,7 @@
pop %rcx
pop %rdx
pop %rsi
@@ -1010,9 +1038,9 @@
@@ -1010,10 +1038,13 @@
cmp %rsi, %rcx
jae KeccakP1600_12rounds_FastLoop_Absorb_Not17Lanes
jmp KeccakP1600_12rounds_FastLoop_Absorb_Exit
@ -384,6 +384,9 @@
-.endif
+#endif
+#ifndef old_gas_syntax
+.section .rodata
+#endif
.equ ALLON, 0xFFFFFFFFFFFFFFFF

View File

@ -1042,6 +1042,9 @@ KeccakP1600_12rounds_FastLoop_Absorb_LanesAddLoop:
.size KeccakP1600_12rounds_FastLoop_Absorb,.-KeccakP1600_12rounds_FastLoop_Absorb
#endif
#ifndef old_gas_syntax
.section .rodata
#endif
.equ ALLON, 0xFFFFFFFFFFFFFFFF
.balign 64