Linux Kernel Selftest development
 help / color / mirror / Atom feed
From: Amer Al Shanawany <amer.shanawany@gmail.com>
To: Muhammad Usama Anjum <usama.anjum@collabora.com>,
	Shuah Khan <shuah@kernel.org>,
	Christian Brauner <brauner@kernel.org>,
	Miklos Szeredi <mszeredi@redhat.com>,
	linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Subject: Re: [PATCH] selftests: filesystems: add missing stddef header
Date: Sat, 20 Apr 2024 17:56:15 +0200	[thread overview]
Message-ID: <be7b90cd-c1fc-4e42-85a9-325d7c92c396@gmail.com> (raw)
In-Reply-To: <4b66cfb8-5d42-4432-b930-e23482a48dc6@collabora.com>

[-- Attachment #1: Type: text/plain, Size: 1191 bytes --]

On 4/19/24 18:45, Muhammad Usama Anjum wrote:
> On 4/17/24 9:16 PM, Amer Al Shanawany wrote:
>> fix compiler warning and errors when compiling statmount test.
> The error description or the compiler with version is required to reproduce
> the error easily. I'm unable to reproduce the error by gcc 12 and clang 17.
I'm using gcc 12.3 (Ubuntu 12.3.0-1ubuntu1~22.04), for the error please see the attached log file (statmount.txt)
I was wondering if it's worth adding this include to kselftest.h
>>
>> Signed-off-by: Amer Al Shanawany <amer.shanawany@gmail.com>
>> ---
>>  tools/testing/selftests/filesystems/statmount/statmount_test.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/tools/testing/selftests/filesystems/statmount/statmount_test.c b/tools/testing/selftests/filesystems/statmount/statmount_test.c
>> index 3eafd7da58e2..e6d7c4f1c85b 100644
>> --- a/tools/testing/selftests/filesystems/statmount/statmount_test.c
>> +++ b/tools/testing/selftests/filesystems/statmount/statmount_test.c
>> @@ -3,6 +3,7 @@
>>  #define _GNU_SOURCE
>>  
>>  #include <assert.h>
>> +#include <stddef.h>
>>  #include <stdint.h>
>>  #include <sched.h>
>>  #include <fcntl.h>
> 

Thanks

Amer

[-- Attachment #2: statmount.txt --]
[-- Type: text/plain, Size: 6037 bytes --]

gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

make --no-print-directory -C /home/amer/Desktop/linux-next \
-f /home/amer/Desktop/linux-next/Makefile kselftest
set -e; mkdir -p include/generated/uapi/linux/; trap "rm -f include/generated/uapi/linux/.tmp_version.h" EXIT; { 	if [ 0 -gt 255 ]; then echo \#define LINUX_VERSION_CODE 395775; else echo \#define LINUX_VERSION_CODE 395520; fi; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))'; echo \#define LINUX_VERSION_MAJOR 6; echo \#define LINUX_VERSION_PATCHLEVEL 9; echo \#define LINUX_VERSION_SUBLEVEL 0; } > include/generated/uapi/linux/.tmp_version.h; if [ ! -r include/generated/uapi/linux/version.h ] || ! cmp -s include/generated/uapi/linux/version.h include/generated/uapi/linux/.tmp_version.h; then : '  UPD     include/generated/uapi/linux/version.h'; mv -f include/generated/uapi/linux/.tmp_version.h include/generated/uapi/linux/version.h; fi
make -f ./scripts/Makefile.build obj=scripts/basic
make -f ./scripts/Makefile.build obj=scripts scripts/unifdef
make -f ./scripts/Makefile.asm-generic obj=arch/x86/include/generated/uapi/asm \
generic=include/uapi/asm-generic
make -f ./scripts/Makefile.build obj=arch/x86/entry/syscalls all
make -f ./scripts/Makefile.build obj=arch/x86/tools relocs
make -f ./scripts/Makefile.headersinst obj=include/uapi
make -f ./scripts/Makefile.headersinst obj=arch/x86/include/uapi
make -C ./tools/testing/selftests run_tests
make[3]: Entering directory '/home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount'
gcc -Wall -O2 -g -isystem /home/amer/Desktop/linux-next/usr/include     statmount_test.c  -o /home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount/statmount_test
statmount_test.c: In function ‘main’:
statmount_test.c:572:24: warning: implicit declaration of function ‘offsetof’ [-Wimplicit-function-declaration]
  572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t))
      |                        ^~~~~~~~
statmount_test.c:598:51: note: in expansion of macro ‘str_off’
  598 |         test_statmount_string(STATMOUNT_MNT_ROOT, str_off(mnt_root), "mount root");
      |                                                   ^~~~~~~
statmount_test.c:18:1: note: ‘offsetof’ is defined in header ‘<stddef.h>’; did you forget to ‘#include <stddef.h>’?
   17 | #include "../../kselftest.h"
  +++ |+#include <stddef.h>
   18 | 
statmount_test.c:572:33: error: expected expression before ‘struct’
  572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t))
      |                                 ^~~~~~
