Message ID | 20240905112440.10438-1-mps@arvanta.net |
---|---|
State | New |
Headers | show |
Series | util/util/cpuinfo-riscv.c: fix riscv64 build on musl libc | expand |
On Thu, 5 Sept 2024 at 14:19, Milan P. Stanić <mps@arvanta.net> 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ć <mps@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..f4779ed1fb 100644 > --- a/util/cpuinfo-riscv.c > +++ b/util/cpuinfo-riscv.c > @@ -5,6 +5,7 @@ > > #include "qemu/osdep.h" > #include "host/cpuinfo.h" > +#include "asm/unistd.h" > > #ifdef CONFIG_ASM_HWPROBE_H > #include <asm/hwprobe.h> > -- Hi; thanks for this patch. I think the new include line should go inside the #ifdef CONFIG_ASM_HWPROBE_H block you can see in the patch here, because the __NR_riscv_hwprobe symbol we want from it is only used by code that's guarded by that ifdef. (Otherwise we'll probably fail to compile on non-Linux hosts.) System header includes should also use <...>, not "...". thanks -- PMM
Hi, On Thu, 2024-09-05 at 14:45, Peter Maydell wrote: > On Thu, 5 Sept 2024 at 14:19, Milan P. Stanić <mps@arvanta.net> 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ć <mps@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..f4779ed1fb 100644 > > --- a/util/cpuinfo-riscv.c > > +++ b/util/cpuinfo-riscv.c > > @@ -5,6 +5,7 @@ > > > > #include "qemu/osdep.h" > > #include "host/cpuinfo.h" > > +#include "asm/unistd.h" > > > > #ifdef CONFIG_ASM_HWPROBE_H > > #include <asm/hwprobe.h> > > -- > > Hi; thanks for this patch. I think the new include line should > go inside the #ifdef CONFIG_ASM_HWPROBE_H block you can > see in the patch here, because the __NR_riscv_hwprobe symbol > we want from it is only used by code that's guarded by that ifdef. > (Otherwise we'll probably fail to compile on non-Linux hosts.) > > System header includes should also use <...>, not "...". Right. Will send patch v2 soon. Thanks for help
diff --git a/util/cpuinfo-riscv.c b/util/cpuinfo-riscv.c index 497ce12680..f4779ed1fb 100644 --- a/util/cpuinfo-riscv.c +++ b/util/cpuinfo-riscv.c @@ -5,6 +5,7 @@ #include "qemu/osdep.h" #include "host/cpuinfo.h" +#include "asm/unistd.h" #ifdef CONFIG_ASM_HWPROBE_H #include <asm/hwprobe.h>
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ć <mps@arvanta.net> --- util/cpuinfo-riscv.c | 1 + 1 file changed, 1 insertion(+)