diff mbox series

package/libgcrypt: Fix powerpc64 build w/o optimisation

Message ID 20220505101319.155879-1-joel@jms.id.au
State Accepted
Headers show
Series package/libgcrypt: Fix powerpc64 build w/o optimisation | expand

Commit Message

Joel Stanley May 5, 2022, 10:13 a.m. UTC
The following build failure was reported by the autobuilder:

powerpc64   |        libgcrypt-1.10.1        | NOK |
http://autobuild.buildroot.net/results/eb60bb95411076b92f5c63f9b21c6e576998031c | ORPH

This config is building with BR2_OPTIMIZE_0=y.

The code relies on the compiler turning the series of preprocessor
macros in to a constant for the second argument to vec_sld:

 chacha20-ppc.c:60:10: error: argument 3 must be a 4-bit unsigned literal
    60 |   return vec_sld (v, v, (16 - (4 * idx)) & 15);

The argument is a constant, but it would require a significant rework to
make this build without optimisation. Instead disable the vectorised
powerpc code when building with optimisation disabled.

Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 package/libgcrypt/libgcrypt.mk | 1 +
 1 file changed, 1 insertion(+)

Comments

Arnout Vandecappelle May 5, 2022, 8:38 p.m. UTC | #1
On 05/05/2022 12:13, Joel Stanley wrote:
> The following build failure was reported by the autobuilder:
> 
> powerpc64   |        libgcrypt-1.10.1        | NOK |
> http://autobuild.buildroot.net/results/eb60bb95411076b92f5c63f9b21c6e576998031c | ORPH
> 
> This config is building with BR2_OPTIMIZE_0=y.
> 
> The code relies on the compiler turning the series of preprocessor
> macros in to a constant for the second argument to vec_sld:
> 
>   chacha20-ppc.c:60:10: error: argument 3 must be a 4-bit unsigned literal
>      60 |   return vec_sld (v, v, (16 - (4 * idx)) & 15);
> 
> The argument is a constant, but it would require a significant rework to
> make this build without optimisation. Instead disable the vectorised
> powerpc code when building with optimisation disabled.
> 
> Signed-off-by: Joel Stanley <joel@jms.id.au>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   package/libgcrypt/libgcrypt.mk | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
> index f28552c6e7..8f4e5ec8c0 100644
> --- a/package/libgcrypt/libgcrypt.mk
> +++ b/package/libgcrypt/libgcrypt.mk
> @@ -18,6 +18,7 @@ LIBGCRYPT_CPE_ID_VENDOR = gnupg
>   LIBGCRYPT_AUTORECONF = YES
>   LIBGCRYPT_CONF_OPTS = \
>   	--disable-tests \
> +	$(if $(BR2_OPTIMIZE_0),--disable-ppc-crypto-support,) \
>   	--with-gpg-error-prefix=$(STAGING_DIR)/usr
>   
>   # Libgcrypt doesn't support assembly for coldfire
diff mbox series

Patch

diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
index f28552c6e7..8f4e5ec8c0 100644
--- a/package/libgcrypt/libgcrypt.mk
+++ b/package/libgcrypt/libgcrypt.mk
@@ -18,6 +18,7 @@  LIBGCRYPT_CPE_ID_VENDOR = gnupg
 LIBGCRYPT_AUTORECONF = YES
 LIBGCRYPT_CONF_OPTS = \
 	--disable-tests \
+	$(if $(BR2_OPTIMIZE_0),--disable-ppc-crypto-support,) \
 	--with-gpg-error-prefix=$(STAGING_DIR)/usr
 
 # Libgcrypt doesn't support assembly for coldfire