Skip to contentSkip to conversation

aegis128-neon-inner.c fails to build on v5.9-rc1

build break Herbert Xu 2 participants 2 messages Aug 21, 2020 1 message not in the archive Crypto API

lore
Share & tools
lore

Herbert Xu

author maintainer
#1 lore raw
In reply to a message not in the archive
Quoted 23 lines · Felipe Balbi

Hi,

I'm not sure if there's already a patch for this, but I notices arm64 allmodconfig fails to build with GCC 10.2 as shown below:

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),
      |   ^

crypto/aegis128-neon-inner.c:147:29: warning: missing braces around initializer [-Wmissing-braces]
147 | struct aegis128_state st = {{
| ^
......

  151 |   k ^ vld1q_u8(const0),
      |   {
  152 |   k ^ vld1q_u8(const1),
  153 |  }};
      |  }
Quoted 7 lines

Confirmation of GCC version follows:

$ aarch64-linux-gnu-gcc --version
aarch64-linux-gnu-gcc (GCC) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ard, can you please take a look at this?

Thanks!

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
#2 lore raw
Quoted 27 lines · Herbert Xu
Quoted 25 lines · Felipe Balbi

Hi,

I'm not sure if there's already a patch for this, but I notices arm64 allmodconfig fails to build with GCC 10.2 as shown below:

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),
      |   ^

crypto/aegis128-neon-inner.c:147:29: warning: missing braces around initializer [-Wmissing-braces]
147 | struct aegis128_state st = {{
| ^
......

  151 |   k ^ vld1q_u8(const0),
      |   {
  152 |   k ^ vld1q_u8(const1),
  153 |  }};
      |  }

Confirmation of GCC version follows:

Quoted 8 lines
Quoted 5 lines
$ aarch64-linux-gnu-gcc --version
aarch64-linux-gnu-gcc (GCC) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ard, can you please take a look at this?

This is a known regression in GCC [0] that has already been fixed. GCC 10.3 should work fine.

[0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96377