All 64bit archs use unsigned long for size_t and most 32bit
archs use 'unsigned int'. By default, this is what is assumed
by sparse.
However, on h8300 (a 32bit arch) size_t is unsigned long which
can led sparse to emit wrong warnings.
Fix this by passing to sparse the flag -msize-long, telling it
that size_t is unsigned long.
Signed-off-by: Luc Van Oostenryck <[email protected]>
---
arch/h8300/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/h8300/Makefile b/arch/h8300/Makefile
index e1c02ca23..eaac6685f 100644
--- a/arch/h8300/Makefile
+++ b/arch/h8300/Makefile
@@ -22,6 +22,8 @@ KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
KBUILD_AFLAGS += $(aflags-y)
LDFLAGS += $(ldflags-y)
+CHECKFLAGS += -msize-long
+
ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := h8300-unknown-linux-
endif
--
2.17.0
On Thu, 31 May 2018 06:03:43 +0900,
Luc Van Oostenryck wrote:
>
> All 64bit archs use unsigned long for size_t and most 32bit
> archs use 'unsigned int'. By default, this is what is assumed
> by sparse.
>
> However, on h8300 (a 32bit arch) size_t is unsigned long which
> can led sparse to emit wrong warnings.
>
> Fix this by passing to sparse the flag -msize-long, telling it
> that size_t is unsigned long.
>
> Signed-off-by: Luc Van Oostenryck <[email protected]>
> ---
> arch/h8300/Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/h8300/Makefile b/arch/h8300/Makefile
> index e1c02ca23..eaac6685f 100644
> --- a/arch/h8300/Makefile
> +++ b/arch/h8300/Makefile
> @@ -22,6 +22,8 @@ KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
> KBUILD_AFLAGS += $(aflags-y)
> LDFLAGS += $(ldflags-y)
>
> +CHECKFLAGS += -msize-long
> +
> ifeq ($(CROSS_COMPILE),)
> CROSS_COMPILE := h8300-unknown-linux-
> endif
> --
> 2.17.0
>
Sorry too late replay.
Applied to h8300-next.
Thanks.
--
Yosinori Sato