On Fri, Feb 23, 2024 at 5:21 PM Thomas Bertschinger
<[email protected]> wrote:
>
> This resolves build warnings and failures for architectures where the
> Linux userspace `asm/types.h` header defines 64-bit types (u64, s64) as
> `long` instead of `long long`.
>
> By defining `__SANE_USERSPACE_TYPES__`, these types are defined as
> `long long` instead.
>
> Signed-off-by: Thomas Bertschinger <[email protected]>
> ---
>  Makefile              | 1 +
>  include/linux/types.h | 2 ++
>  2 files changed, 3 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 6e5d0e5..7363d5d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -42,6 +42,7 @@ CFLAGS+=-std=gnu11 -O2 -g -MMD -Wall -fPIC                  
>   \
>         -DNO_BCACHEFS_FS                                        \
>         -DNO_BCACHEFS_SYSFS                                     \
>         -DVERSION_STRING='"$(VERSION)"'                         \
> +       -D__SANE_USERSPACE_TYPES__                              \
>         $(EXTRA_CFLAGS)
>
>  # Intenionally not doing the above to $(LDFLAGS) because we rely on
> diff --git a/include/linux/types.h b/include/linux/types.h
> index 6ae97c4..004d5eb 100644
> --- a/include/linux/types.h
> +++ b/include/linux/types.h
> @@ -10,7 +10,9 @@
>  #include <sys/types.h>
>  #include <linux/posix_types.h>
>
> +#ifndef __SANE_USERSPACE_TYPES__
>  #define __SANE_USERSPACE_TYPES__       /* For PPC64, to get LL64 types */
> +#endif
>  #include <asm/types.h>
>
>  #include <linux/cache.h>
> --
> 2.43.0
>
>

This looks good, works, and fixes the build for Fedora on ppc64le.

Reviewed-by: Neal Gompa <[email protected]>


-- 
真実はいつも一つ!/ Always, there's only one truth!

Reply via email to