statmount_test.c:598:51: note: in expansion of macro ‘str_off’
  598 |         test_statmount_string(STATMOUNT_MNT_ROOT, str_off(mnt_root), "mount root");
      |                                                   ^~~~~~~
statmount_test.c:572:33: error: expected expression before ‘struct’
  572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t))
      |                                 ^~~~~~
statmount_test.c:599:52: note: in expansion of macro ‘str_off’
  599 |         test_statmount_string(STATMOUNT_MNT_POINT, str_off(mnt_point), "mount point");
      |                                                    ^~~~~~~
statmount_test.c:572:33: error: expected expression before ‘struct’
  572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t))
      |                                 ^~~~~~
statmount_test.c:600:50: note: in expansion of macro ‘str_off’
  600 |         test_statmount_string(STATMOUNT_FS_TYPE, str_off(fs_type), "fs type");
      |                                                  ^~~~~~~
statmount_test.c:572:33: error: expected expression before ‘struct’
  572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t))
      |                                 ^~~~~~
statmount_test.c:601:41: note: in expansion of macro ‘str_off’
  601 |         test_statmount_string(all_mask, str_off(mnt_root), "mount root & all");
      |                                         ^~~~~~~
statmount_test.c:572:33: error: expected expression before ‘struct’
  572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t))
      |                                 ^~~~~~
statmount_test.c:602:41: note: in expansion of macro ‘str_off’
  602 |         test_statmount_string(all_mask, str_off(mnt_point), "mount point & all");
      |                                         ^~~~~~~
statmount_test.c:572:33: error: expected expression before ‘struct’
  572 | #define str_off(memb) (offsetof(struct statmount, memb) / sizeof(uint32_t))
      |                                 ^~~~~~
statmount_test.c:603:41: note: in expansion of macro ‘str_off’
  603 |         test_statmount_string(all_mask, str_off(fs_type), "fs type & all");
      |                                         ^~~~~~~
statmount_test.c: In function ‘cleanup_namespace’:
statmount_test.c:127:9: warning: ignoring return value of ‘fchdir’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  127 |         fchdir(orig_root);
      |         ^~~~~~~~~~~~~~~~~
statmount_test.c:128:9: warning: ignoring return value of ‘chroot’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  128 |         chroot(".");
      |         ^~~~~~~~~~~
make[3]: *** [../../lib.mk:203: /home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount/statmount_test] Error 1
make[3]: Leaving directory '/home/amer/Desktop/linux-next/tools/testing/selftests/filesystems/statmount'
make[2]: *** [Makefile:191: all] Error 2
make[1]: *** [/home/amer/Desktop/linux-next/Makefile:1370: kselftest] Error 2
make: *** [Makefile:240: __sub-make] Error 2

  reply	other threads:[~2024-04-20 15:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-17 16:16 [PATCH] selftests: filesystems: add missing stddef header Amer Al Shanawany
2024-04-19 16:45 ` Muhammad Usama Anjum
2024-04-20 15:56   ` Amer Al Shanawany [this message]
2024-04-22  5:17     ` Muhammad Usama Anjum
2024-04-22 13:16       ` [PATCH v2] " Amer Al Shanawany
2024-04-22 13:49         ` Muhammad Usama Anjum
2024-05-04 17:20           ` Amer Al Shanawany

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=be7b90cd-c1fc-4e42-85a9-325d7c92c396@gmail.com \
    --to=amer.shanawany@gmail.com \
    --cc=brauner@kernel.org \
    --cc=javier.carrasco.cruz@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mszeredi@redhat.com \
    --cc=shuah@kernel.org \
    --cc=usama.anjum@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox