Re: Build breakage with WITH_BEARSSL=1

From: Gary Jennejohn <garyj_at_gmx.de>
Date: Sun, 12 Feb 2023 11:25:04 UTC
On Sun, 12 Feb 2023 11:54:47 +0100
Gordon Bergling <gbe@freebsd.org> wrote:

> Hi,
>
> I am currently seeing a build breakage when building -CURRENT with WITH_BEARSSL=1.
>
> The error is the following
>
>   make[5]: "/boiler/nfs/src/lib/libsecureboot/local.trust.mk" line 109: warning: "cd /boiler/nfs/src/lib/libsecureboot && 'ls'   -1 *.pem t*.asc 2> /dev/null" returned non-zero status
>   /boiler/nfs/src/contrib/bearssl/src/rsa/rsa_i62_keygen.c:43:22: error: a function declaration without a prototype is deprecat  ed in all versions of C [-Werror,-Wstrict-prototypes]
>   br_rsa_i62_keygen_get()
>                        ^
>                         void
>   1 error generated.
>   --- rsa_i62_keygen.pico ---
>
>
> When disabling BEARSSL in the src.conf the build succeeds as usual.
>
> Has anyone also seen this build error. Sources are very recent and the
> src.conf is the following:
>
> WITH_EXTRA_TCP_STACKS=1
> #WITH_BEARSSL=1
> WITH_PIE=1
> WITH_RETPOLINE=1
> WITH_INIT_ALL_ZERO=1
> WITH_OPENSSL_KTLS=1
> WITHOUT_CLEAN=1
>
> Any help is very appreciated.
>

The current clang wants to see  br_rsa_i62_keygen_get(void), that's
why void was emitted.  The other routine in this file has the same
error.  Could be that this code has this problem in many places.

There might a flag which one could pass to clang so that it would not
choke on such an error, but I don't know clang well enough to figure
that out.  Maybe someone in the know could supply that info.

--
Gary Jennejohn