2022-08-29 10:34:52

by Tiezhu Yang

[permalink] [raw]
Subject: [PATCH] LoongArch: Fix warning: #warning syscall fstat not implemented

Define __ARCH_WANT_NEW_STAT to fix the following build warning:

CALL scripts/checksyscalls.sh
<stdin>:569:2: warning: #warning syscall fstat not implemented [-Wcpp]

Signed-off-by: Tiezhu Yang <[email protected]>
---
arch/loongarch/include/uapi/asm/unistd.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/loongarch/include/uapi/asm/unistd.h b/arch/loongarch/include/uapi/asm/unistd.h
index fcb6689..b344b1f 100644
--- a/arch/loongarch/include/uapi/asm/unistd.h
+++ b/arch/loongarch/include/uapi/asm/unistd.h
@@ -1,4 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SYS_CLONE
#define __ARCH_WANT_SYS_CLONE3

--
2.1.0


2022-08-29 10:57:28

by WANG Xuerui

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: Fix warning: #warning syscall fstat not implemented

On 2022/8/29 17:55, Tiezhu Yang wrote:
> Define __ARCH_WANT_NEW_STAT to fix the following build warning:
>
> CALL scripts/checksyscalls.sh
> <stdin>:569:2: warning: #warning syscall fstat not implemented [-Wcpp]
>
> Signed-off-by: Tiezhu Yang <[email protected]>
> ---
> arch/loongarch/include/uapi/asm/unistd.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/loongarch/include/uapi/asm/unistd.h b/arch/loongarch/include/uapi/asm/unistd.h
> index fcb6689..b344b1f 100644
> --- a/arch/loongarch/include/uapi/asm/unistd.h
> +++ b/arch/loongarch/include/uapi/asm/unistd.h
> @@ -1,4 +1,5 @@
> /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +#define __ARCH_WANT_NEW_STAT
> #define __ARCH_WANT_SYS_CLONE
> #define __ARCH_WANT_SYS_CLONE3
>
No. We explicitly removed support for fstat/newfstatat in favor of
statx, so the correct way forward is to amend the checksyscalls.sh, to
make it aware of the fact that loongarch is the latest shiny addition so
it doesn't carry any of the "legacy" around.

--
WANG "xen0n" Xuerui

Linux/LoongArch mailing list: https://lore.kernel.org/loongarch/

2022-08-29 12:58:25

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: Fix warning: #warning syscall fstat not implemented

On Mon, Aug 29, 2022, at 11:55 AM, Tiezhu Yang wrote:

> CALL scripts/checksyscalls.sh
> <stdin>:569:2: warning: #warning syscall fstat not implemented [-Wcpp]

> @@ -1,4 +1,5 @@
> /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +#define __ARCH_WANT_NEW_STAT
> #define __ARCH_WANT_SYS_CLONE
> #define __ARCH_WANT_SYS_CLONE3

The correct fix is to change scripts/checksyscalls.sh,
making it always define __IGNORE_fstat

Arnd

2022-08-29 14:55:19

by Tiezhu Yang

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: Fix warning: #warning syscall fstat not implemented



On 8/29/22 19:36, Arnd Bergmann wrote:
> On Mon, Aug 29, 2022, at 11:55 AM, Tiezhu Yang wrote:
>
>> CALL scripts/checksyscalls.sh
>> <stdin>:569:2: warning: #warning syscall fstat not implemented [-Wcpp]
>
>> @@ -1,4 +1,5 @@
>> /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
>> +#define __ARCH_WANT_NEW_STAT
>> #define __ARCH_WANT_SYS_CLONE
>> #define __ARCH_WANT_SYS_CLONE3
>
> The correct fix is to change scripts/checksyscalls.sh,
> making it always define __IGNORE_fstat
>

Hi Arnd,

Thank you very much.

I read the commit message in the commit 82b355d161c9 ("y2038: Remove
newstat family from default syscall set"), I am not quite sure whether
we should check __ARCH_WANT_NEW_STAT first, like this:

#ifndef __ARCH_WANT_NEW_STAT
#define __IGNORE_fstat
#endif

Thanks,
Tiezhu

2022-08-30 12:03:19

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: Fix warning: #warning syscall fstat not implemented

On Mon, Aug 29, 2022, at 4:34 PM, Tiezhu Yang wrote:
>
> I read the commit message in the commit 82b355d161c9 ("y2038: Remove
> newstat family from default syscall set"), I am not quite sure whether
> we should check __ARCH_WANT_NEW_STAT first, like this:
>
> #ifndef __ARCH_WANT_NEW_STAT
> #define __IGNORE_fstat
> #endif

No, the #ifdef is not needed here, the entry just means we
no longer warn about the missing syscall because it has
been replaced by statx and this is true regardless of
__ARCH_WANT_NEW_STAT.

Arnd