Compilation warnings on OpenBSD

Replaces unnecessary aligned(32) with aligned(16) instead.
This commit is contained in:
Olivier Chéron 2017-04-02 19:42:44 +02:00
parent 75e3bd555e
commit 8be9856402
3 changed files with 16 additions and 2 deletions

View File

@ -34,7 +34,7 @@ extern "C" {
/** @brief Galois field element internal structure */
typedef struct cryptonite_gf_448_s {
cryptonite_decaf_word_t limb[512/CRYPTONITE_DECAF_WORD_BITS];
} __attribute__((aligned(32))) cryptonite_gf_448_s, cryptonite_gf_448_t[1];
} __attribute__((aligned(16))) cryptonite_gf_448_s, cryptonite_gf_448_t[1];
#endif /* __CRYPTONITE_DECAF_448_GF_DEFINED__ */
/** @endcond */

View File

@ -27,7 +27,7 @@
#define SER_BYTES 56
typedef struct cryptonite_gf_448_s {
word_t limb[NLIMBS];
} __attribute__((aligned(32))) cryptonite_gf_448_s, cryptonite_gf_448_t[1];
} __attribute__((aligned(16))) cryptonite_gf_448_s, cryptonite_gf_448_t[1];
#define GF_LIT_LIMB_BITS 56
#define GF_BITS 448

View File

@ -21,6 +21,11 @@
#
# * code related to SHAKE is replaced by cryptonite code, referenced from
# a custom shake.h. As a consequence, portable_endian.h is not needed.
#
# * aligned(32) attributes used for stack alignment are replaced by
# aligned(16). This removes warnings on OpenBSD with GCC 4.2.1, and makes
# sure we get at least 16-byte alignment. 32-byte alignment is necessary
# only for AVX2 and arch_x86_64, which we don't have.
SRC_DIR="$1/src"
DEST_DIR="`dirname "$0"`"/..
@ -33,7 +38,16 @@ fi
convert() {
local FILE_NAME="`basename "$1"`"
local REPL
if [ "$FILE_NAME" = word.h ]; then
REPL='__attribute__((aligned(32)))'
else
REPL='__attribute__((aligned(16)))'
fi
sed <"$1" >"$2/$FILE_NAME" \
-e "s/__attribute__((aligned(32)))/$REPL/g" \
-e 's/decaf_/cryptonite_decaf_/g' \
-e 's/DECAF_/CRYPTONITE_DECAF_/g' \
-e 's/gf_/cryptonite_gf_/g' \