Re: [PATCH v2 1/5] perf tools: [uclibc] fix statfs.f_type data type mismatch build error

From: Jiri Olsa
Date: Mon Jan 12 2015 - 06:06:02 EST


On Sat, Jan 10, 2015 at 04:40:50PM +0530, Vineet Gupta wrote:
> From: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
>
> ARC Linux uses the no legacy syscalls abi and corresponding uClibc headers
> statfs defines f_type to be U32 which causes perf build breakage
>
> http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/common-generic/bits/statfs.h
>
> ----------->8---------------
> CC fs/fs.o
> fs/fs.c: In function 'fs__valid_mount':
> fs/fs.c:82:24: error: comparison between signed and unsigned integer
> expressions [-Werror=sign-compare]
> else if (st_fs.f_type != magic)
> ^
> cc1: all warnings being treated as errors
> ----------->8---------------
>
> Cc: Borislav Petkov <bp@xxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Cody P Schafer <dev@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: linux-perf-users@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

>
> ---
> v3: Changes since v2 [2]
> * Made Changelog a bit more concise, no code changes [vgupta]
>
> v2: Changes since v1 [1]
> * Added type cast to DEBUGFS_MAGIC in "debugfs.c" [Arnaldo]
> * Added verbose explanation of root cause
>
> [2] https://lkml.org/lkml/2014/9/16/296
> [1] https://lkml.org/lkml/2014/8/13/529
>
> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
> ---
> tools/lib/api/fs/debugfs.c | 2 +-
> tools/lib/api/fs/fs.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/lib/api/fs/debugfs.c b/tools/lib/api/fs/debugfs.c
> index a74fba6d7743..93aa4cd2416f 100644
> --- a/tools/lib/api/fs/debugfs.c
> +++ b/tools/lib/api/fs/debugfs.c
> @@ -67,7 +67,7 @@ int debugfs_valid_mountpoint(const char *debugfs)
>
> if (statfs(debugfs, &st_fs) < 0)
> return -ENOENT;
> - else if (st_fs.f_type != (long) DEBUGFS_MAGIC)
> + else if ((long) st_fs.f_type != (long) DEBUGFS_MAGIC)
> return -ENOENT;
>
> return 0;
> diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c
> index 65d9be3f9887..15e64921ea84 100644
> --- a/tools/lib/api/fs/fs.c
> +++ b/tools/lib/api/fs/fs.c
> @@ -79,7 +79,7 @@ static int fs__valid_mount(const char *fs, long magic)
>
> if (statfs(fs, &st_fs) < 0)
> return -ENOENT;
> - else if (st_fs.f_type != magic)
> + else if ((long) st_fs.f_type != magic)
> return -ENOENT;
>
> return 0;
> --
> 1.9.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/