[PATCH RESEND] selftests/memfd: clean Makefile

Chen Linxuan posted 1 patch 4 months ago
tools/testing/selftests/memfd/Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
[PATCH RESEND] selftests/memfd: clean Makefile
Posted by Chen Linxuan 4 months ago
When writing a test for fusectl, I referred to this Makefile as a
reference for creating a FUSE daemon in the selftests.
While doing so, I noticed that there is a minor issue in the Makefile.

The fuse_mnt.c file is not actually compiled into fuse_mnt.o,
and the code setting CFLAGS for it never takes effect.
The reason fuse_mnt compiles successfully is because CFLAGS is set
at the very beginning of the file.

Signed-off-by: Chen Linxuan <chenlinxuan@uniontech.com>
---
 tools/testing/selftests/memfd/Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/testing/selftests/memfd/Makefile b/tools/testing/selftests/memfd/Makefile
index 163b6f68631c4..e9b886c65153d 100644
--- a/tools/testing/selftests/memfd/Makefile
+++ b/tools/testing/selftests/memfd/Makefile
@@ -1,5 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0
-CFLAGS += -D_FILE_OFFSET_BITS=64
 CFLAGS += $(KHDR_INCLUDES)
 
 TEST_GEN_PROGS := memfd_test
@@ -16,10 +15,9 @@ ifeq ($(VAR_LDLIBS),)
 VAR_LDLIBS := -lfuse -pthread
 endif
 
-fuse_mnt.o: CFLAGS += $(VAR_CFLAGS)
-
 include ../lib.mk
 
+$(OUTPUT)/fuse_mnt: CFLAGS += $(VAR_CFLAGS)
 $(OUTPUT)/fuse_mnt: LDLIBS += $(VAR_LDLIBS)
 
 $(OUTPUT)/memfd_test: memfd_test.c common.c
-- 
2.43.0
Re: [PATCH RESEND] selftests/memfd: clean Makefile
Posted by Shuah Khan 3 months, 3 weeks ago
On 6/9/25 20:05, Chen Linxuan wrote:
> When writing a test for fusectl, I referred to this Makefile as a
> reference for creating a FUSE daemon in the selftests.
> While doing so, I noticed that there is a minor issue in the Makefile.

What happens if this change isn't made?

> 
> The fuse_mnt.c file is not actually compiled into fuse_mnt.o,
> and the code setting CFLAGS for it never takes effect.
> The reason fuse_mnt compiles successfully is because CFLAGS is set
> at the very beginning of the file.
> 
> Signed-off-by: Chen Linxuan <chenlinxuan@uniontech.com>
> ---
>   tools/testing/selftests/memfd/Makefile | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/memfd/Makefile b/tools/testing/selftests/memfd/Makefile
> index 163b6f68631c4..e9b886c65153d 100644
> --- a/tools/testing/selftests/memfd/Makefile
> +++ b/tools/testing/selftests/memfd/Makefile
> @@ -1,5 +1,4 @@
>   # SPDX-License-Identifier: GPL-2.0
> -CFLAGS += -D_FILE_OFFSET_BITS=64

What's the reason for deleting the above?

>   CFLAGS += $(KHDR_INCLUDES)
>   
>   TEST_GEN_PROGS := memfd_test
> @@ -16,10 +15,9 @@ ifeq ($(VAR_LDLIBS),)
>   VAR_LDLIBS := -lfuse -pthread
>   endif
>   
> -fuse_mnt.o: CFLAGS += $(VAR_CFLAGS)
> -
>   include ../lib.mk
>   
> +$(OUTPUT)/fuse_mnt: CFLAGS += $(VAR_CFLAGS)
>   $(OUTPUT)/fuse_mnt: LDLIBS += $(VAR_LDLIBS)
>   
>   $(OUTPUT)/memfd_test: memfd_test.c common.c

thanks,
-- Shuah
Re: [PATCH RESEND] selftests/memfd: clean Makefile
Posted by Chen Linxuan 3 months, 3 weeks ago
On Thu, Jun 19, 2025 at 5:21 AM Shuah Khan <skhan@linuxfoundation.org> wrote:
>
> On 6/9/25 20:05, Chen Linxuan wrote:
> > When writing a test for fusectl, I referred to this Makefile as a
> > reference for creating a FUSE daemon in the selftests.
> > While doing so, I noticed that there is a minor issue in the Makefile.
>
> What happens if this change isn't made?

