2024-05-21 02:59:08

by Michael Ellerman

[permalink] [raw]
Subject: [PATCH] selftests/overlayfs: Fix build error on ppc64

Fix build error on ppc64:
dev_in_maps.c: In function ‘get_file_dev_and_inode’:
dev_in_maps.c:60:59: error: format ‘%llu’ expects argument of type
‘long long unsigned int *’, but argument 7 has type ‘__u64 *’ {aka ‘long
unsigned int *’} [-Werror=format=]

By switching to unsigned long long for u64 for ppc64 builds.

Signed-off-by: Michael Ellerman <[email protected]>
---
tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
index 759f86e7d263..2862aae58b79 100644
--- a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
+++ b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
#define _GNU_SOURCE
+#define __SANE_USERSPACE_TYPES__ // Use ll64

#include <inttypes.h>
#include <unistd.h>
--
2.45.1



2024-05-29 22:19:22

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] selftests/overlayfs: Fix build error on ppc64

On 5/20/24 20:26, Michael Ellerman wrote:
> Fix build error on ppc64:
> dev_in_maps.c: In function ‘get_file_dev_and_inode’:
> dev_in_maps.c:60:59: error: format ‘%llu’ expects argument of type
> ‘long long unsigned int *’, but argument 7 has type ‘__u64 *’ {aka ‘long
> unsigned int *’} [-Werror=format=]
>
> By switching to unsigned long long for u64 for ppc64 builds.
>
> Signed-off-by: Michael Ellerman <[email protected]>
> ---
> tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
> index 759f86e7d263..2862aae58b79 100644
> --- a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
> +++ b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
> @@ -1,5 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0
> #define _GNU_SOURCE
> +#define __SANE_USERSPACE_TYPES__ // Use ll64
>
> #include <inttypes.h>
> #include <unistd.h>

Applied to linux-kselftest fixes for the next rc.

Michael, If you want to take this through, let me know, I can drop this.

thanks,
-- Shuah

2024-05-30 03:00:37

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] selftests/overlayfs: Fix build error on ppc64

Shuah Khan <[email protected]> writes:
> On 5/20/24 20:26, Michael Ellerman wrote:
>> Fix build error on ppc64:
>> dev_in_maps.c: In function ‘get_file_dev_and_inode’:
>> dev_in_maps.c:60:59: error: format ‘%llu’ expects argument of type
>> ‘long long unsigned int *’, but argument 7 has type ‘__u64 *’ {aka ‘long
>> unsigned int *’} [-Werror=format=]
>>
>> By switching to unsigned long long for u64 for ppc64 builds.
>>
>> Signed-off-by: Michael Ellerman <[email protected]>
>> ---
>> tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
>> index 759f86e7d263..2862aae58b79 100644
>> --- a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
>> +++ b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
>> @@ -1,5 +1,6 @@
>> // SPDX-License-Identifier: GPL-2.0
>> #define _GNU_SOURCE
>> +#define __SANE_USERSPACE_TYPES__ // Use ll64
>>
>> #include <inttypes.h>
>> #include <unistd.h>
>
> Applied to linux-kselftest fixes for the next rc.

Thanks.

> Michael, If you want to take this through, let me know, I can drop this.

I'm happy for you to take this one and the others.

cheers