UBUNTU: SAUCE: apply a workaround to re-enable CONFIG_CRYPTO_AEGIS128_SIMD

After the update to gcc 10 we started to experience the following build
errors on ARM:

  crypto/aegis128-neon-inner.c: In function 'crypto_aegis128_init_neon':
  crypto/aegis128-neon-inner.c:151:3: error: incompatible types when initializing type 'unsigned char' using type 'uint8x16_t'
    151 |   k ^ vld1q_u8(const0),
	|   ^
  crypto/aegis128-neon-inner.c:152:3: error: incompatible types when initializing type 'unsigned char' using type 'uint8x16_t'
    152 |   k ^ vld1q_u8(const1),
	|   ^

This seems to be a gcc bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96377

The workaround (suggested in the bug report) is to enforce a cast to
uint8x16_t.

Apply the workaround so that we can re-enable the driver disabled by
7c950e057db6 ("UBUNTU: [Config] disable CONFIG_CRYPTO_AEGIS128_SIMD").

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
This commit is contained in:
Andrea Righi
2020-07-30 17:31:37 +02:00
committed by Paolo Pisati
parent cd70ea0274
commit cf49a654fd
+2 -2
View File
@@ -148,8 +148,8 @@ void crypto_aegis128_init_neon(void *state, const void *key, const void *iv)
kiv,
vld1q_u8(const1),
vld1q_u8(const0),
k ^ vld1q_u8(const0),
k ^ vld1q_u8(const1),
(uint8x16_t) (k ^ vld1q_u8(const0)),
(uint8x16_t) (k ^ vld1q_u8(const1)),
}};
int i;