mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-10-04 00:02:01 -04:00
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>
Usage ----- From liboqs/scripts/copy_from_xkcp run $ ./package.sh This will output liboqs-xkcp-todaysdate.tar.gz From the top level liboqs directory: $ rm -rf src/common/sha3/xkcp_low $ tar xzf scripts/copy_from_xkcp/liboqs-xkcp-todaysdate.tar.gz Patching -------- From liboqs/scripts/copy_from_xkcp run $ ./checkout.sh This will create `upstream` and `upstream-patched` directories. The `upstream-patched` directory is `upstream` with the patches from the `patches` directory applied. Make any necessary changes in the `upstream-patched` directory, then run $ ./update-patches.sh Your new patches will be included in the next run of ./package.sh.