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