On Thu, 5 Sept 2024 at 20:44, Richard Henderson
<richard.hender...@linaro.org> wrote:
>
> On 9/5/24 08:06, Milan P. Stanić wrote:
> > build fails on musl libc (alpine linux) with this error:
> >
> > ../util/cpuinfo-riscv.c: In function 'cpuinfo_init':
> > ../util/cpuinfo-riscv.c:63:21: error: '__NR_riscv_hwprobe' undeclared 
> > (first use in this function); did you mean 'riscv_hwprobe'?
> >     63 |         if (syscall(__NR_riscv_hwprobe, &pair, 1, 0, NULL, 0) == 0
> >        |                     ^~~~~~~~~~~~~~~~~~
> >        |                     riscv_hwprobe
> > ../util/cpuinfo-riscv.c:63:21: note: each undeclared identifier is reported 
> > only once for each function it appears in
> > ninja: subcommand failed
> >
> > add '#include "asm/unistd.h"' to util/cpuinfo-riscv.c fixes build
> >
> > Signed-off-by: Milan P. Stanić <m...@arvanta.net>
> > ---
> >   util/cpuinfo-riscv.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/util/cpuinfo-riscv.c b/util/cpuinfo-riscv.c
> > index 497ce12680..8cacc67645 100644
> > --- a/util/cpuinfo-riscv.c
> > +++ b/util/cpuinfo-riscv.c
> > @@ -9,6 +9,7 @@
> >   #ifdef CONFIG_ASM_HWPROBE_H
> >   #include <asm/hwprobe.h>
> >   #include <sys/syscall.h>
> > +#include <asm/unistd.h>
>
> I suppose this is ok, but...
>
> For some reason musl processes asm/unistd.h at build-time to produce 
> <bits/syscall.h>,
> which is included by <sys/syscall.h>.  This will be "fixed" the next time 
> musl is rebuilt
> against current kernel headers.

It matches how we include asm/unistd.h in memfd.c so
we can get __NR_memfd_create, so it seems OK to me.
We ought to be able to build against older musl too, not
just those which are up-to-date with their kernel headers.

-- PMM

Reply via email to