[PATCH] linux-user: Fix build failure caused by missing __u64 on musl

Yao Zi posted 1 patch 8 hours ago
linux-user/syscall_defs.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH] linux-user: Fix build failure caused by missing __u64 on musl
Posted by Yao Zi 8 hours ago
Commit 9651cead2f ("linux-user: add openat2 support in linux-user")
ships a definition of struct open_how_ver0 while assuming type __u64 is
available in code, which is not the case when building QEMU on musl.
Let's replaces __u64 with uint64_t.

Fixes: 9651cead2f ("linux-user: add openat2 support in linux-user")
Signed-off-by: Yao Zi <ziyao@disroot.org>
---
 linux-user/syscall_defs.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 0ade83745e..0e08dfae3e 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2750,9 +2750,9 @@ struct target_sched_param {
 
 /* from kernel's include/uapi/linux/openat2.h */
 struct open_how_ver0 {
-    __u64 flags;
-    __u64 mode;
-    __u64 resolve;
+    uint64_t flags;
+    uint64_t mode;
+    uint64_t resolve;
 };
 struct target_open_how_ver0 {
     abi_ullong flags;
-- 
2.46.2
Re: [PATCH] linux-user: Fix build failure caused by missing __u64 on musl
Posted by Richard Henderson 2 hours ago
On 10/22/24 05:29, Yao Zi wrote:
> Commit 9651cead2f ("linux-user: add openat2 support in linux-user")
> ships a definition of struct open_how_ver0 while assuming type __u64 is
> available in code, which is not the case when building QEMU on musl.
> Let's replaces __u64 with uint64_t.
> 
> Fixes: 9651cead2f ("linux-user: add openat2 support in linux-user")
> Signed-off-by: Yao Zi <ziyao@disroot.org>
> ---
>   linux-user/syscall_defs.h | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 0ade83745e..0e08dfae3e 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -2750,9 +2750,9 @@ struct target_sched_param {
>   
>   /* from kernel's include/uapi/linux/openat2.h */
>   struct open_how_ver0 {
> -    __u64 flags;
> -    __u64 mode;
> -    __u64 resolve;
> +    uint64_t flags;
> +    uint64_t mode;
> +    uint64_t resolve;
>   };
>   struct target_open_how_ver0 {
>       abi_ullong flags;

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

Queued, thanks.

r~
Re: [PATCH] linux-user: Fix build failure caused by missing __u64 on musl
Posted by Laurent Vivier 7 hours ago
Le 22/10/2024 à 14:29, Yao Zi a écrit :
> Commit 9651cead2f ("linux-user: add openat2 support in linux-user")
> ships a definition of struct open_how_ver0 while assuming type __u64 is
> available in code, which is not the case when building QEMU on musl.
> Let's replaces __u64 with uint64_t.
> 
> Fixes: 9651cead2f ("linux-user: add openat2 support in linux-user")
> Signed-off-by: Yao Zi <ziyao@disroot.org>
> ---
>   linux-user/syscall_defs.h | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 0ade83745e..0e08dfae3e 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -2750,9 +2750,9 @@ struct target_sched_param {
>   
>   /* from kernel's include/uapi/linux/openat2.h */
>   struct open_how_ver0 {
> -    __u64 flags;
> -    __u64 mode;
> -    __u64 resolve;
> +    uint64_t flags;
> +    uint64_t mode;
> +    uint64_t resolve;
>   };
>   struct target_open_how_ver0 {
>       abi_ullong flags;

Reviewed-by: Laurent Vivier <laurent@vivier.eu>