Nothing will happen.
When I was writing tests for the fusectl filesystem in the kernel repository,
I came across this file as a reference.
Then I found that the process of passing CFLAGS was not correct.
So, for the reason of not wanting others to be misled again,
I want to update the compilation process here.

>
> >
> > The fuse_mnt.c file is not actually compiled into fuse_mnt.o,
> > and the code setting CFLAGS for it never takes effect.
> > The reason fuse_mnt compiles successfully is because CFLAGS is set
> > at the very beginning of the file.
> >
> > Signed-off-by: Chen Linxuan <chenlinxuan@uniontech.com>
> > ---
> >   tools/testing/selftests/memfd/Makefile | 4 +---
> >   1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/tools/testing/selftests/memfd/Makefile b/tools/testing/selftests/memfd/Makefile
> > index 163b6f68631c4..e9b886c65153d 100644
> > --- a/tools/testing/selftests/memfd/Makefile
> > +++ b/tools/testing/selftests/memfd/Makefile
> > @@ -1,5 +1,4 @@
> >   # SPDX-License-Identifier: GPL-2.0
> > -CFLAGS += -D_FILE_OFFSET_BITS=64
>
> What's the reason for deleting the above?

The CFLAGS update here actually doesn't take effect.
I believe it is the -D_FILE_OFFSET_BITS=64 in VAR_CFLAGS that truly
takes effect.

>
> >   CFLAGS += $(KHDR_INCLUDES)
> >
> >   TEST_GEN_PROGS := memfd_test
> > @@ -16,10 +15,9 @@ ifeq ($(VAR_LDLIBS),)
> >   VAR_LDLIBS := -lfuse -pthread
> >   endif
> >
> > -fuse_mnt.o: CFLAGS += $(VAR_CFLAGS)
> > -
> >   include ../lib.mk
> >
> > +$(OUTPUT)/fuse_mnt: CFLAGS += $(VAR_CFLAGS)
> >   $(OUTPUT)/fuse_mnt: LDLIBS += $(VAR_LDLIBS)
> >
> >   $(OUTPUT)/memfd_test: memfd_test.c common.c
>
> thanks,
> -- Shuah
>
>
>
Re: [PATCH RESEND] selftests/memfd: clean Makefile
Posted by Shuah Khan 3 months, 3 weeks ago
On 6/19/25 01:43, Chen Linxuan wrote:
> On Thu, Jun 19, 2025 at 5:21 AM Shuah Khan <skhan@linuxfoundation.org> wrote:
>>
>> On 6/9/25 20:05, Chen Linxuan wrote:
>>> When writing a test for fusectl, I referred to this Makefile as a
>>> reference for creating a FUSE daemon in the selftests.
>>> While doing so, I noticed that there is a minor issue in the Makefile.
>>
>> What happens if this change isn't made?
> 
> Nothing will happen.
> When I was writing tests for the fusectl filesystem in the kernel repository,
> I came across this file as a reference.
> Then I found that the process of passing CFLAGS was not correct.
> So, for the reason of not wanting others to be misled again,
> I want to update the compilation process here.
> 

If there is no obvious reason then let's not make this change.

thanks,
-- Shuah
Re: [PATCH RESEND] selftests/memfd: clean Makefile
Posted by Chen Linxuan 3 months, 3 weeks ago
On Fri, Jun 20, 2025 at 1:02 AM Shuah Khan <skhan@linuxfoundation.org> wrote:
>
> On 6/19/25 01:43, Chen Linxuan wrote:
> > On Thu, Jun 19, 2025 at 5:21 AM Shuah Khan <skhan@linuxfoundation.org> wrote:
> >>
> >> On 6/9/25 20:05, Chen Linxuan wrote:
> >>> When writing a test for fusectl, I referred to this Makefile as a
> >>> reference for creating a FUSE daemon in the selftests.
> >>> While doing so, I noticed that there is a minor issue in the Makefile.
> >>
> >> What happens if this change isn't made?
> >
> > Nothing will happen.
> > When I was writing tests for the fusectl filesystem in the kernel repository,
> > I came across this file as a reference.
> > Then I found that the process of passing CFLAGS was not correct.
> > So, for the reason of not wanting others to be misled again,
> > I want to update the compilation process here.
> >
>
> If there is no obvious reason then let's not make this change.

Once https://lore.kernel.org/all/20250612094033.2538122-2-chenlinxuan@uniontech.com/
gets merged,
there will be another example of compiling fuse in selftests in the kernel.
So I think it's not a big problem if we don't make this change here.

thanks,
Chen Linxuan

>
> thanks,
> -- Shuah
>
>